On 9/18/07, Robert Bradshaw <[EMAIL PROTECTED]> wrote:
>
> On Sep 18, 2007, at 12:25 AM, John Cremona wrote:
>
> > It's ok for sqrt(2).parent() to be an order, but what about
> > sqrt(1/2).parent() ?  Would that be the field?  Not very nice since it
> > will not be obvious from the form of the input whether or not the
> > symbolic expression is integral.
>
> sqrt(1/2) = (1/2).sqrt(extend=True) would live in the field.
>
> > There is a whole can of worms here just waiting to be released, under
> > the heading "nested radicals".
>
> Yes, I think we could handle it gracefully (as above), but perhaps
> I'm overly optimistic.
>
> > Having said that, I do like the idea of generating number fields (as
> > opposed to orders) by giving generators in a natural way.
> >
> > John
>
> I think QQ[sqrt(2)] should be the number field, and ZZ[sqrt(2)] the
> order.
>

so would ZZ["expression"] give an error if "expression" was not an
algebraic integer?

So (odd the top of my head) ZZ[(1+2^(1/3)+2^(2/3))/3]  would be wrong,
but ZZ[(1+10^(1/3)+10^(2/3))/3] would be ok?  I'm happy with that if
your proposed implementation can handle it ok!

John

> >
> > On 9/18/07, Robert Bradshaw <[EMAIL PROTECTED]> wrote:
> >>
> >> On Sep 17, 2007, at 9:00 PM, William Stein wrote:
> >>
> >>> This is being cc'd to sage-devel, since no reason not to.  It's me
> >>> and Robert Bradshaw working on reworking the algebraic number
> >>> theory code in Sage (we've done a lot now).
> >>>
> >>> On 9/17/07, Robert Bradshaw <[EMAIL PROTECTED]> wrote:
> >>> BTW, I've been working on quadratic number field elements...
> >>>
> >>> That's a good idea.
> >>> I have been working on grant proposals all day long.
> >>> I'm going to switch gears and work on the ANT package
> >>> soon.  I'll probably work only on getting all the doctests
> >>> not in the number_field directory to pass, since much
> >>> was broken by my changes.
> >>>
> >>> I also want to make ZZ[a,b,c]
> >>> work, if a,b,c are algebraic integers.
> >>>
> >>> It would also be really neat to have a function that can
> >>> compute the minimal polynomial of a symbolic element:
> >>> sage: a = sqrt(2)
> >>> sage: a.minpoly()
> >>> x^2 - 2
> >>> sage: a = 5^(1/3)
> >>> sage: a.minpoly()
> >>> x^3 - 5
> >>>
> >>> One possibility would be to numerically approximate a,
> >>> use pari's algdep to get a candidate minpoly f, then
> >>> do bool(f(a) == 0).  If it works, we're golden.  If not,
> >>> we give up.  Since bool(f(a) == 0) errors on the side of
> >>> caution, this would probably be fine.
> >>
> >> That sounds like a really slick idea.
> >>
> >>> With that, we could do
> >>>
> >>>     ZZ[sqrt(2), 5^(1/7), sqrt(7)]
> >>>
> >>> and it would work.  Thoughts?
> >>
> >> I think this would make for a really natural way of constructing
> >> number fields. I am still of the mind that I would like sqrt
> >> (2).parent
> >> () to be an order in a number field (with an embedding into C
> >> choosing the positive root), assuming the coercion model was robust
> >> enough to find resonable compositums of these things.
> >>
> >> - Robert
> >>
> >>
> >>>
> >>
> >
> >
> > --
> > John Cremona
> >
> >
>
> >
>


-- 
John Cremona

--~--~---------~--~----~------------~-------~--~----~
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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to