SRC/claed0.f(3)

Okay bestie, you opened SRC/claed0.f(3) β€” page name, right there β€” and it’s living in the Library Functions Manual πŸ’…βœ¨

πŸ’– NAME πŸ’–

SRC/claed0.f

Just the file name, clean and simple 🫢

✨ SYNOPSIS ✨

🧚 Functions/Subroutines 🧚

subroutine claed0 (qsiz, n, d, e, q, ldq, qstore, ldqs, rwork, iwork,
    info)
  • CLAED0 β€” used by CSTEDC. Computes all eigenvalues and corresponding eigenvectors of an unreduced symmetric tridiagonal matrix using the divide and conquer method. Iconic divide-and-conquer behavior, no cap πŸ”₯

🫢 Function/Subroutine Documentation 🫢

subroutine claed0 (integer qsiz, integer n, real, dimension( * ) d, real,
    dimension( * ) e, complex, dimension( ldq, * ) q, integer ldq, complex,
    dimension( ldqs, * ) qstore, integer ldqs, real, dimension( * ) rwork,
    integer, dimension( * ) iwork, integer info)

CLAED0 is used by CSTEDC. It computes all eigenvalues and corresponding eigenvectors of an unreduced symmetric tridiagonal matrix using the divide and conquer method. That’s the whole vibe: divide, conquer, eigenvalues, eigenvectors, slay πŸ’…

πŸŽ€ Purpose πŸŽ€

Using the divide and conquer method, CLAED0 computes all eigenvalues of a symmetric tridiagonal matrix which is one diagonal block of those from reducing a dense or band Hermitian matrix and corresponding eigenvectors of the dense or band matrix. Periodt. ✨

🌸 Parameters 🌸

  • QSIZ β€” QSIZ is INTEGER. The dimension of the unitary matrix used to reduce the full matrix to tridiagonal form. QSIZ >= N if ICOMPQ = 1. This is the β€œhow big is the unitary matrix” parameter, bestie πŸŽ€
  • N β€” N is INTEGER. The dimension of the symmetric tridiagonal matrix. N >= 0. Zero is allowed, so don’t panic 🌸
  • D β€” D is REAL array, dimension (N). On entry, the diagonal elements of the tridiagonal matrix. On exit, the eigenvalues in ascending order. Glow-up: diagonal entries become sorted eigenvalues πŸ‘‘
  • E β€” E is REAL array, dimension (N-1). On entry, the off-diagonal elements of the tridiagonal matrix. On exit, E has been destroyed. RIP to E, it did its job πŸ’€
  • Q β€” Q is COMPLEX array, dimension (LDQ,N). On entry, Q must contain an QSIZ x N matrix whose columns unitarily orthonormal. It is a part of the unitary matrix that reduces the full dense Hermitian matrix to a (reducible) symmetric tridiagonal matrix. Unitary and orthonormal, truly main character energy πŸ¦‹
  • LDQ β€” LDQ is INTEGER. The leading dimension of the array Q. LDQ >= max(1,N). Leading dimension check, no cap πŸ’…
  • IWORK β€” IWORK is INTEGER array, the dimension of IWORK must be at least 6 + 6*N + 5*N*lg N (lg( N ) = smallest integer k such that 2^k >= N). That’s the integer workspace math, write it down bestie πŸ“
  • RWORK β€” RWORK is REAL array, dimension (1 + 3*N + 2*N*lg N + 3*N**2) (lg( N ) = smallest integer k such that 2^k >= N). Big real workspace energy, respect it 🌈
  • QSTORE β€” QSTORE is COMPLEX array, dimension (LDQS, N). Used to store parts of the eigenvector matrix when the updating matrix multiplies take place. It’s holding the eigenvector-matrix pieces during the update, iykyk 🧚
  • LDQS β€” LDQS is INTEGER. The leading dimension of the array QSTORE. LDQS >= max(1,N). Another leading-dimension vibe check πŸ’œ
  • INFO β€” INFO is INTEGER.
    • = 0: successful exit. We love a clean win ✨
    • < 0: if INFO = -i, the i-th argument had an illegal value. Rude, but at least it tells you which argument πŸ™ˆ
    • > 0: The algorithm failed to compute an eigenvalue while working on the submatrix lying in rows and columns INFO/(N+1) through mod(INFO,N+1). That’s the β€œalgorithm said nah” case 😭

πŸ‘‘ Author πŸ‘‘

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

Definition at line 143 of file claed0.f. 🫢

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code. ✨

Mwah πŸ’‹ β€” footer sign-off: this is LAPACK Version 3.12.0, file SRC/claed0.f(3). The original footer didn’t show a separate date, so no invented date here, bestie πŸŽ€πŸŒˆπŸ’–

πŸ“¦ where this page comes from