fractional ideals

19 views
Skip to first unread message

Alex Ghitza

unread,
Apr 8, 2008, 4:27:33 PM4/8/08
to sage-...@googlegroups.com
-----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-----

John Cremona

unread,
Apr 8, 2008, 4:42:15 PM4/8/08
to sage-...@googlegroups.com
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

David Harvey

unread,
Apr 8, 2008, 4:46:27 PM4/8/08
to sage-...@googlegroups.com

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

John Cremona

unread,
Apr 8, 2008, 5:13:35 PM4/8/08
to sage-...@googlegroups.com
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

Justin C. Walker

unread,
Apr 8, 2008, 7:10:56 PM4/8/08
to sage-...@googlegroups.com

On Apr 8, 2008, at 1:42 PM, John Cremona wrote:
>
> 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 don't know that it bears directly on this issue, but this notion of
'ideal' is essentially what is used in the case of quaternion
algebras (and orders therein).

The parallel is
Order \subset frac. ideal \subset number field
and
Order \subset ideal \subset quaternion algebra

(This is necessary because the study of ideals in simple algebras
would be short-lived :-}).

It may be worth changing 'ideal' to 'fractional ideal' in the case of
number fields, but in quaternion algebras, they are 'ideals'.

I thought I should toss that into the mix, if only to pause for
thought :-}

Cheers,

Justin

--
Justin C. Walker, Curmudgeon-At-Large
Institute for the Enhancement of the Director's Income
--------
When LuteFisk is outlawed,
Only outlaws will have LuteFisk
--------

Reply all
Reply to author
Forward
0 new messages