SRC/chsein.f(3)
π SRC/chsein.f π
okay bestie, welcome to the Library Functions Manual glow-up for SRC/chsein.f β this is the page where CHSEIN lives, and she is lowkey iconic. no cap. π«Ά
β¨ NAME β¨
SRC/chsein.f β literally the source file for the CHSEIN subroutine. slay.
π¦ SYNOPSIS π¦
π Functions/Subroutines
subroutine chsein (side, eigsrc, initv, select, n, h, ldh, w, vl, ldvl,
vr, ldvr, mm, m, work, rwork, ifaill, ifailr, info)
CHSEIN
πΈ Function/Subroutine Documentation πΈ
π subroutine chsein π
subroutine chsein (character side, character eigsrc, character initv,
logical, dimension( * ) select, integer n, complex, dimension( ldh, * )
h, integer ldh, complex, dimension( * ) w, complex, dimension( ldvl, * )
vl, integer ldvl, complex, dimension( ldvr, * ) vr, integer ldvr,
integer mm, integer m, complex, dimension( * ) work, real, dimension( *
) rwork, integer, dimension( * ) ifaill, integer, dimension( * ) ifailr,
integer info)
CHSEIN
π Purpose π
okay so CHSEIN uses inverse iteration to find specified right and/or left eigenvectors of a complex upper Hessenberg matrix H. the way that it does this is genuinely giving main character energy. β¨
the right eigenvector x and the left eigenvector y of the matrix H corresponding to an eigenvalue w are defined by:
H * x = w * x, y**h * H = w * y**h
where y**h denotes the conjugate transpose of the vector y. periodt. π
π Parameters π
SIDEβCHARACTER*1= 'R': compute right eigenvectors only;= 'L': compute left eigenvectors only;= 'B': compute both right and left eigenvectors.
EIGSRCβCHARACTER*1- Specifies the source of eigenvalues supplied in
W: = 'Q': the eigenvalues were found usingCHSEQR; thus, ifHhas zero subdiagonal elements, and so is block-triangular, then thej-th eigenvalue can be assumed to be an eigenvalue of the block containing thej-th row/column. This property allowsCHSEINto perform inverse iteration on just one diagonal block.= 'N': no assumptions are made on the correspondence between eigenvalues and diagonal blocks. In this case,CHSEINmust always perform inverse iteration using the whole matrixH.
- Specifies the source of eigenvalues supplied in
INITVβCHARACTER*1= 'N': no initial vectors are supplied;= 'U': user-supplied initial vectors are stored in the arraysVLand/orVR.
SELECTβLOGICAL array, dimension (N)- Specifies the eigenvectors to be computed. To select the eigenvector corresponding to the eigenvalue
W(j),SELECT(j)must be set to.TRUE..
- Specifies the eigenvectors to be computed. To select the eigenvector corresponding to the eigenvalue
NβINTEGER- The order of the matrix
H.N >= 0.
- The order of the matrix
HβCOMPLEX array, dimension (LDH,N)- The upper Hessenberg matrix
H. - If a
NaNis detected inH, the routine will return withINFO=-6.
- The upper Hessenberg matrix
LDHβINTEGER- The leading dimension of the array
H.LDH >= max(1,N).
- The leading dimension of the array
WβCOMPLEX array, dimension (N)- On entry, the eigenvalues of
H. - On exit, the real parts of
Wmay have been altered since close eigenvalues are perturbed slightly in searching for independent eigenvectors.
- On entry, the eigenvalues of
VLβCOMPLEX array, dimension (LDVL,MM)- On entry, if
INITV = 'U'andSIDE = 'L'or'B',VLmust contain starting vectors for the inverse iteration for the left eigenvectors; the starting vector for each eigenvector must be in the same column in which the eigenvector will be stored. - On exit, if
SIDE = 'L'or'B', the left eigenvectors specified bySELECTwill be stored consecutively in the columns ofVL, in the same order as their eigenvalues. - If
SIDE = 'R',VLis not referenced.
- On entry, if
LDVLβINTEGER- The leading dimension of the array
VL. LDVL >= max(1,N)ifSIDE = 'L'or'B';LDVL >= 1otherwise.
- The leading dimension of the array
VRβCOMPLEX array, dimension (LDVR,MM)- On entry, if
INITV = 'U'andSIDE = 'R'or'B',VRmust contain starting vectors for the inverse iteration for the right eigenvectors; the starting vector for each eigenvector must be in the same column in which the eigenvector will be stored. - On exit, if
SIDE = 'R'or'B', the right eigenvectors specified bySELECTwill be stored consecutively in the columns ofVR, in the same order as their eigenvalues. - If
SIDE = 'L',VRis not referenced.
- On entry, if
LDVRβINTEGER- The leading dimension of the array
VR. LDVR >= max(1,N)ifSIDE = 'R'or'B';LDVR >= 1otherwise.
- The leading dimension of the array
MMβINTEGER- The number of columns in the arrays
VLand/orVR.MM >= M.
- The number of columns in the arrays
MβINTEGER- The number of columns in the arrays
VLand/orVRrequired to store the eigenvectors (= the number of.TRUE.elements inSELECT).
- The number of columns in the arrays
WORKβCOMPLEX array, dimension (N*N)RWORKβREAL array, dimension (N)IFAILLβINTEGER array, dimension (MM)- If
SIDE = 'L'or'B',IFAILL(i) = j > 0if the left eigenvector in thei-th column ofVL(corresponding to the eigenvaluew(j)) failed to converge;IFAILL(i) = 0if the eigenvector converged satisfactorily. - If
SIDE = 'R',IFAILLis not referenced.
- If
IFAILRβINTEGER array, dimension (MM)- If
SIDE = 'R'or'B',IFAILR(i) = j > 0if the right eigenvector in thei-th column ofVR(corresponding to the eigenvaluew(j)) failed to converge;IFAILR(i) = 0if the eigenvector converged satisfactorily. - If
SIDE = 'L',IFAILRis not referenced.
- If
INFOβINTEGER= 0: successful exit< 0: ifINFO = -i, thei-th argument had an illegal value> 0: ifINFO = i,iis the number of eigenvectors which failed to converge; seeIFAILLandIFAILRfor further details.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π¦ Further Details π¦
Each eigenvector is normalized so that the element of largest magnitude has magnitude 1; here the magnitude of a complex number (x,y) is taken to be |x|+|y|. that's the whole rule, bestie. no extra lore. π
π Definition at line 242 of file chsein.f π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. iykyk.
signed off by LAPACK Version 3.12.0 and the SRC/chsein.f(3) source page β no separate date is listed in that footer, so that's the whole vibe. π
β¨π
π¦ 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