# dgsvts3.f - Man Page

TESTING/EIG/dgsvts3.f

## Synopsis

### Functions/Subroutines

subroutine dgsvts3 (m, p, n, a, af, lda, b, bf, ldb, u, ldu, v, ldv, q, ldq, alpha, beta, r, ldr, iwork, work, lwork, rwork, result)
DGSVTS3

## Function/Subroutine Documentation

### 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)

DGSVTS3

Purpose:

``` 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.```
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,M)
The M-by-N matrix A.```

AF

```          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.```

LDA

```          LDA is INTEGER
The leading dimension of the arrays A and AF.
LDA >= max( 1,M ).```

B

```          B is DOUBLE PRECISION array, dimension (LDB,P)
On entry, the P-by-N matrix B.```

BF

```          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.```

LDB

```          LDB is INTEGER
The leading dimension of the arrays B and BF.
LDB >= max(1,P).```

U

```          U is DOUBLE PRECISION array, dimension(LDU,M)
The M by M orthogonal matrix U.```

LDU

```          LDU is INTEGER
The leading dimension of the array U. LDU >= max(1,M).```

V

```          V is DOUBLE PRECISION array, dimension(LDV,M)
The P by P orthogonal matrix V.```

LDV

```          LDV is INTEGER
The leading dimension of the array V. LDV >= max(1,P).```

Q

```          Q is DOUBLE PRECISION array, dimension(LDQ,N)
The N by N orthogonal matrix Q.```

LDQ

```          LDQ is INTEGER
The leading dimension of the array Q. LDQ >= max(1,N).```

ALPHA

`          ALPHA is DOUBLE PRECISION array, dimension (N)`

BETA

```          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.```

R

```          R is DOUBLE PRECISION array, dimension(LDQ,N)
The upper triangular matrix R.```

LDR

```          LDR is INTEGER
The leading dimension of the array R. LDR >= max(1,N).```

IWORK

`          IWORK is INTEGER array, dimension (N)`

WORK

`          WORK is DOUBLE PRECISION array, dimension (LWORK)`

LWORK

```          LWORK is INTEGER
The dimension of the array WORK,
LWORK >= max(M,P,N)*max(M,P,N).```

RWORK

`          RWORK is DOUBLE PRECISION array, dimension (max(M,P,N))`

RESULT

```          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.```
Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 207 of file dgsvts3.f.

## Author

Generated automatically by Doxygen for LAPACK from the source code.

## Referenced By

The man page dgsvts3(3) is an alias of dgsvts3.f(3).

Tue Nov 28 2023 12:08:42 Version 3.12.0 LAPACK