TESTING/EIG/zget52.f(3) Library Functions Manual TESTING/EIG/zget52.f(3) NAME 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. 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. 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 'absolute value' of its elements is 1, where in this case, 'absolute value' of a complex value x is |Re(x)| + |Im(x)| ; let us call this maximum 'absolute value' 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. LAPACK Version 3.12.0 TESTING/EIG/zget52.f(3)