steqr(3)

πŸ’« steqr(3) β€” Library Functions Manual πŸ’«

okay bestie, welcome to the steqr page from the Library Functions Manual β€” it's giving eigenvalue realness, QR iteration energy, and a whole lot of Fortran names πŸ”₯ no cap, this one is long, so part 1 is right here and part 2 is coming. let's get into it πŸ’…


✨ NAME ✨

steqr β€” steqr: eig, QR iteration


🌸 SYNOPSIS 🌸

🫢 Functions 🫢

  • subroutine csteqr (compz, n, d, e, z, ldz, work, info) β€” CSTEQR
  • subroutine dsteqr (compz, n, d, e, z, ldz, work, info) β€” DSTEQR
  • subroutine ssteqr (compz, n, d, e, z, ldz, work, info) β€” SSTEQR
  • subroutine zsteqr (compz, n, d, e, z, ldz, work, info) β€” ZSTEQR

πŸ’… Detailed Description πŸ’…

bestie this section is literally empty in the original β€” like, there is nothing under "Detailed Description" at all. we're keeping it because we do not skip sections in this house. periodt. πŸ’€


πŸ‘‘ Function Documentation πŸ‘‘

πŸ’– csteqr β€” the complex one πŸ’–

subroutine csteqr (character compz, integer n, real, dimension( * ) d, real,
    dimension( * ) e, complex, dimension( ldz, * ) z, integer ldz, real,
    dimension( * ) work, integer info)

CSTEQR

🌟 Purpose 🌟

CSTEQR computes all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL or QR method. The eigenvectors of a full or band complex Hermitian matrix can also be found if CHETRD or CHPTRD or CHBTRD has been used to reduce this matrix to tridiagonal form. slay πŸ’…

πŸŽ€ Parameters πŸŽ€

  • COMPZ β€” is CHARACTER*1
    • = 'N': Compute eigenvalues only.
    • = 'V': Compute eigenvalues and eigenvectors of the original Hermitian matrix. On entry, Z must contain the unitary matrix used to reduce the original matrix to tridiagonal form.
    • = 'I': Compute eigenvalues and eigenvectors of the tridiagonal matrix. Z is initialized to the identity matrix.
  • N β€” is INTEGER. The order of the matrix. N >= 0.
  • D β€” is REAL array, dimension (N). On entry, the diagonal elements of the tridiagonal matrix. On exit, if INFO = 0, the eigenvalues in ascending order.
  • E β€” is REAL array, dimension (N-1). On entry, the (n-1) subdiagonal elements of the tridiagonal matrix. On exit, E has been destroyed. rip bestie 😭
  • Z β€” is COMPLEX array, dimension (LDZ, N). On entry, if COMPZ = 'V', then Z contains the unitary matrix used in the reduction to tridiagonal form. On exit, if INFO = 0, then if COMPZ = 'V', Z contains the orthonormal eigenvectors of the original Hermitian matrix, and if COMPZ = 'I', Z contains the orthonormal eigenvectors of the symmetric tridiagonal matrix. If COMPZ = 'N', then Z is not referenced.
  • LDZ β€” is INTEGER. The leading dimension of the array Z. LDZ >= 1, and if eigenvectors are desired, then LDZ >= max(1,N).
  • WORK β€” is REAL array, dimension (max(1,2*N-2)). If COMPZ = 'N', then WORK is not referenced.
  • INFO β€” is INTEGER
    • = 0: successful exit
    • < 0: if INFO = -i, the i-th argument had an illegal value
    • > 0: the algorithm has failed to find all the eigenvalues in a total of 30*N iterations; if INFO = i, then i elements of E have not converged to zero; on exit, D and E contain the elements of a symmetric tridiagonal matrix which is unitarily similar to the original matrix.

πŸ¦‹ Author πŸ¦‹

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

⭐ Definition ⭐

Definition at line 131 of file csteqr.f.


πŸ’œ dsteqr β€” the double precision one πŸ’œ

subroutine dsteqr (character compz, integer n, double precision, dimension(
    * ) d, double precision, dimension( * ) e, double precision, dimension(
    ldz, * ) z, integer ldz, double precision, dimension( * ) work, integer
    info)

DSTEQR

🌟 Purpose 🌟

