SRC/dstein.f(3)
β¨ NAME β¨
Okay so this is the page for SRC/dstein.f, chillinβ in the Library Functions Manual β and itβs all about the DSTEIN routine, bestie. π
πΈ SYNOPSIS πΈ
π¦ Functions/Subroutines π¦
subroutine dstein (n, d, e, m, w, iblock, isplit, z, ldz, work, iwork,
ifail, info)
DSTEIN
π¦ Function/Subroutine Documentation π¦
Hereβs the full signature, copied exactly because we do not play with Fortran:
subroutine dstein (integer n, double precision, dimension( * ) d, double
precision, dimension( * ) e, integer m, double precision, dimension( * )
w, integer, dimension( * ) iblock, integer, dimension( * ) isplit,
double precision, dimension( ldz, * ) z, integer ldz, double precision,
dimension( * ) work, integer, dimension( * ) iwork, integer, dimension(
* ) ifail, integer info)
DSTEIN
π Purpose π
Okay so DSTEIN computes the eigenvectors of a real symmetric tridiagonal matrix T corresponding to specified eigenvalues, using inverse iteration. Iconic linear algebra behavior, honestly. π
The maximum number of iterations allowed for each eigenvector is specified by an internal parameter MAXITS (currently set to 5). Five attempts, bestie β thatβs the budget. β¨
π Parameters π
Nβ INTEGER. The order of the matrix.N >= 0.Dβ DOUBLE PRECISION array, dimension (N). Thendiagonal elements of the tridiagonal matrixT.Eβ DOUBLE PRECISION array, dimension (N-1). The(n-1)subdiagonal elements of the tridiagonal matrixT, in elements 1 toN-1.Mβ INTEGER. The number of eigenvectors to be found.0 <= M <= N.Wβ DOUBLE PRECISION array, dimension (N). The firstMelements ofWcontain the eigenvalues for which eigenvectors are to be computed. The eigenvalues should be grouped by split-off block and ordered from smallest to largest within the block. ( The output arrayWfromDSTEBZwithORDER = 'B'is expected here. )IBLOCKβ INTEGER array, dimension (N). The submatrix indices associated with the corresponding eigenvalues inW;IBLOCK(i)=1if eigenvalueW(i)belongs to the first submatrix from the top,=2ifW(i)belongs to the second submatrix, etc. ( The output arrayIBLOCKfromDSTEBZis expected here. )ISPLITβ INTEGER array, dimension (N). The splitting points, at whichTbreaks up into submatrices. The first submatrix consists of rows/columns 1 toISPLIT( 1 ), the second of rows/columnsISPLIT( 1 )+1throughISPLIT( 2 ), etc. ( The output arrayISPLITfromDSTEBZis expected here. )Zβ DOUBLE PRECISION array, dimension (LDZ, M). The computed eigenvectors. The eigenvector associated with the eigenvalueW(i)is stored in the i-th column ofZ. Any vector which fails to converge is set to its current iterate afterMAXITSiterations.LDZβ INTEGER. The leading dimension of the arrayZ.LDZ >= max(1,N).WORKβ DOUBLE PRECISION array, dimension (5*N).IWORKβ INTEGER array, dimension (N).IFAILβ INTEGER array, dimension (M). On normal exit, all elements ofIFAILare zero. If one or more eigenvectors fail to converge afterMAXITSiterations, then their indices are stored in arrayIFAIL.INFOβ INTEGER.= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value.> 0: ifINFO = i, then i eigenvectors failed to converge inMAXITSiterations. Their indices are stored in arrayIFAIL.
π§ Internal Parameters π§
MAXITSβ INTEGER, default =5. The maximum number of iterations performed.EXTRAβ INTEGER, default =2. The number of iterations performed after norm growth criterion is satisfied, should be at least 1.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Definition at line 172 of file dstein.f.
π Author π
This oneβs the auto-generated bit, fr fr: Generated automatically by Doxygen for LAPACK from the source code. π«Ά
Source/version tea: this page is SRC/dstein.f(3) from LAPACK Version 3.12.0 β footer date? Not listed, so thatβs all the info weβve got. Stay convergent and iconic, bestie π
πβ¨
π¦ 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