.TH "TESTING/EIG/dgsvts3.f" 3 "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME TESTING/EIG/dgsvts3.f .SH SYNOPSIS .br .PP .SS "Functions/Subroutines" .in +1c .ti -1c .RI "subroutine \fBdgsvts3\fP (m, p, n, a, af, lda, b, bf, ldb, u, ldu, v, ldv, q, ldq, alpha, beta, r, ldr, iwork, work, lwork, rwork, result)" .br .RI "\fBDGSVTS3\fP " .in -1c .SH "Function/Subroutine Documentation" .PP .SS "subroutine dgsvts3 (integer m, integer p, integer n, double precision, dimension( lda, * ) a, double precision, dimension( lda, * ) af, integer lda, double precision, dimension( ldb, * ) b, double precision, dimension( ldb, * ) bf, integer ldb, double precision, dimension( ldu, * ) u, integer ldu, double precision, dimension( ldv, * ) v, integer ldv, double precision, dimension( ldq, * ) q, integer ldq, double precision, dimension( * ) alpha, double precision, dimension( * ) beta, double precision, dimension( ldr, * ) r, integer ldr, integer, dimension( * ) iwork, double precision, dimension( lwork ) work, integer lwork, double precision, dimension( * ) rwork, double precision, dimension( 6 ) result)" .PP \fBDGSVTS3\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> DGSVTS3 tests DGGSVD3, which computes the GSVD of an M-by-N matrix A !> and a P-by-N matrix B: !> U'*A*Q = D1*R and V'*B*Q = D2*R\&. !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIM\fP .PP .nf !> M is INTEGER !> The number of rows of the matrix A\&. M >= 0\&. !> .fi .PP .br \fIP\fP .PP .nf !> P is INTEGER !> The number of rows of the matrix B\&. P >= 0\&. !> .fi .PP .br \fIN\fP .PP .nf !> N is INTEGER !> The number of columns of the matrices A and B\&. N >= 0\&. !> .fi .PP .br \fIA\fP .PP .nf !> A is DOUBLE PRECISION array, dimension (LDA,M) !> The M-by-N matrix A\&. !> .fi .PP .br \fIAF\fP .PP .nf !> AF is DOUBLE PRECISION array, dimension (LDA,N) !> Details of the GSVD of A and B, as returned by DGGSVD3, !> see DGGSVD3 for further details\&. !> .fi .PP .br \fILDA\fP .PP .nf !> LDA is INTEGER !> The leading dimension of the arrays A and AF\&. !> LDA >= max( 1,M )\&. !> .fi .PP .br \fIB\fP .PP .nf !> B is DOUBLE PRECISION array, dimension (LDB,P) !> On entry, the P-by-N matrix B\&. !> .fi .PP .br \fIBF\fP .PP .nf !> BF is DOUBLE PRECISION array, dimension (LDB,N) !> Details of the GSVD of A and B, as returned by DGGSVD3, !> see DGGSVD3 for further details\&. !> .fi .PP .br \fILDB\fP .PP .nf !> LDB is INTEGER !> The leading dimension of the arrays B and BF\&. !> LDB >= max(1,P)\&. !> .fi .PP .br \fIU\fP .PP .nf !> U is DOUBLE PRECISION array, dimension(LDU,M) !> The M by M orthogonal matrix U\&. !> .fi .PP .br \fILDU\fP .PP .nf !> LDU is INTEGER !> The leading dimension of the array U\&. LDU >= max(1,M)\&. !> .fi .PP .br \fIV\fP .PP .nf !> V is DOUBLE PRECISION array, dimension(LDV,M) !> The P by P orthogonal matrix V\&. !> .fi .PP .br \fILDV\fP .PP .nf !> LDV is INTEGER !> The leading dimension of the array V\&. LDV >= max(1,P)\&. !> .fi .PP .br \fIQ\fP .PP .nf !> Q is DOUBLE PRECISION array, dimension(LDQ,N) !> The N by N orthogonal matrix Q\&. !> .fi .PP .br \fILDQ\fP .PP .nf !> LDQ is INTEGER !> The leading dimension of the array Q\&. LDQ >= max(1,N)\&. !> .fi .PP .br \fIALPHA\fP .PP .nf !> ALPHA is DOUBLE PRECISION array, dimension (N) !> .fi .PP .br \fIBETA\fP .PP .nf !> BETA is DOUBLE PRECISION array, dimension (N) !> !> The generalized singular value pairs of A and B, the !> ``diagonal'' matrices D1 and D2 are constructed from !> ALPHA and BETA, see subroutine DGGSVD3 for details\&. !> .fi .PP .br \fIR\fP .PP .nf !> R is DOUBLE PRECISION array, dimension(LDQ,N) !> The upper triangular matrix R\&. !> .fi .PP .br \fILDR\fP .PP .nf !> LDR is INTEGER !> The leading dimension of the array R\&. LDR >= max(1,N)\&. !> .fi .PP .br \fIIWORK\fP .PP .nf !> IWORK is INTEGER array, dimension (N) !> .fi .PP .br \fIWORK\fP .PP .nf !> WORK is DOUBLE PRECISION array, dimension (LWORK) !> .fi .PP .br \fILWORK\fP .PP .nf !> LWORK is INTEGER !> The dimension of the array WORK, !> LWORK >= max(M,P,N)*max(M,P,N)\&. !> .fi .PP .br \fIRWORK\fP .PP .nf !> RWORK is DOUBLE PRECISION array, dimension (max(M,P,N)) !> .fi .PP .br \fIRESULT\fP .PP .nf !> RESULT is DOUBLE PRECISION array, dimension (6) !> The test ratios: !> RESULT(1) = norm( U'*A*Q - D1*R ) / ( MAX(M,N)*norm(A)*ULP) !> RESULT(2) = norm( V'*B*Q - D2*R ) / ( MAX(P,N)*norm(B)*ULP) !> RESULT(3) = norm( I - U'*U ) / ( M*ULP ) !> RESULT(4) = norm( I - V'*V ) / ( P*ULP ) !> RESULT(5) = norm( I - Q'*Q ) / ( N*ULP ) !> RESULT(6) = 0 if ALPHA is in decreasing order; !> = ULPINV otherwise\&. !> .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .PP Definition at line \fB207\fP of file \fBdgsvts3\&.f\fP\&. .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.