DSTEVX(3)
β¨ DSTEVX(3) β¨
okay bestie, this is the DSTEVX(3) page from the Library Functions Manual, and it is literally about /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dstevx.f. Itβs giving βLAPACK 3.12.0 era, but make it tridiagonal.β Buckle up π
π NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dstevx.f
π¦ SYNOPSIS π¦
π§ Functions/Subroutines π§
The icon herself:
subroutine DSTEVX (jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w,
z, ldz, work, iwork, ifail, info)
DSTEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
πΈ Function/Subroutine Documentation πΈ
π subroutine DSTEVX π
subroutine DSTEVX (character jobz, character range, integer n, double
precision, dimension( * ) d, double precision, dimension( * ) e, double
precision vl, double precision vu, integer il, integer iu, double
precision abstol, integer m, double precision, dimension( * ) w, double
precision, dimension( ldz, * ) z, integer ldz, double precision,
dimension( * ) work, integer, dimension( * ) iwork, integer, dimension(
* ) ifail, integer info)
DSTEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
π Purpose π
DSTEVX computes selected eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix A. You can pick which eigenvalues and eigenvectors you want by specifying either a range of values or a range of indices for the desired eigenvalues. Very choose-your-own-adventure, honestly β¨
β¨ Parameters β¨
JOBZβ isCHARACTER*1.= 'N': compute eigenvalues only;= 'V': compute eigenvalues and eigenvectors.RANGEβ isCHARACTER*1.= 'A': all eigenvalues will be found.= 'V': all eigenvalues in the half-open interval(VL,VU]will be found.= 'I': theIL-th throughIU-th eigenvalues will be found.Nβ isINTEGER. The order of the matrix.N >= 0.Dβ isDOUBLE PRECISION array, dimension (N). On entry, thendiagonal elements of the tridiagonal matrixA. On exit,Dmay be multiplied by a constant factor chosen to avoid over/underflow in computing the eigenvalues.Eβ isDOUBLE PRECISION array, dimension (max(1,N-1)). On entry, the(n-1)subdiagonal elements of the tridiagonal matrixAin elements1toN-1ofE. On exit,Emay be multiplied by a constant factor chosen to avoid over/underflow in computing the eigenvalues.VLβ isDOUBLE PRECISION. IfRANGE='V', the lower bound of the interval to be searched for eigenvalues.VL < VU. Not referenced ifRANGE = 'A'or'I'.VUβ isDOUBLE PRECISION. IfRANGE='V', the upper bound of the interval to be searched for eigenvalues.VL < VU. Not referenced ifRANGE = 'A'or'I'.ILβ isINTEGER. IfRANGE='I', the index of the smallest eigenvalue to be returned.1 <= IL <= IU <= N, ifN > 0;IL = 1andIU = 0ifN = 0. Not referenced ifRANGE = 'A'or'V'.IUβ isINTEGER. IfRANGE='I', the index of the largest eigenvalue to be returned.1 <= IL <= IU <= N, ifN > 0;IL = 1andIU = 0ifN = 0. Not referenced ifRANGE = 'A'or'V'.ABSTOLβ isDOUBLE PRECISION. The absolute error tolerance for the eigenvalues. An approximate eigenvalue is accepted as converged when it is determined to lie in an interval[a,b]of width less than or equal to:
ABSTOL + EPS * max( |a|,|b| ) ,
where EPS is the machine precision. If ABSTOL is less than or equal to zero, then EPS*|T| will be used in its place, where |T| is the 1-norm of the tridiagonal matrix.
Eigenvalues will be computed most accurately whenABSTOLis set to twice the underflow threshold2*DLAMCH('S'), not zero. If this routine returns withINFO>0, indicating that some eigenvectors did not converge, try settingABSTOLto2*DLAMCH('S'). No cap, thatβs the move π«Ά
Also the source has this reference line: See by Demmel and Kahan, LAPACK Working Note #3. β yes, with the double space, bestie π
Mβ isINTEGER. The total number of eigenvalues found.0 <= M <= N. IfRANGE = 'A',M = N, and ifRANGE = 'I',M = IU-IL+1.Wβ isDOUBLE PRECISION array, dimension (N). The firstMelements contain the selected eigenvalues in ascending order.Zβ isDOUBLE PRECISION array, dimension (LDZ, max(1,M) ). IfJOBZ = 'V', then ifINFO = 0, the firstMcolumns ofZcontain the orthonormal eigenvectors of the matrixAcorresponding to the selected eigenvalues, with thei-th column ofZholding the eigenvector associated withW(i). If an eigenvector fails to converge (INFO > 0), then that column ofZcontains the latest approximation to the eigenvector, and the index of the eigenvector is returned inIFAIL. IfJOBZ = 'N', thenZis not referenced.
Note: the user must ensure that at leastmax(1,M)columns are supplied in the arrayZ; ifRANGE = 'V', the exact value ofMis not known in advance and an upper bound must be used. Thatβs the βbring extra columns just in caseβ vibe π
LDZβ isINTEGER. The leading dimension of the arrayZ.LDZ >= 1, and ifJOBZ = 'V',LDZ >= max(1,N).WORKβ isDOUBLE PRECISION array, dimension (5*N).IWORKβ isINTEGER array, dimension (5*N).IFAILβ isINTEGER array, dimension (N). IfJOBZ = 'V', then ifINFO = 0, the firstMelements ofIFAILare zero. IfINFO > 0, thenIFAILcontains the indices of the eigenvectors that failed to converge. IfJOBZ = 'N', thenIFAILis not referenced.INFOβ isINTEGER.= 0: successful exit.< 0: ifINFO = -i, thei-th argument had an illegal value.> 0: ifINFO = i, thenieigenvectors failed to converge. Their indices are stored in arrayIFAIL.
π«Ά Author π«Ά
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 225 of file dstevx.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
periodt π
Cute sign-off time: this oneβs from the Library Functions Manual, footer vibes are LAPACK Version 3.12.0 and /home/abui...RC/dstevx.f(3). No explicit date line in the source, so Iβm not inventing one β youβre welcome, bestie πβ¨
π¦ 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