Options for Eigenvalues

220 views
Skip to first unread message

Sebastian Meznaric

unread,
Feb 5, 2009, 4:45:28 AM2/5/09
to
I have recently found out, reading some of the older messages in this
newsgroup, that Eigenvalues has an undocumented Method option. Does
someone know what methods, aside from Arnoldi, can be specified and
what other options there may be?

Although Mathematica documentation is fairly good, it still leaves
plenty to be desired.

Bob Hanlon

unread,
Feb 6, 2009, 4:13:09 AM2/6/09
to
Options, Definition, or Information show that Eigenvalues has the option
Method. For example,

Options[Eigenvalues]

{Cubics->False,Method->Automatic,Quartics->False}

Enter an invalid Method

Eigenvalues[{{a, b}, {c, d}}, Method -> Wrong];

Eigenvalues::emeth: The method specified by Method -> Wrong should be
either Automatic or Arnoldi. >>

It appears that the only valid Method values are Automatic or Arnoldi

Bob Hanlon

Sjoerd C. de Vries

unread,
Feb 6, 2009, 4:12:02 AM2/6/09
to
Hi Sebastian,

>From the error message you get when you enter an non-existing method
(e.g., Method->"EducatedGuess") it appears that the only other method
apart from Arnoldi is Automatic.

WRT other options:

In[3]:= Options[Eigenvalues]

Out[3]= {Cubics -> False, Method -> Automatic, Quartics -> False}

gives you the default options.

Cheers -- Sjoerd

mark mcclure

unread,
Feb 6, 2009, 4:10:55 AM2/6/09
to


In the documentation center of either V6 or V7 type:
tutorial/LinearAlgebraInMathematicaOverview

You will be taken to extensive documentation detailing
a large swath of linear algebra, including the use of the
Arnoldi method and other methods.

For some reason, this section is labeled as obsolete in
V7 and it seems hard to find from the main help browser.
I still find the bulk of it to be relevant and important.
Furthermore, I don't see anything on linear algebra under
the New in 7.0 headings.

Mark McClure

Roman

unread,
Feb 8, 2009, 2:56:22 PM2/8/09
to
Sebastian,

I'm parsing the error messages of Mathematica 6 here. Maybe there are
further undocumented methods and options.

The method should be either Automatic or Arnoldi.

A call should be formed, for example, like this:

Eigenvalues[H, 1, Method -> {Arnoldi, MaxIterations -> 10000, Criteria
-> RealPart}]

the extra options are:
Shift (a complex number)
Tolerance (non-negative real number or Automatic)
BasisSize (integer >2 and <= matrix size)
MaxIterations (integer)
StartingVector (a vector of length equal to the matrix size)
Criteria: can be
Magnitude
RealPart
ImaginaryPart
BothEnds (for real symmetric eigenvalue problems only)

To know what these mean, I recommend the ARPACK documentation:
http://www.caam.rice.edu/software/ARPACK/
Briefly, the basis size option gives the number of vectors used in the
iteration; not even the authors of ARPACK seem to know an optimal
choice here. The criteria specify which n eigenvalues are to be
computed: those with largest magnitude, largest real part, or largest
imaginary part. "BothEnds" computes alternating eigenvalues with small
and large real parts. "Shift" is for shifting the spectrum around
(shift-invert method) to pick out eigenvalues from the center of the
spectrum, close to a previously known value.

hth
Roman.

Reply all
Reply to author
Forward
0 new messages