Thanks again for bearing with me. aplist was all I needed. Tate & Silverman doesn't have much on Modular forms, would Silverman's "Arithmetic of Elliptic Curves" be better suited? Any reference is welcome.
Everyone has been very helpful. -Justin On Aug 10, 1:29 pm, "John Cremona" <[EMAIL PROTECTED]> wrote: > OK, I don't have time for a whole lecture on the subject but in a nutshell: > > Each elliptic curve (over Q) has a modular form associated to it (as > proved by Wiles et al), which is a power series whose coefficents are > denoted a_n. These are easily determined from the a_p (for prime p). > And the definition of a_p is 1+p-#E(F_p), except that for primes of > bad reduction the definition is a little different. > > William's solution using E.Np() is more transparent than mine (as well > as simpler and faster -- I'm not a SAGE expert! ) and makes sense > without knowning about modular forms or a_p. > > For primes of bad reduction it still makes sense to reduce the curve > mod p and count the points on that, even though the reduced curve is > not an elliptic curve. The answer is always p-1, p, or p+1 in that > case. That is probably prved in Silverman & Tate -- or if not I could > give you other references. > > John > > On 8/10/07, Justin <[EMAIL PROTECTED]> wrote: > > > > > > > Thank you both for your recommendations. > > > Seeing that I'm new to SAGE and Python, could you explain what these > > different solutions actually do? > > > I've just been teaching myself out of Tate and Silverman's "Rational > > Points on Elliptic Curves" and I see that aplist has something to do > > with the fourier coefficients of the modular form associated with the > > elliptic curve. (Explanation of even this to a lowly undergrad such as > > myself is appreciated) > > > I've further noticed that the produced output for Mr. Stein's is > > different from Mr. Cremona's solution. Furthermore Mr. Cremona's > > output closely matches what I got except it produces output for when > > p=11! The discriminant of this curve is -11 and thus the reduction > > should be bad there (thus I avoided it). > > > I've also considered just using e.sea(p) since that supposedly gives > > me the number of points on the curve over F_p, but e.sea(3) throws me > > an error claiming that the curve is singular there and the value for > > e.sea(7) already doesn't match Mr. Cremona's and my output! > > > Any suggestions? > > -Justin > > > On Aug 10, 11:50 am, "William Stein" <[EMAIL PROTECTED]> wrote: > > > On 8/10/07, John Cremona <[EMAIL PROTECTED]> wrote: > > > > > Two comments, neither about memory management as such: > > > > > (1) Why do you need to store all the primes and curves? Why don't you > > > > loop through primes? > > > > > (2) EllipticCurve([0,-1,1,0,0]).aplist(10000) gives you almost what > > > > you want (just replace the i'th entry ap by 1+p-ap where p is the ith > > > > prime): > > > > > e=EllipticCurve([0,-1,1,0,0]); > > > > ap=e.aplist(10000); > > > > plist=prime_range(10000); > > > > [1+plist[i]-ap[i] for i in range(prime_pi(10000))] > > > > Moreover, even EllipticCurve([0,-1,1,0,0]).aplist(1000000) > > > will finish in a reasonable amount of time -- i.e., it's very very > > > optimized > > > (thank you PARI). You can also do the following, which is basically > > > the same as above and even faster: > > > sage: e = EllipticCurve([0,1,-1,0,0]) > > > sage: v = [e.Np(p) for p in primes(10000)] > > > > William > > -- > John Cremona --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/ -~----------~----~----~----~------~----~------~--~---
