TESTING/EIG/cget52.f(3)
π NAME π
TESTING/EIG/cget52.f β bestie, this is the TESTING/EIG/cget52.f(3) page straight from the LAPACK Library Functions Manual, and it's all about the CGET52 eigenvector check. π«Ά
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine cget52 (left, n, a, lda, b, ldb, e, lde, alpha, beta, work,
rwork, result)
CGET52
πΈ Function/Subroutine Documentation πΈ
subroutine cget52 (logical left, integer n, complex, dimension( lda, * ) a,
integer lda, complex, dimension( ldb, * ) b, integer ldb, complex,
dimension( lde, * ) e, integer lde, complex, dimension( * ) alpha,
complex, dimension( * ) beta, complex, dimension( * ) work, real,
dimension( * ) rwork, real, dimension( 2 ) result)
CGET52
π Purpose π
okay so CGET52 does an eigenvector check for the generalized eigenvalue problem. The basic test for right eigenvectors is:
| b(i) A E(i) - a(i) B E(i) |
RESULT(1) = max -------------------------------
i n ulp max( |b(i) A|, |a(i) B| )
and it's using the 1-norm. Here, a(i)/b(i) = w is the i-th generalized eigenvalue of A - w B, or, equivalently, b(i)/a(i) = m is the i-th generalized eigenvalue of m A - B.
For left eigenvectors, the H / bar versions of A, B, a, and b are used, like this:
H H _ _
For left eigenvectors, A , B , a, and b are used.
CGET52 also tests the normalization of E. Each eigenvector is supposed to be normalized so that the maximum of its elements is 1, where in this case the magnitude of a complex value x is |Re(x)| + |Im(x)|; call the maximum for a vector v M(v). If a(i)=b(i)=0, then the eigenvector is set to be the jth coordinate vector. The normalization test is:
RESULT(2) = max | M(v(i)) - 1 | / ( n ulp )
eigenvectors v(i)
π Parameters π
LEFTβ isLOGICAL..TRUE.means the eigenvectors in the columns ofEare assumed to be left eigenvectors..FALSE.means the eigenvectors in the columns ofEare assumed to be right eigenvectors.Nβ isINTEGER, the size of the matrices. If it is zero,CGET52does nothing. It must be at least zero.Aβ isCOMPLEX array, dimension (LDA, N), the matrixA.LDAβ isINTEGER, the leading dimension ofA. It must be at least1and at leastN.Bβ isCOMPLEX array, dimension (LDB, N), the matrixB.LDBβ isINTEGER, the leading dimension ofB. It must be at least1and at leastN.Eβ isCOMPLEX array, dimension (LDE, N), the matrix of eigenvectors. It must beO( 1 ).LDEβ isINTEGER, the leading dimension ofE. It must be at least1and at leastN.ALPHAβ isCOMPLEX array, dimension (N), the valuesa(i)as described above, which, along withb(i), define the generalized eigenvalues.BETAβ isCOMPLEX array, dimension (N), the valuesb(i)as described above, which, along witha(i), define the generalized eigenvalues.WORKβ isCOMPLEX array, dimension (N**2).RWORKβ isREAL array, dimension (N).RESULTβ isREAL array, dimension (2), the values computed by the test described above. IfA EorB Eis likely to overflow, thenRESULT(1:2)is set to10 / ulp.
bestie, that overflow note is a real one: ifA EorB Elooks like it's gonna overflow,RESULT(1:2)gets set to10 / ulp. no cap. π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Definition at line 159 of file cget52.f.
π§ Author π§
Generated automatically by Doxygen for LAPACK from the source code.
π«Ά footer energy: this page is from the LAPACK source, Version 3.12.0, for TESTING/EIG/cget52.f(3) β no date listed, just the version β and that's the whole manual page, bestie. π
π¦ 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