Developer Reference for Intel® oneAPI Math Kernel Library for C
Symmetric Eigenvalue Problems: ScaLAPACK Computational Routines
To solve a symmetric eigenproblem with ScaLAPACK, you usually need to reduce the matrix to real tridiagonal form T and then find the eigenvalues and eigenvectors of the tridiagonal matrix T . ScaLAPACK includes routines for reducing the matrix to a tridiagonal form by an orthogonal (or unitary) similarity transformation A = QTQ^{H} as well as for solving tridiagonal symmetric eigenvalue problems. These routines are listed in Table “Computational Routines for Solving Symmetric Eigenproblems” .
There are different routines for symmetric eigenproblems, depending on whether you need eigenvalues only or eigenvectors as well, and on the algorithm used (either the QTQ algorithm, or bisection followed by inverse iteration).
Computational Routines for Solving Symmetric Eigenproblems
Operation |
Dense symmetric/Hermitian matrix |
Orthogonal/unitary matrix |
Symmetric tridiagonal matrix |
|---|---|---|---|
Reduce to tridiagonal form A = QTQ:code:`H` |
p?sytrd (Reduces a symmetric matrix to real symmetric tridiagonal form by an orthogonal similarity transformation.) / p?hetrd (Reduces a Hermitian matrix to Hermitian tridiagonal form by a unitary similarity transformation.) |
||
Multiply matrix after reduction |
p?ormtr (Multiplies a general matrix by the orthogonal transformation matrix from a reduction to tridiagonal form determined by p?sytrd.) / p?unmtr (Multiplies a general matrix by the unitary transformation matrix from a reduction to tridiagonal form determined by p?hetrd.) |
||
Find all eigenvalues and eigenvectors of a tridiagonal matrix T by a QTQ method |
steqr2 (Computes all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL or QR method.) * |
||
Find selected eigenvalues of a tridiagonal matrix T via bisection |
p?stebz (Computes the eigenvalues of a symmetric tridiagonal matrix by bisection.) |
||
Find selected eigenvectors of a tridiagonal matrix T by inverse iteration |
p?stein (Computes the eigenvectors of a tridiagonal matrix using inverse iteration.) |
* This routine is described as part of auxiliary ScaLAPACK routines.