Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

In Mathematica 9 a new flavor of Root object with multiple polynomials was introduced. For example,

Root[{327680000000000000 - 1280000000 #1^8 + #1^16 &, #1 + 25 #2 + 25 #2^5 &}, {7, 3}]

I've read the documentation several times, but still do not have a clear understanding of what these expressions mean, or what advantage they have over the older syntax with a single polynomial. Any advice or explanation are welcome.

share|improve this question
add comment

2 Answers 2

up vote 9 down vote accepted

Let's read what the docs say:

Root[{$f_1, f_2 ,\ldots$}, {$k_1, k_2 ,\ldots$}] represents the last coordinate of the exact vector {$a_1, a_2, \ldots$} such that $a_i$ is the $k_i$th root of the polynomial equation $f_i(a_1, \ldots, a_{i-1}, x)=0$.

This, though a bit confusing, is a pretty accurate and straightforward description. Let's assume two functions ($f_1$ and $f_2$), and substitute $i=1$ into the description. Then we can read

... such that $a_1$ is the $k_1$th root of the polynomial equation $f_1(x)=0$.

With your example, this means that

f1 = 327680000000000000 - 1280000000 #1^8 + #1^16 &
f2 = #1 + 25 #2 + 25 #2^5 &

k1 = 7;
k2 = 3;

and

a1 = Root[f1, k1] // N
(* ==> -8.28089 - 8.28089 I *)

Now put in $i=2$, and read the description again:

Root[{$f_1, f_2$}, {$k_1, k_2$}] represents $a_2$ such that $a_2$ is the $k_2$th root of the polynomial equation $f_2(a_1, x) = 0$.

So let's do

a2 = Root[f2[a1, #] &, k2]

(* ==> 0.353233 + 0.353233 I *)

This is indeed the numerical value of your Root object:

N@Root[{f1, f2}, {7, 3}]

(* ==> 0.353233 + 0.353233 I *)

I hope this clarifies the definition of the multi-polynomial Root objects.


Now why would they introduce this? I don't know. I always assumed that Root is not meant for end users to construct directly. It's simply a representation of algebraic numbers that Mathematica's algorithms can work efficiently with. I assume that some algorithms in version 9 can work better with this type of Root object than with the single-polynomial ones.

You can always convert these to a single-polynomial Root object using RootReduce:

RootReduce@Root[{f1, f2}, {7, 3}] 

(* ==>

Root[268435456 - 160000000000 #1^8 - 1280000000000 #1^12 + 
   14593486328125 #1^16 + 296215781250000 #1^20 + 
   2277618359375000 #1^24 + 10672192343750000 #1^28 + 
   34709265117187500 #1^32 + 83311708281250000 #1^36 + 
   152740318515625000 #1^40 + 218200683593750000 #1^44 + 
   245475769042968750 #1^48 + 218200683593750000 #1^52 + 
   152740478515625000 #1^56 + 83312988281250000 #1^60 + 
   34713745117187500 #1^64 + 10681152343750000 #1^68 + 
   2288818359375000 #1^72 + 305175781250000 #1^76 + 
   19073486328125 #1^80 &, 46]

*)

Or just use N on them to get a numerical approximation.

share|improve this answer
add comment

First consider :

Root[327680000000000000 - 1280000000 #1^8 + #1^16 &, 7] // ToRadicals // FullSimplify
(-2 - 2 I) 5^(3/4) (10 - 2 Sqrt[5])^(1/8)

now substitute #1 with this number in #1 + 25 #2 + 25 #2^5 & switching #2 to #1 and compare with your original Root object :

Root[(-2 - 2 I) 5^(3/4) (10 - 2 Sqrt[5])^(1/8) + 25 #1 + 25 #1^5 &, 3] ==  
Root[{327680000000000000 - 1280000000 #1^8 + #1^16 &, #1 + 25 #2 + 25 #2^5 &}, {7, 3}]
True

Now it appears quite obvious what the updated Root object is supposed to represent and the documentation makes no more confusion. For the sake of simplicity let's repeat the above procedure for another simpler example of a Root object taking it from documentation:

Root[#1^2 - 3 &, 1] 
-Sqrt[3]
 Root[#1^2 + Sqrt[3] - 5 &, 2]
Sqrt[5 - Sqrt[3]]

i.e. it is the same as

Root[{#1^2 - 3 &, #2^2 - #1 - 5 &}, {1, 2}]
Sqrt[5 - Sqrt[3]]

i.e. we have

Root[#1^2 - Root[#1^2 - 3 &, 1] - 5 &, 2] == Root[{#1^2 - 3 &, #2^2 - #1 - 5 &}, {1, 2}]
 True

To conclude: this new capability of Root allows for much simpler representation (we needn't nest many Root objects) of algebraic numbers (roots of univariate polynomials of rational coefficients) and provides quite terse notation of even complicated algebraic objects.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.