laed0(3)
π laed0(3) β Library Functions Manual, bestie edition β¨
okay so this is laed0 from section 3 of the Library Functions Manual, and buckle up because it's a whole family of subroutines: claed0, dlaed0, slaed0, zlaed0. They all do the same iconic thing in different precisions/flavours. The name laed0 lowkey means "D&C step: top level solver" β divide and conquer, main character energy. π
β¨ NAME β¨
laed0 β laed0: D&C step: top level solver π
π¦ SYNOPSIS π¦
Functions
subroutine claed0 (qsiz, n, d, e, q, ldq, qstore, ldqs, rwork, iwork, info)βCLAED0used byCSTEDC. Computes all eigenvalues and corresponding eigenvectors of an unreduced symmetric tridiagonal matrix using the divide and conquer method. πsubroutine dlaed0 (icompq, qsiz, n, d, e, q, ldq, qstore, ldqs, work, iwork, info)βDLAED0used byDSTEDC. Computes all eigenvalues and corresponding eigenvectors of an unreduced symmetric tridiagonal matrix using the divide and conquer method. πsubroutine slaed0 (icompq, qsiz, n, d, e, q, ldq, qstore, ldqs, work, iwork, info)βSLAED0used bySSTEDC. Computes all eigenvalues and corresponding eigenvectors of an unreduced symmetric tridiagonal matrix using the divide and conquer method. πsubroutine zlaed0 (qsiz, n, d, e, q, ldq, qstore, ldqs, rwork, iwork, info)βZLAED0used byZSTEDC. Computes all eigenvalues and corresponding eigenvectors of an unreduced symmetric tridiagonal matrix using the divide and conquer method. π
πΈ Detailed Description πΈ
ngl, the detailed description section is just vibes β the real tea is all in Function Documentation below. π«Ά
π Function Documentation π
π subroutine claed0 π
subroutine claed0 (integer qsiz, integer n, real, dimension( * ) d, real,
dimension( * ) e, complex, dimension( ldq, * ) q, integer ldq, complex,
dimension( ldqs, * ) qstore, integer ldqs, real, dimension( * ) rwork,
integer, dimension( * ) iwork, integer info)
CLAED0 used by CSTEDC. Computes all eigenvalues and corresponding eigenvectors of an unreduced symmetric tridiagonal matrix using the divide and conquer method. β¨
Purpose:
Using the divide and conquer method, CLAED0 computes all eigenvalues of a symmetric tridiagonal matrix which is one diagonal block of those from reducing a dense or band Hermitian matrix and corresponding eigenvectors of the dense or band matrix.
Parameters
QSIZβQSIZisINTEGER. The dimension of the unitary matrix used to reduce the full matrix to tridiagonal form.QSIZ >= NifICOMPQ = 1. πNβNisINTEGER. The dimension of the symmetric tridiagonal matrix.N >= 0. β¨DβDisREALarray, dimension(N). On entry, the diagonal elements of the tridiagonal matrix. On exit, the eigenvalues in ascending order. πEβEisREALarray, dimension(N-1). On entry, the off-diagonal elements of the tridiagonal matrix. On exit,Ehas been destroyed. π (rip, she's gone, that's canon)QβQisCOMPLEXarray, dimension(LDQ,N). On entry,Qmust contain anQSIZxNmatrix whose columns unitarily orthonormal. It is a part of the unitary matrix that reduces the full dense Hermitian matrix to a (reducible) symmetric tridiagonal matrix. π¦LDQβLDQisINTEGER. The leading dimension of the arrayQ.LDQ >= max(1,N). βIWORKβIWORKisINTEGERarray, the dimension ofIWORKmust be at least
6 + 6*N + 5*N*lg N
( lg( N ) = smallest integer k
such that 2^k >= N )
π§
RWORKβRWORKisREALarray, dimension(1 + 3*N + 2*N*lg N + 3*N**2)
( lg( N ) = smallest integer k
such that 2^k >= N )
π§
QSTOREβQSTOREisCOMPLEXarray, dimension(LDQS, N). Used to store parts of the eigenvector matrix when the updating matrix multiplies take place. πΈLDQSβLDQSisINTEGER. The leading dimension of the arrayQSTORE.LDQS >= max(1,N). βINFOβINFOisINTEGER. π= 0: successful exit.< 0: ifINFO = -i, the i-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.
Definition at line 143 of file claed0.f. π
π subroutine dlaed0 π
subroutine dlaed0 (integer icompq, integer qsiz, integer n, double
precision, dimension( * ) d, double precision, dimension( * ) e, double
precision, dimension( ldq, * ) q, integer ldq, double precision,
dimension( ldqs, * ) qstore, integer ldqs, double precision, dimension(
* ) work, integer, dimension( * ) iwork, integer info)
DLAED0 used by DSTEDC. Computes all eigenvalues and corresponding eigenvectors of an unreduced symmetric tridiagonal matrix using the divide and conquer method. π¬
Purpose:
DLAED0 computes all eigenvalues and corresponding eigenvectors of a symmetric tridiagonal matrix using the divide and conquer method.
Parameters
ICOMPQβICOMPQisINTEGER. π= 0: Compute eigenvalues only.= 1: Compute eigenvectors of original dense symmetric matrix also. On entry,Qcontains the orthogonal matrix used to reduce the original matrix to tridiagonal form.= 2: Compute eigenvalues and eigenvectors of tridiagonal matrix.
QSIZβQSIZisINTEGER. The dimension of the orthogonal matrix used to reduce the full matrix to tridiagonal form.QSIZ >= NifICOMPQ = 1. πNβNisINTEGER. The dimension of the symmetric tridiagonal matrix.N >= 0. β¨DβDisDOUBLE PRECISIONarray, dimension(N). On entry, the main diagonal of the tridiagonal matrix. On exit, its eigenvalues. πEβEisDOUBLE PRECISIONarray, dimension(N-1). The off-diagonal elements of the tridiagonal matrix. On exit,Ehas been destroyed. πQβQisDOUBLE PRECISIONarray, dimension(LDQ, N). On entry,Qmust contain an N-by-N orthogonal matrix. π- If
ICOMPQ = 0βQis not referenced. - If
ICOMPQ = 1β On entry,Qis a subset of the columns of the orthogonal matrix used to reduce the full matrix to tridiagonal form corresponding to the subset of the full matrix which is being decomposed at this time. - If
ICOMPQ = 2β On entry,Qwill be the identity matrix. On exit,Qcontains the eigenvectors of the tridiagonal matrix.
- If
LDQβLDQisINTEGER. The leading dimension of the arrayQ. If eigenvectors are desired, thenLDQ >= max(1,N). In any case,LDQ >= 1. βQSTOREβQSTOREisDOUBLE PRECISIONarray, dimension(LDQS, N). Referenced only whenICOMPQ = 1. Used to store parts of the eigenvector matrix when the updating matrix multiplies take place. πΈLDQSβLDQSisINTEGER. The leading dimension of the arrayQSTORE. IfICOMPQ = 1, thenLDQS >= max(1,N). In any case,LDQS >= 1. βWORKβWORKisDOUBLE PRECISIONarray. π§- If
ICOMPQ = 0or1, the dimension ofWORKmust be at least
- If
1 + 3*N + 2*N*lg N + 3*N**2
( lg( N ) = smallest integer k
such that 2^k >= N )
- If
ICOMPQ = 2, the dimension ofWORKmust be at least
4*N + N**2.
IWORKβIWORKisINTEGERarray. π§- If
ICOMPQ = 0or1, the dimension ofIWORKmust be at least
- If
6 + 6*N + 5*N*lg N.
( lg( N ) = smallest integer k
such that 2^k >= N )
- If
ICOMPQ = 2, the dimension ofIWORKmust be at least
3 + 5*N.
INFOβINFOisINTEGER. π= 0: successful exit.< 0: ifINFO = -i, the i-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 170 of file dlaed0.f. π
π subroutine slaed0 π
subroutine slaed0 (integer icompq, integer qsiz, integer n, real, dimension(
* ) d, real, dimension( * ) e, real, dimension( ldq, * ) q, integer ldq,
real, dimension( ldqs, * ) qstore, integer ldqs, real, dimension( * )
work, integer, dimension( * ) iwork, integer info)
SLAED0 used by SSTEDC. Computes all eigenvalues and corresponding eigenvectors of an unreduced symmetric tridiagonal matrix using the divide and conquer method. π₯
Purpose:
SLAED0 computes all eigenvalues and corresponding eigenvectors of a symmetric tridiagonal matrix using the divide and conquer method.
Parameters
ICOMPQβICOMPQisINTEGER. π= 0: Compute eigenvalues only.= 1: Compute eigenvectors of original dense symmetric matrix also. On entry,Qcontains the orthogonal matrix used to reduce the original matrix to tridiagonal form.= 2: Compute eigenvalues and eigenvectors of tridiagonal matrix.
QSIZβ
continuing the parameter list β we're still in SLAED0 land, bestie π
QSIZβINTEGER. It's the dimension of the orthogonal matrix used to reduce the full matrix to tridiagonal form. Also:QSIZ >= NifICOMPQ = 1πNβINTEGER. The dimension of the symmetric tridiagonal matrix.N >= 0β¨DβREAL array, dimension (N). On entry, it's the main diagonal of the tridiagonal matrix. On exit, it's holding its eigenvalues πEβREAL array, dimension (N-1). These are the off-diagonal elements of the tridiagonal matrix. On exit,Ehas been destroyed πQβREAL array, dimension (LDQ, N). On entry,Qmust contain anN-by-Northogonal matrix.- If
ICOMPQ = 0:Qis not referenced π - If
ICOMPQ = 1: on entry,Qis a subset of the columns of the orthogonal matrix used to reduce the full matrix to tridiagonal form, corresponding to the subset of the full matrix which is being decomposed at this time π¦ - If
ICOMPQ = 2: on entry,Qwill be the identity matrix. On exit,Qcontains the eigenvectors of the tridiagonal matrix π
- If
LDQβINTEGER. The leading dimension of the arrayQ. If eigenvectors are desired, thenLDQ >= max(1,N). In any case,LDQ >= 1πΈQSTOREβREAL array, dimension (LDQS, N). Referenced only whenICOMPQ = 1. Used to store parts of the eigenvector matrix when the updating matrix multiplies take place π«ΆLDQSβINTEGER. The leading dimension of the arrayQSTORE. IfICOMPQ = 1, thenLDQS >= max(1,N). In any case,LDQS >= 1βWORKβREAL array.- If
ICOMPQ = 0or1, the dimension ofWORKmust be at least
- If
1 + 3*N + 2*N*lg N + 3*N**2
( lg( N ) = smallest integer k
such that 2^k >= N )
- If
ICOMPQ = 2, the dimension ofWORKmust be at least
4*N + N**2.
IWORKβINTEGER array.- If
ICOMPQ = 0or1, the dimension ofIWORKmust be at least
- If
6 + 6*N + 5*N*lg N.
( lg( N ) = smallest integer k
such that 2^k >= N )
- If
ICOMPQ = 2, the dimension ofIWORKmust be at least
3 + 5*N.
INFOβINTEGER.= 0: successful exit π< 0: ifINFO = -i, the i-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 170 of file slaed0.f.
π¦ subroutine zlaed0 π¦
subroutine zlaed0 (integer qsiz, integer n, double precision, dimension( * ) d, double precision, dimension( * ) e, complex*16, dimension( ldq, * ) q, integer ldq, complex*16, dimension( ldqs, * ) qstore, integer ldqs, double precision, dimension( * ) rwork, integer, dimension( * ) iwork, integer info)
ZLAED0 is used by ZSTEDC. It computes all eigenvalues and corresponding eigenvectors of an unreduced symmetric tridiagonal matrix using the divide and conquer method π₯
π Purpose π
Using the divide and conquer method, ZLAED0 computes all eigenvalues of a symmetric tridiagonal matrix which is one diagonal block of those from reducing a dense or band Hermitian matrix and corresponding eigenvectors of the dense or band matrix π
πΈ Parameters πΈ
QSIZβINTEGER. The dimension of the unitary matrix used to reduce the full matrix to tridiagonal form.QSIZ >= NifICOMPQ = 1πNβINTEGER. The dimension of the symmetric tridiagonal matrix.N >= 0β¨DβDOUBLE PRECISION array, dimension (N). On entry, the diagonal elements of the tridiagonal matrix. On exit, the eigenvalues in ascending order πEβDOUBLE PRECISION array, dimension (N-1). On entry, the off-diagonal elements of the tridiagonal matrix. On exit,Ehas been destroyed πQβCOMPLEX*16 array, dimension (LDQ,N). On entry,Qmust contain anQSIZ x Nmatrix whose columns unitarily orthonormal. It is a part of the unitary matrix that reduces the full dense Hermitian matrix to a (reducible) symmetric tridiagonal matrix π¦LDQβINTEGER. The leading dimension of the arrayQ.LDQ >= max(1,N)πΈIWORKβINTEGER array. The dimension ofIWORKmust be at least
6 + 6*N + 5*N*lg N
( lg( N ) = smallest integer k
such that 2^k >= N )
RWORKβDOUBLE PRECISION array, dimension(1 + 3*N + 2*N*lg N + 3*N**2)
( lg( N ) = smallest integer k
such that 2^k >= N )
QSTOREβCOMPLEX*16 array, dimension (LDQS, N). Used to store parts of the eigenvector matrix when the updating matrix multiplies take place π«ΆLDQSβINTEGER. The leading dimension of the arrayQSTORE.LDQS >= max(1,N)βINFOβINTEGER.= 0: successful exit π< 0: ifINFO = -i, the i-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.
Definition at line 143 of file zlaed0.f.
π«Ά Author π«Ά
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, that's the whole page β we made it π source/version: LAPACK, version 3.12.0, page laed0(3). the footer didn't actually give us a date, so we're not inventing one, periodt π
β¨
π¦ 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