ZGQRTS
   Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
November 2006
November 2006
Purpose
ZGQRTS tests ZGGQRF, which computes the GQR factorization of an
N-by-M matrix A and a N-by-P matrix B: A = Q*R and B = Q*T*Z.
N-by-M matrix A and a N-by-P matrix B: A = Q*R and B = Q*T*Z.
Arguments
| N | 
 
(input) INTEGER
 
The number of rows of the matrices A and B.  N >= 0. 
 | 
| M | 
 
(input) INTEGER
 
The number of columns of the matrix A.  M >= 0. 
 | 
| P | 
 
(input) INTEGER
 
The number of columns of the matrix B.  P >= 0. 
 | 
| A | 
 
(input) COMPLEX*16 array, dimension (LDA,M)
 
The N-by-M matrix A. 
 | 
| AF | 
 
(output) COMPLEX*16 array, dimension (LDA,N)
 
Details of the GQR factorization of A and B, as returned 
by ZGGQRF, see CGGQRF for further details.  | 
| Q | 
 
(output) COMPLEX*16 array, dimension (LDA,N)
 
The M-by-M unitary matrix Q. 
 | 
| R | 
 
(workspace) COMPLEX*16 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) COMPLEX*16 array, dimension (min(M,N))
 
The scalar factors of the elementary reflectors, as returned 
by ZGGQRF.  | 
| B | 
 
(input) COMPLEX*16 array, dimension (LDB,P)
 
On entry, the N-by-P matrix A. 
 | 
| BF | 
 
(output) COMPLEX*16 array, dimension (LDB,N)
 
Details of the GQR factorization of A and B, as returned 
by ZGGQRF, see CGGQRF for further details.  | 
| Z | 
 
(output) COMPLEX*16 array, dimension (LDB,P)
 
The P-by-P unitary matrix Z. 
 | 
| T | 
 
(workspace) COMPLEX*16 array, dimension (LDB,max(P,N))
 
 | 
| BWK | 
 
(workspace) COMPLEX*16 array, dimension (LDB,N)
 
 | 
| LDB | 
 
(input) INTEGER
 
The leading dimension of the arrays B, BF, Z and T. 
LDB >= max(P,N).  | 
| TAUB | 
 
(output) COMPLEX*16 array, dimension (min(P,N))
 
The scalar factors of the elementary reflectors, as returned 
by DGGRQF.  | 
| WORK | 
 
(workspace) COMPLEX*16 array, dimension (LWORK)
 
 | 
| LWORK | 
 
(input) INTEGER
 
The dimension of the array WORK, LWORK >= max(N,M,P)**2. 
 | 
| RWORK | 
 
(workspace) DOUBLE PRECISION array, dimension (max(N,M,P))
 
 | 
| RESULT | 
 
(output) DOUBLE PRECISION array, dimension (4)
 
The test ratios: 
RESULT(1) = norm( R - Q'*A ) / ( MAX(M,N)*norm(A)*ULP) RESULT(2) = norm( T*Z - Q'*B ) / (MAX(P,N)*norm(B)*ULP) RESULT(3) = norm( I - Q'*Q ) / ( M*ULP ) RESULT(4) = norm( I - Z'*Z ) / ( P*ULP )  |