Ask Your Question
1

Tuples or for loops

asked 2013-08-06 06:56:01 +0100

Blackadder gravatar image

updated 2015-01-13 22:49:00 +0100

FrédéricC gravatar image

Hi everybody, I would like to compute the $L$-function of an elliptic curve of the form $$y^2=x^3-d^2x$$ for multiple values of $d$ at $s=1$. I was hoping to use an $n$-tuple

d=(1,3,5,7,...,n)

with the hope that I could then do

E=EllipticCurve([0,0,0,-(d^2),0])
L = E.lseries().dokchitser()
L(1)

such that at every stage the data would be in a vector/$n$-tuple form, but this is not possible. Does anyone know how I can make this method work? With a for-loop perhaps? Thanks in advance for your help!

edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted
2

answered 2013-08-06 11:42:24 +0100

Volker Braun gravatar image

List comprehensions are usually clearer than map/lambda where applicable:

[EllipticCurve([0,0,0,-d^2,0]).lseries().dokchitser()(1) for d in range(1, n+1, 2)]
edit flag offensive delete link more

Comments

This is exactly what I was looking for thank you so much Volker!!

Blackadder gravatar imageBlackadder ( 2013-08-06 12:04:47 +0100 )edit
1

answered 2013-08-06 07:41:45 +0100

ppurka gravatar image

updated 2013-08-06 07:45:57 +0100

Use the map and lambda operators.

dlist = range(1, n+1, 2)
map(lambda d: EllipticCurve([0,0,0,-(d^2),0]).lseries().dokchitser()(1), dlist)

If it gets too complicated, then use a python function instead of the lambda so that the code retains readability.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2013-08-06 06:56:01 +0100

Seen: 823 times

Last updated: Aug 06 '13