![]() |
LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
|
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
!> !> 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 !> of its elements is 1, where in this case, !> 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) !> !>
[in] | 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. !> |
[in] | N | !> N is INTEGER !> The size of the matrices. If it is zero, ZGET52 does !> nothing. It must be at least zero. !> |
[in] | A | !> A is COMPLEX*16 array, dimension (LDA, N) !> The matrix A. !> |
[in] | LDA | !> LDA is INTEGER !> The leading dimension of A. It must be at least 1 !> and at least N. !> |
[in] | B | !> B is COMPLEX*16 array, dimension (LDB, N) !> The matrix B. !> |
[in] | LDB | !> LDB is INTEGER !> The leading dimension of B. It must be at least 1 !> and at least N. !> |
[in] | E | !> E is COMPLEX*16 array, dimension (LDE, N) !> The matrix of eigenvectors. It must be O( 1 ). !> |
[in] | LDE | !> LDE is INTEGER !> The leading dimension of E. It must be at least 1 and at !> least N. !> |
[in] | ALPHA | !> ALPHA is COMPLEX*16 array, dimension (N) !> The values a(i) as described above, which, along with b(i), !> define the generalized eigenvalues. !> |
[in] | BETA | !> BETA is COMPLEX*16 array, dimension (N) !> The values b(i) as described above, which, along with a(i), !> define the generalized eigenvalues. !> |
[out] | WORK | !> WORK is COMPLEX*16 array, dimension (N**2) !> |
[out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
[out] | 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. !> |
Definition at line 160 of file zget52.f.