dgrqts.f3
Usage
Functions/Subroutines
subroutine dgrqts (m, p, n, a, af, q, r, lda, taua, b, bf, z, t, bwk, ldb, taub, work, lwork, rwork, result)
DGRQTS
Function/Subroutine Documentation
subroutine dgrqts (integer m, integer p, integer n, double precision, dimension( lda, * ) a, double precision, dimension( lda, * ) af, double precision, dimension( lda, * ) q, double precision, dimension( lda, * ) r, integer lda, double precision, dimension( * ) taua, double precision, dimension( ldb, * ) b, double precision, dimension( ldb, * ) bf, double precision, dimension( ldb, * ) z, double precision, dimension( ldb, * ) t, double precision, dimension( ldb, * ) bwk, integer ldb, double precision, dimension( * ) taub, double precision, dimension( lwork ) work, integer lwork, double precision, dimension( * ) rwork, double precision, dimension( 4 ) result)
DGRQTS
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. !>
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 DOUBLE PRECISION array, dimension (LDA,N) !> The M-by-N matrix A. !>
AF
!> AF is 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
!> Q is DOUBLE PRECISION array, dimension (LDA,N) !> The N-by-N orthogonal matrix Q. !>
R
!> R is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors, as returned !> by DGGQRC. !>
B
!> B is DOUBLE PRECISION array, dimension (LDB,N) !> On entry, the P-by-N matrix A. !>
BF
!> BF is 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
!> Z is DOUBLE PRECISION array, dimension (LDB,P) !> The P-by-P orthogonal matrix Z. !>
T
!> T is DOUBLE PRECISION array, dimension (LDB,max(P,N)) !>
BWK
!> BWK is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (min(P,N)) !> The scalar factors of the elementary reflectors, as returned !> by DGGRQF. !>
WORK
!> WORK is DOUBLE PRECISION 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 dgrqts.f.