/home/abui.../sorbdb4.f(3)
π NAME π
Hey bestie π this is the LAPACK Library Functions Manual page for SORBDB4 β header path /home/abui.../sorbdb4.f(3) β and the source file is literally:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/sorbdb4.f
π οΈ SYNOPSIS π οΈ
Functions/Subroutines
subroutine SORBDB4 (m, p, q, x11, ldx11, x21, ldx21, theta, phi, taup1,
taup2, tauq1, phantom, work, lwork, info)
SORBDB4
β¨ Function/Subroutine Documentation β¨
Here's the full signature, exactly as it shows up in the docs:
subroutine SORBDB4 (integer m, integer p, integer q, real,
dimension(ldx11,*) x11, integer ldx11, real, dimension(ldx21,*) x21,
integer ldx21, real, dimension(*) theta, real, dimension(*) phi, real,
dimension(*) taup1, real, dimension(*) taup2, real, dimension(*) tauq1,
real, dimension(*) phantom, real, dimension(*) work, integer lwork,
integer info)
SORBDB4
π― Purpose
Okay so SORBDB4 simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonormal columns β look at it go:
[ B11 ]
[ X11 ] [ P1 | ] [ 0 ]
[-----] = [---------] [-----] Q1**T .
[ X21 ] [ | P2 ] [ B21 ]
[ 0 ]
X11 is P-by-Q, and X21 is (M-P)-by-Q. M-Q must be no larger than P, M-P, or Q. Routines SORBDB1, SORBDB2, and SORBDB3 handle cases in which M-Q is not the minimum dimension.
The orthogonal matrices P1, P2, and Q1 are P-by-P, (M-P)-by-(M-P), and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors.
B11 and B12 are (M-Q)-by-(M-Q) bidiagonal matrices represented implicitly by angles THETA, PHI.
π§Ύ Parameters
MβMisINTEGER. The number of rowsX11plus the number of rows inX21.PβPisINTEGER. The number of rows inX11.0 <= P <= M.QβQisINTEGER. The number of columns inX11andX21.0 <= Q <= MandM-Q <= min(P,M-P,Q).X11βX11isREALarray, dimension(LDX11,Q). On entry, the top block of the matrixXto be reduced. On exit, the columns oftril(X11)specify reflectors forP1and the rows oftriu(X11,1)specify reflectors forQ1.LDX11βLDX11isINTEGER. The leading dimension ofX11.LDX11 >= P.X21βX21isREALarray, dimension(LDX21,Q). On entry, the bottom block of the matrixXto be reduced. On exit, the columns oftril(X21)specify reflectors forP2.LDX21βLDX21isINTEGER. The leading dimension ofX21.LDX21 >= M-P.THETAβTHETAisREALarray, dimension(Q). The entries of the bidiagonal blocksB11,B21are defined byTHETAandPHI. See Further Details.PHIβPHIisREALarray, dimension(Q-1). The entries of the bidiagonal blocksB11,B21are defined byTHETAandPHI. See Further Details.TAUP1βTAUP1isREALarray, dimension(M-Q). The scalar factors of the elementary reflectors that defineP1.TAUP2βTAUP2isREALarray, dimension(M-Q). The scalar factors of the elementary reflectors that defineP2.TAUQ1βTAUQ1isREALarray, dimension(Q). The scalar factors of the elementary reflectors that defineQ1.PHANTOMβPHANTOMisREALarray, dimension(M). The routine computes anM-by-1column vectorYthat is orthogonal to the columns of[ X11; X21 ].PHANTOM(1:P)andPHANTOM(P+1:M)contain Householder vectors forY(1:P)andY(P+1:M), respectively.WORKβWORKisREALarray, dimension(LWORK).LWORKβLWORKisINTEGER. The dimension of the arrayWORK.LWORK >= M-Q. IfLWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA.INFOβINFOisINTEGER.= 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 upper-bidiagonal blocks B11, B21 are represented implicitly by angles THETA(1), ..., THETA(Q) and PHI(1), ..., PHI(Q-1). Every entry in each bidiagonal band is a product of a sine or cosine of a THETA with a sine or cosine of a PHI. See [1] or SORCSD for details.
P1, P2, and Q1 are represented as products of elementary reflectors. See SORCSD2BY1 for details on generating P1, P2, and Q1 using SORGQR and SORGLQ.
π References
[1] Brian D. Sutton. Computing the complete CS decomposition. Numer. Algorithms, 50(1):33-65, 2009.
Definition at line 211 of file sorbdb4.f.
π€ Author
Generated automatically by Doxygen for LAPACK from the source code.
π Cute little sign-off: this whole page is from LAPACK, Version 3.12.0, and the footer path is /home/abui.../sorbdb4.f(3). Keep slaying those bidiagonalizations, bestie! π
β¨
π¦ 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