On Sep 3, 5:25 pm, Nick Alexander <[EMAIL PROTECTED]> wrote:
> Hi sage-devel,
>
> 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 assume that you mean R/I where R subset K is the order with respect
to which I is an ideal? Since the same code is probably going to be
used for fractional ideals as well, you probably need to put the
denominator in there too, i.e., hash ( d, R->R/(d*I) ), where d is the
minimal positive integer such that d*I subset R.

What is the hash of R->R/(d*I) ? Is it the hash of the HNF of the Z-
basis of d*I, expressed relative to the basis of R? Are there cases
where computing that hash is expensive? I imagine it could be for,
say, principal ideals. One can give a very compact representation in
that case (the generator), but the HNF can be quite nasty. In
extremely big cases, one may have to settle for an LLL-reduced basis
instead. Is it acceptable that asking for the hash of such an ideal
might cause sage to explode?

Still, I imagine that the worst case of that is not nearly as bad as
computing the standard 2-generator form of an ideal.

Can orders change their basis? Are isomorphic orders with different
bases considered equal? Are isomorphic ideals in such orders
considered equal? How does that interact with hashes?

OK, it's not really an opinion. My opinion is that hash should be
cheap whenever possible and your proposal seems to go that way, so
that's great! I just recall that the choice of hash function has been
problematic before, so I thought I'd give some feedback on of possible
problems that sprang to mind.

--~--~---------~--~----~------------~-------~--~----~
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-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to