TESTING/EIG/sgsvts3.f(3)

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

πŸ’– NAME πŸ’–

TESTING/EIG/sgsvts3.f β€” bestie, this is the LAPACK Library Functions Manual page for that file. The routine it documents is SGSVTS3, and yes, it's giving very specific matrix-testing energy. ✨

✨ SYNOPSIS ✨

Functions/Subroutines

  • sgsvts3 β€” the subroutine. Official name: SGSVTS3.
subroutine sgsvts3 (integer m, integer p, integer n, real, dimension( lda, * ) a, real, dimension( lda, * ) af, integer lda, real, dimension( ldb, * ) b, real, dimension( ldb, * ) bf, integer ldb, real, dimension( ldu, * ) u, integer ldu, real, dimension( ldv, * ) v, integer ldv, real, dimension( ldq, * ) q, integer ldq, real, dimension( * ) alpha, real, dimension( * ) beta, real, dimension( ldr, * ) r, integer ldr, integer, dimension( * ) iwork, real, dimension( lwork ) work, integer lwork, real, dimension( * ) rwork, real, dimension( 6 ) result)

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine sgsvts3 (integer m, integer p, integer n, real, dimension( lda, * ) a, real, dimension( lda, * ) af, integer lda, real, dimension( ldb, * ) b, real, dimension( ldb, * ) bf, integer ldb, real, dimension( ldu, * ) u, integer ldu, real, dimension( ldv, * ) v, integer ldv, real, dimension( ldq, * ) q, integer ldq, real, dimension( * ) alpha, real, dimension( * ) beta, real, dimension( ldr, * ) r, integer ldr, integer, dimension( * ) iwork, real, dimension( lwork ) work, integer lwork, real, dimension( * ) rwork, real, dimension( 6 ) result)

This one is SGSVTS3. Iconic name, extremely specific job. πŸ’…

🌸 Purpose 🌸

SGSVTS3 tests SGGSVD3, 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.

That's the whole point, iykyk. 🫢

πŸ’… 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 REAL array, dimension (LDA,M); the M-by-N matrix A.
  • AF β€” AF is REAL array, dimension (LDA,N); details of the GSVD of A and B, as returned by SGGSVD3, see SGGSVD3 for further details.
  • LDA β€” LDA is INTEGER; the leading dimension of the arrays A and AF. LDA >= max( 1,M ).
  • B β€” B is REAL array, dimension (LDB,P); on entry, the P-by-N matrix B.
  • BF β€” BF is REAL array, dimension (LDB,N); details of the GSVD of A and B, as returned by SGGSVD3, see SGGSVD3 for further details.
  • LDB β€” LDB is INTEGER; the leading dimension of the arrays B and BF. LDB >= max(1,P).
  • U β€” U is REAL 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 REAL 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 REAL 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 REAL array, dimension (N).
  • BETA β€” BETA is REAL 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 SGGSVD3 for details.
  • R β€” R is REAL 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 REAL 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 REAL array, dimension (max(M,P,N)).
  • RESULT β€” RESULT is REAL 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 sgsvts3.f.

🌈 Author 🌈

Generated automatically by Doxygen for LAPACK from the source code.


πŸ’– That's the whole manual, bestie! Source/version: LAPACK Version 3.12.0; page: TESTING/EIG/sgsvts3.f(3). Periodt. πŸ’…

πŸ“¦ where this page comes from