DSTEQR computes all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL or QR method. The eigenvectors of a full or band symmetric matrix can also be found if DSYTRD or DSPTRD or DSBTRD has been used to reduce this matrix to tridiagonal form. iconic behavior honestly πŸ‘‘

πŸŽ€ Parameters πŸŽ€

  • COMPZ β€” is CHARACTER*1
    • = 'N': Compute eigenvalues only.
    • = 'V': Compute eigenvalues and eigenvectors of the original symmetric matrix. On entry, Z must contain the orthogonal matrix used to reduce the original matrix to tridiagonal form.
    • = 'I': Compute eigenvalues and eigenvectors of the tridiagonal matrix. Z is initialized to the identity matrix.
  • N β€” is INTEGER. The order of the matrix. N >= 0.
  • D β€” is DOUBLE PRECISION array, dimension (N). On entry, the diagonal elements of the tridiagonal matrix. On exit, if INFO = 0, the eigenvalues in ascending order.
  • E β€” is DOUBLE PRECISION array, dimension (N-1). On entry, the (n-1) subdiagonal elements of the tridiagonal matrix. On exit, E has been destroyed. she's gone, bestie πŸ’€
  • Z β€” is DOUBLE PRECISION array, dimension (LDZ, N). On entry, if COMPZ = 'V', then Z contains the orthogonal matrix used in the reduction to tridiagonal form. On exit, if INFO = 0, then if COMPZ = 'V', Z contains the orthonormal eigenvectors of the original symmetric matrix, and if COMPZ = 'I', Z contains the orthonormal eigenvectors of the symmetric tridiagonal matrix. If COMPZ = 'N', then Z is not referenced.
  • LDZ β€” is INTEGER. The leading dimension of the array Z. LDZ >= 1, and if eigenvectors are desired, then LDZ >= max(1,N).
  • WORK β€” is DOUBLE PRECISION array, dimension (max(1,2*N-2)). If COMPZ = 'N', then WORK is not referenced.
  • INFO β€” is INTEGER
    • = 0: successful exit
    • < 0: if INFO = -i, the i-th argument had an illegal value
    • > 0: the algorithm has failed to find all the eigenvalues in a total of 30*N iterations; if INFO = i, then i elements of E have not converged to zero; on exit, D and E contain the elements of a symmetric tridiagonal matrix which is orthogonally similar to the original matrix.

πŸ¦‹ Author πŸ¦‹

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

⭐ Definition ⭐

Definition at line 130 of file dsteqr.f.


πŸ“ ssteqr β€” the single precision one πŸ“

subroutine ssteqr (character compz, integer n, real, dimension( * ) d, real,
    dimension( * ) e, real, dimension( ldz, * ) z, integer ldz, real,
    dimension( * ) work, integer info)

SSTEQR

🌟 Purpose 🌟

SSTEQR computes all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL or QR method. The eigenvectors of a full or band symmetric matrix can also be found if SSYTRD or SSPTRD or SSBTRD has been used to reduce this matrix to tridiagonal form. lowkey obsessed with this routine ngl ✨

πŸŽ€ Parameters πŸŽ€

  • COMPZ β€” is CHARACTER*1
    • = 'N': Compute eigenvalues only.
    • = 'V': Compute eigenvalues and eigenvectors of the original symmetric matrix. On entry, Z must contain the orthogonal matrix used to reduce the original matrix to tridiagonal form.
    • = 'I': Compute eigenvalues and eigenvectors of the tridiagonal matrix. Z is initialized to the identity matrix.
  • N β€” is INTEGER. The order of the matrix. N >= 0.
  • D β€” is REAL array, dimension (N). On entry, the diagonal elements of the tridiagonal matrix. On exit, if INFO = 0, the eigenvalues in ascending order.
  • E β€” is REAL array, dimension (N-1). On entry, the (n-1) subdiagonal elements of the tridiagonal matrix. On exit, E has been destroyed. not the destroyer of worlds but she is the destroyer of E 😭
  • Z β€” is REAL array, dimension (LDZ, N). On entry, if COMPZ = 'V', then Z contains the orthogonal matrix used in the reduction to tridiagonal form. On exit, if INFO = 0, then if COMPZ = 'V', Z contains the orthonormal eigenvectors of the original symmetric matrix, and if COMPZ = 'I', Z contains the orthonormal eigenvectors of the symmetric tridiagonal matrix. If COMPZ = 'N', then Z is not referenced.
  • LDZ β€” is INTEGER. The leading dimension of the array Z. LDZ >= 1, and if eigenvectors are desired, then LDZ >= max(1,N).
  • WORK β€” is REAL array, dimension (max(1,2*N-2)). If COMPZ = 'N', then WORK is not referenced.
  • INFO β€” is INTEGER
    • = 0: successful exit
    • < 0: if INFO = -i, the i-th argument had an illegal value
    • > 0: the algorithm has failed to find all the eigenvalues in a total of 30*N iterations; if INFO = i, then i elements of E have not converged to zero; on exit, D and E contain the elements of a symmetric tridiagonal matrix which is orthogonally similar to the original matrix.

