/home/abui.../sgsvts3.f(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… sgsvts3.f β€” the SGGSVD3 vibe-check routine

okay so bestie, this page is from the Library Functions Manual, and the whole thing lives at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/EIG/sgsvts3.f ✨ like that's the actual file, no cap.


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/EIG/sgsvts3.f β€” yes the NAME section is literally just the path, she's minimal like that πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

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

πŸŽ€ Function/Subroutine Documentation πŸŽ€

subroutine SGSVTS3

the full glow-up signature, character for character 🫢

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

πŸ”₯ 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. !>

like, it's the tester for SGGSVD3 β€” the actual GSVD girlie 🌸


πŸ’– 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. !>

those six ratios are literally the whole point, bestie β€” RESULT(6) is the alphabet-check girlie πŸ‘‘


πŸ‘‘ 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. (she's a bot but she's an icon πŸ€–βœ¨)


and that's the whole page, bestie β€” LAPACK, Version 3.12.0, dated /home/abui.../sgsvts3.f(3), signed off with love from the void of auto-generated docs πŸ’œπŸ¦‹πŸŽ€

πŸ“¦ where this page comes from