![]() |
LAPACK
3.7.0
LAPACK: Linear Algebra PACKage
|
subroutine zlqt03 | ( | 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 | ||
) |
ZLQT03
ZLQT03 tests ZUNMLQ, which computes Q*C, Q'*C, C*Q or C*Q'. ZLQT03 compares the results of a call to ZUNMLQ with the results of forming Q explicitly by a call to ZUNGLQ and then performing matrix multiplication by a call to ZGEMM.
[in] | M | M is INTEGER The number of rows or columns of the matrix C; C is n-by-m if Q is applied from the left, or m-by-n if Q is applied from the right. M >= 0. |
[in] | N | N is INTEGER The order of the orthogonal matrix Q. N >= 0. |
[in] | K | K is INTEGER The number of elementary reflectors whose product defines the orthogonal matrix Q. N >= K >= 0. |
[in] | AF | AF is COMPLEX*16 array, dimension (LDA,N) Details of the LQ factorization of an m-by-n matrix, as returned by ZGELQF. See CGELQF 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,N) |
[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 LQ 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 n-by-n orthogonal matrix Q. RESULT(1) = norm( Q*C - Q*C ) / ( N * norm(C) * EPS ) RESULT(2) = norm( C*Q - C*Q ) / ( N * norm(C) * EPS ) RESULT(3) = norm( Q'*C - Q'*C )/ ( N * norm(C) * EPS ) RESULT(4) = norm( C*Q' - C*Q' )/ ( N * norm(C) * EPS ) |
Definition at line 138 of file zlqt03.f.