zgrqts.f3
Usage
Functions/Subroutines
subroutine zgrqts (m, p, n, a, af, q, r, lda, taua, b, bf, z, t, bwk, ldb, taub, work, lwork, rwork, result)
ZGRQTS
Function/Subroutine Documentation
subroutine zgrqts (integer m, integer p, integer n, complex*16, dimension( lda, * ) a, complex*16, dimension( lda, * ) af, complex*16, dimension( lda, * ) q, complex*16, dimension( lda, * ) r, integer lda, complex*16, dimension( * ) taua, complex*16, dimension( ldb, * ) b, complex*16, dimension( ldb, * ) bf, complex*16, dimension( ldb, * ) z, complex*16, dimension( ldb, * ) t, complex*16, dimension( ldb, * ) bwk, integer ldb, complex*16, dimension( * ) taub, complex*16, dimension( lwork ) work, integer lwork, double precision, dimension( * ) rwork, double precision, dimension( 4 ) result)
ZGRQTS
Purpose:
!> !> ZGRQTS tests ZGGRQF, 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. !>
Parameters
M
!> M is INTEGER !> The number of rows of the matrix A. M >= 0. !>
P
!> P is INTEGER !> The number of rows of the matrix B. P >= 0. !>
N
!> N is INTEGER !> The number of columns of the matrices A and B. N >= 0. !>
A
!> A is COMPLEX*16 array, dimension (LDA,N) !> The M-by-N matrix A. !>
AF
!> AF is COMPLEX*16 array, dimension (LDA,N) !> Details of the GRQ factorization of A and B, as returned !> by ZGGRQF, see CGGRQF for further details. !>
Q
!> Q is COMPLEX*16 array, dimension (LDA,N) !> The N-by-N unitary matrix Q. !>
R
!> R is COMPLEX*16 array, dimension (LDA,MAX(M,N)) !>
LDA
!> LDA is INTEGER !> The leading dimension of the arrays A, AF, R and Q. !> LDA >= max(M,N). !>
TAUA
!> TAUA is COMPLEX*16 array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors, as returned !> by DGGQRC. !>
B
!> B is COMPLEX*16 array, dimension (LDB,N) !> On entry, the P-by-N matrix A. !>
BF
!> BF is COMPLEX*16 array, dimension (LDB,N) !> Details of the GQR factorization of A and B, as returned !> by ZGGRQF, see CGGRQF for further details. !>
Z
!> Z is DOUBLE PRECISION array, dimension (LDB,P) !> The P-by-P unitary matrix Z. !>
T
!> T is COMPLEX*16 array, dimension (LDB,max(P,N)) !>
BWK
!> BWK is COMPLEX*16 array, dimension (LDB,N) !>
LDB
!> LDB is INTEGER !> The leading dimension of the arrays B, BF, Z and T. !> LDB >= max(P,N). !>
TAUB
!> TAUB is COMPLEX*16 array, dimension (min(P,N)) !> The scalar factors of the elementary reflectors, as returned !> by DGGRQF. !>
WORK
!> WORK is COMPLEX*16 array, dimension (LWORK) !>
LWORK
!> LWORK is INTEGER !> The dimension of the array WORK, LWORK >= max(M,P,N)**2. !>
RWORK
!> RWORK is DOUBLE PRECISION array, dimension (M) !>
RESULT
!> RESULT is 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 ) !>
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 174 of file zgrqts.f.