SRC/dggev3.f(3)
πΈ NAME πΈ
SRC/dggev3.f β bestie, this is the page from the Library Functions Manual, and it's the whole glow-up on DGGEV3. β¨
β¨ SYNOPSIS β¨
π Functions/Subroutines π
subroutine dggev3 (jobvl, jobvr, n, a, lda, b, ldb, alphar, alphai,
beta, vl, ldvl, vr, ldvr, work, lwork, info)
DGGEV3 computes the eigenvalues and, optionally, the left and/or
right eigenvectors for GE matrices (blocked algorithm)
π Function/Subroutine Documentation π
subroutine dggev3 (character jobvl, character jobvr, integer n, double
precision, dimension( lda, * ) a, integer lda, double precision,
dimension( ldb, * ) b, integer ldb, double precision, dimension( * )
alphar, double precision, dimension( * ) alphai, double precision,
dimension( * ) beta, double precision, dimension( ldvl, * ) vl, integer
ldvl, double precision, dimension( ldvr, * ) vr, integer ldvr, double
precision, dimension( * ) work, integer lwork, integer info)
DGGEV3 computes the eigenvalues and, optionally, the left and/or right
eigenvectors for GE matrices (blocked algorithm)
π Purpose π
Okay so DGGEV3 computes, for a pair of N-by-N real nonsymmetric matrices (A,B), the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors. Periodt. π
A generalized eigenvalue for a pair of matrices (A,B) is a scalar lambda or a ratio alpha/beta = lambda, such that A - lambda*B is singular. It is usually represented as the pair (alpha,beta), as there is a reasonable interpretation for beta=0, and even for both being zero. iykyk π¦
The right eigenvector v(j) corresponding to the eigenvalue lambda(j) of (A,B) satisfies
A * v(j) = lambda(j) * B * v(j).
The left eigenvector u(j) corresponding to the eigenvalue lambda(j) of (A,B) satisfies
u(j)**H * A = lambda(j) * u(j)**H * B .
where u(j)**H is the conjugate-transpose of u(j). slay. π
π₯ Parameters π₯
JOBVLβCHARACTER*1= 'N': do not compute the left generalized eigenvectors;= 'V': compute the left generalized eigenvectors.
JOBVRβCHARACTER*1= 'N': do not compute the right generalized eigenvectors;= 'V': compute the right generalized eigenvectors.
NβINTEGER- The order of the matrices
A,B,VL, andVR.N >= 0.
- The order of the matrices
AβDOUBLE PRECISIONarray, dimension(LDA, N)- On entry, the matrix
Ain the pair(A,B). - On exit,
Ahas been overwritten.
- On entry, the matrix
LDAβINTEGER- The leading dimension of
A.LDA >= max(1,N).
- The leading dimension of
BβDOUBLE PRECISIONarray, dimension(LDB, N)- On entry, the matrix
Bin the pair(A,B). - On exit,
Bhas been overwritten.
- On entry, the matrix
LDBβINTEGER- The leading dimension of
B.LDB >= max(1,N).
- The leading dimension of
ALPHARβDOUBLE PRECISIONarray, dimension(N)ALPHAIβDOUBLE PRECISIONarray, dimension(N)BETAβDOUBLE PRECISIONarray, dimension(N)- On exit,
(ALPHAR(j) + ALPHAI(j)*i)/BETA(j),j=1,...,N, will be the generalized eigenvalues. IfALPHAI(j)is zero, then thej-th eigenvalue is real; if positive, then thej-th and(j+1)-st eigenvalues are a complex conjugate pair, withALPHAI(j+1)negative. - Note: the quotients
ALPHAR(j)/BETA(j)andALPHAI(j)/BETA(j)may easily over- or underflow, andBETA(j)may even be zero. Thus, the user should avoid naively computing the ratioalpha/beta. However,ALPHARandALPHAIwill be always less than and usually comparable withnorm(A)in magnitude, andBETAalways less than and usually comparable withnorm(B).
- On exit,
VLβDOUBLE PRECISIONarray, dimension(LDVL,N)- If
JOBVL = 'V', the left eigenvectorsu(j)are stored one after another in the columns ofVL, in the same order as their eigenvalues. If thej-th eigenvalue is real, thenu(j) = VL(:,j), thej-th column ofVL. If thej-th and(j+1)-th eigenvalues form a complex conjugate pair, thenu(j) = VL(:,j)+i*VL(:,j+1)andu(j+1) = VL(:,j)-i*VL(:,j+1). Each eigenvector is scaled so the largest component hasabs(real part)+abs(imag. part)=1. - Not referenced if
JOBVL = 'N'.
- If
LDVLβINTEGER- The leading dimension of the matrix
VL.LDVL >= 1, and ifJOBVL = 'V',LDVL >= N.
- The leading dimension of the matrix
VRβDOUBLE PRECISIONarray, dimension(LDVR,N)- If
JOBVR = 'V', the right eigenvectorsv(j)are stored one after another in the columns ofVR, in the same order as their eigenvalues. If thej-th eigenvalue is real, thenv(j) = VR(:,j), thej-th column ofVR. If thej-th and(j+1)-th eigenvalues form a complex conjugate pair, thenv(j) = VR(:,j)+i*VR(:,j+1)andv(j+1) = VR(:,j)-i*VR(:,j+1). Each eigenvector is scaled so the largest component hasabs(real part)+abs(imag. part)=1. - Not referenced if
JOBVR = 'N'.
- If
LDVRβINTEGER- The leading dimension of the matrix
VR.LDVR >= 1, and ifJOBVR = 'V',LDVR >= N.
- The leading dimension of the matrix
WORKβDOUBLE PRECISIONarray, dimension(MAX(1,LWORK))- On exit, if
INFO = 0,WORK(1)returns the optimalLWORK.
- On exit, if
LWORKβINTEGER- The dimension of the array
WORK.LWORK >= MAX(1,8*N). For good performance,LWORKshould generally be larger. - If
LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA.
- The dimension of the array
INFOβINTEGER= 0: successful exit.< 0: ifINFO = -i, thei-th argument had an illegal value.= 1,...,N: The QZ iteration failed. No eigenvectors have been calculated, butALPHAR(j),ALPHAI(j), andBETA(j)should be correct forj=INFO+1,...,N.> N:=N+1: other than QZ iteration failed inDLAQZ0.=N+2: error return fromDTGEVC.
π¦ Author π¦
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 225 of file dggev3.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
byeee bestie π this was SRC/dggev3.f(3) from LAPACK Version 3.12.0 β 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