Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Documentation of Eigenvalues[], Eigensystem[]

135 views
Skip to first unread message

Michael Weyrauch

unread,
Nov 20, 2010, 6:23:54 PM11/20/10
to
Hello

it appears that the documentation of some "classic" functions
like Eigenvalues[] and Eigensystem[] is rather incomplete in
Mathematica 8 (and 7 and 6). Under the Options section one only finds
the options Cubics and Quartics.

In one example given in "Possible issues" section
one realizes that there is also a "Method" option with rather obscurely
defined suboptions like "Shift". From the Mathematica 5.2 docs
(suposedly outdated) I also know that e.g. the following works (and
still works in 8)

Eigenvalues[matrix, 2, Method->{"Arnoldi", StartingVector-> vector}]

and it is indeed sometimes very time efficient to be able to give
a starting vector to the Arnoldi iteration procedure. Unfortunately all
these possibilities are not documented in more recent
versions of Mathematica, which I find very odd given that e.g. rather
extremely special functions like NVCCCompiler[] are documented with an
extensive list of even the most outlandish options (I guess).

Does anybody know of a comprehensive list of "Options" available
for some "classic" functions like Eigenvalues etc.? (For the Frontend we
even have an "Options inspector". Maybe there is also one for other
functions??)

Michael Weyrauch

Murray Eisenberg

unread,
Nov 22, 2010, 7:35:46 AM11/22/10
to
This is definitely a gap in the documentation.

To find out that Eigenvalues has a Method option is easy, though:

Options[Eigenvalues]
{Cubics -> False, Method -> Automatic, Quartics -> False}

What is difficult (impossible), however, is to find out for a Method
option -- and a number of functions have it -- is what the possible
settings are.

In any case, the reference page for Eigenvalues is clearly incomplete.

Of course one should try to avoid the Method option where possible,
allowing Mathematica to choose (via the default Automatic setting for
Method), the "best" method. This is one of the "big" design principles
of the system: automation.

--
Murray Eisenberg mur...@math.umass.edu
Mathematics & Statistics Dept.
Lederle Graduate Research Tower phone 413 549-1020 (H)
University of Massachusetts 413 545-2859 (W)
710 North Pleasant Street fax 413 545-1801
Amherst, MA 01003-9305

Oliver Ruebenkoenig

unread,
Nov 22, 2010, 7:40:04 AM11/22/10
to
On Sat, 20 Nov 2010, Michael Weyrauch wrote:

> Hello
>
> it appears that the documentation of some "classic" functions
> like Eigenvalues[] and Eigensystem[] is rather incomplete in
> Mathematica 8 (and 7 and 6). Under the Options section one only finds
> the options Cubics and Quartics.
>
> In one example given in "Possible issues" section
> one realizes that there is also a "Method" option with rather obscurely
> defined suboptions like "Shift". From the Mathematica 5.2 docs
> (suposedly outdated) I also know that e.g. the following works (and
> still works in 8)
>
> Eigenvalues[matrix, 2, Method->{"Arnoldi", StartingVector-> vector}]
>
> and it is indeed sometimes very time efficient to be able to give
> a starting vector to the Arnoldi iteration procedure. Unfortunately all
> these possibilities are not documented in more recent
> versions of Mathematica, which I find very odd given that e.g. rather
> extremely special functions like NVCCCompiler[] are documented with an
> extensive list of even the most outlandish options (I guess).
>
> Does anybody know of a comprehensive list of "Options" available
> for some "classic" functions like Eigenvalues etc.? (For the Frontend we
> even have an "Options inspector". Maybe there is also one for other
> functions??)
>
> Michael Weyrauch
>
>

Hello Michael,

yes, the situation could be better. Here is some documentation

tutorial/LinearAlgebraMatrixComputations

I hope this helps,
Oliver

Peter Pein

unread,
Nov 26, 2010, 5:30:04 AM11/26/10
to
Am Mon, 22 Nov 2010 12:35:46 +0000 (UTC)
schrieb Murray Eisenberg <mur...@math.umass.edu>:

> This is definitely a gap in the documentation.
>
> To find out that Eigenvalues has a Method option is easy, though:
>
> Options[Eigenvalues]
> {Cubics -> False, Method -> Automatic, Quartics -> False}
>
> What is difficult (impossible), however, is to find out for a Method
> option -- and a number of functions have it -- is what the possible
> settings are.
>

...

Eigenvalues[HilbertMatrix[4],Method->"foo"]
Eigenvalues::emeth: The method specified by Method -> foo should be
either Automatic, Arnoldi, or BandedMatrix.

works often, not always.

Roman

unread,
Nov 27, 2010, 3:48:23 AM11/27/10
to

Michael,
This is the method I used in the past, plus some info from the ARPACK
documentation (since this is what the Arnoldi method ends up calling
internally). I've summarized the resulting documentation here:

http://groups.google.com/group/comp.soft-sys.math.mathematica/browse_thread/thread/2a41064c0dbe5d54/26f379d722f6e1c8?hl=en#26f379d722f6e1c8
Roman

Daniel Lichtblau

unread,
Nov 28, 2010, 6:54:38 AM11/28/10
to

We have filed a suggestion to update the advanced numerical linear algebra documentation and reintegrate it into the available program documentation. I do not know when this will happen, though.

Daniel Lichtblau
Wolfram Research


Michael Weyrauch

unread,
Nov 28, 2010, 6:51:57 AM11/28/10
to
Peter and Roman,

thanks for these hints... very useful. Obviously there is now also
a "BandedMatrix" Method option.

While it is obviously possible to find out the nitty critty (and
sometimes "mission-critical") details on how to use the Eigenvalues
function by some clever tricks, I still think that by now especially
a "classic" like Arnoldi should have been properly documented in
the official and current documentation. Just see how some more recently
developed really exotic functions in Mathematica are really extensively
documented with many details and options. (Alternatively for comparison
look into the documentation of eigensolvers of the competition of
Mathematica.)

Michael Weyrauch

0 new messages