TESTING/EIG/zgsvts3.f(3) Library Functions Manual TESTING/EIG/zgsvts3.f(3)

TESTING/EIG/zgsvts3.f


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

ZGSVTS3

Purpose:

 ZGSVTS3 tests ZGGSVD3, 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 COMPLEX*16 array, dimension (LDA,M)
          The M-by-N matrix A.

AF

          AF is COMPLEX*16 array, dimension (LDA,N)
          Details of the GSVD of A and B, as returned by ZGGSVD3,
          see ZGGSVD3 for further details.

LDA

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

B

          B is COMPLEX*16 array, dimension (LDB,P)
          On entry, the P-by-N matrix B.

BF

          BF is COMPLEX*16 array, dimension (LDB,N)
          Details of the GSVD of A and B, as returned by ZGGSVD3,
          see ZGGSVD3 for further details.

LDB

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

U

          U is COMPLEX*16 array, dimension(LDU,M)
          The M by M unitary matrix U.

LDU

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

V

          V is COMPLEX*16 array, dimension(LDV,M)
          The P by P unitary matrix V.

LDV

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

Q

          Q is COMPLEX*16 array, dimension(LDQ,N)
          The N by N unitary 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 ZGGSVD3 for details.

R

          R is COMPLEX*16 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 COMPLEX*16 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 206 of file zgsvts3.f.

Generated automatically by Doxygen for LAPACK from the source code.

Version 3.12.0 LAPACK