|
EISPACK is a numerical subroutine library for computing matrix eigenvalues and eigenvectors, and singular-value decompositions
Last update: Sat Nov 17 16:19:51 2001
Comments, and reports of errata or bugs, are welcome via e-mail to the author, Nelson H. F. Beebe <beebe@math.utah.edu>. In your report, please supply the full document URL, and the title and Last update time stamp recorded near the top of the document.
There is locally-provided online documentation for EISPACK inside the GNU Emacs info system. In emacs, type C-h i to enter the info system, then type MLocal and MEISPACK. You can do the same thing in the standalone xinfo viewer. That documentation is also available in HTML form for Web browsers.
The standard reference manual for EISPACK is a two-volume sequence:
@String{pub-SV = "Spring{\-}er-Ver{\-}lag"} @String{pub-SV:adr = "Berlin, Germany~/ Heidelberg, Germany~/ London, UK~/ etc."} @Book{Smith:1976:MER, author = "B. T. Smith and J. M. Boyle and J. J. Dongarra and B. S. Garbow and Y. Ikebe and V. C. Klema and C. B. Moler", title = "Matrix Eigensystem Routines --- {EISPACK} Guide", volume = "6", publisher = pub-SV, address = pub-SV:adr, pages = "vii + 387", year = "1976", ISBN = "0-387-06710-8", LCCN = "QA193 .M37, QA267.A1 L43 no.6", bibdate = "Mon Dec 13 15:15:20 1993", series = "Lecture Notes in Computer Science, Editors: G. Goos and J. Hartmanis", } @Book{Garbow:1977:MER, author = "B. S. Garbow and J. M. Boyle and J. J. Dongarra and C. B. Moler", title = "Matrix Eigensystem Routines --- {EISPACK} Guide Extension", volume = "51", publisher = pub-SV, address = pub-SV:adr, pages = "viii + 343", year = "1977", ISBN = "0-387-08254-9, 3-540-08254-9", LCCN = "QA193 .M381, QA267.A1,L43 no. 51", bibdate = "Mon Dec 13 15:14:28 1993", series = "Lecture Notes in Computer Science, Editors: G. Goos and J. Hartmanis", }
The development of EISPACK is chronicled in Chapter 4 of this book:
@String{pub-PH = "Pren{\-}tice-Hall"} @String{pub-PH:adr = "Upper Saddle River, NJ 07458, USA"} @Book{Cowell:1984:SDM, editor = "Wayne R. Cowell", title = "Sources and Development of Mathematical Software", publisher = pub-PH, address = pub-PH:adr, pages = "xii + 404", year = "1984", ISBN = "0-13-823501-5", LCCN = "QA76.95 .S68 1984", bibdate = "Tue Dec 14 22:44:45 1993", series = "Prentice-Hall Series in Computational Mathematics, Cleve Moler, Advisor", }
EISPACK grew out of early work published in the journal Numerische Mathematik that was later collected and republished in this single book:
@Book{Wilkinson:1971:LA, editor = "James H. Wilkinson and Christian Reinsch", booktitle = "Linear Algebra", title = "Linear Algebra", volume = "II", publisher = pub-SV, address = pub-SV:adr, pages = "viii + 439", year = "1971", ISBN = "0-387-05414-6, 3-540-05414-6", LCCN = "QA251 .W67", bibdate = "Wed Dec 15 18:44:50 1993", series = "Handbook for Automatic Computation, Editors: F. L. Bauer, A. S. Householder, F. W. J. Olver, H. Rutishauser, K. Samelson and E. Stiefel", }
Unlike the later LINPACK and LAPACK libraries, which encode the argument precision in routine names, EISPACK uses the same names for single- and double-precision versions of each routine. It is thus imperative to pick one precision or the other, and then select the load library accordingly.
Fortran code can be linked with the EISPACK libraries like this:
f77 -o fcode fcode.f -L/usr/local/lib -leispacks # <-- single-precision f77 -o fcode fcode.f -L/usr/local/lib -leispackd # <-- double-precision
The collaborative work on EISPACK demonstrated that numerical software of very high quality could be developed and made freely available. Several other xxxpack projects followed it, among them, MINPACK (for function minimization and least-squares solutions), LINPACK (for linear equations, least-squares, and singular-value decomposition), and LAPACK (for linear equations, least-squares, singular-value decomposition, and eigenvalue/eigenvector solution).