MathGroup Archive 2007

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

Search the Archive

Re: Help with Root function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg79444] Re: Help with Root function
  • From: dimitris <dimmechan at yahoo.com>
  • Date: Fri, 27 Jul 2007 05:43:59 -0400 (EDT)
  • References: <f89q55$5nu$1@smc.vnet.net>

On 26     , 12:39, jeremito <jerem... at gmail.com> 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

What do you mean "you can't do nothing?"
Root objects are fully manipulated.
See the help broswer for more information.

In[119]:=
B={{a,1,1},{1,b,1},{1,1,c}}

Out[119]=
{{a,1,1},{1,b,1},{1,1,c}}

In[122]:=
eigs=Eigenvalues[B]

Out[122]=
{Root[-2 + a + b + c - a*b*c - 3*#1 + a*b*#1 + a*c*#1 + b*c*#1 -
a*#1^2 - b*#1^2 - c*#1^2 + #1^3 & , 1],
  Root[-2 + a + b + c - a*b*c - 3*#1 + a*b*#1 + a*c*#1 + b*c*#1 -
a*#1^2 - b*#1^2 - c*#1^2 + #1^3 & , 2],
  Root[-2 + a + b + c - a*b*c - 3*#1 + a*b*#1 + a*c*#1 + b*c*#1 -
a*#1^2 - b*#1^2 - c*#1^2 + #1^3 & , 3]}
In[136]:=

Short[D[eigs[[1]], a]]

Out[136]//Short=
\!\(\*
  TagBox[\(\(\(-1\) + b\
    c - b\ \[LeftSkeleton]1\[RightSkeleton] -
           c\ Root[\(-2\) + \[LeftSkeleton]16\[RightSkeleton] + #1\^3
&, 1] + \
Root[\(-2\) + \[LeftSkeleton]16\[RightSkeleton] + #1\^3 &, 1]\^2\)\/\(\
(-3\) \
+ a\ b + \[LeftSkeleton]8\[RightSkeleton] + 3\ Root[\(-2\) + \
\[LeftSkeleton]16\[RightSkeleton] + \[LeftSkeleton]2\[RightSkeleton]
\^3 &, 1]\
\^2\)\), Short]\)

In[135]:=
eigs /. Thread[{a, b, c} -> Table[Random[], {3}]]
Out[135]=
{-0.7503288305201328, -0.2706108411719136, 2.5383670207846087}


As regards what you asked for

In[138]:=
ToRadicals[eigs]

Out[138]=
{(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
Dimitris




  • Prev by Date: Re: Help with Root function
  • Next by Date: Re: Mathematica to .NET compiler
  • Previous by thread: Re: Help with Root function
  • Next by thread: Re: Re: Help with Root function