# Tuples or for loops 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 close merge delete

Sort by » oldest newest most voted

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)]

more

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

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.

more