![]() |
LAPACK
3.9.0
LAPACK: Linear Algebra PACKage
|
| subroutine sget53 | ( | real, dimension( lda, * ) | A, |
| integer | LDA, | ||
| real, dimension( ldb, * ) | B, | ||
| integer | LDB, | ||
| real | SCALE, | ||
| real | WR, | ||
| real | WI, | ||
| real | RESULT, | ||
| integer | INFO | ||
| ) |
SGET53
SGET53 checks the generalized eigenvalues computed by SLAG2.
The basic test for an eigenvalue is:
| det( s A - w B ) |
RESULT = ---------------------------------------------------
ulp max( s norm(A), |w| norm(B) )*norm( s A - w B )
Two "safety checks" are performed:
(1) ulp*max( s*norm(A), |w|*norm(B) ) must be at least
safe_minimum. This insures that the test performed is
not essentially det(0*A + 0*B)=0.
(2) s*norm(A) + |w|*norm(B) must be less than 1/safe_minimum.
This insures that s*A - w*B will not overflow.
If these tests are not passed, then s and w are scaled and
tested anyway, if this is possible. | [in] | A | A is REAL array, dimension (LDA, 2)
The 2x2 matrix A. |
| [in] | LDA | LDA is INTEGER
The leading dimension of A. It must be at least 2. |
| [in] | B | B is REAL array, dimension (LDB, N)
The 2x2 upper-triangular matrix B. |
| [in] | LDB | LDB is INTEGER
The leading dimension of B. It must be at least 2. |
| [in] | SCALE | SCALE is REAL
The "scale factor" s in the formula s A - w B . It is
assumed to be non-negative. |
| [in] | WR | WR is REAL
The real part of the eigenvalue w in the formula
s A - w B . |
| [in] | WI | WI is REAL
The imaginary part of the eigenvalue w in the formula
s A - w B . |
| [out] | RESULT | RESULT is REAL
If INFO is 2 or less, the value computed by the test
described above.
If INFO=3, this will just be 1/ulp. |
| [out] | INFO | INFO is INTEGER
=0: The input data pass the "safety checks".
=1: s*norm(A) + |w|*norm(B) > 1/safe_minimum.
=2: ulp*max( s*norm(A), |w|*norm(B) ) < safe_minimum
=3: same as INFO=2, but s and w could not be scaled so
as to compute the test. |
Definition at line 128 of file sget53.f.