LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
|
subroutine zqlt03 | ( | integer | m, |
integer | n, | ||
integer | k, | ||
complex*16, dimension( lda, * ) | af, | ||
complex*16, dimension( lda, * ) | c, | ||
complex*16, dimension( lda, * ) | cc, | ||
complex*16, dimension( lda, * ) | q, | ||
integer | lda, | ||
complex*16, dimension( * ) | tau, | ||
complex*16, dimension( lwork ) | work, | ||
integer | lwork, | ||
double precision, dimension( * ) | rwork, | ||
double precision, dimension( * ) | result | ||
) |
ZQLT03
ZQLT03 tests ZUNMQL, which computes Q*C, Q'*C, C*Q or C*Q'. ZQLT03 compares the results of a call to ZUNMQL with the results of forming Q explicitly by a call to ZUNGQL and then performing matrix multiplication by a call to ZGEMM.
[in] | M | M is INTEGER The order of the orthogonal matrix Q. M >= 0. |
[in] | N | N is INTEGER The number of rows or columns of the matrix C; C is m-by-n if Q is applied from the left, or n-by-m if Q is applied from the right. N >= 0. |
[in] | K | K is INTEGER The number of elementary reflectors whose product defines the orthogonal matrix Q. M >= K >= 0. |
[in] | AF | AF is COMPLEX*16 array, dimension (LDA,N) Details of the QL factorization of an m-by-n matrix, as returned by ZGEQLF. See CGEQLF for further details. |
[out] | C | C is COMPLEX*16 array, dimension (LDA,N) |
[out] | CC | CC is COMPLEX*16 array, dimension (LDA,N) |
[out] | Q | Q is COMPLEX*16 array, dimension (LDA,M) |
[in] | LDA | LDA is INTEGER The leading dimension of the arrays AF, C, CC, and Q. |
[in] | TAU | TAU is COMPLEX*16 array, dimension (min(M,N)) The scalar factors of the elementary reflectors corresponding to the QL factorization in AF. |
[out] | WORK | WORK is COMPLEX*16 array, dimension (LWORK) |
[in] | LWORK | LWORK is INTEGER The length of WORK. LWORK must be at least M, and should be M*NB, where NB is the blocksize for this environment. |
[out] | RWORK | RWORK is DOUBLE PRECISION array, dimension (M) |
[out] | RESULT | RESULT is DOUBLE PRECISION array, dimension (4) The test ratios compare two techniques for multiplying a random matrix C by an m-by-m orthogonal matrix Q. RESULT(1) = norm( Q*C - Q*C ) / ( M * norm(C) * EPS ) RESULT(2) = norm( C*Q - C*Q ) / ( M * norm(C) * EPS ) RESULT(3) = norm( Q'*C - Q'*C )/ ( M * norm(C) * EPS ) RESULT(4) = norm( C*Q' - C*Q' )/ ( M * norm(C) * EPS ) |
Definition at line 134 of file zqlt03.f.