TESTING/EIG/zget52.f(3)

πŸ“¦
version 3.12.1 Β· 2 versions
, in arch rolling

πŸ’… NAME πŸ’…

Hey bestie, welcome to the TESTING/EIG/zget52.f(3) page from the Library Functions Manual ✨. This one is all about the zget52 subroutine β€” aka ZGET52 β€” and it's doing an eigenvector check for the generalized eigenvalue problem. Obsessed πŸ’–.

✨ SYNOPSIS ✨

🌈 Functions/Subroutines 🌈

subroutine zget52 (left, n, a, lda, b, ldb, e, lde, alpha, beta, work,
    rwork, result)
    ZGET52

🧚 Function/Subroutine Documentation 🧚

subroutine zget52 (logical left, integer n, complex*16, dimension( lda, * )
    a, integer lda, complex*16, dimension( ldb, * ) b, integer ldb,
    complex*16, dimension( lde, * ) e, integer lde, complex*16, dimension( *
    ) alpha, complex*16, dimension( * ) beta, complex*16, dimension( * )
    work, double precision, dimension( * ) rwork, double precision,
    dimension( 2 ) result)
    ZGET52

πŸŽ€ Purpose πŸŽ€

Okay so ZGET52 does an eigenvector check for the generalized eigenvalue problem. Periodt πŸ’….

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

It uses 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, B, a, and b are used with the H/H/bar situation:

                         H   H  _      _
For left eigenvectors, A , B , a, and b  are used.

ZGET52 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 norm of a complex value x 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.: the eigenvectors in the columns of E are assumed to be left eigenvectors. =.FALSE.: 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, ZGET52 does nothing. It must be at least zero.
  • A β€” A is COMPLEX*16 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*16 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*16 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*16 array, dimension (N). The values a(i) as described above, which, along with b(i), define the generalized eigenvalues.
  • BETA β€” BETA is COMPLEX*16 array, dimension (N). The values b(i) as described above, which, along with a(i), define the generalized eigenvalues.
  • WORK β€” WORK is COMPLEX*16 array, dimension (N**2).
  • RWORK β€” RWORK is DOUBLE PRECISION array, dimension (N).
  • RESULT β€” RESULT is DOUBLE PRECISION 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 160 of file zget52.f.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code.


Bye bestie πŸ’– β€” the footer/source/version/date tea is: LAPACK, Version 3.12.0, and TESTING/EIG/zget52.f(3). No separate date is listed in this footer, so that's the whole situation. Mwah πŸ’…βœ¨

πŸ“¦ where this page comes from