MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Root's third argument?

  • To: mathgroup at
  • Subject: [mg66234] Re: [mg66220] Root's third argument?
  • From: Andrzej Kozlowski <akoz at>
  • Date: Fri, 5 May 2006 05:02:11 -0400 (EDT)
  • References: <> <>
  • Sender: owner-wri-mathgroup at

On 4 May 2006, at 21:45, Andrzej Kozlowski wrote:

> On 4 May 2006, at 18:21, bradc355113 at wrote:
>> The Root function seems to have an undocumented third argument--does
>> anyone know what it represents?
>> I ran into it while trying to use some replacement rules to replace
>> Root objects in an expression, and none of my "Root[f_,k_]" patterns
>> were matching, because Root has an invisible third argument that
>> doesn't show up in output.
>> I have a workaround, but I'm still curious.
>> Thanks,
>> Brad
> Yes, there is indeed a third, hidden argument. I think it  
> represents (or at least it used to represent)  what is called "the  
> isolating set" of the algebraic number, that is, a subset of the  
> complex plane in which the root object is the only root of the  
> minimal polynomial. This is necessary in order for the roots of the  
> polynomial to be ordered, so that you can speak of the "first  
> roots", "second root" etc.
> Mathematica uses two approaches to root isolation: numerical and  
> exact one. Which one is used depends on the value of the option  
> ExactRootIsolation of Root. One can check that the invisible third  
> argument is different (you can extract it with Part). However, it  
> seems to me that the actual form of the third argument was changed  
> (without my noticing it until today ;-)) in some version of  
> Mathematica between 3 and 5. Mathematica used to return an  
> approximate value of the root with the ExactRootIsolation set to  
> False and the corners of the isolating rectangle in the complex  
> plane with  ExactRootIsolation set to True. However, now it seems  
> just to return 0 and 1, which I find impossible to interpret. I am  
> sure, however, that the same information is still stored somewhere...
> Andrzej Kozlowski

On second thoughts I think that the most likely explanation is this.  
Originally the third argument in Root was indeed the information  
about the isolating set that I described above. Then, at some point,  
it was decided not to include this information any more. However,  
probably for the sake of backward compatibility of code, three  
argument form of Root was retained, but the third argument was  
changed to 0 or 1 depending on whether ExactRootIsolation is set to  
False or True.

I am just guessing, of course, and, as always, take no responsibility  
for whatever might happen to your Mathematica  code if you believe  
me ...;-)

Andrzej Kozlowski

Tokyo, Japan

  • Prev by Date: Re: Root's third argument?
  • Next by Date: Re: Re: Apparent accuracy error in least squares fit
  • Previous by thread: Re: Root's third argument?
  • Next by thread: Re: Root's third argument?