TESTING/EIG/dgsvts3.f(3)

πŸ“¦
version 3.12.1 Β· 3 versions
, in arch rolling

πŸŽ€ TESTING/EIG/dgsvts3.f(3) πŸŽ€

okay so bestie, this page comes from the Library Functions Manual, and it’s all about TESTING/EIG/dgsvts3.f. It’s the test-routine page for the GSVD vibe check, and we are keeping every parameter, constraint, formula, and author credit exactly intact. No cap. πŸ’…


✨ NAME ✨

TESTING/EIG/dgsvts3.f


πŸ¦‹ SYNOPSIS πŸ¦‹

🧚 Functions/Subroutines 🧚

  • subroutine dgsvts3 (...) β€” the full signature is right here, and then it says DGSVTS3. Iconic, honestly.
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

πŸ’… Function/Subroutine Documentation πŸ’…

okay so here’s the signature again, because this page is thorough like that, plus the DGSVTS3 label. We love consistency. 🫢

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.


okay that’s the whole page, bestie! Source/version: LAPACK Version 3.12.0, and the footer also has TESTING/EIG/dgsvts3.f(3). Date on the footer? Not listed, so we’re not making one up. Bye πŸ’œβœ¨

πŸ“¦ where this page comes from