MathGroup Archive 2003

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

Search the Archive

Re: Eigenvalues, any suggestions?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg43684] Re: [mg43615] Eigenvalues, any suggestions?
  • From: Daniel Lichtblau <danl at wolfram.com>
  • Date: Mon, 29 Sep 2003 01:47:59 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

AC wrote:
> 
> In[1]:=
>  data={XX\[Rule]100.,YY\[Rule]100.,ZZ\[Rule]100.,
>         XY\[Rule]0.,XZ\[Rule]0.,YZ\[Rule]0.};
> 
> In[2]:=
> Eigenvalues[{{XX,XY,XZ},{XY,YY,YZ},{XZ,YZ,ZZ}}]/.data
> 
> \!\(Power::"infy" \(\(:\)\(\ \)\) "
>     Infinite expression \!\(1\/0.`\^\(1/3\)\) encountered."\)
> 
> \!\(\*
>   RowBox[{\(&#8734;::"indet"\), \(\(:\)\(\ \)\), "\<\"Indeterminate
>       expression \\!\\(0.`\\\\
>       2\\^\\(1/3\\)\\\\ \\*InterpretationBox[\\\"ComplexInfinity\\\", \
> DirectedInfinity[]]\\) encountered.\"\>"}]\)
> 
> \!\(Power::"infy" \(\(:\)\(\ \)\) "
>     Infinite expression \!\(1\/0.`\^\(1/3\)\) encountered."\)
> 
> \!\(\*
>   RowBox[{\(&#8734;::"indet"\), \(\(:\)\(\ \)\), "\<\"Indeterminate
>       expression \\!\\(\\(0.`\\\\ \\(\\((\\(\[LeftSkeleton] 1 \
> \[RightSkeleton]\\))\\)\\)\\\\ \\*InterpretationBox[\\\"ComplexInfinity\\\", \
> DirectedInfinity[]]\\)\\/2\\^\\(2/3\\)\\) encountered.\"\>"}]\)
> 
> \!\(Power::"infy" \(\(:\)\(\ \)\) "
>     Infinite expression \!\(1\/0.`\^\(1/3\)\) encountered."\)
> 
> General::stop: Further output of Power::infy will be suppressed during this \
> calculation.
> 
> \!\(\*
>   RowBox[{\(&#8734;::"indet"\), \(\(:\)\(\ \)\), "\<\"Indeterminate
>       expression \\!\\(\\(0.`\\\\ \\(\\((\\(\[LeftSkeleton] 1 \
> \[RightSkeleton]\\))\\)\\)\\\\ \\*InterpretationBox[\\\"ComplexInfinity\\\", \
> DirectedInfinity[]]\\)\\/2\\^\\(2/3\\)\\) encountered.\"\>"}]\)
> 
> General::stop: Further output of &#8734;::indet will be suppressed during this \
> calculation.
> 
> Out[2]=
> {Indeterminate,Indeterminate,Indeterminate}
> 
> In[3]:=
> $Version
> 
> Out[3]=
> 4.2 for Microsoft Windows (June 5, 2002)

What happens is you are generating symbolic eigenvalues using (behind
the scenes) the Cardano formula for roots of the cubic. You then
substitute a set of values that happens to be non-generic for the
formula, meaning indeterminate forms arise. You can work around this by
forcing Eigenvalues to avoid this formula to begin with, as follows.

In[5]:= SetOptions[Roots, Cubics->False];

In[6]:= Eigenvalues[{{XX,XY,XZ},{XY,YY,YZ},{XZ,YZ,ZZ}}]/.data
Out[6]= {100., 100., 100.}

In case it is of interest, this failure case for that Cardano formula is
discussed in the "Solving the cubic ..." section of the 1998 Worldwide
Mathematica Conference notebook on solving algebraic equations. Either
of the URLs below should get you to it.

http://library.wolfram.com/infocenter/Conferences/337/

http://library.wolfram.com/conferences/conference98/abstracts/various_ways_to_tackle_algebraic_equations.html


Daniel Lichtblau
Wolfram Research


  • Prev by Date: Re: how does Decompose work?
  • Next by Date: Computational aspects of Galois theory?
  • Previous by thread: Re: Eigenvalues, any suggestions?
  • Next by thread: display memory errors.. maybe it's the postcript file format??