DGRQTS

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

Purpose

DGRQTS tests DGGRQF, which computes the GRQ factorization of an
M-by-N matrix A and a P-by-N matrix B: A = R*Q and B = Z*T*Q.

Arguments

M
(input) INTEGER
The number of rows of the matrix A.  M >= 0.
P
(input) INTEGER
The number of rows of the matrix B.  P >= 0.
N
(input) INTEGER
The number of columns of the matrices A and B.  N >= 0.
A
(input) DOUBLE PRECISION array, dimension (LDA,N)
The M-by-N matrix A.
AF
(output) DOUBLE PRECISION array, dimension (LDA,N)
Details of the GRQ factorization of A and B, as returned
by DGGRQF, see SGGRQF for further details.
Q
(output) DOUBLE PRECISION array, dimension (LDA,N)
The N-by-N orthogonal matrix Q.
R
(workspace) DOUBLE PRECISION array, dimension (LDA,MAX(M,N))
LDA
(input) INTEGER
The leading dimension of the arrays A, AF, R and Q.
LDA >= max(M,N).
TAUA
(output) DOUBLE PRECISION array, dimension (min(M,N))
The scalar factors of the elementary reflectors, as returned
by DGGQRC.
B
(input) DOUBLE PRECISION array, dimension (LDB,N)
On entry, the P-by-N matrix A.
BF
(output) DOUBLE PRECISION array, dimension (LDB,N)
Details of the GQR factorization of A and B, as returned
by DGGRQF, see SGGRQF for further details.
Z
(output) DOUBLE PRECISION array, dimension (LDB,P)
The P-by-P orthogonal matrix Z.
T
(workspace) DOUBLE PRECISION array, dimension (LDB,max(P,N))
BWK
(workspace) DOUBLE PRECISION array, dimension (LDB,N)
LDB
(input) INTEGER
The leading dimension of the arrays B, BF, Z and T.
LDB >= max(P,N).
TAUB
(output) DOUBLE PRECISION array, dimension (min(P,N))
The scalar factors of the elementary reflectors, as returned
by DGGRQF.
WORK
(workspace) DOUBLE PRECISION array, dimension (LWORK)
LWORK
(input) INTEGER
The dimension of the array WORK, LWORK >= max(M,P,N)**2.
RWORK
(workspace) DOUBLE PRECISION array, dimension (M)
RESULT
(output) DOUBLE PRECISION array, dimension (4)
The test ratios:
  RESULT(1) = norm( R - A*Q' ) / ( MAX(M,N)*norm(A)*ULP)
  RESULT(2) = norm( T*Q - Z'*B ) / (MAX(P,N)*norm(B)*ULP)
  RESULT(3) = norm( I - Q'*Q ) / ( N*ULP )
  RESULT(4) = norm( I - Z'*Z ) / ( P*ULP )

Call Graph

Caller Graph