Algorithm 880: A testing infrastructure for symmetric tridiagonal eigensolvers

LAPACK is often mentioned as a positive example of a software library that encapsulates complex, robust, and widely used numerical algorithms for a wide range of applications. At installation time, the user has the option of running a (limited) number of test cases to verify the integrity of the installation process. On the algorithm developer's side, however, more exhaustive tests are usually performed to study algorithm behavior on a variety of problem settings and also computer architectures. In this process, difficult test cases need to be found that reflect particular challenges of an application or push algorithms to extreme behavior. These tests are then assembled into a comprehensive collection, therefore making it possible for any new or competing algorithm to be stressed in a similar way. This article describes an infrastructure for exhaustively testing the symmetric tridiagonal eigensolvers implemented in LAPACK. It consists of two parts: a selection of carefully chosen test matrices with particular idiosyncrasies and a portable testing framework that allows for easy testing and data processing. The tester facilitates experiments with algorithmic choices, parameter and threshold studies, and performance comparisons on different architectures.

[1]  Iain S. Duff,et al.  The Rutherford-Boeing sparse matrix collection , 1997 .

[2]  John G. Lewis,et al.  Sparse matrix test problems , 1982, SGNM.

[3]  J. H. Wilkinson The algebraic eigenvalue problem , 1966 .

[4]  Nicholas J. Higham,et al.  Algorithm 694: a collection of test matrices in MATLAB , 1991, TOMS.

[5]  B. Parlett,et al.  Relatively robust representations of symmetric tridiagonals , 2000 .

[6]  James Demmel,et al.  Applied Numerical Linear Algebra , 1997 .

[7]  M. Abramowitz,et al.  Handbook of Mathematical Functions With Formulas, Graphs and Mathematical Tables (National Bureau of Standards Applied Mathematics Series No. 55) , 1965 .

[8]  P. Clement,et al.  A Class of Triple-Diagonal Matrices for Test Purposes , 1959 .

[9]  B. Parlett The Symmetric Eigenvalue Problem , 1981 .

[10]  Inderjit S. Dhillon,et al.  The design and implementation of the MRRR algorithm , 2006, TOMS.

[11]  J. Bunch,et al.  Rank-one modification of the symmetric eigenproblem , 1978 .

[12]  W. Gragg,et al.  The numerically stable reconstruction of Jacobi matrices from spectral data , 1984 .

[13]  S. Godunov Guaranteed Accuracy in Numerical Linear Algebra , 1993 .

[14]  Inderjit S. Dhillon,et al.  Orthogonal Eigenvectors and Relative Gaps , 2003, SIAM J. Matrix Anal. Appl..

[15]  Ilse C. F. Ipsen Computing an Eigenvector with Inverse Iteration , 1997, SIAM Rev..

[16]  Beresford N. Parlett,et al.  The Spectrum of a Glued Matrix , 2009, SIAM J. Matrix Anal. Appl..

[17]  Iain S. Duff,et al.  Users' guide for the Harwell-Boeing sparse matrix collection (Release 1) , 1992 .

[18]  Inderjit S. Dhillon,et al.  Current inverse iteration software can fail , 1998 .

[19]  I. Dhillon Algorithm for the Symmetric Tridiagonal Eigenvalue/Eigenvector Problem , 1998 .

[20]  Stanley C. Eisenstat,et al.  A Divide-and-Conquer Algorithm for the Symmetric Tridiagonal Eigenproblem , 1995, SIAM J. Matrix Anal. Appl..

[21]  Jack J. Dongarra,et al.  A Portable Programming Interface for Performance Evaluation on Modern Processors , 2000, Int. J. High Perform. Comput. Appl..

[22]  Gene H. Golub,et al.  Some modified matrix eigenvalue problems , 1973, Milestones in Matrix Computation.

[23]  B. Parlett,et al.  Multiple representations to compute orthogonal eigenvectors of symmetric tridiagonal matrices , 2004 .

[24]  Anna M. Matsekh,et al.  The Godunov-inverse iteration: a fast and accurate solution to the symmetric tridiagonal eigenvalue problem , 2002 .

[25]  Inderjit S. Dhillon,et al.  Application of a New Algorithm for the Symmetric Eigenproblem to Computational Quantum Chemistry , 1997, PPSC.

[26]  Jack Dongarra,et al.  Templates for the Solution of Algebraic Eigenvalue Problems , 2000, Software, environments, tools.

[27]  Robert Todd Gregory,et al.  A collection of matrices for testing computational algorithms , 1969 .

[28]  Ansi Ieee,et al.  IEEE Standard for Binary Floating Point Arithmetic , 1985 .

[29]  Guido D. Salvucci,et al.  Ieee standard for binary floating-point arithmetic , 1985 .

[30]  Che-Rung Lee,et al.  Algorithm 879: EIGENTEST—a test matrix generator for large-scale eigenproblems , 2008, TOMS.

[31]  Jack Dongarra,et al.  A Test Matrix Collection for Non-Hermitian Eigenvalue Problems , 1997 .

[32]  Jack Dongarra,et al.  LAPACK Users' Guide, 3rd ed. , 1999 .

[33]  Michael L. Overton,et al.  Numerical Computing with IEEE Floating Point Arithmetic , 2001 .

[34]  J. Cuppen A divide and conquer method for the symmetric tridiagonal eigenproblem , 1980 .

[35]  Inderjit S. Dhillon,et al.  Glued Matrices and the MRRR Algorithm , 2005, SIAM J. Sci. Comput..

[36]  E. Jason Riedy,et al.  Benefits of IEEE-754 Features in Modern Symmetric Tridiagonal Eigensolvers , 2006, SIAM J. Sci. Comput..

[37]  Inderjit S. Dhillon,et al.  Fernando's solution to Wilkinson's problem: An application of double factorization , 1997 .

[38]  James Demmel,et al.  Performance and Accuracy of LAPACK's Symmetric Tridiagonal Eigensolvers , 2008, SIAM J. Sci. Comput..

[39]  Per Christian Hansen,et al.  Test Matrices for Regularization Methods , 1995, SIAM J. Sci. Comput..

[40]  WALTER GAUTSCHI Algorithm 726: ORTHPOL–a package of routines for generating orthogonal polynomials and Gauss-type quadrature rules , 1994, TOMS.

[41]  W. Gautschi Orthogonal Polynomials: Computation and Approximation , 2004 .

[42]  Walter Gautschi,et al.  THE INTERPLAY BETWEEN CLASSICAL ANALYSIS AND (NUMERICAL) LINEAR ALGEBRA — A TRIBUTE TO GENE H. GOLUB , 2002 .

[43]  David E. Bernholdt,et al.  High performance computational chemistry: An overview of NWChem a distributed parallel application , 2000 .

[44]  W. Gautschi,et al.  THE INTERPLAY BETWEEN CLASSICAL ANALYSIS AND ( NUMERICAL ) LINEAR ALGEBRA — A TRIBUTE TO GENE , 2002 .

[45]  S. Eisenstat,et al.  A Stable and Efficient Algorithm for the Rank-One Modification of the Symmetric Eigenproblem , 1994, SIAM J. Matrix Anal. Appl..

[46]  Milton Abramowitz,et al.  Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables , 1964 .

[47]  Gene H. Golub,et al.  Matrix computations (3rd ed.) , 1996 .