#11220 closed enhancement (fixed)
implement listing j-invariants of CM curves over other fields and fix incorrect remark in the documentation
Reported by: | was | Owned by: | cremona |
---|---|---|---|
Priority: | minor | Milestone: | sage-4.7.1 |
Component: | elliptic curves | Keywords: | |
Cc: | kohel | Merged in: | sage-4.7.1.alpha2 |
Authors: | John Cremona, Robert Bradshaw, William Stein | Reviewers: | Robert Bradshaw, John Cremona |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
This email thread says it all:
Hi David, Do you have a list of the CM j-invariants over Q(sqrt(5))? http://www.sagemath.org/doc/reference/sage/schemes/elliptic_curves/cm.html -- William
Hi William, I don't understand the comment (attribution to me) in the doc file. I think it is a typo -- replace "field" with "functions" [on modular curves of higher level]. In order to solve the problem (as a precomputation) over an extension field F, it suffices to factor the Hilbert class polynomials. In this case the class number can be up to 2 (degree [F:Q]). The attached Magma and Sage code output these values for F = Q(sqrt(5)). Cheers, David
I've attached his files to this ticket.
Attachments (5)
Change History (18)
Changed 11 years ago by
Changed 11 years ago by
comment:1 Changed 11 years ago by
comment:2 Changed 11 years ago by
- Cc kohel added
- Description modified (diff)
- Milestone changed from sage-4.7 to sage-4.7.1
I have done the implementation for quadratic fields.
comment:3 Changed 11 years ago by
- Description modified (diff)
- Status changed from new to needs_review
comment:4 Changed 11 years ago by
- Status changed from needs_review to needs_info
The implementation of cm_j_invariants_and_orders looks wrong to me--you seem to be listing/zipping every D rather than only the ones corresponding to the j's found when the Hilbert polynomial is reducible.
As a side note there seems to be a lot of duplication between the two functions--given that cm_j_invariants_and_orders is just about a cheap, I'd just invoke that and strip off the part you want for cm_j_invariants. Also, I think the code might be cleaner if you make an inner function d -> (D, f, j)
and then do [func(d) for d in dlist]
(or the concatenation, if there are 0-2 results for every d) rather than expressing things as a series of list comprehensions with adjustments here and there.
comment:5 Changed 11 years ago by
- Status changed from needs_info to needs_review
comment:6 Changed 11 years ago by
- Status changed from needs_review to needs_work
comment:7 Changed 11 years ago by
All good comments, and anything which makes it easier to add new degrees would be worth doing too. No time to work on this just now though...
comment:8 Changed 11 years ago by
- Status changed from needs_work to needs_review
comment:9 Changed 11 years ago by
- Status changed from needs_review to positive_review
I read the patches and I think this is now good. When reading, I missed Cremona's comment on this ticket, which made it harder to read the code, so I added his argument as a comment in the code. Otherwise, I changed nothing, except flattening the patches and making the authors both John and Robert.
Positive review (imho).
comment:10 Changed 11 years ago by
- Reviewers set to Robert Bradshaw, William Stein
I like the new version -- thanks for improving (and correcting) my first version, Robert!
comment:11 Changed 11 years ago by
- Description modified (diff)
- Reviewers changed from Robert Bradshaw, William Stein to Robert Bradshaw, John Cremona
comment:12 Changed 11 years ago by
- Merged in set to sage-4.7.1.alpha2
- Resolution set to fixed
- Status changed from positive_review to closed
comment:13 Changed 10 years ago by
See #12356 for a very important bug fix!
The imaginary quadratic orders of class number 2 are the maximal orders in Q(sqrt(-d)) for d in [-5,-6,-10,-13,-15,-22,-35,-37,-51,-58,-91,-115,-123,-187,-235,-267,-403,-427] and the order of index 2 in Q(sqrt(-15)). [Reference: many places including J E Cremona, Abelian Varieties with Extra Twist, Cusp Forms, and Elliptic Curves Over Imaginary Quadratic Fields, Journal of the London Mathematical Society 45 (1992) 402-416.]
Using this list it's easy to write a function for the case of any quadratic field. [For Q(sqrt(5)) itself it is easy to see that the discriminant must have the form 5*D where D is a negative prime discriminant; this gives the same list output as David's script.]
For higher degree one could start with Mark Watkins' determination of all i.q.fields with h<=100 [See http://www.ams.org/journals/mcom/2004-73-246/S0025-5718-03-01517-5/S0025-5718-03-01517-5.pdf.] The number of fields can be as large as 3283 (for h=96) but the table there gives the maximal discriminant in each case --e.g.427 for h=2 -- so a script like David's is probably the way to go. That table only deals with maximal orders. There's still the question of non-maximal orders: I'll ask Mark if he knows if that has been done (it's just an exercise, but a lengthy one.)