LAPACK
3.6.1
LAPACK: Linear Algebra PACKage
|
subroutine zqrt03 | ( | 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 | ||
) |
ZQRT03
ZQRT03 tests ZUNMQR, which computes Q*C, Q'*C, C*Q or C*Q'. ZQRT03 compares the results of a call to ZUNMQR with the results of forming Q explicitly by a call to ZUNGQR 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 QR factorization of an m-by-n matrix, as returned by ZGEQRF. See ZGEQRF 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 QR 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 138 of file zqrt03.f.