/home/abui...D/sggsvp.f(3)
π NAME π
Bestie, welcome to the manual page for /home/abui...D/sggsvp.f(3) β it lives in the Library Functions Manual. The source file is this whole iconic path:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/DEPRECATED/sggsvp.f
β¨ SYNOPSIS β¨
π Functions/Subroutines π
Hereβs the callable tea β β the subroutine signature exactly as it appears:
subroutine SGGSVP (jobu, jobv, jobq, m, p, n, a, lda, b, ldb, tola,
tolb, k, l, u, ldu, v, ldv, q, ldq, iwork, tau, work, info)
And the name itself: SGGSVP.
π«Ά Function/Subroutine Documentation π«Ά
Okay so hereβs the full signature again, no cap:
subroutine SGGSVP (character jobu, character jobv, character jobq, integer
m, integer p, integer n, real, dimension( lda, * ) a, integer lda, real,
dimension( ldb, * ) b, integer ldb, real tola, real tolb, integer k,
integer l, real, dimension( ldu, * ) u, integer ldu, real, dimension(
ldv, * ) v, integer ldv, real, dimension( ldq, * ) q, integer ldq,
integer, dimension( * ) iwork, real, dimension( * ) tau, real,
dimension( * ) work, integer info)
SGGSVP
π Purpose π
Gather round, bestie β the source has a whole vibe check at the top. It says, loud and clear:
!>
!> This routine is deprecated and has been replaced by routine SGGSVP3.
!>
!> SGGSVP computes orthogonal matrices U, V and Q such that
!>
!> N-K-L K L
!> U**T*A*Q = K ( 0 A12 A13 ) if M-K-L >= 0;
!> L ( 0 0 A23 )
!> M-K-L ( 0 0 0 )
!>
!> N-K-L K L
!> = K ( 0 A12 A13 ) if M-K-L < 0;
!> M-K ( 0 0 A23 )
!>
!> N-K-L K L
!> V**T*B*Q = L ( 0 0 B13 )
!> P-L ( 0 0 0 )
!>
!> where the K-by-K matrix A12 and L-by-L matrix B13 are nonsingular
!> upper triangular; A23 is L-by-L upper triangular if M-K-L >= 0,
!> otherwise A23 is (M-K)-by-L upper trapezoidal. K+L = the effective
!> numerical rank of the (M+P)-by-N matrix (A**T,B**T)**T.
!>
!> This decomposition is the preprocessing step for computing the
!> Generalized Singular Value Decomposition (GSVD), see subroutine
!> SGGSVD.
!>
π¨ Deprecated alert: this routine is deprecated and has been replaced by routineSGGSVP3. It computes orthogonal matricesU,VandQ, and itβs the preprocessing step for computing the Generalized Singular Value Decomposition (GSVD), see subroutineSGGSVD.
π Parameters π
πΉ JOBU
JOBU is CHARACTER*1.
- =
'U': Orthogonal matrixUis computed β¨ - =
'N':Uis not computed
πΉ JOBV
JOBV is CHARACTER*1.
- =
'V': Orthogonal matrixVis computed β¨ - =
'N':Vis not computed
πΉ JOBQ
JOBQ is CHARACTER*1.
- =
'Q': Orthogonal matrixQis computed β¨ - =
'N':Qis not computed
πΉ M
M is INTEGER. Itβs the number of rows of the matrix A. Requirement: M >= 0.
πΉ P
P is INTEGER. Itβs the number of rows of the matrix B. Requirement: P >= 0.
πΉ N
N is INTEGER. Itβs the number of columns of the matrices A and B. Requirement: N >= 0.
πΉ A
A is a REAL array, dimension (LDA,N).
On entry, itβs the M-by-N matrix A.
On exit, A contains the triangular (or trapezoidal) matrix described in the Purpose section. π
πΉ LDA
LDA is INTEGER. Itβs the leading dimension of the array A. Requirement: LDA >= max(1,M).
πΉ B
B is a REAL array, dimension (LDB,N).
On entry, itβs the P-by-N matrix B.
On exit, B contains the triangular matrix described in the Purpose section.
πΉ LDB
LDB is INTEGER. Itβs the leading dimension of the array B. Requirement: LDB >= max(1,P).
πΉ TOLA
TOLA is REAL.
πΉ TOLB
TOLB is REAL.
TOLA and TOLB are the thresholds to determine the effective numerical rank of matrix B and a subblock of A. Generally, they are set to:
TOLA = MAX(M,N)*norm(A)*MACHEPS,
TOLB = MAX(P,N)*norm(B)*MACHEPS.
The size of TOLA and TOLB may affect the size of backward errors of the decomposition.
πΉ K
K is INTEGER.
πΉ L
L is INTEGER.
On exit, K and L specify the dimension of the subblocks described in the Purpose section. K + L = effective numerical rank of (A**T,B**T)**T.
πΉ U
U is a REAL array, dimension (LDU,M).
If JOBU = 'U', U contains the orthogonal matrix U.
If JOBU = 'N', U is not referenced.
πΉ LDU
LDU is INTEGER. Itβs the leading dimension of the array U.
LDU >= max(1,M) if JOBU = 'U'; LDU >= 1 otherwise.
πΉ V
V is a REAL array, dimension (LDV,P).
If JOBV = 'V', V contains the orthogonal matrix V.
If JOBV = 'N', V is not referenced.
πΉ LDV
LDV is INTEGER. Itβs the leading dimension of the array V.
LDV >= max(1,P) if JOBV = 'V'; LDV >= 1 otherwise.
πΉ Q
Q is a REAL array, dimension (LDQ,N).
If JOBQ = 'Q', Q contains the orthogonal matrix Q.
If JOBQ = 'N', Q is not referenced.
πΉ LDQ
LDQ is INTEGER. Itβs the leading dimension of the array Q.
LDQ >= max(1,N) if JOBQ = 'Q'; LDQ >= 1 otherwise.
πΉ IWORK
IWORK is an INTEGER array, dimension (N).
πΉ TAU
TAU is a REAL array, dimension (N).
πΉ WORK
WORK is a REAL array, dimension (max(3*N,M,P)).
πΉ INFO
INFO is INTEGER.
= 0: successful exit π< 0: ifINFO = -i, thei-th argument had an illegal value π
πΈ Author πΈ
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π¦ Further Details π¦
The subroutine uses LAPACK subroutine SGEQPF for the QR factorization with column pivoting to detect the effective numerical rank of the a matrix. It may be replaced by a better rank determination strategy.
π Definition at line 253 of file sggsvp.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
Stay iconic, bestie π«Άπ
β this footer tea is LAPACK Version 3.12.0 and /home/abui...D/sggsvp.f(3). Periodt. π
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms