CGET52(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

🌸 NAME 🌸

This is the manual page for /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/EIG/cget52.f β€” yes bestie, that exact path, no cap. The title vibe is cget52.f(3), and it lives in the Library Functions Manual 🫢.


✨ 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. It's giving "trust but verify" energy, fr fr.

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| )

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, A^H, B^H, a, and b are used. bestie, it's giving transpose-conjugate realness πŸ’….

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, for a complex value x, the measure is |Re(x)| + |Im(x)| ; let us call this maximum norm of 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 β€” LEFT is LOGICAL; =.TRUE. means the eigenvectors in the columns of E are assumed to be left eigenvectors; =.FALSE. means the eigenvectors in the columns of E are assumed to be right eigenvectors.
  • N β€” N is INTEGER; the size of the matrices. If it is zero, CGET52 does nothing. It must be at least zero.
  • A β€” A is COMPLEX array, dimension (LDA, N); the matrix A.
  • LDA β€” LDA is INTEGER; the leading dimension of A. It must be at least 1 and at least N.
  • B β€” B is COMPLEX array, dimension (LDB, N); the matrix B.
  • LDB β€” LDB is INTEGER; the leading dimension of B. It must be at least 1 and at least N.
  • E β€” E is COMPLEX array, dimension (LDE, N); the matrix of eigenvectors. It must be O( 1 ).
  • LDE β€” LDE is INTEGER; the leading dimension of E. It must be at least 1 and at least N.
  • ALPHA β€” ALPHA is COMPLEX array, dimension (N); the values a(i) as described above, which, along with b(i), define the generalized eigenvalues.
  • BETA β€” BETA is COMPLEX array, dimension (N); the values b(i) as described above, which, along with a(i), define the generalized eigenvalues.
  • WORK β€” WORK is COMPLEX array, dimension (N**2).
  • RWORK β€” RWORK is REAL array, dimension (N).
  • RESULT β€” RESULT is REAL array, dimension (2); the values computed by the test described above. If A E or B E is likely to overflow, then RESULT(1:2) is set to 10 / ulp.

πŸ‘‘ 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.


byeee bestie, this was LAPACK Version 3.12.0, and the footer path is /home/abui...IG/cget52.f(3) πŸ’œβœ¨

πŸ“¦ where this page comes from