ZGET52(3)

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

πŸŽ€ ZGET52(3) πŸŽ€

okay bestie, welcome to the zget52.f(3) page from the Library Functions Manual πŸ’– the path /home/abui...IG/zget52.f(3) is doing its little header/footer cameo, but the main character here is ZGET52.


🌸 NAME 🌸

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/EIG/zget52.f

✨ 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 🎯

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

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 original notation is literally:

                        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, for a complex value x, that measure is |Re(x)| + |Im(x)|; let's 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.


and that's the whole vibe check, bestie: LAPACK Version 3.12.0, page /home/abui...IG/zget52.f(3) β€” there's no date in this footer, so no invented date energy πŸ«ΆπŸ’…

πŸ“¦ where this page comes from