Hi sage-devel,

At this time, Sage prints number field ideals in two-generator form.   
There are good reasons for this, perhaps most notably that this is a  
normal form best suited for visual inspection.

For most of the things I do, I don't care exactly what ideal I have: I  
would be perfectly happy to know I had just some ideal I of norm N of  
a number field K.  In particular, I want to calculate in the residue  
field K/I; the actual ideal counts very little; the norm N and the map  
from K -> K/I count a lot.

This would all be fine, except... number field ideals hash to the hash  
of their string representation.  And the string representation  
computes a two-generator form, and computing two-generator forms is  
slow.  *Excruciatingly slow*.  So just to construct K/I, which hashes  
the ideal I into its unique key, takes me minutes if not hours.

So I'd like opinions on two things:
1) changing the printing of number field ideals, and
2) changing the hash key of a residue field K/I to not reference I  
directly, but instead the map K -> K/I.

I haven't thought about this for a long time, but it basically works:  
I have a hacked version of a few functions that tries to avoid hashing  
and changes the relevant __repr__s, and so far it works.  This is the  
difference between not being able to reduce curves defined over number  
fields of degree 40 to easily reducing at dozens of primes.  Thoughts,  
please?

Nick

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to