SRC/DEPRECATED/cgegs.f(3)
πΈ NAME πΈ
SRC/DEPRECATED/cgegs.f β hii bestie, this is the Library Functions Manual page for SRC/DEPRECATED/cgegs.f(3), aka the cgegs routine π. Itβs the deprecated one, so keep that in mind, okay? π«Ά
β¨ SYNOPSIS β¨
Functions/Subroutines π
subroutine cgegs (jobvsl, jobvsr, n, a, lda, b, ldb, alpha, beta, vsl,
ldvsl, vsr, ldvsr, work, lwork, rwork, info)
CGEGS computes the eigenvalues, Schur form, and, optionally, the left and or/right Schur vectors of a complex matrix pair (A,B) β¨.
π Function/Subroutine Documentation π
π§ subroutine cgegs β the whole glowing signature π§
subroutine cgegs (character jobvsl, character jobvsr, integer n, complex,
dimension( lda, * ) a, integer lda, complex, dimension( ldb, * ) b,
integer ldb, complex, dimension( * ) alpha, complex, dimension( * )
beta, complex, dimension( ldvsl, * ) vsl, integer ldvsl, complex,
dimension( ldvsr, * ) vsr, integer ldvsr, complex, dimension( * ) work,
integer lwork, real, dimension( * ) rwork, integer info)
CGEGS computes the eigenvalues, Schur form, and, optionally, the left and or/right Schur vectors of a complex matrix pair (A,B) β periodt π
.
Purpose: π
β οΈ This routine is deprecated and has been replaced by routine CGGES. β οΈ
Okay so CGEGS computes the eigenvalues, Schur form, and, optionally, the left and or/right Schur vectors of a complex matrix pair (A,B). Given two square matrices A and B, the generalized Schur factorization has the form
A = Q*S*Z**H, B = Q*T*Z**H
where Q and Z are unitary matrices and S and T are upper triangular. The columns of Q are the left Schur vectors and the columns of Z are the right Schur vectors. π¦
If only the eigenvalues of (A,B) are needed, the driver routine CGEGV should be used instead. See CGEGV for a description of the eigenvalues of the generalized nonsymmetric eigenvalue problem (GNEP). β¨
Parameters π
JOBVSLβCHARACTER*1.'N': do not compute the left Schur vectors;'V': compute the left Schur vectors (returned inVSL). πJOBVSRβCHARACTER*1.'N': do not compute the right Schur vectors;'V': compute the right Schur vectors (returned inVSR). πΈNβINTEGER. The order of the matricesA,B,VSL, andVSR.N >= 0. π«ΆAβCOMPLEX array, dimension (LDA, N). On entry, the matrixA. On exit, the upper triangular matrixSfrom the generalized Schur factorization. πLDAβINTEGER. The leading dimension ofA.LDA >= max(1,N). πBβCOMPLEX array, dimension (LDB, N). On entry, the matrixB. On exit, the upper triangular matrixTfrom the generalized Schur factorization. πLDBβINTEGER. The leading dimension ofB.LDB >= max(1,N). πALPHAβCOMPLEX array, dimension (N). The complex scalarsalphathat define the eigenvalues of GNEP.ALPHA(j) = S(j,j), the diagonal element of the Schur form ofA. π₯BETAβCOMPLEX array, dimension (N). The non-negative real scalarsbetathat define the eigenvalues of GNEP.BETA(j) = T(j,j), the diagonal element of the triangular factorT.
Together, the quantities alpha = ALPHA(j) and beta = BETA(j) represent the j-th eigenvalue of the matrix pair (A,B), in one of the forms lambda = alpha/beta or mu = beta/alpha. Since either lambda or mu may overflow, they should not, in general, be computed. π
VSLβCOMPLEX array, dimension (LDVSL,N). IfJOBVSL = 'V', the matrix of left Schur vectorsQ. Not referenced ifJOBVSL = 'N'. π¦LDVSLβINTEGER. The leading dimension of the matrixVSL.LDVSL >= 1, and ifJOBVSL = 'V',LDVSL >= N. β¨VSRβCOMPLEX array, dimension (LDVSR,N). IfJOBVSR = 'V', the matrix of right Schur vectorsZ. Not referenced ifJOBVSR = 'N'. πΈLDVSRβINTEGER. The leading dimension of the matrixVSR.LDVSR >= 1, and ifJOBVSR = 'V',LDVSR >= N. πWORKβCOMPLEX 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). For good performance,LWORKmust generally be larger.
To compute the optimal value of LWORK, call ILAENV to get blocksizes (for CGEQRF, CUNMQR, and CUNGQR.) Then compute: NB -- MAX of the blocksizes for CGEQRF, CUNMQR, and CUNGQR; the optimal LWORK is N*(NB+1).
If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. π
RWORKβREAL array, dimension (3*N). πINFOβINTEGER. Behold the receipts:= 0: successful exit π< 0: ifINFO = -i, the i-th argument had an illegal value. π=1,...,N: The QZ iteration failed.(A,B)are not in Schur form, butALPHA(j)andBETA(j)should be correct forj=INFO+1,...,N. π> N: errors that usually indicate LAPACK problems:=N+1: error return fromCGGBAL=N+2: error return fromCGEQRF=N+3: error return fromCUNMQR=N+4: error return fromCUNGQR=N+5: error return fromCGGHRD=N+6: error return fromCHGEQZ(other than failed iteration)=N+7: error return fromCGGBAK(computingVSL)=N+8: error return fromCGGBAK(computingVSR)=N+9: error return fromCLASCL(various places) π
Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 222 of file cgegs.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, thatβs the whole cgegs saga β from LAPACK, Version 3.12.0, for SRC/DEPRECATED/cgegs.f(3). Go forth and maybe use CGGES instead π
β¨
π¦ 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