This all sounds very sensible to me. It is a convention in number theory to talk of an "ideal of the number field K" when one actually means "nonzero ideal of the rings of integers of K".
I gained several grey hairs messing with this back in January, being forced to do so for the patches for #1946 (which started out just fixing some bugs and adding doctests for elliptic curves over number fields). It was a major achievement (for me, then) to get it into a state which is mainly consistent and also correct. I could like with "ideal" being changed to "fractional ideal" for number fields, thus releasing "ideal" for use in the literal mathematical sense. Even though I doubt if anyone would actually ever want to create either of the two ideals in a field! And the documentation would have to make it very clear that Sage was not following the near-universal abuse of language. Good luck... John On 08/04/2008, Alex Ghitza <[EMAIL PROTECTED]> wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi folks, > > On Sunday we had an interesting discussion on #sage-devel about the > current implementation of fractional ideals in Sage. This was spurred > mainly by #821, but went beyond the issues in that ticket. I am going > to try to summarize the main points of the discussion, first so that we > have a record of it, and also so it can continue and we can see what we > can/should do about it. > > 1. At the moment, NumberFieldFractionalIdeal inherits from > Ideal_generic, which David Harvey pointed out is *very bad*, since > fractional ideals are *not ideals*. Yes, the terminology is confusing, > but we don't have the luxury of convincing Kummer or whoever came up > with it that it should be changed. > > 2. Another sketchy thing is that for a number field K, the method > ideal() overrides the ring ideal method and returns 0 or a fractional > ideal. Even if the objection from point 1 did not exist, this behavior > is bad, because if I want to write a function that deals with ideals in > rings, I would have to do something special if my ring is a number field > (since ideal() does not have a consistent behavior). > > Here is, as far as I remember, what the irc discussion identified as > preferred behavior: > > (a) For any ring R, R.ideal([list of elements of R]) should return the > ideal of R which is generated by the elements in the list. This should > in particular happen for a number field, i.e. if K is a number field > then K.ideal([list of elements of K]) should return either the Principal > ideal generated by 0 or the Principal ideal generated by 1. > > (b) mathematically speaking, a fractional ideal is a rank one projective > module over a Dedekind domain R; equivalently, it is a nonzero > finitely-generated R-submodule of the fraction field K=Frac(R). This > latter description might be more amenable to computation. I don't think > we have Dedekind domains in Sage, so maybe we can just have this work in > the main area of application (algebraic number theory), by having > fractional ideals in number fields. So if O is an order in a number > field K, we would like O.fractional_ideal([list of elements of K]) to > return the fractional ideal of O generated by the elements in the list. > ~ For convenience, we might also want K.fractional_ideal([list of > elements of K]) to be an alias for OK.fractional_ideal([list of elements > of K]), where OK is the ring of integers of K. > > Just getting all of this straightened out for rings of integers would > already be a serious but very worthwhile endeavor. > > Whoever was around #sage-devel when this was going on, please correct > anything that I might have misrepresented. Everybody else, please comment! > > Best, > Alex > > > - -- > Alexandru Ghitza > Assistant Professor > Department of Mathematics > Colby College > Waterville, ME 04901 > http://bayes.colby.edu/~ghitza/ > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2.0.7 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iD8DBQFH+9U1dZTaNFFPILgRAhUfAJ0X846IOwIezS9TyJcunyWgQJ6shwCgmgCW > KOsZVf/0ojPDm61RsYalwko= > =611u > -----END PGP SIGNATURE----- > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---