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