ZQLT03

   Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
   November 2006

Purpose

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.

Arguments

M
(input) INTEGER
The order of the orthogonal matrix Q.  M >= 0.
N
(input) 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.
K
(input) INTEGER
The number of elementary reflectors whose product defines the
orthogonal matrix Q.  M >= K >= 0.
AF
(input) 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.
C
(workspace) COMPLEX*16 array, dimension (LDA,N)
CC
(workspace) COMPLEX*16 array, dimension (LDA,N)
Q
(workspace) COMPLEX*16 array, dimension (LDA,M)
LDA
(input) INTEGER
The leading dimension of the arrays AF, C, CC, and Q.
TAU
(input) COMPLEX*16 array, dimension (min(M,N))
The scalar factors of the elementary reflectors corresponding
to the QL factorization in AF.
WORK
(workspace) COMPLEX*16 array, dimension (LWORK)
LWORK
(input) INTEGER
The length of WORK.  LWORK must be at least M, and should be
M*NB, where NB is the blocksize for this environment.
RWORK
(workspace) DOUBLE PRECISION array, dimension (M)
RESULT
(output) 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 )

Call Graph

Caller Graph