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,Zmust contain the orthogonal matrix used to reduce the original matrix to tridiagonal form.= 'I'β Compute eigenvalues and eigenvectors of the tridiagonal matrix.Zis 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',Zcontains the orthonormal eigenvectors of the original symmetric matrix πΈ - if
COMPZ = 'I',Zcontains 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β ifINFO = -i, the i-th argument had an illegal value π¨> 0β the algorithm has failed to find all the eigenvalues in a total of30*Niterations; ifINFO = i, thenielements ofEhave not converged to zero; on exit,DandEcontain the elements of a symmetric tridiagonal matrix which is orthogonally similar to the original matrix.
ok lowkey important: that> 0case is not a success story. it means it ran out of iterations at30*Nof them andielements ofEnever converged. the good news isDandEstill 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
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms