LAPACK
3.6.1
LAPACK: Linear Algebra PACKage
|
subroutine chst01 | ( | integer | N, |
integer | ILO, | ||
integer | IHI, | ||
complex, dimension( lda, * ) | A, | ||
integer | LDA, | ||
complex, dimension( ldh, * ) | H, | ||
integer | LDH, | ||
complex, dimension( ldq, * ) | Q, | ||
integer | LDQ, | ||
complex, dimension( lwork ) | WORK, | ||
integer | LWORK, | ||
real, dimension( * ) | RWORK, | ||
real, dimension( 2 ) | RESULT | ||
) |
CHST01
CHST01 tests the reduction of a general matrix A to upper Hessenberg form: A = Q*H*Q'. Two test ratios are computed; RESULT(1) = norm( A - Q*H*Q' ) / ( norm(A) * N * EPS ) RESULT(2) = norm( I - Q'*Q ) / ( N * EPS ) The matrix Q is assumed to be given explicitly as it would be following CGEHRD + CUNGHR. In this version, ILO and IHI are not used, but they could be used to save some work if this is desired.
[in] | N | N is INTEGER The order of the matrix A. N >= 0. |
[in] | ILO | ILO is INTEGER |
[in] | IHI | IHI is INTEGER A is assumed to be upper triangular in rows and columns 1:ILO-1 and IHI+1:N, so Q differs from the identity only in rows and columns ILO+1:IHI. |
[in] | A | A is COMPLEX array, dimension (LDA,N) The original n by n matrix A. |
[in] | LDA | LDA is INTEGER The leading dimension of the array A. LDA >= max(1,N). |
[in] | H | H is COMPLEX array, dimension (LDH,N) The upper Hessenberg matrix H from the reduction A = Q*H*Q' as computed by CGEHRD. H is assumed to be zero below the first subdiagonal. |
[in] | LDH | LDH is INTEGER The leading dimension of the array H. LDH >= max(1,N). |
[in] | Q | Q is COMPLEX array, dimension (LDQ,N) The orthogonal matrix Q from the reduction A = Q*H*Q' as computed by CGEHRD + CUNGHR. |
[in] | LDQ | LDQ is INTEGER The leading dimension of the array Q. LDQ >= max(1,N). |
[out] | WORK | WORK is COMPLEX array, dimension (LWORK) |
[in] | LWORK | LWORK is INTEGER The length of the array WORK. LWORK >= 2*N*N. |
[out] | RWORK | RWORK is REAL array, dimension (N) |
[out] | RESULT | RESULT is REAL array, dimension (2) RESULT(1) = norm( A - Q*H*Q' ) / ( norm(A) * N * EPS ) RESULT(2) = norm( I - Q'*Q ) / ( N * EPS ) |
Definition at line 142 of file chst01.f.