zgqrts.f3
Usage
Functions/Subroutines
subroutine zgqrts (n, m, p, a, af, q, r, lda, taua, b, bf, z, t, bwk, ldb, taub, work, lwork, rwork, result)
ZGQRTS
Function/Subroutine Documentation
subroutine zgqrts (integer n, integer m, integer p, 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)
ZGQRTS
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. !>
Parameters
N
!> N is INTEGER !> The number of rows of the matrices A and B. N >= 0. !>
M
!> M is INTEGER !> The number of columns of the matrix A. M >= 0. !>
P
!> P is INTEGER !> The number of columns of the matrix B. P >= 0. !>
A
!> A is COMPLEX*16 array, dimension (LDA,M) !> The N-by-M matrix A. !>
AF
!> AF is 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
!> Q is COMPLEX*16 array, dimension (LDA,N) !> The M-by-M 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 ZGGQRF. !>
B
!> B is COMPLEX*16 array, dimension (LDB,P) !> On entry, the N-by-P matrix A. !>
BF
!> BF is 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
!> Z is COMPLEX*16 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(N,M,P)**2. !>
RWORK
!> RWORK is DOUBLE PRECISION array, dimension (max(N,M,P)) !>
RESULT
!> RESULT is 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 ) !>
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 174 of file zgqrts.f.