stevd(3)
β¨ NAME β¨ β stevd(3) from the Library Functions Manual, bestie
okay so this page is about stevd β short and iconic: stevd: eig, divide and conquer. Thatβs the whole NAME section, and yes, it ate. π
π¦ SYNOPSIS π¦
This page lists Functions, and there are exactly two subroutines on the menu. Both have the same short signature shape, bestie:
subroutine dstevd (jobz, n, d, e, z, ldz, work, lwork, iwork, liwork,
info)
The dstevd one-liner says: DSTEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices.
subroutine sstevd (jobz, n, d, e, z, ldz, work, lwork, iwork, liwork,
info)
And the sstevd one-liner says: SSTEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices.
πΈ Functions πΈ
subroutine dstevdβ theDOUBLE PRECISIONflavor. Its synopsis is above, and its full tea is down in Function Documentation.subroutine sstevdβ theREALflavor. Same synopsis shape, same energy, different precision.
π« Detailed Description π«
This section is literally just a heading in the source, bestie β thereβs no extra description prose here. The actual function details live under Function Documentation. π«Ά
π Function Documentation π
π subroutine dstevd π
subroutine dstevd (character jobz, integer n, double precision, dimension( *
) d, double precision, dimension( * ) e, double precision, dimension(
ldz, * ) z, integer ldz, double precision, dimension( * ) work, integer
lwork, integer, dimension( * ) iwork, integer liwork, integer info)
The pageβs description for this one is: DSTEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices.
π Purpose
DSTEVD computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix. If eigenvectors are desired, it uses a divide and conquer algorithm. Thatβs the whole vibe β eigenvalues always, eigenvectors if you ask nicely with JOBZ. β¨
π§ Parameters
JOBZβ this isCHARACTER*1.= 'N': Compute eigenvalues only;= 'V': Compute eigenvalues and eigenvectors.
NβINTEGER. The order of the matrix.N >= 0.DβDOUBLE PRECISIONarray, dimension(N). On entry, thendiagonal elements of the tridiagonal matrixA. On exit, ifINFO = 0, the eigenvalues in ascending order.EβDOUBLE PRECISIONarray, dimension(N-1). On entry, the(n-1)subdiagonal elements of the tridiagonal matrixA, stored in elements1toN-1ofE. On exit, the contents ofEare destroyed.
Heads up, bestie: on exit the contents of E are destroyed. Thatβs not a drill, thatβs the spec. π
ZβDOUBLE PRECISIONarray, dimension(LDZ, N). IfJOBZ = 'V', then ifINFO = 0,Zcontains the orthonormal eigenvectors of the matrixA, with the i-th column ofZholding the eigenvector associated withD(i). IfJOBZ = 'N', thenZis not referenced.LDZβINTEGER. The leading dimension of the arrayZ.LDZ >= 1, and ifJOBZ = 'V',LDZ >= max(1,N).WORKβDOUBLE PRECISIONarray, dimension(LWORK). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβINTEGER. The dimension of the arrayWORK.- If
JOBZ = 'N'orN <= 1thenLWORKmust be at least1. - If
JOBZ = 'V'andN > 1thenLWORKmust be at least( 1 + 4*N + N**2 ). - If
LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of theWORKandIWORKarrays, returns these values as the first entries of theWORKandIWORKarrays, and no error message related toLWORKorLIWORKis issued byXERBLA.
- If
IWORKβINTEGERarray, dimension(MAX(1,LIWORK)). On exit, ifINFO = 0,IWORK(1)returns the optimalLIWORK.LIWORKβINTEGER. The dimension of the arrayIWORK.- If
JOBZ = 'N'orN <= 1thenLIWORKmust be at least1. - If
JOBZ = 'V'andN > 1thenLIWORKmust be at least3+5*N. - If
LIWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of theWORKandIWORKarrays, returns these values as the first entries of theWORKandIWORKarrays, and no error message related toLWORKorLIWORKis issued byXERBLA.
- If
INFOβINTEGER.= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value.> 0: ifINFO = i, the algorithm failed to converge;ioff-diagonal elements ofEdid not converge to zero.
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 155 of file dstevd.f.
π subroutine sstevd π
subroutine sstevd (character jobz, integer n, real, dimension( * ) d, real,
dimension( * ) e, real, dimension( ldz, * ) z, integer ldz, real,
dimension( * ) work, integer lwork, integer, dimension( * ) iwork,
integer liwork, integer info)
The pageβs description for this one is: SSTEVD computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices.
π Purpose
SSTEVD computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix. If eigenvectors are desired, it uses a divide and conquer algorithm. Same iconic behavior as its d sibling, just in REAL. π¦
π§ Parameters
JOBZβ this isCHARACTER*1.= 'N': Compute eigenvalues only;= 'V': Compute eigenvalues and eigenvectors.
NβINTEGER. The order of the matrix.N >= 0.DβREALarray, dimension(N). On entry, thendiagonal elements of the tridiagonal matrixA. On exit, ifINFO = 0, the eigenvalues in ascending order.EβREALarray, dimension(N-1). On entry, the(n-1)subdiagonal elements of the tridiagonal matrixA, stored in elements1toN-1ofE. On exit, the contents ofEare destroyed.
Again, not me warning you twice: the contents of E are destroyed on exit. π«
ZβREALarray, dimension(LDZ, N). IfJOBZ = 'V', then ifINFO = 0,Zcontains the orthonormal eigenvectors of the matrixA, with the i-th column ofZholding the eigenvector associated withD(i). IfJOBZ = 'N', thenZis not referenced.LDZβINTEGER. The leading dimension of the arrayZ.LDZ >= 1, and ifJOBZ = 'V',LDZ >= max(1,N).WORKβREALarray, dimension(LWORK). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβINTEGER. The dimension of the arrayWORK.- If
JOBZ = 'N'orN <= 1thenLWORKmust be at least1. - If
JOBZ = 'V'andN > 1thenLWORKmust be at least( 1 + 4*N + N**2 ). - If
LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of theWORKandIWORKarrays, returns these values as the first entries of theWORKandIWORKarrays, and no error message related toLWORKorLIWORKis issued byXERBLA.
- If
IWORKβINTEGERarray, dimension(MAX(1,LIWORK)). On exit, ifINFO = 0,IWORK(1)returns the optimalLIWORK.LIWORKβINTEGER. The dimension of the arrayIWORK.- If
JOBZ = 'N'orN <= 1thenLIWORKmust be at least1. - If
JOBZ = 'V'andN > 1thenLIWORKmust be at least3+5*N. - If
LIWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of theWORKandIWORKarrays, returns these values as the first entries of theWORKandIWORKarrays, and no error message related toLWORKorLIWORKis issued byXERBLA.
- If
INFOβINTEGER.= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value.> 0: ifINFO = i, the algorithm failed to converge;ioff-diagonal elements ofEdid not converge to zero.
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 155 of file sstevd.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, thatβs the whole page! Footer tea: source/version is LAPACK Version 3.12.0, and the date slot is literally just the manual tag stevd(3) β no separate date shown. πππ«Ά
π¦ 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