/home/abui.../dorbdb3.f(3)
π /home/abui.../dorbdb3.f(3) π
okay so bestie, this page comes from the Library Functions Manual, and it's all about the LAPACK subroutine DORBDB3. The page title/path is /home/abui.../dorbdb3.f(3). It's giving tall-and-skinny matrix realness, iykyk π
β¨
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dorbdb3.f
β¨ SYNOPSIS β¨
π§ Functions/Subroutines π§
subroutine DORBDB3 (m, p, q, x11, ldx11, x21, ldx21, theta, phi, taup1,
taup2, tauq1, work, lwork, info)
DORBDB3
π Function/Subroutine Documentation π
subroutine DORBDB3 (integer m, integer p, integer q, double precision,
dimension(ldx11,*) x11, integer ldx11, double precision,
dimension(ldx21,*) x21, integer ldx21, double precision, dimension(*)
theta, double precision, dimension(*) phi, double precision,
dimension(*) taup1, double precision, dimension(*) taup2, double
precision, dimension(*) tauq1, double precision, dimension(*) work,
integer lwork, integer info)
DORBDB3
π¦ Purpose π¦
DORBDB3 simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonormal columns:
[ B11 ]
[ X11 ] [ P1 | ] [ 0 ]
[-----] = [---------] [-----] Q1**T .
[ X21 ] [ | P2 ] [ B21 ]
[ 0 ]
X11 is P-by-Q, and X21 is (M-P)-by-Q. Vibe check: M-P must be no larger than P, Q, or M-Q. Routines DORBDB1, DORBDB2, and DORBDB4 handle cases in which M-P 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-P)-by-(M-P) bidiagonal matrices represented implicitly by angles THETA, PHI.
π Parameters π
MβINTEGER. The number of rowsX11plus the number of rows inX21.PβINTEGER. The number of rows inX11.0 <= P <= M.M-P <= min(P,Q,M-Q).QβINTEGER. The number of columns inX11andX21.0 <= Q <= M.X11βDOUBLE PRECISION array, 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βINTEGER. The leading dimension ofX11.LDX11 >= P.X21βDOUBLE PRECISION array, dimension(LDX21,Q). On entry, the bottom block of the matrixXto be reduced. On exit, the columns oftril(X21)specify reflectors forP2.LDX21βINTEGER. The leading dimension ofX21.LDX21 >= M-P.THETAβDOUBLE PRECISION array, dimension(Q). The entries of the bidiagonal blocksB11,B21are defined byTHETAandPHI. See Further Details.PHIβDOUBLE PRECISION array, dimension(Q-1). The entries of the bidiagonal blocksB11,B21are defined byTHETAandPHI. See Further Details.TAUP1βDOUBLE PRECISION array, dimension(P). The scalar factors of the elementary reflectors that defineP1.TAUP2βDOUBLE PRECISION array, dimension(M-P). The scalar factors of the elementary reflectors that defineP2.TAUQ1βDOUBLE PRECISION array, dimension(Q). The scalar factors of the elementary reflectors that defineQ1.WORKβDOUBLE PRECISION array, dimension(LWORK).LWORKβINTEGER. The dimension of the arrayWORK.LWORK >= M-Q.- No cap: if
LWORK = -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.
- No cap: if
INFOβINTEGER.= 0: successful exit. Slay.< 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 DORCSD for details.
P1, P2, and Q1 are represented as products of elementary reflectors. See DORCSD2BY1 for details on generating P1, P2, and Q1 using DORGQR and DORGLQ.
π References π
[1] Brian D. Sutton. Computing the complete CS decomposition. Numer.
Algorithms, 50(1):33-65, 2009.
Definition at line 199 of file dorbdb3.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, that's the whole page π the source/version footer says LAPACK, Version 3.12.0, with page path /home/abui.../dorbdb3.f(3). No separate date is shown in the footer, so that's all we've got β 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