Performance and Accuracy of LAPACK's Symmetric Tridiagonal Eigensolvers

PERFORMANCE AND ACCURACY OF LAPACK’S SYMMETRIC TRIDIAGONAL EIGENSOLVERS JAMES W. DEMMEL † OSNI A. MARQUES ‡ BERESFORD N. PARLETT † AND CHRISTOF V OMEL ‡ Abstract. We compare four algorithms from the latest LAPACK 3.1 release for computing eigenpairs of a symmetric tridiagonal matrix. These include QR iteration, bisection and inverse iteration (BI), the Divide-and-Conquer method (DC), and the method of Multiple Relatively Robust Representations (MR). Our evaluation considers speed and accuracy when computing all eigenpairs, and additionally subset computations. Using a variety of carefully selected test problems, our study includes a variety of today’s computer architectures. Our conclusions can be summarized as follows. (1) DC and MR are generally much faster than QR and BI on large matrices. (2) MR almost always does the fewest floating point operations, but at a lower MFlop rate than all the other algorithms. (3) The exact performance of MR and DC strongly depends on the matrix at hand. (4) DC and QR are the most accurate algorithms with observed accuracy O( ne). The accuracy of BI and MR is generally O(ne). (5) MR is preferable to BI for subset computations. Key words. LAPACK, symmetric eigenvalue problem, inverse iteration, Divide & Conquer, QR algorithm, MRRR algorithm, accuracy, performance, benchmark. AMS subject classifications. 15A18, 15A23. 1. Introduction. One goal of the latest 3.1 release [25] of LAPACK [1] is to pro- duce the fastest possible symmetric eigensolvers subject to the constraint of delivering small residuals and orthogonal eigenvectors. For an input matrix A that may be dense or banded, one standard approach is the conversion to tridiagonal form T , then the eigenvalues and eigenvectors of T are found, and last the eigenvectors of T transformed to eigenvectors of A. Depending on the situation, all the eigenpairs or just some of them may be de- sired. LAPACK, for some algorithms, allows selection by eigenvalue indices (‘find λ i , λ i+1 , ...λ j , where λ 1 ≤ λ 2 ≤ · · · ≤ λ n are all the eigenvalues in increasing order’, and their eigenvectors) or by an interval (‘find all the eigenvalues in [a, b] and their eigenvectors’). This paper analyzes the performance and accuracy of four algorithms: 1. QR iteration, in LAPACK’s driver STEV (QR for short), 2. Bisection and Inverse Iteration, in STEVX (BI for short), 3. Divide and Conquer, in STEVD (DC for short), 4. Multiple Relatively Robust Representations, in STEVR (MR for short) Section 2 gives a brief description of these algorithms with references. For a representative picture of each algorithm’s capacities, we developed an ex- tensive set of test matrices [7], broken into two classes: (1) ‘practical matrices’ based on reducing matrices from a variety of practical applications to tridiagonal form, and generating some other tridiagonals with similar spectra, and (2) synthetic ‘testing ma- trices’ chosen to have extreme distributions of eigenvalues or other properties designed to exercise one or more of the algorithms, see Section 3.1 for details. The timing and † Mathematics Department and Computer Science Division, University of California, Berkeley, CA 94720, USA. {demmel@cs,parlett@math}.berkeley.edu ‡ Computational Research Division, Lawrence Berkeley National Laboratory, Berkeley, CA 94720, USA. {oamarques,cvoemel}@lbl.gov

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

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

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

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

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

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

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

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

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

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

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

[12]  Beresford N. Parlett,et al.  Computations of eigenpair subsets with the MRRR algorithm , 2006, Numer. Linear Algebra Appl..

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

[14]  Gene H. Golub,et al.  Matrix computations , 1983 .

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

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

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

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

[19]  James Demmel,et al.  Algorithm 880: A testing infrastructure for symmetric tridiagonal eigensolvers , 2008, TOMS.

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

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

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

[23]  Iain S. Duff,et al.  Sparse matrix test problems , 1982 .

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

[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]  Jack J. Dongarra,et al.  A Portable Programming Interface for Performance Evaluation on Modern Processors , 2000, Int. J. High Perform. Comput. Appl..

[28]  J. Demmel,et al.  Sun Microsystems , 1996 .