SRC/dsteqr.f(3)

✨ SRC/dsteqr.f ✨

okay so this is a page from the LAPACK library manual (yes, that LAPACK πŸ’…), and today's main character is dsteqr πŸŽ€


🌸 SYNOPSIS 🌸

Functions/Subroutines

  • subroutine dsteqr (compz, n, d, e, z, ldz, work, info) β€” literally the whole vibe, that's DSTEQR πŸ’–

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

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)

bestie. this is DSTEQR. no cap. πŸ‘‘

πŸŽ€ 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.

so like β€” it's giving "I find ALL your eigenvalues" energy, and the eigenvectors too if you ask nicely ✨. and if you already reduced some full or band symmetric matrix down to tridiagonal with DSYTRD, DSPTRD or DSBTRD? yeah, it'll handle that too. obsessed. 🫢


🌈 Parameters 🌈

COMPZ

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.

pick your fighter fr fr πŸŽ€

N

N is INTEGER

The order of the matrix. N >= 0. that's it, that's the whole thing. πŸ¦‹

D

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. glow-up moment honestly ⭐

E

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. πŸ’€ yeah she's gone, that's just how it is.

Z

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:

  • if COMPZ = 'V', Z contains the orthonormal eigenvectors of the original symmetric matrix 🌸
  • if COMPZ = 'I', Z contains the orthonormal eigenvectors of the symmetric tridiagonal matrix 🌸

If COMPZ = 'N', then Z is not referenced. she's not even invited to the group chat πŸ™ˆ

LDZ

LDZ is INTEGER

The leading dimension of the array Z. LDZ >= 1, and if eigenvectors are desired, then LDZ >= max(1,N). read it and weep 🧚

WORK

WORK is DOUBLE PRECISION array, dimension (max(1,2*N-2))

If COMPZ = 'N', then WORK is not referenced. also not invited. 😭

INFO

INFO is INTEGER
  • = 0 β€” successful exit πŸŽ‰ slay
  • < 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.
ok lowkey important: that > 0 case is not a success story. it means it ran out of iterations at 30*N of them and i elements of E never converged. the good news is D and E still hold a symmetric tridiagonal matrix orthogonally similar to the original. the bad news is, well, everything else. πŸ”₯

πŸ‘‘ Author πŸ‘‘

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

periodt. πŸ’œ

πŸ“– Definition at line 130 of file dsteqr.f. πŸ“–


πŸ“ Author (the meta one) πŸ“

Generated automatically by Doxygen for LAPACK from the source code. yes the docs have docs. iconic honestly. πŸ€–βœ¨


okay bestie that's the whole page πŸ’– this was generated from the source by Doxygen for LAPACK, and the footer vibes are: LAPACK, Version 3.12.0, from SRC/dsteqr.f(3). go forth and diagonalize πŸ¦‹πŸ’…πŸŒˆ

πŸ“¦ where this page comes from