sgqrts.f3
Usage
Functions/Subroutines
subroutine sgqrts (n, m, p, a, af, q, r, lda, taua, b, bf, z, t, bwk, ldb, taub, work, lwork, rwork, result)
SGQRTS
Function/Subroutine Documentation
subroutine sgqrts (integer n, integer m, integer p, real, dimension( lda, * ) a, real, dimension( lda, * ) af, real, dimension( lda, * ) q, real, dimension( lda, * ) r, integer lda, real, dimension( * ) taua, real, dimension( ldb, * ) b, real, dimension( ldb, * ) bf, real, dimension( ldb, * ) z, real, dimension( ldb, * ) t, real, dimension( ldb, * ) bwk, integer ldb, real, dimension( * ) taub, real, dimension( lwork ) work, integer lwork, real, dimension( * ) rwork, real, dimension( 4 ) result)
SGQRTS
Purpose:
!> !> SGQRTS tests SGGQRF, 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 REAL array, dimension (LDA,M) !> The N-by-M matrix A. !>
AF
!> AF is REAL array, dimension (LDA,N) !> Details of the GQR factorization of A and B, as returned !> by SGGQRF, see SGGQRF for further details. !>
Q
!> Q is REAL array, dimension (LDA,N) !> The M-by-M orthogonal matrix Q. !>
R
!> R is REAL 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 REAL array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors, as returned !> by SGGQRF. !>
B
!> B is REAL array, dimension (LDB,P) !> On entry, the N-by-P matrix A. !>
BF
!> BF is REAL array, dimension (LDB,N) !> Details of the GQR factorization of A and B, as returned !> by SGGQRF, see SGGQRF for further details. !>
Z
!> Z is REAL array, dimension (LDB,P) !> The P-by-P orthogonal matrix Z. !>
T
!> T is REAL array, dimension (LDB,max(P,N)) !>
BWK
!> BWK is REAL 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 REAL array, dimension (min(P,N)) !> The scalar factors of the elementary reflectors, as returned !> by SGGRQF. !>
WORK
!> WORK is REAL array, dimension (LWORK) !>
LWORK
!> LWORK is INTEGER !> The dimension of the array WORK, LWORK >= max(N,M,P)**2. !>
RWORK
!> RWORK is REAL array, dimension (max(N,M,P)) !>
RESULT
!> RESULT is REAL 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 sgqrts.f.