SRC/zstedc.f(3)
π¦ SRC/zstedc.f
Okay bestie, this page is from the Library Functions Manual β itβs SRC/zstedc.f(3), and itβs giving full LAPACK main-character energy. No cap. β¨
πΈ NAME
SRC/zstedc.f
β¨ SYNOPSIS
π Functions/Subroutines
subroutine zstedc (compz, n, d, e, z, ldz, work, lwork, rwork, lrwork,
iwork, liwork, info)
ZSTEDC π
π Function/Subroutine Documentation
subroutine zstedc (character compz, integer n, double precision, dimension(
* ) d, double precision, dimension( * ) e, complex*16, dimension( ldz, *
) z, integer ldz, complex*16, dimension( * ) work, integer lwork, double
precision, dimension( * ) rwork, integer lrwork, integer, dimension( * )
iwork, integer liwork, integer info)
ZSTEDC π
π¦ Purpose
Okay so ZSTEDC computes all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the divide and conquer method. The eigenvectors of a full or band complex Hermitian matrix can also be found if ZHETRD or ZHPTRD or ZHBTRD has been used to reduce this matrix to tridiagonal form. Slay. π₯
π Parameters
COMPZ
COMPZisCHARACTER*1β hereβs the vibe check:= 'N': Compute eigenvalues only. π= 'I': Compute eigenvectors of tridiagonal matrix also. β¨= 'V': Compute eigenvectors of original Hermitian matrix also. On entry,Zcontains the unitary matrix used to reduce the original matrix to tridiagonal form. π
N
NisINTEGERβ the dimension of the symmetric tridiagonal matrix.N >= 0. π«Ά
D
DisDOUBLE PRECISION array, dimension (N)β on entry, the diagonal elements of the tridiagonal matrix. On exit, ifINFO = 0, the eigenvalues in ascending order. π
E
EisDOUBLE PRECISION array, dimension (N-1)β on entry, the subdiagonal elements of the tridiagonal matrix. On exit,Ehas been destroyed. π
Z
ZisCOMPLEX*16 array, dimension (LDZ,N)β on entry, ifCOMPZ = 'V', thenZcontains the unitary matrix used in the reduction to tridiagonal form. On exit, ifINFO = 0, then ifCOMPZ = 'V',Zcontains the orthonormal eigenvectors of the original Hermitian matrix, and ifCOMPZ = 'I',Zcontains the orthonormal eigenvectors of the symmetric tridiagonal matrix. IfCOMPZ = 'N', thenZis not referenced. π¦
LDZ
LDZisINTEGERβ the leading dimension of the arrayZ.LDZ >= 1. If eigenvectors are desired, thenLDZ >= max(1,N). π
WORK
WORKisCOMPLEX*16 array, dimension (MAX(1,LWORK))β on exit, ifINFO = 0,WORK(1)returns the optimalLWORK. β
LWORK
LWORKisINTEGERβ the dimension of the arrayWORK.- If
COMPZ = 'N'or'I', orN <= 1,LWORKmust be at least1. - If
COMPZ = 'V'andN > 1,LWORKmust be at leastN*N. - Note that for
COMPZ = 'V', then ifNis less than or equal to the minimum divide size, usually25, thenLWORKneed only be1. - If
LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of theWORK,RWORKandIWORKarrays, returns these values as the first entries of theWORK,RWORKandIWORKarrays, and no error message related toLWORKorLRWORKorLIWORKis issued byXERBLA. π
- If
RWORK
RWORKisDOUBLE PRECISION array, dimension (MAX(1,LRWORK))β on exit, ifINFO = 0,RWORK(1)returns the optimalLRWORK. π
LRWORK
LRWORKisINTEGERβ the dimension of the arrayRWORK.- If
COMPZ = 'N'orN <= 1,LRWORKmust be at least1. - If
COMPZ = 'V'andN > 1,LRWORKmust be at least:
- If
1 + 3*N + 2*N*lg N + 4*N**2 ,
where lg( N ) = smallest integer k such
that 2**k >= N.
- If
COMPZ = 'I'andN > 1,LRWORKmust be at least1 + 4*N + 2*N**2. - Note that for
COMPZ = 'I'or'V', then ifNis less than or equal to the minimum divide size, usually25, thenLRWORKneed only bemax(1,2*(N-1)). - If
LRWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of theWORK,RWORKandIWORKarrays, returns these values as the first entries of theWORK,RWORKandIWORKarrays, and no error message related toLWORKorLRWORKorLIWORKis issued byXERBLA. π
IWORK
IWORKisINTEGER array, dimension (MAX(1,LIWORK))β on exit, ifINFO = 0,IWORK(1)returns the optimalLIWORK. π
LIWORK
LIWORKisINTEGERβ the dimension of the arrayIWORK.- If
COMPZ = 'N'orN <= 1,LIWORKmust be at least1. - If
COMPZ = 'V'orN > 1,LIWORKmust be at least6 + 6*N + 5*N*lg N. - If
COMPZ = 'I'orN > 1,LIWORKmust be at least3 + 5*N . - Note that for
COMPZ = 'I'or'V', then ifNis less than or equal to the minimum divide size, usually25, thenLIWORKneed only be1. - If
LIWORK = -1, then a workspace query is assumed; the routine only calculates the optimal sizes of theWORK,RWORKandIWORKarrays, returns these values as the first entries of theWORK,RWORKandIWORKarrays, and no error message related toLWORKorLRWORKorLIWORKis issued byXERBLA. π
- If
INFO
INFOisINTEGERβ the exit-status tea:= 0: successful exit. π< 0: ifINFO = -i, thei-th argument had an illegal value. π> 0: The algorithm failed to compute an eigenvalue while working on the submatrix lying in rows and columnsINFO/(N+1)throughmod(INFO,N+1). π
π«Ά Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors:
- Jeff Rutter, Computer Science Division, University of California at Berkeley, USA
Definition at line 204 of file zstedc.f. π
π§ Author
Generated automatically by Doxygen for LAPACK from the source code. β¨
And thatβs the whole page, bestie. Source/version sign-off: LAPACK Version 3.12.0, page SRC/zstedc.f(3). The footer doesnβt hand us a date, so Iβm not inventing one β just keeping it 100 with the version. π
π«Ά
π¦ 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