ZLQT03

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

Purpose

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.

Arguments

M
(input) 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.
N
(input) INTEGER
The order of the orthogonal matrix Q.  N >= 0.
K
(input) INTEGER
The number of elementary reflectors whose product defines the
orthogonal matrix Q.  N >= K >= 0.
AF
(input) 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.
C
(workspace) COMPLEX*16 array, dimension (LDA,N)
CC
(workspace) COMPLEX*16 array, dimension (LDA,N)
Q
(workspace) COMPLEX*16 array, dimension (LDA,N)
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 LQ 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 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 )

Call Graph

Caller Graph