SRC/claed8.f(3)
π¦ SRC/claed8.f β like, the CLAED8 page but make it make sense
okay so bestie, this is a Library Functions Manual page for SRC/claed8.f, and it's literally the docs for one (1) Fortran subroutine that does a very specific little job. stay with me, it's not scary, it's giving "math but make it cute" π
β¨ NAME β¨
SRC/claed8.f β no cap, that's the whole name. it's a source file, and the file is the personality π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine claed8 (k, n, qsiz, q, ldq, d, rho, cutpnt, z, dlambda, q2,
ldq2, w, indxp, indx, indxq, perm, givptr, givcol, givnum, info)
CLAED8 is used by CSTEDC. It merges eigenvalues and deflates the secular equation. Used when the original matrix is dense. that's the whole vibe, periodt π₯
β¨ Function/Subroutine Documentation β¨
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 is used by CSTEDC. Merges eigenvalues and deflates the secular equation. Used when the original matrix is dense. (yes it says it twice, the source is just like that, we love consistency π«Ά)
πΈ Purpose πΈ
!>!> 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 in which 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.!>
so basically: it takes the two eigenvalue sets, glues them into one sorted set (iconic), then tries to shrink the problem. deflation can happen two ways β either two or more eigenvalues are super close together, or there's a tiny little element in the Z vector. every time that happens, the order of the related secular equation problem goes down by one. ate π
π Parameters π
KβKisINTEGER. Contains the number of non-deflated eigenvalues. This is the order of the related secular equation. the main character count fr fr πNβNisINTEGER. The dimension of the symmetric tridiagonal matrix.N >= 0.QSIZβQSIZisINTEGER. The dimension of the unitary matrix used to reduce the dense or band matrix to tridiagonal form.QSIZ >= NifICOMPQ = 1.QβQisCOMPLEXarray, 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. glow-up on exit, we love to see it β¨LDQβLDQisINTEGER. The leading dimension of the arrayQ.LDQ >= max( 1, N ).DβDisREALarray, 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. sorted ascending, because chaos is not the vibe here π¦RHOβRHOisREAL. 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. heads up: it gets changed mid-computation, that's on purpose, don't panic πCUTPNTβCUTPNTisINTEGER. Contains the location of the last eigenvalue in the leading sub-matrix.MIN(1,N) <= CUTPNT <= N.ZβZisREALarray, 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. bestie, it's gone, do not go looking for it after the call πDLAMBDAβDLAMBDAisREALarray, dimension(N). Contains a copy of the firstKeigenvalues which will be used bySLAED3to form the secular equation.Q2βQ2isCOMPLEXarray, 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. not referenced means not referenced, she's simply not invited to that party πLDQ2βLDQ2isINTEGER. The leading dimension of the arrayQ2.LDQ2 >= max( 1, N ).WβWisREALarray, dimension(N). This will hold the firstkvalues of the final deflation-altered z-vector and will be passed toSLAED3. (lowercasekin the original, we respect the source's choices πΈ)INDXPβINDXPisINTEGERarray, 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. front half = the real ones, back half = the deflated ones πINDXβINDXisINTEGERarray, dimension(N). This will contain the permutation used to sort the contents ofDinto ascending order.INDXQβINDXQisINTEGERarray, 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. lowkey the most important footnote on this whole page, do not skip it π₯PERMβPERMisINTEGERarray, dimension(N). Contains the permutations (from deflation and sorting) to be applied to each eigenblock.GIVPTRβGIVPTRisINTEGER. Contains the number of Givens rotations which took place in this subproblem.GIVCOLβGIVCOLisINTEGERarray, dimension(2, N). Each pair of numbers indicates a pair of columns to take place in a Givens rotation. (that's exactly how the source words it, we're keeping it fr fr)GIVNUMβGIVNUMisREALarray, dimension(2, N). Each number indicates theSvalue to be used in the corresponding Givens rotation.INFOβINFOisINTEGER.= 0: successful exit. slay π< 0: ifINFO = -i, the i-th argument had an illegal value. someone passed a bad argument, go fix it π€
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 225 of file claed8.f. (line 225, iconic line number, no notes β¨)
π Author π
Generated automatically by Doxygen for LAPACK from the source code. it's not a person, it's a robot with a dream π€π
and that's the whole page bestie!! this came to you straight from LAPACK, Version 3.12.0, filed under SRC/claed8.f(3) β mwah, drink some water, and go deflate something π
ππ«Ά
π¦ 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