#4990: [with patch, with positive review] Add code to compute Hilbert class
polynomials
--------------------------------------+-------------------------------------
Reporter: mabshoff | Owner: AlexGhitza
Type: enhancement | Status: closed
Priority: major | Milestone: sage-3.4.1
Component: number theory | Resolution: fixed
Keywords: hilbert class polynomial |
--------------------------------------+-------------------------------------
Comment(by cremona):
Posted to sage-nt 2009-04-20:
Ticket #4990 implemented a hilbert_class_polynomial() method for
imaginary quadratic fields. It is actually a function of the field's
discriminant, i.e. of a fundamental (negative) discriminant. It was
written by Eduardo Ocampo Alvarez and Andrey Timofeev from
Essen and is in sage/rings/number_field/number_field.py.
We also have a function in sage/schemes/elliptic_curves/cm.py called
hilbert_class_polynomial(D), which uses Magma to find more general
H.C.polys (D is any negative integer congruent to 0,1 mod 4).
For fundamental discriminants D, these give the same answer, i.e.
QuadraticField(D,'a').hilbert_class_polynomial() ==
hilbert_class_polynomial(D).
Question 1: does the code at #4990 (now merged actually work for
non-fundamental discriminants? Someone might know; testing it would
need a bit of coding, and I haven't done so.
Assuming that the answer is "yes",
Question 2: should we re-write the stand-alone function which takes as
its argument any negative discriminant (not necessarily fundamental)
and returns the appropriate H.C.poly, using the code now in
number_field.py instead of calling Magma; and then change the current
method in number_field.py to just call that? If so, where should the
stand-alone function go: (a) where it now is, in
sage/schemes/elliptic_curves/cm.py, (b) in
sage/rings/number_field/somewhere, (c) somewhere else ? We could then
also make the H.C.poly a function of (possibly non-maximal) orders in
(imaginary quadratic) number fields.
John
PS I found this out while converting cm.py to ReST for inclusion in
the manual. Isn't it amazing what you find!
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/4990#comment:10>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of
Reinventing the Wheel
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
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-trac?hl=en
-~----------~----~----~----~------~----~------~--~---