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

Reply via email to