laein(3)
π NAME π
laein β okay so this is the laein family of routines from the Library Functions Manual (that's the manual name, bestie, folding it in right here), and it's all about eigvec by Hessenberg inverse iteration. Periodt. π
π¦ SYNOPSIS π¦
β¨ Functions β¨
subroutine claein (rightv, noinit, n, h, ldh, w, v, b, ldb, rwork, eps3, smlnum, info)β CLAEIN computes a specified right or left eigenvector of an upper Hessenberg matrix by inverse iteration. πsubroutine dlaein (rightv, noinit, n, h, ldh, wr, wi, vr, vi, b, ldb, work, eps3, smlnum, bignum, info)β DLAEIN computes a specified right or left eigenvector of an upper Hessenberg matrix by inverse iteration. π₯subroutine slaein (rightv, noinit, n, h, ldh, wr, wi, vr, vi, b, ldb, work, eps3, smlnum, bignum, info)β SLAEIN computes a specified right or left eigenvector of an upper Hessenberg matrix by inverse iteration. πΈsubroutine zlaein (rightv, noinit, n, h, ldh, w, v, b, ldb, rwork, eps3, smlnum, info)β ZLAEIN computes a specified right or left eigenvector of an upper Hessenberg matrix by inverse iteration. β
π§ Detailed Description π§
okay so like. that's it. that's the whole detailed description. moving on bestie, the real tea is below π
π Function Documentation π
π subroutine claein
subroutine claein (logical rightv, logical noinit, integer n, complex,
dimension( ldh, * ) h, integer ldh, complex w, complex, dimension( * )
v, complex, dimension( ldb, * ) b, integer ldb, real, dimension( * )
rwork, real eps3, real smlnum, integer info)
CLAEIN computes a specified right or left eigenvector of an upper Hessenberg matrix by inverse iteration. π«Ά
π Purpose:
!>
!> CLAEIN uses inverse iteration to find a right or left eigenvector
!> corresponding to the eigenvalue W of a complex upper Hessenberg
!> matrix H.
!>
πΈ Parameters
RIGHTV
!> RIGHTV is LOGICAL
!> = .TRUE. : compute right eigenvector;
!> = .FALSE.: compute left eigenvector.
!>
NOINIT
!> NOINIT is LOGICAL
!> = .TRUE. : no initial vector supplied in V
!> = .FALSE.: initial vector supplied in V.
!>
N
!> N is INTEGER
!> The order of the matrix H. N >= 0.
!>
H
!> H is COMPLEX array, dimension (LDH,N)
!> The upper Hessenberg matrix H.
!>
LDH
!> LDH is INTEGER
!> The leading dimension of the array H. LDH >= max(1,N).
!>
W
!> W is COMPLEX
!> The eigenvalue of H whose corresponding right or left
!> eigenvector is to be computed.
!>
V
!> V is COMPLEX array, dimension (N)
!> On entry, if NOINIT = .FALSE., V must contain a starting
!> vector for inverse iteration; otherwise V need not be set.
!> On exit, V contains the computed eigenvector, normalized so
!> that the component of largest magnitude has magnitude 1; here
!> the magnitude of a complex number (x,y) is taken to be
!> |x| + |y|.
!>
B
!> B is COMPLEX array, dimension (LDB,N)
!>
LDB
!> LDB is INTEGER
!> The leading dimension of the array B. LDB >= max(1,N).
!>
RWORK
!> RWORK is REAL array, dimension (N)
!>
EPS3
!> EPS3 is REAL
!> A small machine-dependent value which is used to perturb
!> close eigenvalues, and to replace zero pivots.
!>
SMLNUM
!> SMLNUM is REAL
!> A machine-dependent value close to the underflow threshold.
!>
INFO
!> INFO is INTEGER
!> = 0: successful exit
!> = 1: inverse iteration did not converge; V is set to the
!> last iterate.
!>
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 147 of file claein.f. β¨
π₯ subroutine dlaein
subroutine dlaein (logical rightv, logical noinit, integer n, double
precision, dimension( ldh, * ) h, integer ldh, double precision wr,
double precision wi, double precision, dimension( * ) vr, double
precision, dimension( * ) vi, double precision, dimension( ldb, * ) b,
integer ldb, double precision, dimension( * ) work, double precision
eps3, double precision smlnum, double precision bignum, integer info)
DLAEIN computes a specified right or left eigenvector of an upper Hessenberg matrix by inverse iteration. π
π Purpose:
!>
!> DLAEIN uses inverse iteration to find a right or left eigenvector
!> corresponding to the eigenvalue (WR,WI) of a real upper Hessenberg
!> matrix H.
!>
πΈ Parameters
RIGHTV
!> RIGHTV is LOGICAL
!> = .TRUE. : compute right eigenvector;
!> = .FALSE.: compute left eigenvector.
!>
NOINIT
!> NOINIT is LOGICAL
!> = .TRUE. : no initial vector supplied in (VR,VI).
!> = .FALSE.: initial vector supplied in (VR,VI).
!>
N
!> N is INTEGER
!> The order of the matrix H. N >= 0.
!>
H
!> H is DOUBLE PRECISION array, dimension (LDH,N)
!> The upper Hessenberg matrix H.
!>
LDH
!> LDH is INTEGER
!> The leading dimension of the array H. LDH >= max(1,N).
!>
WR
!> WR is DOUBLE PRECISION
!>
WI
!> WI is DOUBLE PRECISION
!> The real and imaginary parts of the eigenvalue of H whose
!> corresponding right or left eigenvector is to be computed.
!>
VR
!> VR is DOUBLE PRECISION array, dimension (N)
!>
VI
!> VI is DOUBLE PRECISION array, dimension (N)
!> On entry, if NOINIT = .FALSE. and WI = 0.0, VR must contain
!> a real starting vector for inverse iteration using the real
!> eigenvalue WR; if NOINIT = .FALSE. and WI.ne.0.0, VR and VI
!> must contain the real and imaginary parts of a complex
!> starting vector for inverse iteration using the complex
!> eigenvalue (WR,WI); otherwise VR and VI need not be set.
!> On exit, if WI = 0.0 (real eigenvalue), VR contains the
!> computed real eigenvector; if WI.ne.0.0 (complex eigenvalue),
!> VR and VI contain the real and imaginary parts of the
!> computed complex eigenvector. The eigenvector is normalized
!> so that the component of largest magnitude has magnitude 1;
!> here the magnitude of a complex number (x,y) is taken to be
!> |x| + |y|.
!> VI is not referenced if WI = 0.0.
!>
B
!> B is DOUBLE PRECISION array, dimension (LDB,N)
!>
LDB
!> LDB is INTEGER
!> The leading dimension of the array B. LDB >= N+1.
!>
π careful bestie β that'sLDB >= N+1here, notmax(1,N)like in the complex version. iykyk.
WORK
!> WORK is DOUBLE PRECISION array, dimension (N)
!>
EPS3
!> EPS3 is DOUBLE PRECISION
!> A small machine-dependent value which is used to perturb
!> close eigenvalues, and to replace zero pivots.
!>
SMLNUM
!> SMLNUM is DOUBLE PRECISION
!> A machine-dependent value close to the underflow threshold.
!>
BIGNUM
!> BIGNUM is DOUBLE PRECISION
!> A machine-dependent value close to the overflow threshold.
!>
INFO
!> INFO is INTEGER
!> = 0: successful exit
!> = 1: inverse iteration did not converge; VR is set to the
!> last iterate, and so is VI if WI.ne.0.0.
!>
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 170 of file dlaein.f. β¨
πΈ subroutine slaein
subroutine slaein (logical rightv, logical noinit, integer n, real,
dimension( ldh, * ) h, integer ldh, real wr, real wi, real, dimension( *
) vr, real, dimension( * ) vi, real, dimension( ldb, * ) b, integer ldb,
real, dimension( * ) work, real eps3, real smlnum, real bignum, integer
info)
SLAEIN computes a specified right or left eigenvector of an upper Hessenberg matrix by inverse iteration. π·
π Purpose:
!>
!> SLAEIN uses inverse iteration to find a right or left eigenvector
!> corresponding to the eigenvalue (WR,WI) of a real upper Hessenberg
!> matrix H.
!>
πΈ Parameters
RIGHTV
!> RIGHTV is LOGICAL
!> = .TRUE. : compute right eigenvector;
!> = .FALSE.: compute left eigenvector.
!>
NOINIT
!> NOINIT is LOGICAL
!> = .TRUE. : no initial vector supplied in (VR,VI).
!> = .FALSE.: initial vector supplied in (VR,VI).
!>
N
!> N is INTEGER
!> The order of the matrix H. N >= 0.
!>
H
!> H is REAL array, dimension (LDH,N)
!> The upper Hessenberg matrix H.
!>
LDH
!> LDH is INTEGER
!> The leading dimension of the array H. LDH >= max(1,N).
!>
WR
!> WR is REAL
!>
WI
!> WI is REAL
!> The real and imaginary parts of the eigenvalue of H whose
!> corresponding right or left eigenvector is to be computed.
!>
VR
!> VR is REAL array, dimension (N)
!>
VIVIβ itβs aREALarray, dimension(N). okay so entry lore: ifNOINIT = .FALSE.andWI = 0.0, thenVRmust contain a real starting vector for inverse iteration using the real eigenvalueWR; ifNOINIT = .FALSE.andWI.ne.0.0, thenVRandVImust contain the real and imaginary parts of a complex starting vector for inverse iteration using the complex eigenvalue(WR,WI); otherwiseVRandVIneed not be set. on exit, ifWI = 0.0(real eigenvalue),VRcontains the computed real eigenvector; ifWI.ne.0.0(complex eigenvalue),VRandVIcontain the real and imaginary parts of the computed complex eigenvector. The eigenvector is normalized so that the component of largest magnitude has magnitude1; here the magnitude of a complex number(x,y)is taken to be|x| + |y|. and bestie,VIis not referenced ifWI = 0.0. β¨BβBis aREALarray, dimension(LDB,N). thatβs the whole vibe here. π«ΆLDBβLDBisINTEGER. The leading dimension of the arrayB.LDB >= N+1. no cap, that bound matters. πWORKβWORKis aREALarray, dimension(N). iconic little workspace behavior. πEPS3βEPS3isREAL. A small machine-dependent value which is used to perturb close eigenvalues, and to replace zero pivots. lowkey important. πΈSMLNUMβSMLNUMisREAL. A machine-dependent value close to the underflow threshold. yep, thatβs the underflow-adjacent one. π¦BIGNUMβBIGNUMisREAL. A machine-dependent value close to the overflow threshold. highkey the overflow-side twin. π₯INFOβINFOisINTEGER:= 0: successful exit= 1: inverse iteration did not converge;VRis set to the last iterate, and so isVIifWI.ne.0.0.
bestie, please note:INFO = 1means inverse iteration did not converge βVRis the last iterate, andVItoo ifWI.ne.0.0. thatβs the caveat, periodt. π
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 170 of file slaein.f.
π¦ subroutine zlaein
subroutine zlaein (logical rightv, logical noinit, integer n, complex*16,
dimension( ldh, * ) h, integer ldh, complex*16 w, complex*16, dimension(
* ) v, complex*16, dimension( ldb, * ) b, integer ldb, double precision,
dimension( * ) rwork, double precision eps3, double precision smlnum,
integer info)
ZLAEIN computes a specified right or left eigenvector of an upper Hessenberg matrix by inverse iteration. okayyyyy, thatβs the whole main-character summary. π
π― Purpose
okay so ZLAEIN uses inverse iteration to find a right or left eigenvector corresponding to the eigenvalue W of a complex upper Hessenberg matrix H. thatβs the tea, and itβs exact. β¨
πΈ Parameters
RIGHTVβRIGHTVisLOGICAL:= .TRUE.: compute right eigenvector;= .FALSE.: compute left eigenvector.
NOINITβNOINITisLOGICAL:= .TRUE.: no initial vector supplied inV= .FALSE.: initial vector supplied inV.
NβNisINTEGER. The order of the matrixH.N >= 0. slay, nonnegative order. πHβHis aCOMPLEX*16array, dimension(LDH,N). The upper Hessenberg matrixH. thatβs the star of the show. βLDHβLDHisINTEGER. The leading dimension of the arrayH.LDH >= max(1,N). πWβWisCOMPLEX*16. The eigenvalue ofHwhose corresponding right or left eigenvector is to be computed. this is the eigenvalue in question, bestie. πVβVis aCOMPLEX*16array, dimension(N). On entry, ifNOINIT = .FALSE.,Vmust contain a starting vector for inverse iteration; otherwiseVneed not be set. On exit,Vcontains the computed eigenvector, normalized so that the component of largest magnitude has magnitude1; here the magnitude of a complex number(x,y)is taken to be|x| + |y|. πBβBis aCOMPLEX*16array, dimension(LDB,N). thatβs it, thatβs the array. π«ΆLDBβLDBisINTEGER. The leading dimension of the arrayB.LDB >= max(1,N). π¦RWORKβRWORKis aDOUBLE PRECISIONarray, dimension(N). real workspace for the complex function, iykyk. πΈEPS3βEPS3isDOUBLE PRECISION. A small machine-dependent value which is used to perturb close eigenvalues, and to replace zero pivots. π₯SMLNUMβSMLNUMisDOUBLE PRECISION. A machine-dependent value close to the underflow threshold. πINFOβINFOisINTEGER:= 0: successful exit= 1: inverse iteration did not converge;Vis set to the last iterate.
warning bestie: ifINFO = 1, inverse iteration did not converge;Vis set to the last iterate. no cap, thatβs your signal. π
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 147 of file zlaein.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code.
π and thatβs the page, bestie β footer says this is LAPACK, Version 3.12.0, page laein(3), so you know exactly where this lore came from. mwah π
π¦ 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