/home/abui...D/dggsvp.f(3)
π NAME
okay bestie, this is the page for /home/abui...D/dggsvp.f(3) from the LAPACK Library Functions Manual β and it's all about DGGSVP, the deprecated-but-still-doing-her-thing preprocessing routine. π
β¨ SYNOPSIS
π§ Functions/Subroutines
subroutine DGGSVP (jobu, jobv, jobq, m, p, n, a, lda, b, ldb, tola,
tolb, k, l, u, ldu, v, ldv, q, ldq, iwork, tau, work, info)
DGGSVP β yes ma'am, that's the name. π
π₯ Function/Subroutine Documentation
subroutine DGGSVP (character jobu, character jobv, character jobq, integer
m, integer p, integer n, double precision, dimension( lda, * ) a,
integer lda, double precision, dimension( ldb, * ) b, integer ldb,
double precision tola, double precision tolb, integer k, integer l,
double precision, dimension( ldu, * ) u, integer ldu, double precision,
dimension( ldv, * ) v, integer ldv, double precision, dimension( ldq, *
) q, integer ldq, integer, dimension( * ) iwork, double precision,
dimension( * ) tau, double precision, dimension( * ) work, integer info)
DGGSVP
π Purpose
Deprecated alert π¨ This routine is deprecated and has been replaced by routine DGGSVP3.
DGGSVP 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 DGGSVD. β¨
π¦ 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; the number of rows of the matrixA.M >= 0.PβP is INTEGER; the number of rows of the matrixB.P >= 0.NβN is INTEGER; the number of columns of the matricesAandB.N >= 0.AβA is DOUBLE PRECISION array, dimension (LDA,N). On entry, theM-by-NmatrixA. On exit,Acontains the triangular (or trapezoidal) matrix described in the Purpose section.LDAβLDA is INTEGER; the leading dimension of the arrayA.LDA >= max(1,M).BβB is DOUBLE PRECISION array, dimension (LDB,N). On entry, theP-by-NmatrixB. On exit,Bcontains the triangular matrix described in the Purpose section.LDBβLDB is INTEGER; the leading dimension of the arrayB.LDB >= max(1,P).TOLAβTOLA is DOUBLE PRECISION.TOLBβTOLB is DOUBLE PRECISION.TOLAandTOLBare the thresholds to determine the effective numerical rank of matrixBand a subblock ofA. 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,KandLspecify the dimension of the subblocks described in Purpose section.K + L = effective numerical rank of (A**T,B**T)**T.UβU is DOUBLE PRECISION array, dimension (LDU,M). IfJOBU = 'U',Ucontains the orthogonal matrixU. IfJOBU = 'N',Uis not referenced.LDUβLDU is INTEGER; the leading dimension of the arrayU.LDU >= max(1,M)ifJOBU = 'U';LDU >= 1otherwise.VβV is DOUBLE PRECISION array, dimension (LDV,P). IfJOBV = 'V',Vcontains the orthogonal matrixV. IfJOBV = 'N',Vis not referenced.LDVβLDV is INTEGER; the leading dimension of the arrayV.LDV >= max(1,P)ifJOBV = 'V';LDV >= 1otherwise.QβQ is DOUBLE PRECISION array, dimension (LDQ,N). IfJOBQ = 'Q',Qcontains the orthogonal matrixQ. IfJOBQ = 'N',Qis not referenced.LDQβLDQ is INTEGER; the leading dimension of the arrayQ.LDQ >= max(1,N)ifJOBQ = 'Q';LDQ >= 1otherwise.IWORKβIWORK is INTEGER array, dimension (N).TAUβTAU is DOUBLE PRECISION array, dimension (N).WORKβWORK is DOUBLE PRECISION array, dimension (max(3*N,M,P)).INFOβINFO is INTEGER;= 0: successful exit;< 0: ifINFO = -i, the i-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 DGEQPF 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 dggsvp.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code.
π LAPACK, Version 3.12.0 β page path /home/abui...D/dggsvp.f(3). That's the whole tea, bestie β stay slay! π
β¨
π¦ 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