Re: Help with Root function
- To: mathgroup at smc.vnet.net
- Subject: [mg79489] Re: Help with Root function
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Fri, 27 Jul 2007 06:07:19 -0400 (EDT)
- Organization: The Open University, Milton Keynes, UK
- References: <f89q55$5nu$1@smc.vnet.net>
jeremito wrote: > I am trying to find the eigenvalues of a 3x3 matrix with non-numeric > elements. This requires finding the roots of cubic polynomials. > Mathematica can do this, but I know how to interpret its output. For > example > > In[1]:= B = {{a, 1, 1}, {1, b, 1}, {1, 1, c}} > > Out[1]= {{a, 1, 1}, {1, b, 1}, {1, 1, c}} > > In[2]:= Eigenvalues[B] > > Out[2]= {Root[-2 + a + b + c - > a b c + (-3 + a b + a c + b c) #1 + (-a - b - c) #1^2 + #1^3 &, > 1], Root[-2 + a + b + c - > a b c + (-3 + a b + a c + b c) #1 + (-a - b - c) #1^2 + #1^3 &, > 2], Root[-2 + a + b + c - > a b c + (-3 + a b + a c + b c) #1 + (-a - b - c) #1^2 + #1^3 &, > 3]} > > > How can I get Mathematica to give me the full answer? I know it is > long and ugly, but at least I can do something with it. I can't do > anything with what it gives me now. Does that make sense? > Thanks, > Jeremy First, you should have a look at the page about *Root* object in the documentation center. See http://reference.wolfram.com/mathematica/ref/Root.html?q=Root Second, I believe that you would prefer to get some radical expressions. You can convert *Root* objects into radicals by using the function *ToRadicals* as in In[1]:= B = {{a, 1, 1}, {1, b, 1}, {1, 1, c}}; ToRadicals[Eigenvalues[B]] Out[2]= {(1/3)*(a + b + c) - (2^(1/3)*(-9 - a^2 + a*b - b^2 + a*c + b*c - c^2))/(3*(54 + 2*a^3 - 3*a^2*b - 3*a*b^2 + 2*b^3 - 3*a^2*c + 12*a*b*c - 3*b^2*c - 3*a*c^2 - 3*b*c^2 + 2*c^3 + Sqrt[4*(-9 - a^2 + a*b - b^2 + a*c + b*c - c^2)^3 + (54 + 2*a^3 - 3*a^2*b - 3*a*b^2 + 2*b^3 - 3*a^2*c + 12*a*b*c - 3*b^2*c - 3*a*c^2 - 3*b*c^2 + 2*c^3)^2])^ (1/3)) + (1/(3*2^(1/3)))*(54 + 2*a^3 - 3*a^2*b - 3*a*b^2 + 2*b^3 - 3*a^2*c + 12*a*b*c - 3*b^2*c - 3*a*c^2 - 3*b*c^2 + 2*c^3 + Sqrt[4*(-9 - a^2 + a*b - b^2 + a*c + b*c - c^2)^3 + (54 + 2*a^3 - 3*a^2*b - 3*a*b^2 + 2*b^3 - 3*a^2*c + 12*a*b*c - 3*b^2*c - 3*a*c^2 - 3*b*c^2 + 2*c^3)^2])^(1/3), (1/3)*(a + b + c) + ((1 + I*Sqrt[3])*(-9 - a^2 + a*b - b^2 + a*c + b*c - c^2))/(3*2^(2/3)*(54 + 2*a^3 - 3*a^2*b - 3*a*b^2 + 2*b^3 - 3*a^2*c + 12*a*b*c - 3*b^2*c - 3*a*c^2 - 3*b*c^2 + 2*c^3 + Sqrt[4*(-9 - a^2 + a*b - b^2 + a*c + b*c - c^2)^3 + (54 + 2*a^3 - 3*a^2*b - 3*a*b^2 + 2*b^3 - 3*a^2*c + 12*a*b*c - 3*b^2*c - 3*a*c^2 - 3*b*c^2 + 2*c^3)^2])^ (1/3)) - (1/(6*2^(1/3)))*((1 - I*Sqrt[3])* (54 + 2*a^3 - 3*a^2*b - 3*a*b^2 + 2*b^3 - 3*a^2*c + 12*a*b*c - 3*b^2*c - 3*a*c^2 - 3*b*c^2 + 2*c^3 + Sqrt[4*(-9 - a^2 + a*b - b^2 + a*c + b*c - c^2)^3 + (54 + 2*a^3 - 3*a^2*b - 3*a*b^2 + 2*b^3 - 3*a^2*c + 12*a*b*c - 3*b^2*c - 3*a*c^2 - 3*b*c^2 + 2*c^3)^2])^(1/3)), (1/3)*(a + b + c) + ((1 - I*Sqrt[3])*(-9 - a^2 + a*b - b^2 + a*c + b*c - c^2))/(3*2^(2/3)*(54 + 2*a^3 - 3*a^2*b - 3*a*b^2 + 2*b^3 - 3*a^2*c + 12*a*b*c - 3*b^2*c - 3*a*c^2 - 3*b*c^2 + 2*c^3 + Sqrt[4*(-9 - a^2 + a*b - b^2 + a*c + b*c - c^2)^3 + (54 + 2*a^3 - 3*a^2*b - 3*a*b^2 + 2*b^3 - 3*a^2*c + 12*a*b*c - 3*b^2*c - 3*a*c^2 - 3*b*c^2 + 2*c^3)^2])^ (1/3)) - (1/(6*2^(1/3)))*((1 + I*Sqrt[3])* (54 + 2*a^3 - 3*a^2*b - 3*a*b^2 + 2*b^3 - 3*a^2*c + 12*a*b*c - 3*b^2*c - 3*a*c^2 - 3*b*c^2 + 2*c^3 + Sqrt[4*(-9 - a^2 + a*b - b^2 + a*c + b*c - c^2)^3 + (54 + 2*a^3 - 3*a^2*b - 3*a*b^2 + 2*b^3 - 3*a^2*c + 12*a*b*c - 3*b^2*c - 3*a*c^2 - 3*b*c^2 + 2*c^3)^2])^(1/3))} Regards, Jean-Marc