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

Reply via email to