geesx(3)
๐ geesx(3) โ geesx: Schur form, expert ๐
๐ธ NAME ๐ธ
geesx โ geesx: Schur form, expert
๐ฆ SYNOPSIS ๐ฆ
โจ Functions โจ
cgeesxโsubroutine cgeesx (jobvs, sort, select, sense, n, a, lda, sdim, w, vs, ldvs, rconde, rcondv, work, lwork, rwork, bwork, info)CGEESX is the complex one, bestie: eigenvalues, Schur form, and โ only if you ask โ the matrix of Schur vectors for GE matrices. slay. ๐dgeesxโsubroutine dgeesx (jobvs, sort, select, sense, n, a, lda, sdim, wr, wi, vs, ldvs, rconde, rcondv, work, lwork, iwork, liwork, bwork, info)DGEESX gets you eigenvalues, the Schur form, and optionally the matrix of Schur vectors for GE matrices. periodt. โจsgeesxโsubroutine sgeesx (jobvs, sort, select, sense, n, a, lda, sdim, wr, wi, vs, ldvs, rconde, rcondv, work, lwork, iwork, liwork, bwork, info)SGEESX serves eigenvalues, the Schur form, and optionally the matrix of Schur vectors for GE matrices. iconic behavior. ๐zgeesxโsubroutine zgeesx (jobvs, sort, select, sense, n, a, lda, sdim, w, vs, ldvs, rconde, rcondv, work, lwork, rwork, bwork, info)ZGEESX brings eigenvalues, the Schur form, and optionally the matrix of Schur vectors for GE matrices. no cap. ๐ฆ
๐ DETAILED DESCRIPTION ๐
No extra body text here โ this heading is just doing a little outfit reveal, and then Function Documentation takes over. ๐
๐ FUNCTION DOCUMENTATION ๐
๐ subroutine cgeesx
subroutine cgeesx (character jobvs, character sort, external select, character sense, integer n, complex, dimension( lda, * ) a, integer lda, integer sdim, complex, dimension( * ) w, complex, dimension( ldvs, * ) vs, integer ldvs, real rconde, real rcondv, complex, dimension( * ) work, integer lwork, real, dimension( * ) rwork, logical, dimension( * ) bwork, integer info)
CGEESX gets you the eigenvalues, the Schur form, and โ if you opt in โ the matrix of Schur vectors, all for GE matrices. main character energy. ๐ฅ
๐ Purpose:
CGEESX takes an N-by-N complex nonsymmetric matrix A and gives you its eigenvalues, its Schur form T, and optionally the matrix of Schur vectors Z. Thatโs the Schur factorization A = Z*T*(Z**H), bestie. ๐
If you want, it also orders the eigenvalues on the diagonal of the Schur form so selected eigenvalues are at the top left; it computes a reciprocal condition number for the average of the selected eigenvalues (RCONDE); and it computes a reciprocal condition number for the right invariant subspace corresponding to the selected eigenvalues (RCONDV). The leading columns of Z form an orthonormal basis for this invariant subspace. we love a structured queen. ๐ฟ
For further explanation of the reciprocal condition numbers RCONDE and RCONDV, peek Section 4.10 of the LAPACK Usersโ Guide โ thatโs where these quantities are called s and sep respectively. ๐
And just so weโre clear: a complex matrix is in Schur form if it is upper triangular. iykyk. ๐
๐ฆ Parameters
JOBVS โ CHARACTER*1
'N': Schur vectors are not computed;'V': Schur vectors are computed.
SORT โ CHARACTER*1. Specifies whether or not to order the eigenvalues on the diagonal of the Schur form.
'N': eigenvalues are not ordered;'S': eigenvalues are ordered (seeSELECT).
SELECT โ a LOGICAL FUNCTION of one COMPLEX argument. SELECT must be declared EXTERNAL in the calling subroutine. If SORT = 'S', SELECT is used to select eigenvalues to order to the top left of the Schur form. If SORT = 'N', SELECT is not referenced. An eigenvalue W(j) is selected if SELECT(W(j)) is true. custom sorting but make it fashion. ๐
SENSE โ CHARACTER*1. Determines which reciprocal condition numbers are computed.
'N': none are computed;'E': computed for average of selected eigenvalues only;'V': computed for selected right invariant subspace only;'B': computed for both.
If SENSE = 'E', 'V' or 'B', SORT must equal 'S'. important!! donโt skip this. ๐จ
N โ INTEGER. The order of the matrix A. N >= 0.
A โ COMPLEX array, dimension (LDA, N). On entry, the N-by-N matrix A. On exit, A is overwritten by its Schur form T. she transforms. ๐
LDA โ INTEGER. The leading dimension of the array A. LDA >= max(1,N).
SDIM โ INTEGER. If SORT = 'N', SDIM = 0. If SORT = 'S', SDIM = number of eigenvalues for which SELECT is true.
W โ COMPLEX array, dimension (N). W contains the computed eigenvalues, in the same order that they appear on the diagonal of the output Schur form T.
VS โ COMPLEX array, dimension (LDVS,N). If JOBVS = 'V', VS contains the unitary matrix Z of Schur vectors. If JOBVS = 'N', VS is not referenced.
LDVS โ INTEGER. The leading dimension of the array VS. LDVS >= 1, and if JOBVS = 'V', LDVS >= N.
RCONDE โ REAL. If SENSE = 'E' or 'B', RCONDE contains the reciprocal condition number for the average of the selected eigenvalues. Not referenced if SENSE = 'N' or 'V'.
RCONDV โ REAL. If SENSE = 'V' or 'B', RCONDV contains the reciprocal condition number for the selected right invariant subspace. Not referenced if SENSE = 'N' or 'E'.
WORK โ COMPLEX array, dimension (MAX(1,LWORK)). On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
LWORK โ INTEGER. The dimension of the array WORK. LWORK >= max(1,2*N). Also, if SENSE = 'E' or 'V' or 'B', LWORK >= 2*SDIM*(N-SDIM), where SDIM is the number of selected eigenvalues computed by this routine. Note that 2*SDIM*(N-SDIM) <= N*N/2. Note also that an error is only returned if LWORK < max(1,2*N), but if SENSE = 'E' or 'V' or 'B' this may not be large enough. For good performance, LWORK must generally be larger. bigger workspace = better vibes. ๐
IfLWORK = -1, then a workspace query is assumed; the routine only calculates upper bound on the optimal size of the arrayWORK, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA.
RWORK โ REAL array, dimension (N).
BWORK โ LOGICAL array, dimension (N). Not referenced if SORT = 'N'.
INFO โ INTEGER.
= 0: successful exit;< 0: ifINFO = -i, thei-th argument had an illegal value.> 0: ifINFO = i, andiis:<= N: the QR algorithm failed to compute all the eigenvalues; elements1:ILO-1andi+1:NofWcontain those eigenvalues which have converged; ifJOBVS = 'V',VScontains the transformation which reducesAto its partially converged Schur form.= N+1: the eigenvalues could not be reordered because some eigenvalues were too close to separate (the problem is very ill-conditioned);= N+2: after reordering, roundoff changed values of some complex eigenvalues so that leading eigenvalues in the Schur form no longer satisfySELECT=.TRUE.. This could also be caused by underflow due to scaling. rough. ๐ญ
๐ Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 236 of file cgeesx.f.
๐ subroutine dgeesx
subroutine dgeesx (character jobvs, character sort, external select, character sense, integer n, double precision, dimension( lda, * ) a, integer lda, integer sdim, double precision, dimension( * ) wr, double precision, dimension( * ) wi, double precision, dimension( ldvs, * ) vs, integer ldvs, double precision rconde, double precision rcondv, double precision, dimension( * ) work, integer lwork, integer, dimension( * ) iwork, integer liwork, logical, dimension( * ) bwork, integer info)
DGEESX gets you the eigenvalues, the real Schur form, and โ if you want โ the matrix of Schur vectors, all for GE matrices. obsessed. ๐
๐ Purpose:
DGEESX takes an N-by-N real nonsymmetric matrix A and gives you its eigenvalues, its real Schur form T, and optionally the matrix of Schur vectors Z. That gives the Schur factorization A = Z*T*(Z**T). โจ
If you want, it also orders the eigenvalues on the diagonal of the real Schur form so selected eigenvalues are at the top left; it computes a reciprocal condition number for the average of the selected eigenvalues (RCONDE); and it computes a reciprocal condition number for the right invariant subspace corresponding to the selected eigenvalues (RCONDV). The leading columns of Z form an orthonormal basis for this invariant subspace. structured and thriving. ๐ฟ
For further explanation of the reciprocal condition numbers RCONDE and RCONDV, see Section 4.10 of the LAPACK Usersโ Guide โ thatโs where these quantities are called s and sep respectively. ๐
A real matrix is in real Schur form if it is upper quasi-triangular with 1-by-1 and 2-by-2 blocks. 2-by-2 blocks will be standardized in the form
[ a b ]
[ c a ]
where b*c < 0. The eigenvalues of such a block are a +- sqrt(bc). math but make it cute. ๐งฎ
๐ฆ Parameters
JOBVS โ CHARACTER*1
'N': Schur vectors are not computed;'V': Schur vectors are computed.
SORT
SORTโCHARACTER*1. This is the vibe check for whether the eigenvalues on the diagonal of the Schur form get ordered or just stay in their original spots.'N': eigenvalues are not ordered;'S': eigenvalues are ordered (peepSELECT).
SELECTโ okay so this is aLOGICAL FUNCTIONof twoDOUBLE PRECISIONarguments, and it must be declaredEXTERNALin the calling subroutine. No sneaky implicit tea.- if
SORT = 'S',SELECTis used to pick eigenvalues to sort to the top left of the Schur form; - if
SORT = 'N',SELECTis not referenced at all; - an eigenvalue
WR(j)+sqrt(-1)*WI(j)is selected ifSELECT(WR(j),WI(j))is true; i.e., if either one of a complex conjugate pair of eigenvalues is selected, then both are โ package deal, no splitting them up; - > heads up bestie: a selected complex eigenvalue may no longer satisfy
SELECT(WR(j),WI(j)) = .TRUE.after ordering, because ordering may change the value of complex eigenvalues (especially if the eigenvalue is ill-conditioned). in this caseINFOmay be set toN+3(seeINFObelow).
- if
SENSEโCHARACTER*1. Determines which reciprocal condition numbers are computed.'N': none are computed;'E': computed for the average of selected eigenvalues only;'V': computed for the selected right invariant subspace only;'B': computed for both.- > if
SENSE = 'E','V'or'B', thenSORTmust equal'S'. literally required.
NโINTEGER. The order of the matrixA.N >= 0.AโDOUBLE PRECISIONarray, dimension(LDA, N). On entry, theN-by-NmatrixA. On exit,Ais overwritten by its real Schur formT. glow-up via factorization, basically.LDAโINTEGER. The leading dimension of the arrayA.LDA >= max(1,N).SDIMโINTEGER.- if
SORT = 'N',SDIM = 0; - if
SORT = 'S',SDIM = number of eigenvalues (after sorting) for which SELECT is true. (Complex conjugate pairs for whichSELECTis true for either eigenvalue count as2.)
- if
WRโDOUBLE PRECISIONarray, dimension(N).WIโDOUBLE PRECISIONarray, dimension(N).WRandWIcontain the real and imaginary parts, respectively, of the computed eigenvalues, in the same order that they appear on the diagonal of the output Schur formT. Complex conjugate pairs of eigenvalues appear consecutively with the eigenvalue having the positive imaginary part first. iconic ordering behavior.VSโDOUBLE PRECISIONarray, dimension(LDVS,N).- if
JOBVS = 'V',VScontains the orthogonal matrixZof Schur vectors; - if
JOBVS = 'N',VSis not referenced.
- if
LDVSโINTEGER. The leading dimension of the arrayVS.LDVS >= 1, and ifJOBVS = 'V',LDVS >= N.RCONDEโDOUBLE PRECISION. IfSENSE = 'E'or'B',RCONDEcontains the reciprocal condition number for the average of the selected eigenvalues. Not referenced ifSENSE = 'N'or'V'.RCONDVโDOUBLE PRECISION. IfSENSE = 'V'or'B',RCONDVcontains the reciprocal condition number for the selected right invariant subspace. Not referenced ifSENSE = 'N'or'E'.WORKโDOUBLE PRECISIONarray, dimension(MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKโINTEGER. The dimension of the arrayWORK.LWORK >= max(1,3*N).- also, if
SENSE = 'E'or'V'or'B',LWORK >= N+2*SDIM*(N-SDIM), whereSDIMis the number of selected eigenvalues computed by this routine. Note thatN+2*SDIM*(N-SDIM) <= N+N*N/2; - note also that an error is only returned if
LWORK < max(1,3*N), but ifSENSE = 'E'or'V'or'B'this may not be large enough; - for good performance,
LWORKmust generally be larger; - if
LWORK = -1, then a workspace query is assumed; the routine only calculates upper bounds on the optimal sizes of the arraysWORKandIWORK, returns these values as the first entries of theWORKandIWORKarrays, and no error messages related toLWORKorLIWORKare issued byXERBLA.
- also, if
IWORKโINTEGERarray, dimension(MAX(1,LIWORK)). On exit, ifINFO = 0,IWORK(1)returns the optimalLIWORK.LIWORKโINTEGER. The dimension of the arrayIWORK.LIWORK >= 1; ifSENSE = 'V'or'B',LIWORK >= SDIM*(N-SDIM).- note that
SDIM*(N-SDIM) <= N*N/4; - note also that an error is only returned if
LIWORK < 1, but ifSENSE = 'V'or'B'this may not be large enough; - if
LIWORK = -1, then a workspace query is assumed; the routine only calculates upper bounds on the optimal sizes of the arraysWORKandIWORK, returns these values as the first entries of theWORKandIWORKarrays, and no error messages related toLWORKorLIWORKare issued byXERBLA.
- note that
BWORKโLOGICALarray, dimension(N). Not referenced ifSORT = 'N'.INFOโINTEGER.= 0: successful exit, slay;< 0: ifINFO = -i, thei-th argument had an illegal value;> 0: ifINFO = i, andiis:<= N: the QR algorithm failed to compute all the eigenvalues; elements1:ILO-1andi+1:NofWRandWIcontain those eigenvalues which have converged; ifJOBVS = 'V',VScontains the transformation which reducesAto its partially converged Schur form;= N+1: the eigenvalues could not be reordered because some eigenvalues were too close to separate (the problem is very ill-conditioned);= N+2: after reordering, roundoff changed values of some complex eigenvalues so that leading eigenvalues in the Schur form no longer satisfySELECT=.TRUE.. This could also be caused by underflow due to scaling.
๐ธ Author ๐ธ
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 278 of file dgeesx.f.
๐
subroutine sgeesx ๐
subroutine sgeesx (character jobvs, character sort, external select,
character sense, integer n, real, dimension( lda, * ) a, integer lda,
integer sdim, real, dimension( * ) wr, real, dimension( * ) wi, real,
dimension( ldvs, * ) vs, integer ldvs, real rconde, real rcondv, real,
dimension( * ) work, integer lwork, integer, dimension( * ) iwork,
integer liwork, logical, dimension( * ) bwork, integer info)
SGEESX computes the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors for GE matrices. that's the whole elevator pitch, bestie.
โจ Purpose โจ
!> SGEESX computes for an N-by-N real nonsymmetric matrix A, the eigenvalues, the real Schur form T, and, optionally, the matrix of Schur vectors Z. This gives the Schur factorization A = Z*T*(Z**T). math is mathing.
Optionally, it also orders the eigenvalues on the diagonal of the real Schur form so that selected eigenvalues are at the top left; computes a reciprocal condition number for the average of the selected eigenvalues (RCONDE); and computes a reciprocal condition number for the right invariant subspace corresponding to the selected eigenvalues (RCONDV). The leading columns of Z form an orthonormal basis for this invariant subspace. very main character.
For further explanation of the reciprocal condition numbers RCONDE and RCONDV, see Section 4.10 of the LAPACK Users' Guide (where these quantities are called s and sep respectively).
A real matrix is in real Schur form if it is upper quasi-triangular with 1-by-1 and 2-by-2 blocks. 2-by-2 blocks will be standardized in the form
[ a b ]
[ c a ]
where b*c < 0. The eigenvalues of such a block are a +- sqrt(bc).
๐ Parameters ๐
JOBVSโCHARACTER*1.'N': Schur vectors are not computed;'V': Schur vectors are computed.
SORTโCHARACTER*1. Specifies whether or not to order the eigenvalues on the diagonal of the Schur form.'N': eigenvalues are not ordered;'S': eigenvalues are ordered (seeSELECT).
SELECTโ aLOGICAL FUNCTIONof twoREALarguments.SELECTmust be declaredEXTERNALin the calling subroutine.- if
SORT = 'S',SELECTis used to select eigenvalues to sort to the top left of the Schur form; - if
SORT = 'N',SELECTis not referenced; - an eigenvalue
WR(j)+sqrt(-1)*WI(j)is selected ifSELECT(WR(j),WI(j))is true; i.e., if either one of a complex conjugate pair of eigenvalues is selected, then both are; - > note that a selected complex eigenvalue may no longer satisfy
SELECT(WR(j),WI(j)) = .TRUE.after ordering, since ordering may change the value of complex eigenvalues (especially if the eigenvalue is ill-conditioned); in this caseINFOmay be set toN+3(seeINFObelow).
- if
SENSESENSEโCHARACTER*1. Okay so this lil flag decides which reciprocal condition numbers get computed.= 'N': none are computed;= 'E': computed for average of selected eigenvalues only;= 'V': computed for selected right invariant subspace only;= 'B': computed for both. IfSENSE = 'E','V'or'B', thenSORTmust equal'S'โ no cap, that's the rule. ๐NโINTEGER. The order of the matrixA.N >= 0. Keep it non-negative, bestie.AโREAL array, dimension (LDA, N). On entry, theN-by-NmatrixA. On exit,Ais overwritten by its real Schur formT. Bye originalA, helloT. โจLDAโINTEGER. The leading dimension of the arrayA.LDA >= max(1,N).SDIMโINTEGER. IfSORT = 'N',SDIM = 0. IfSORT = 'S',SDIM= number of eigenvalues (after sorting) for whichSELECTis true. (Complex conjugate pairs for whichSELECTis true for either eigenvalue count as 2.) Periodt.WRโREAL array, dimension (N).WIโREAL array, dimension (N).WRandWIcontain the real and imaginary parts, respectively, of the computed eigenvalues, in the same order that they appear on the diagonal of the output Schur formT. Complex conjugate pairs of eigenvalues appear consecutively with the eigenvalue having the positive imaginary part first. Slay. ๐ฆVSโREAL array, dimension (LDVS,N). IfJOBVS = 'V',VScontains the orthogonal matrixZof Schur vectors. IfJOBVS = 'N',VSis not referenced. She's literally not in the group chat.LDVSโINTEGER. The leading dimension of the arrayVS.LDVS >= 1, and ifJOBVS = 'V',LDVS >= N.RCONDEโREAL. IfSENSE = 'E'or'B',RCONDEcontains the reciprocal condition number for the average of the selected eigenvalues. Not referenced ifSENSE = 'N'or'V'.RCONDVโREAL. IfSENSE = 'V'or'B',RCONDVcontains the reciprocal condition number for the selected right invariant subspace. Not referenced ifSENSE = 'N'or'E'.WORKโREAL array, dimension (MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK. Cute.LWORKโINTEGER. The dimension of the arrayWORK.LWORK >= max(1,3*N). Also, ifSENSE = 'E'or'V'or'B',LWORK >= N+2*SDIM*(N-SDIM), whereSDIMis the number of selected eigenvalues computed by this routine. Note thatN+2*SDIM*(N-SDIM) <= N+N*N/2. Note also that an error is only returned ifLWORK < max(1,3*N), but ifSENSE = 'E'or'V'or'B'this may not be large enough. For good performance,LWORKmust generally be larger.
If LWORK = -1, then a workspace query is assumed; the routine only calculates upper bounds on the optimal sizes of the arrays WORK and IWORK, returns these values as the first entries of the WORK and IWORK arrays, and no error messages related to LWORK or LIWORK are issued by XERBLA. ๐ซถ
IWORKโINTEGER array, dimension (MAX(1,LIWORK)). On exit, ifINFO = 0,IWORK(1)returns the optimalLIWORK.LIWORKโINTEGER. The dimension of the arrayIWORK.LIWORK >= 1; ifSENSE = 'V'or'B',LIWORK >= SDIM*(N-SDIM). Note thatSDIM*(N-SDIM) <= N*N/4. Note also that an error is only returned ifLIWORK < 1, but ifSENSE = 'V'or'B'this may not be large enough.
If LIWORK = -1, then a workspace query is assumed; the routine only calculates upper bounds on the optimal sizes of the arrays WORK and IWORK, returns these values as the first entries of the WORK and IWORK arrays, and no error messages related to LWORK or LIWORK are issued by XERBLA. ๐
BWORKโLOGICAL array, dimension (N). Not referenced ifSORT = 'N'.INFOโINTEGER.= 0: successful exit.< 0: ifINFO = -i, thei-th argument had an illegal value.> 0: ifINFO = i, andiis<= N: the QR algorithm failed to compute all the eigenvalues; elements1:ILO-1andi+1:NofWRandWIcontain those eigenvalues which have converged; ifJOBVS = 'V',VScontains the transformation which reducesAto its partially converged Schur form.= N+1: the eigenvalues could not be reordered because some eigenvalues were too close to separate (the problem is very ill-conditioned);= N+2: after reordering, roundoff changed values of some complex eigenvalues so that leading eigenvalues in the Schur form no longer satisfySELECT=.TRUE.. This could also be caused by underflow due to scaling. ๐ญ
๐ Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 278 of file sgeesx.f.
๐ฆ subroutine zgeesx โ the complex edition
subroutine zgeesx (character jobvs, character sort, external select,
character sense, integer n, complex*16, dimension( lda, * ) a, integer
lda, integer sdim, complex*16, dimension( * ) w, complex*16, dimension(
ldvs, * ) vs, integer ldvs, double precision rconde, double precision
rcondv, complex*16, dimension( * ) work, integer lwork, double
precision, dimension( * ) rwork, logical, dimension( * ) bwork, integer
info)
ZGEESX computes the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors for GE matrices. Iconic. ๐
๐ Purpose
ZGEESX computes for an N-by-N complex nonsymmetric matrix A, the eigenvalues, the Schur form T, and, optionally, the matrix of Schur vectors Z. This gives the Schur factorization A = Z*T*(Z**H). Obsessed. โจ
Optionally, it also orders the eigenvalues on the diagonal of the Schur form so that selected eigenvalues are at the top left; computes a reciprocal condition number for the average of the selected eigenvalues (RCONDE); and computes a reciprocal condition number for the right invariant subspace corresponding to the selected eigenvalues (RCONDV). The leading columns of Z form an orthonormal basis for this invariant subspace. Main character energy fr.
For further explanation of the reciprocal condition numbers RCONDE and RCONDV, see Section 4.10 of the LAPACK Users' Guide (where these quantities are called s and sep respectively). iykyk.
A complex matrix is in Schur form if it is upper triangular. Periodt.
๐ Parameters
JOBVSโCHARACTER*1.= 'N': Schur vectors are not computed;= 'V': Schur vectors are computed.SORTโCHARACTER*1. Specifies whether or not to order the eigenvalues on the diagonal of the Schur form.= 'N': eigenvalues are not ordered;= 'S': eigenvalues are ordered (seeSELECT).SELECTโLOGICAL FUNCTION of one COMPLEX*16 argument.SELECTmust be declaredEXTERNALin the calling subroutine. IfSORT = 'S',SELECTis used to select eigenvalues to order to the top left of the Schur form. IfSORT = 'N',SELECTis not referenced. An eigenvalueW(j)is selected ifSELECT(W(j))is true.SENSEโCHARACTER*1. Determines which reciprocal condition numbers are computed.= 'N': none are computed;= 'E': computed for average of selected eigenvalues only;= 'V': computed for selected right invariant subspace only;= 'B': computed for both. IfSENSE = 'E','V'or'B',SORTmust equal'S'.NโINTEGER. The order of the matrixA.N >= 0.AโCOMPLEX*16 array, dimension (LDA, N). On entry, theN-by-NmatrixA. On exit,Ais overwritten by its Schur formT.LDAโINTEGER. The leading dimension of the arrayA.LDA >= max(1,N).SDIMโINTEGER. IfSORT = 'N',SDIM = 0. IfSORT = 'S',SDIM= number of eigenvalues for whichSELECTis true.WโCOMPLEX*16 array, dimension (N).Wcontains the computed eigenvalues, in the same order that they appear on the diagonal of the output Schur formT.VSโCOMPLEX*16 array, dimension (LDVS,N). IfJOBVS = 'V',VScontains the unitary matrixZof Schur vectors. IfJOBVS = 'N',VSis not referenced.LDVSโINTEGER. The leading dimension of the arrayVS.LDVS >= 1, and ifJOBVS = 'V',LDVS >= N.RCONDEโDOUBLE PRECISION. IfSENSE = 'E'or'B',RCONDEcontains the reciprocal condition number for the average of the selected eigenvalues. Not referenced ifSENSE = 'N'or'V'.RCONDVโRCONDVโDOUBLE PRECISION. IfSENSE = 'V'or'B',RCONDVcontains the reciprocal condition number for the selected right invariant subspace. Not referenced ifSENSE = 'N'or'E'. ๐WORKโCOMPLEX*16 array, dimension (MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK. โจLWORKโINTEGER. The dimension of the arrayWORK.LWORK >= max(1,2*N). Also, ifSENSE = 'E'or'V'or'B',LWORK >= 2*SDIM*(N-SDIM), whereSDIMis the number of selected eigenvalues computed by this routine. Note that2*SDIM*(N-SDIM) <= N*N/2. Note also that an error is only returned ifLWORK < max(1,2*N), but ifSENSE = 'E'or'V'or'B'this may not be large enough. For good performance,LWORKmust generally be larger.
If LWORK = -1, then a workspace query is assumed; the routine only calculates upper bound on the optimal size of the array WORK, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. ๐ซถ
RWORKโDOUBLE PRECISION array, dimension (N). ๐ธBWORKโLOGICAL array, dimension (N). Not referenced ifSORT = 'N'. ๐ฆINFOโINTEGER.= 0: successful exit. ๐< 0: ifINFO = -i, the i-th argument had an illegal value.> 0: ifINFO = i, andiis:<= N: the QR algorithm failed to compute all the eigenvalues; elements1:ILO-1andi+1:NofWcontain those eigenvalues which have converged; ifJOBVS = 'V',VScontains the transformation which reducesAto its partially converged Schur form.= N+1: the eigenvalues could not be reordered because some eigenvalues were too close to separate (the problem is very ill-conditioned);= N+2: after reordering, roundoff changed values of some complex eigenvalues so that leading eigenvalues in the Schur form no longer satisfySELECT=.TRUE.This could also be caused by underflow due to scaling. ๐
๐ Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 236 of file zgeesx.f.
๐ค Author
Generated automatically by Doxygen for LAPACK from the source code.
๐ Source/version + date from the footer: LAPACK Version 3.12.0, page geesx(3), and the date as printed on that last line, bestie โ cute sign-off, no cap. ๐
๐ฆ 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