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

need subroutine for eigenvalue problems

0 views
Skip to first unread message

Bill Frensley

unread,
Aug 23, 1994, 12:45:18 PM8/23/94
to
In article <rufinus.1...@mbe.ece.wisc.edu>, ruf...@mbe.ece.wisc.edu writes:
|>
|> Is there any program' subroutine that can be used to calculate
|> the eigenvalue problems beside the EISPACK? I need the one
|> that can calculate the eigenvalues of a complex hermitian
|> matrix but NOT in ascending order (as far as I know the sub-
|> routines HTRIDI/TQLRAT from EISPACK give the eigenvalues in
|> ascending order).
|>

First, essentially all eigenvalue packages are adaptations of routines
published in the Handbook on Linear Algebra, Wilkinson and Reinsch, 1971.
This includes EISPACK, IMSL, and the routines shown in Numerical Recipes.
The Handbook presented ALGOL code, and as this was a few years before the
"don't use goto" paper, the code is really spaghetti'd, and the EISPACK
routines inherited this structure. The Numerical Recipes authors have
done the great service of untangling this mess and presenting well-strucured
code (at least in the C and Pascal versions, I haven't looked at the
FORTRAN book in a long time).

So, in response to your question: The QL algorithm does not inherently
produce ordered eigenvalues. There are about three lines of code that
implement a bubble sort within the outermost loop. If you don't want
ordered eigenvalues or want some other ordering, modify those lines.
Consult NR to identify those lines, even if you are working with EISPACK
code.

If you need only a small fraction of the eigenvalues, use one of the bisection
routines, rather than QL.

--
Bill Frensley
Electrical Engineering
University of Texas at Dallas
P.O. Box 830688, MS. EC-33
Richardson, Texas 75083-0688

0 new messages