DHSEIN(3)
π NAME π
okay bestie, this is dhsein.f(3) from the Library Functions Manual β¨ and the page is all about this file path:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dhsein.f
That's it for NAME, no cap π .
β¨ SYNOPSIS β¨
πΈ Functions/Subroutines πΈ
Here's the group-chat invite for the subroutine, exactly as written:
subroutine DHSEIN (side, eigsrc, initv, select, n, h, ldh, wr, wi, vl,
ldvl, vr, ldvr, mm, m, work, ifaill, ifailr, info)
DHSEIN β yes, that's the whole icon π.
π¦ Function/Subroutine Documentation π¦
Here's the full signature with types, and yes it's long but she ate:
subroutine DHSEIN (character side, character eigsrc, character initv,
logical, dimension( * ) select, integer n, double precision, dimension(
ldh, * ) h, integer ldh, double precision, dimension( * ) wr, double
precision, dimension( * ) wi, double precision, dimension( ldvl, * ) vl,
integer ldvl, double precision, dimension( ldvr, * ) vr, integer ldvr,
integer mm, integer m, double precision, dimension( * ) work, integer,
dimension( * ) ifaill, integer, dimension( * ) ifailr, integer info)
π Purpose π
DHSEIN uses inverse iteration to find specified right and/or left eigenvectors of a real upper Hessenberg matrix H. π
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*1Specifies the source of eigenvalues supplied in(WR,WI):= 'Q': the eigenvalues were found usingDHSEQR; 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 allowsDHSEINto perform inverse iteration on just one diagonal block.= 'N': no assumptions are made on the correspondence between eigenvalues and diagonal blocks. In this case,DHSEINmust always perform inverse iteration using the whole matrixH.
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 real eigenvector corresponding to a real eigenvalueWR(j),SELECT(j)must be set to.TRUE.. To select the complex eigenvector corresponding to a complex eigenvalue(WR(j),WI(j)), with complex conjugate(WR(j+1),WI(j+1)), eitherSELECT(j)orSELECT(j+1)or both must be set to.TRUE.; then on exitSELECT(j)is.TRUE.andSELECT(j+1)is.FALSE..NβINTEGERThe order of the matrixH.N >= 0.HβDOUBLE PRECISION array, dimension (LDH,N)The upper Hessenberg matrixH. If a NaN is detected inH, the routine will return withINFO=-6.LDHβINTEGERThe leading dimension of the arrayH.LDH >= max(1,N).WRβDOUBLE PRECISION array, dimension (N)WIβDOUBLE PRECISION array, dimension (N)On entry, the real and imaginary parts of the eigenvalues ofH; a complex conjugate pair of eigenvalues must be stored in consecutive elements ofWRandWI. On exit,WRmay have been altered since close eigenvalues are perturbed slightly in searching for independent eigenvectors.VLβDOUBLE PRECISION array, dimension (LDVL,MM)On entry, ifINITV = '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(s) in which the eigenvector will be stored. On exit, ifSIDE = 'L'or'B', the left eigenvectors specified bySELECTwill be stored consecutively in the columns ofVL, in the same order as their eigenvalues. A complex eigenvector corresponding to a complex eigenvalue is stored in two consecutive columns, the first holding the real part and the second the imaginary part. IfSIDE = 'R',VLis not referenced.LDVLβINTEGERThe leading dimension of the arrayVL.LDVL >= max(1,N)ifSIDE = 'L'or'B';LDVL >= 1otherwise.VRβDOUBLE PRECISION array, dimension (LDVR,MM)On entry, ifINITV = '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(s) in which the eigenvector will be stored. On exit, ifSIDE = 'R'or'B', the right eigenvectors specified bySELECTwill be stored consecutively in the columns ofVR, in the same order as their eigenvalues. A complex eigenvector corresponding to a complex eigenvalue is stored in two consecutive columns, the first holding the real part and the second the imaginary part. IfSIDE = 'L',VRis not referenced.LDVRβINTEGERThe leading dimension of the arrayVR.LDVR >= max(1,N)ifSIDE = 'R'or'B';LDVR >= 1otherwise.MMβINTEGERThe number of columns in the arraysVLand/orVR.MM >= M.MβINTEGERThe number of columns in the arraysVLand/orVRrequired to store the eigenvectors; each selected real eigenvector occupies one column and each selected complex eigenvector occupies two columns.WORKβDOUBLE PRECISION array, dimension ((N+2)*N)IFAILLβINTEGER array, dimension (MM)IfSIDE = '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 thei-th and(i+1)th columns ofVLhold a complex eigenvector, thenIFAILL(i)andIFAILL(i+1)are set to the same value. IfSIDE = 'R',IFAILLis not referenced.IFAILRβINTEGER array, dimension (MM)IfSIDE = '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 thei-th and(i+1)th columns ofVRhold a complex eigenvector, thenIFAILR(i)andIFAILR(i+1)are set to the same value. IfSIDE = 'L',IFAILRis not referenced.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|.
Definition at line 260 of file dhsein.f. β yes bestie, that's the receipt π§Ύ.
π Author (Doxygen's auto-generated one) π
Generated automatically by Doxygen for LAPACK from the source code.
and that's the whole page, bestie π«Ά β signed off with LAPACK Version 3.12.0 and footer path /home/abui...RC/dhsein.f(3). πβ¨
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms