
EISPACK is a numerical subroutine library for computing matrix eigenvalues and eigenvectors, and singularvalue decompositions
Last update: Sat Nov 17 16:19:51 2001
Comments, and reports of errata or bugs, are welcome via email 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 locallyprovided online documentation for EISPACK inside the GNU Emacs info system. In emacs, type Ch 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 twovolume sequence:
@String{pubSV = "Spring{\}erVer{\}lag"} @String{pubSV: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 = pubSV, address = pubSV:adr, pages = "vii + 387", year = "1976", ISBN = "0387067108", 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 = pubSV, address = pubSV:adr, pages = "viii + 343", year = "1977", ISBN = "0387082549, 3540082549", 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{pubPH = "Pren{\}ticeHall"} @String{pubPH:adr = "Upper Saddle River, NJ 07458, USA"} @Book{Cowell:1984:SDM, editor = "Wayne R. Cowell", title = "Sources and Development of Mathematical Software", publisher = pubPH, address = pubPH:adr, pages = "xii + 404", year = "1984", ISBN = "0138235015", LCCN = "QA76.95 .S68 1984", bibdate = "Tue Dec 14 22:44:45 1993", series = "PrenticeHall 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 = pubSV, address = pubSV:adr, pages = "viii + 439", year = "1971", ISBN = "0387054146, 3540054146", 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 doubleprecision 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 # < singleprecision f77 o fcode fcode.f L/usr/local/lib leispackd # < doubleprecision
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 leastsquares solutions), LINPACK (for linear equations, leastsquares, and singularvalue decomposition), and LAPACK (for linear equations, leastsquares, singularvalue decomposition, and eigenvalue/eigenvector solution).