laed8(3)
πΈ laed8(3) β Library Functions Manual πΈ
Okay bestie, gather round: this is the manual page for laed8, and the header vibe is literally laed8(3) from the Library Functions Manual. We're folding that manual name in right here so we don't have to copy the top line like a robot π
.
π NAME π
laed8 β laed8: D&C step: deflation
β¨ SYNOPSIS β¨
π«Ά Functions π«Ά
subroutine claed8 (k, n, qsiz, q, ldq, d, rho, cutpnt, z, dlambda, q2, ldq2, w, indxp, indx, indxq, perm, givptr, givcol, givnum, info)β CLAED8 used by CSTEDC. Merges eigenvalues and deflates secular equation. Used when the original matrix is dense.subroutine dlaed8 (icompq, k, n, qsiz, d, q, ldq, indxq, rho, cutpnt, z, dlambda, q2, ldq2, w, perm, givptr, givcol, givnum, indxp, indx, info)β DLAED8 used by DSTEDC. Merges eigenvalues and deflates secular equation. Used when the original matrix is dense.subroutine slaed8 (icompq, k, n, qsiz, d, q, ldq, indxq, rho, cutpnt, z, dlambda, q2, ldq2, w, perm, givptr, givcol, givnum, indxp, indx, info)β SLAED8 used by SSTEDC. Merges eigenvalues and deflates secular equation. Used when the original matrix is dense.subroutine zlaed8 (k, n, qsiz, q, ldq, d, rho, cutpnt, z, dlambda, q2, ldq2, w, indxp, indx, indxq, perm, givptr, givcol, givnum, info)β ZLAED8 used by ZSTEDC. Merges eigenvalues and deflates secular equation. Used when the original matrix is dense.
π Detailed Description π
β¨ Function Documentation β¨
π§ subroutine claed8 π§
subroutine claed8 (integer k, integer n, integer qsiz, complex, dimension(
ldq, * ) q, integer ldq, real, dimension( * ) d, real rho, integer
cutpnt, real, dimension( * ) z, real, dimension( * ) dlambda, complex,
dimension( ldq2, * ) q2, integer ldq2, real, dimension( * ) w, integer,
dimension( * ) indxp, integer, dimension( * ) indx, integer, dimension(
* ) indxq, integer, dimension( * ) perm, integer givptr, integer,
dimension( 2, * ) givcol, real, dimension( 2, * ) givnum, integer info)
CLAED8 used by CSTEDC. Merges eigenvalues and deflates secular equation.
Used when the original matrix is dense.
Purpose: π
Okay so CLAED8 merges the two sets of eigenvalues together into a single sorted set. Then it tries to deflate the size of the problem. There are two ways deflation can occur: when two or more eigenvalues are close together, or if there is a tiny element in the Z vector. For each such occurrence, the order of the related secular equation problem is reduced by one.
Parameters π
KβK is INTEGER. Contains the number of non-deflated eigenvalues. This is the order of the related secular equation.NβN is INTEGER. The dimension of the symmetric tridiagonal matrix.N >= 0.QSIZβQSIZ is INTEGER. The dimension of the unitary matrix used to reduce the dense or band matrix to tridiagonal form.QSIZ >= N if ICOMPQ = 1.QβQ is COMPLEX array, dimension (LDQ,N). On entry,Qcontains the eigenvectors of the partially solved system which has been previously updated in matrix multiplies with other partially solved eigensystems. On exit,Qcontains the trailing(N-K)updated eigenvectors (those which were deflated) in its lastN-Kcolumns.LDQβLDQ is INTEGER. The leading dimension of the arrayQ.LDQ >= max( 1, N ).DβD is REAL array, dimension (N). On entry,Dcontains the eigenvalues of the two submatrices to be combined. On exit,Dcontains the trailing(N-K)updated eigenvalues (those which were deflated) sorted into increasing order.RHOβRHO is REAL. Contains the off diagonal element associated with the rank-1 cut which originally split the two submatrices which are now being recombined.RHOis modified during the computation to the value required bySLAED3.CUTPNTβCUTPNT is INTEGER. Contains the location of the last eigenvalue in the leading sub-matrix.MIN(1,N) <= CUTPNT <= N.ZβZ is REAL array, dimension (N). On input this vector contains the updating vector (the last row of the first sub-eigenvector matrix and the first row of the second sub-eigenvector matrix). The contents ofZare destroyed during the updating process.DLAMBDAβDLAMBDA is REAL array, dimension (N). Contains a copy of the firstKeigenvalues which will be used bySLAED3to form the secular equation.Q2βQ2 is COMPLEX array, dimension (LDQ2,N). IfICOMPQ = 0,Q2is not referenced. Otherwise, contains a copy of the firstKeigenvectors which will be used bySLAED7in a matrix multiply (SGEMM) to update the new eigenvectors.LDQ2βLDQ2 is INTEGER. The leading dimension of the arrayQ2.LDQ2 >= max( 1, N ).WβW is REAL array, dimension (N). This will hold the firstkvalues of the final deflation-altered z-vector and will be passed toSLAED3.INDXPβINDXP is INTEGER array, dimension (N). This will contain the permutation used to place deflated values ofDat the end of the array. On outputINDXP(1:K)points to the nondeflatedD-values andINDXP(K+1:N)points to the deflated eigenvalues.INDXβINDX is INTEGER array, dimension (N). This will contain the permutation used to sort the contents ofDinto ascending order.INDXQβINDXQ is INTEGER array, dimension (N). This contains the permutation which separately sorts the two sub-problems inDinto ascending order. Note that elements in the second half of this permutation must first haveCUTPNTadded to their values in order to be accurate.PERMβPERM is INTEGER array, dimension (N). Contains the permutations (from deflation and sorting) to be applied to each eigenblock.GIVPTRβGIVPTR is INTEGER. Contains the number of Givens rotations which took place in this subproblem.GIVCOLβGIVCOL is INTEGER array, dimension (2, N). Each pair of numbers indicates a pair of columns to take place in a Givens rotation.GIVNUMβGIVNUM is REAL array, dimension (2, N). Each number indicates theSvalue to be used in the corresponding Givens rotation.INFOβINFO is INTEGER.= 0: successful exit.< 0: ifINFO = -i, thei-th argument had an illegal value.
Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 225 of file claed8.f.
π¦ subroutine dlaed8 π¦
subroutine dlaed8 (integer icompq, integer k, integer n, integer qsiz,
double precision, dimension( * ) d, double precision, dimension( ldq, *
) q, integer ldq, integer, dimension( * ) indxq, double precision rho,
integer cutpnt, double precision, dimension( * ) z, double precision,
dimension( * ) dlambda, double precision, dimension( ldq2, * ) q2,
integer ldq2, double precision, dimension( * ) w, integer, dimension( *
) perm, integer givptr, integer, dimension( 2, * ) givcol, double
precision, dimension( 2, * ) givnum, integer, dimension( * ) indxp,
integer, dimension( * ) indx, integer info)
DLAED8 used by DSTEDC. Merges eigenvalues and deflates secular equation.
Used when the original matrix is dense.
Purpose: π
DLAED8 merges the two sets of eigenvalues together into a single sorted set. Then it tries to deflate the size of the problem. There are two ways deflation can occur: when two or more eigenvalues are close together, or if there is a tiny element in the Z vector. For each such occurrence, the order of the related secular equation problem is reduced by one.
Parameters π
ICOMPQβICOMPQ is INTEGER.= 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.
KβK is INTEGER. The number of non-deflated eigenvalues, and the order of the related secular equation.NβN is INTEGER. The dimension of the symmetric tridiagonal matrix.N >= 0.QSIZβQSIZ is INTEGER. The dimension of the orthogonal matrix used to reduce the full matrix to tridiagonal form.QSIZ >= N if ICOMPQ = 1.DβD is DOUBLE PRECISION array, dimension (N). On entry, the eigenvalues of the two submatrices to be combined. On exit, the trailing(N-K)updated eigenvalues (those which were deflated) sorted into increasing order.QβQ is DOUBLE PRECISION array, dimension (LDQ,N). IfICOMPQ = 0,Qis not referenced. Otherwise, on entry,Qcontains the eigenvectors of the partially solved system which has been previously updated in matrix multiplies with other partially solved eigensystems. On exit,Qcontains the trailing(N-K)updated eigenvectors (those which were deflated) in its lastN-Kcolumns.LDQβLDQ is INTEGER. The leading dimension of the arrayQ.LDQ >= max(1,N).INDXQβ
okay so picking right back up with the rest of the dlaed8 params, bestie π β same energy, all the facts:
INDXQβINTEGERarray, dimension(N). This is the permutation that separately sorts the two sub-problems inDinto ascending order. β οΈ Heads up though: elements in the second half of this permutation have to getCUTPNTadded to their values first before they're accurate. Like, don't skip that step, fr fr.RHOβDOUBLE PRECISION. On entry, it's the off-diagonal element tied to the rank-1 cut that originally split the two submatrices which are now being recombined. On exit,RHOhas been modified to the value required byDLAED3. β¨ glow-up on exit β¨CUTPNTβINTEGER. The location of the last eigenvalue in the leading sub-matrix. It's range-checked asmin(1,N) <= CUTPNT <= N. π―ZβDOUBLE PRECISIONarray, dimension(N). On entry,Zcontains the updating vector (the last row of the first sub-eigenvector matrix and the first row of the second sub-eigenvector matrix). On exit, the contents ofZare destroyed by the updating process π like it literally does not survive, rest in peace.DLAMBDAβDOUBLE PRECISIONarray, dimension(N). A copy of the firstKeigenvalues which will be used byDLAED3to form the secular equation. πQ2βDOUBLE PRECISIONarray, dimension(LDQ2,N). IfICOMPQ = 0,Q2is not referenced. Otherwise, it's a copy of the firstKeigenvectors which will be used byDLAED7in a matrix multiply (DGEMM) to update the new eigenvectors. π¦LDQ2βINTEGER. The leading dimension of the arrayQ2. Constraint:LDQ2 >= max(1,N). Don't test it. πWβDOUBLE PRECISIONarray, dimension(N). The firstkvalues of the final deflation-altered z-vector, and will be passed toDLAED3. β¨PERMβINTEGERarray, dimension(N). The permutations (from deflation and sorting) to be applied to each eigenblock. πGIVPTRβINTEGER. The number of Givens rotations which took place in this subproblem. Count 'em πGIVCOLβINTEGERarray, dimension(2, N). Each pair of numbers indicates a pair of columns to take place in a Givens rotation.GIVNUMβDOUBLE PRECISIONarray, dimension(2, N). Each number indicates theSvalue to be used in the corresponding Givens rotation. βINDXPβINTEGERarray, dimension(N). The permutation used to place deflated values ofDat the end of the array.INDXP(1:K)points to the nondeflated D-values andINDXP(K+1:N)points to the deflated eigenvalues. πINDXβINTEGERarray, dimension(N). The permutation used to sort the contents ofDinto ascending order. πINFOβINTEGER. Exit status, and it's giving very simple:= 0: successful exit. slay π< 0: ifINFO = -i, the i-th argument had an illegal value. π
πΈ 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 240 of file dlaed8.f.
π¦ subroutine slaed8 π¦
okay so now we vibe-switch to the single-precision twin, and here's the whole signature verbatim so you can screenshot it:
subroutine slaed8 (integer icompq, integer k, integer n, integer qsiz, real,
dimension( * ) d, real, dimension( ldq, * ) q, integer ldq, integer,
dimension( * ) indxq, real rho, integer cutpnt, real, dimension( * ) z,
real, dimension( * ) dlambda, real, dimension( ldq2, * ) q2, integer
ldq2, real, dimension( * ) w, integer, dimension( * ) perm, integer
givptr, integer, dimension( 2, * ) givcol, real, dimension( 2, * )
givnum, integer, dimension( * ) indxp, integer, dimension( * ) indx,
integer info)
SLAED8 is used by SSTEDC. It merges eigenvalues and deflates the secular equation. Used when the original matrix is dense. π₯
β¨ Purpose: β¨
SLAED8merges the two sets of eigenvalues together into a single sorted set. Then it tries to deflate the size of the problem. There are two ways in which deflation can occur: when two or more eigenvalues are close together or if there is a tiny element in theZvector. For each such occurrence the order of the related secular equation problem is reduced by one. π
π Parameters π
ICOMPQβINTEGER. Mode switch, pick your fighter:= 0: Compute eigenvalues only.= 1: Compute eigenvectors of the original dense symmetric matrix also. On entry,Qcontains the orthogonal matrix used to reduce the original matrix to tridiagonal form. π
KβINTEGER. The number of non-deflated eigenvalues, and the order of the related secular equation. π’NβINTEGER. The dimension of the symmetric tridiagonal matrix. Constraint:N >= 0. πQSIZβINTEGER. The dimension of the orthogonal matrix used to reduce the full matrix to tridiagonal form. Constraint:QSIZ >= NifICOMPQ = 1. π¦DβREALarray, dimension(N). On entry, the eigenvalues of the two submatrices to be combined. On exit, the trailing(N-K)updated eigenvalues (those which were deflated) sorted into increasing order. πQβREALarray, dimension(LDQ,N). IfICOMPQ = 0,Qis not referenced. Otherwise, on entry,Qcontains the eigenvectors of the partially solved system which has been previously updated in matrix multiplies with other partially solved eigensystems. On exit,Qcontains the trailing(N-K)updated eigenvectors (those which were deflated) in its lastN-Kcolumns. π«LDQβINTEGER. The leading dimension of the arrayQ. Constraint:LDQ >= max(1,N). πINDXQβINTEGERarray, dimension(N). The permutation which separately sorts the two sub-problems inDinto ascending order. Again, the note that matters: elements in the second half of this permutation must first haveCUTPNTadded to their values in order to be accurate. β οΈ do not forget, bestie.RHOβREAL. On entry, the off-diagonal element associated with the rank-1 cut which originally split the two submatrices which are now being recombined. On exit,RHOhas been modified to the value required bySLAED3. β¨CUTPNTβINTEGER. The location of the last eigenvalue in the leading sub-matrix. Range:min(1,N) <= CUTPNT <= N. π―ZβREALarray, dimension(N). On entry,Zcontains the updating vector (the last row of the first sub-eigenvector matrix and the first row of the second sub-eigenvector matrix). On exit, the contents ofZare destroyed by the updating process π gone, reduced to atoms.DLAMBDAβREALarray, dimension(N). A copy of the firstKeigenvalues which will be used bySLAED3to form the secular equation. πQ2βREALarray, dimension(LDQ2,N). IfICOMPQ = 0,Q2is not referenced. Otherwise, a copy of the firstKeigenvectors which will be used bySLAED7in a matrix multiply (SGEMM) to update the new eigenvectors. πΈLDQ2βINTEGER. The leading dimension of the arrayQ2. Constraint:LDQ2 >= max(1,N). π«ΆWβREALarray, dimension(N). The firstkvalues of the final deflation-altered z-vector and will be passed toSLAED3. βPERMβINTEGERarray, dimension(N). The permutations (from deflation and sorting) to be applied to each eigenblock. πGIVPTRβINTEGER. The number of Givens rotations which took place in this subproblem. πGIVCOLβINTEGERarray, dimension(2, N). Each pair of numbers indicates a pair of columns to take place in a Givens rotation.GIVNUMβREALarray, dimension(2, N). Each number indicates theSvalue to be used in the corresponding Givens rotation. πINDXPβINTEGERarray, dimension(N). The permutation used to place deflated values ofDat the end of the array.INDXP(1:K)points to the nondeflated D-values andINDXP(K+1:N)points to the deflated eigenvalues. πINDXβINTEGERarray, dimension(N). The permutation used to sort the contents ofDinto ascending order. πINFOβINTEGER. Exit status, same deal as always:= 0: successful exit. π< 0: ifINFO = -i, the i-th argument had an illegal value. π
π 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 240 of file slaed8.f.
π Parameters π
okay bestie, this is the full parameter roll call β every single one, no skips, no cap β¨
KβINTEGER. Contains the number of non-deflated eigenvalues. This is the order of the related secular equation. πNβINTEGER. The dimension of the symmetric tridiagonal matrix.N >= 0.QSIZβINTEGER. The dimension of the unitary matrix used to reduce the dense or band matrix to tridiagonal form.QSIZ >= NifICOMPQ = 1.QβCOMPLEX*16array, dimension(LDQ,N). On entry, Q contains the eigenvectors of the partially solved system which has been previously updated in matrix multiplies with other partially solved eigensystems. On exit, Q contains the trailing(N-K)updated eigenvectors (those which were deflated) in its lastN-Kcolumns. π¦LDQβINTEGER. The leading dimension of the arrayQ.LDQ >= max( 1, N ).DβDOUBLE PRECISIONarray, dimension(N). On entry, D contains the eigenvalues of the two submatrices to be combined. On exit, D contains the trailing(N-K)updated eigenvalues (those which were deflated) sorted into increasing order.RHOβDOUBLE PRECISION. Contains the off diagonal element associated with the rank-1 cut which originally split the two submatrices which are now being recombined.RHOis modified during the computation to the value required byDLAED3.CUTPNTβINTEGER. Contains the location of the last eigenvalue in the leading sub-matrix.MIN(1,N) <= CUTPNT <= N.ZβDOUBLE PRECISIONarray, dimension(N). On input this vector contains the updating vector (the last row of the first sub-eigenvector matrix and the first row of the second sub-eigenvector matrix). The contents of Z are destroyed during the updating process. πDLAMBDAβDOUBLE PRECISIONarray, dimension(N). Contains a copy of the first K eigenvalues which will be used byDLAED3to form the secular equation.Q2βCOMPLEX*16array, dimension(LDQ2,N). IfICOMPQ = 0, Q2 is not referenced. Otherwise, contains a copy of the first K eigenvectors which will be used byDLAED7in a matrix multiply (DGEMM) to update the new eigenvectors. π₯LDQ2βINTEGER. The leading dimension of the arrayQ2.LDQ2 >= max( 1, N ).WβDOUBLE PRECISIONarray, dimension(N). This will hold the first k values of the final deflation-altered z-vector and will be passed toDLAED3.INDXPβINTEGERarray, dimension(N). This will contain the permutation used to place deflated values of D at the end of the array. On outputINDXP(1:K)points to the nondeflated D-values andINDXP(K+1:N)points to the deflated eigenvalues. πINDXβINTEGERarray, dimension(N). This will contain the permutation used to sort the contents of D into ascending order.INDXQβINTEGERarray, dimension(N). This contains the permutation which separately sorts the two sub-problems in D into ascending order. Note that elements in the second half of this permutation must first haveCUTPNTadded to their values in order to be accurate.PERMβINTEGERarray, dimension(N). Contains the permutations (from deflation and sorting) to be applied to each eigenblock.GIVPTRβINTEGER. Contains the number of Givens rotations which took place in this subproblem.GIVCOLβINTEGERarray, dimension(2, N). Each pair of numbers indicates a pair of columns to take place in a Givens rotation.GIVNUMβDOUBLE PRECISIONarray, dimension(2, N). Each number indicates the S value to be used in the corresponding Givens rotation. πΈINFOβINTEGER.= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value. π
πΈ Author πΈ
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 225 of file zlaed8.f.
β¨ Author β¨
Generated automatically by Doxygen for LAPACK from the source code.
and the footerβs source/version + manual-page tag situation is LAPACK Version 3.12.0, laed8(3) β iconic, bye 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