For non-maximal orders, not every ideal is invertible. People would normnally only want to use invertible ideals, I expect. I don't remember all the details either.
John On 08/04/2008, David Harvey <[EMAIL PROTECTED]> wrote: > > > On Apr 8, 2008, at 4:27 PM, Alex Ghitza wrote: > > > 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! > > > Alex, > > Strongly support everything you've said here, and thanks for taking > the time to write this summary. > > (I'm slightly concerned about what should happen for non-maximal > orders, but I can't quite remember how this is supposed to work > mathematically....) > > > david > > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---