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
-~----------~----~----~----~------~----~------~--~---

Reply via email to