DSTEQR(3)
β¨ DSTEQR(3) β¨
okay so bestie, welcome to DSTEQR(3), one of the little gems living in the Library Functions Manual π this one is a LAPACK girlie through and through, and she's about to diagonalize your whole life. buckle up π
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dsteqr.f
like, that's literally the file. that's the name. she's got a full government name and it's a whole path π iconic honestly.
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine DSTEQR (compz, n, d, e, z, ldz, work, info)
DSTEQR β that's her. that's the girl. π
π 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)
DSTEQR
π Purpose π
okay so what does she do: DSTEQR computes all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL or QR method. no cap. π₯
and here's the fun part β 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, she'll happily finish the job your other routines started. team work makes the dream work fr fr π«Ά
π§ 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.
so basically pick your fighter: just the eigenvalues ('N'), the whole package from the original matrix ('V'), or the whole package straight off the tridiagonal ('I') β¨
N
N is INTEGER
The order of the matrix. N >= 0. (yes, zero counts, we love a boundary condition π)
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. she goes in as your diagonal and comes out as a whole sorted eigenvalue serve π
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 does not survive the function. that's just how it is, no notes.
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, 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. like, she literally doesn't even look at it. not her business π
LDZ
LDZ is INTEGER
The leading dimension of the array Z. LDZ >= 1, and if eigenvectors are desired, then LDZ >= max(1,N). read that again if you're asking for eigenvectors bestie, the vibe check is strict π
WORK
WORK is DOUBLE PRECISION array, dimension (max(1,2*N-2))
If COMPZ = 'N', then WORK is not referenced. she's got a whole workspace and she'll ignore it if you don't need it, so chill π
INFO
INFO is INTEGER
= 0β successful exit π< 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, then i elements ofEhave not converged to zero; on exit,DandEcontain the elements of a symmetric tridiagonal matrix which is orthogonally similar to the original matrix.
okay so the> 0case is the dramatic one π she tried, she really did, but30*Niterations was the limit and some elements ofEjust wouldn't converge to zero. the tea is:DandEstill hold a symmetric tridiagonal matrix that's orthogonally similar to your original one, so likeβ¦ it's not a total loss, but it's giving "we need to talk". don't ignore a positiveINFO, bestie.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad behind the magic π«Ά
Definition at line 130 of file dsteqr.f. yes we're citing our sources, we're academic girlies now π
β Author β
Generated automatically by Doxygen for LAPACK from the source code. so the docs wrote themselves, slay, automation π
and that's the page! π sending you off with the footer energy: LAPACK, Version 3.12.0, from /home/abui...RC/dsteqr.f(3) β go forth and tridiagonalize responsibly, mwah ππ¦β¨
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms