Re: Cannot solve 3x3 Eigensystem
- To: mathgroup at smc.vnet.net
- Subject: [mg68618] Re: Cannot solve 3x3 Eigensystem
- From: Peter Pein <petsie at dordos.net>
- Date: Sun, 13 Aug 2006 05:52:26 -0400 (EDT)
- References: <ebhi7q$12a$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
kdittmer schrieb: > The result of > > FullSimplify[Eigensystem[{{a1, b1, 0}, {b1, a2, b2}, {0, b2, a3}}, > Cubics-> True], {b1, b2, a1, a2, a3} \[Element] Reals] > > is unfortunately containing Root[]. > > How do i get my exact solution? > Hello, 1.) Root objects _are_ exact. 2.) To get the redical representation, use ToRadicals: In[1]:= rt = Root[1 + #1^2 + #1^3 & , 1]; ToRadicals[rt] Out[2]= (1/3)*(-1 - (2/(29 - 3*Sqrt[93]))^(1/3) - ((1/2)*(29 - 3*Sqrt[93]))^(1/3)) but then, the time used by FullSimplify is wasted, because FullSimplify uses RootReduce, to get Root[]s: In[3]:= eqn = First[rt][x] == 0; s1 = FullSimplify[Solve[eqn]] Out[4]= {{x -> Root[1 + #1^2 + #1^3 & , 1]}, {x -> Root[1 + #1^2 + #1^3 & , 2]}, {x -> Root[1 + #1^2 + #1^3 & , 3]}} If you don't like Roots, use Simplify instead: In[5]:= s2 = Simplify[Solve[eqn]] Out[5]= {{x -> (1/3)*(-1 - (2/(29 - 3*Sqrt[93]))^(1/3) - ((1/2)*(29 - 3*Sqrt[93]))^(1/3))}, {x -> (1/12)*(-4 + (2 - 2*I*Sqrt[3])*(2/(29 - 3*Sqrt[93]))^(1/3) + 2^(2/3)*(1 + I*Sqrt[3])*(29 - 3*Sqrt[93])^(1/3))}, {x -> (1/12)*(-4 + (2 + 2*I*Sqrt[3])*(2/(29 - 3*Sqrt[93]))^(1/3) + 2^(2/3)*(1 - I*Sqrt[3])*(29 - 3*Sqrt[93])^(1/3))}} or block RootReduce: In[6]:= << "Developer`" ClearCache[] s3 = Block[{RootReduce}, FullSimplify[Solve[eqn]]] Out[8]= <omitted; same as Out[5]> In this case the result is the same as using Simplify: In[9]:= s2 === s3 Out[9]= True Hope that helps, Peter