πŸ¦‹ Author πŸ¦‹

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

⭐ Definition ⭐

Definition at line 130 of file ssteqr.f.


   subroutine zsteqr (character compz, integer n, double precision, dimension(
       * ) d, double precision, dimension( * ) e, complex*16, dimension( ldz, *
       ) z, integer ldz, double precision, dimension( * ) work, integer info)

πŸ’… ZSTEQR

✨ Purpose ✨

Okay so ZSTEQR is the one that computes all eigenvalues and, if you want, eigenvectors of a symmetric tridiagonal matrix using the implicit QL or QR method. It can also find the eigenvectors of a full or band complex Hermitian matrix if ZHETRD or ZHPTRD or ZHBTRD has already been used to reduce that matrix to tridiagonal form. Slay. πŸ’…


πŸŽ€ Parameters πŸŽ€

  • COMPZ β€” it’s a CHARACTER*1, and it tells the routine what you’re actually asking for:
    • = 'N': compute eigenvalues only.
    • = 'V': compute eigenvalues and eigenvectors of the original Hermitian matrix. On entry, Z must contain the unitary matrix used to reduce the original matrix to tridiagonal form.
    • = 'I': compute eigenvalues and eigenvectors of the tridiagonal matrix. Z is initialized to the identity matrix.
  • N β€” N is INTEGER. It’s the order of the matrix, and bestie, N >= 0.
  • D β€” D is DOUBLE PRECISION array, dimension (N). On entry, it holds the diagonal elements of the tridiagonal matrix. On exit, if INFO = 0, it holds the eigenvalues in ascending order. Iconic behavior honestly. 🌸
  • E β€” E is DOUBLE PRECISION array, dimension (N-1). On entry, it holds the (n-1) subdiagonal elements of the tridiagonal matrix. On exit, E has been destroyed. 😭 That’s just how it is.
  • Z β€” Z is COMPLEX*16 array, dimension (LDZ, N). On entry, if COMPZ = 'V', then Z contains the unitary matrix used in the reduction to tridiagonal form. On exit, if INFO = 0, then:
    • if COMPZ = 'V', Z contains the orthonormal eigenvectors of the original Hermitian matrix;
    • if COMPZ = 'I', Z contains the orthonormal eigenvectors of the symmetric tridiagonal matrix.

If COMPZ = 'N', then Z is not referenced. Not even looked at. Ghosted. πŸ‘»

  • LDZ β€” LDZ is INTEGER. It’s the leading dimension of the array Z. LDZ >= 1, and if eigenvectors are desired, then LDZ >= max(1,N). No cap, but also don’t violate that bound. 🫢
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (max(1,2*N-2)). If COMPZ = 'N', then WORK is not referenced.
  • INFO β€” INFO is INTEGER, and this is the vibe check at the end:
    • = 0: successful exit. We love to see it. ✨
    • < 0: if INFO = -i, the i-th argument had an illegal value.
    • > 0: the algorithm has failed to find all the eigenvalues in a total of 30*N iterations; if INFO = i, then i elements of E have not converged to zero. On exit, D and E contain the elements of a symmetric tridiagonal matrix which is unitarily similar to the original matrix.

πŸ’– Author πŸ’–

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 131 of file zsteqr.f.

πŸͺ„ Author (generated bit) πŸͺ„

Generated automatically by Doxygen for LAPACK from the source code.


That’s the whole ZSTEQR situation, bestie. This page’s source/version is LAPACK Version 3.12.0, and the footer tags it as steqr(3). There’s no separate date line on this footer, so no invented dates β€” just the version and page tag. Mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from