I don't think that would help. It would make mult/div nicer, but  
addition/subtraction more of a mess. I think the best analogue of an  
interval is a ball--addition and subtraction of open balls yield open  
balls, and multiplication/division of open balls are almost open  
balls (for inputs far enough away from the origin with respect to  
their radii).

- Robert


On Sep 25, 2007, at 11:07 AM, Bill Hart wrote:

> Could the version for complex numbers use polar coordinates?
>
> Bill.
>
> On 25 Sep, 18:55, cwitty <[EMAIL PROTECTED]> wrote:
>> On Sep 25, 9:28 am, "John Cremona" <[EMAIL PROTECTED]> wrote:
>>
>>> I thought this had been solved some time ago, and was implemented in
>>> pari.  Or is that only for real roots of real polynomials?
>>
>>> John
>>
>>> On 9/25/07, cwitty <[EMAIL PROTECTED]> wrote:
>>>> The biggest obstacle to handling Qbar directly is that I haven't  
>>>> found
>>>> a good way of isolating the roots of a complex polynomial (that is,
>>>> finding the roots with a GUARANTEED error bound) and then  
>>>> refining a
>>>> root to arbitrary precision.
>>
>> Maybe so, but the documentation doesn't give enough detail for me to
>> be confident.  The documentation for Pari's polroots function says,
>> "... it is guaranteed to converge and to give the roots to the
>> required accuracy."  But I don't know what that means.  Am I supposed
>> to trust every bit of the returned value (that is, the error is at
>> most a half-ULP)?  I'm fairly sure I could construct examples where
>> determining a 100-bit result to within a half-ULP would require
>> intermediate values that were a million bits.  Does Pari go ahead and
>> use the million-bit numbers here, or does it allow errors more than a
>> half-ULP?  If it allows errors more than a half-ULP, how large are  
>> the
>> errors it does allow?
>>
>> Worse, I need to work with polynomials with inexact (interval)
>> coefficients, and polynomial root-finding is inherently unstable
>> (small changes in the coefficients can make large changes in the
>> locations of the roots); even if Pari gives exactly-correct (within a
>> half-ULP) answers for the polynomials you give it, how much do you
>> increase the size of the interval outputs to account for the
>> uncertainty in the inputs?
>>
>> All of this is to support a constructor that takes a polynomial with
>> Qbar coefficients, and a complex interval (a rectangle in the complex
>> plane) enclosing exactly one root, and return an element of Qbar.
>> Instead, there could be a constructor that takes a polynomial with
>> Qbar coefficients, and a complex interval enclosing exactly one root
>> tightly enough that it can be arbitrarily refined using Newton-
>> Raphson; and then it would be the responsibility of the caller to  
>> find
>> such a complex interval.  But how would the caller do that?
>>
>> Carl
>
>
> 

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