unbdb2(3)
๐ธ NAME ๐ธ
okay so bestie, welcome to unbdb2(3) โ straight out of the Library Functions Manual ๐ โ and it's the page for unbdb2, aka {un,or}bdb2: the step in uncsd2by1 โจ. That's the whole vibe check for the title, now let's get into it ๐
๐ SYNOPSIS ๐
Functions
four subroutine girlies live on this page, and here's the full lineup, exactly as declared ๐ซถ
cunbdb2โ the complex one ๐
subroutine cunbdb2 (m, p, q, x11, ldx11, x21, ldx21, theta, phi, taup1,
taup2, tauq1, work, lwork, info)
CUNBDB2
dorbdb2โ the double precision one ๐ฉต
subroutine dorbdb2 (m, p, q, x11, ldx11, x21, ldx21, theta, phi, taup1,
taup2, tauq1, work, lwork, info)
DORBDB2
sorbdb2โ the single precision one ๐ธ
subroutine sorbdb2 (m, p, q, x11, ldx11, x21, ldx21, theta, phi, taup1,
taup2, tauq1, work, lwork, info)
SORBDB2
zunbdb2โ the double complex one ๐ซ
subroutine zunbdb2 (m, p, q, x11, ldx11, x21, ldx21, theta, phi, taup1,
taup2, tauq1, work, lwork, info)
ZUNBDB2
๐ซ Detailed Description ๐ซ
no prose here, iconically โ the manual just drops the heading and moves straight on to the function docs. main character energy, honestly ๐
๐ Function Documentation ๐
๐งฎ subroutine cunbdb2
Purpose
okay so picture this ๐ฌ โ CUNBDB2 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. P must be no larger than M-P, Q, or M-Q. and like, quick heads up โ CUNBDB1, CUNBDB3, and CUNBDB4 are the routines that handle the cases where P is not the minimum dimension ๐
the unitary matrices P1, P2, and Q1 are P-by-P, (M-P)-by-(M-P), and (M-Q)-by-(M-Q), respectively. they're represented implicitly by Householder vectors โจ
B11 and B12 are P-by-P bidiagonal matrices represented implicitly by angles THETA, PHI ๐ฆ
Parameters
MโINTEGER. the number of rows X11 plus the number of rows in X21.PโINTEGER. the number of rows in X11.0 <= P <= min(M-P,Q,M-Q).QโINTEGER. the number of columns in X11 and X21.0 <= Q <= M.X11โCOMPLEX array, dimension (LDX11,Q). on entry, the top block of the matrix X to be reduced. on exit, the columns oftril(X11)specify reflectors for P1, and the rows oftriu(X11,1)specify reflectors for Q1 ๐LDX11โINTEGER. the leading dimension of X11.LDX11 >= P.X21โCOMPLEX array, dimension (LDX21,Q). on entry, the bottom block of the matrix X to be reduced. on exit, the columns oftril(X21)specify reflectors for P2 โจLDX21โINTEGER. the leading dimension of X21.LDX21 >= M-P.THETAโREAL array, dimension (Q). the entries of the bidiagonal blocks B11, B21 are defined by THETA and PHI. see Further Details ๐ซถPHIโREAL array, dimension (Q-1). the entries of the bidiagonal blocks B11, B21 are defined by THETA and PHI. see Further Details ๐ซถTAUP1โCOMPLEX array, dimension (P-1). the scalar factors of the elementary reflectors that define P1.TAUP2โCOMPLEX array, dimension (Q). the scalar factors of the elementary reflectors that define P2.TAUQ1โCOMPLEX array, dimension (Q). the scalar factors of the elementary reflectors that define Q1.WORKโCOMPLEX array, dimension (LWORK).LWORKโINTEGER. the dimension of the array WORK.LWORK >= M-Q.
and okay, important: if LWORK = -1, then a workspace query is assumed โ the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA ๐
INFOโ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 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 CUNCSD for details ๐ฅ
P1, P2, and Q1 are represented as products of elementary reflectors. see CUNCSD2BY1 for details on generating P1, P2, and Q1 using CUNGQR and CUNGLQ โจ
References
- [1] Brian D. Sutton. Computing the complete CS decomposition. Numer. Algorithms, 50(1):33-65, 2009. ๐
Definition at line 200 of file cunbdb2.f.
๐งฎ subroutine dorbdb2
Purpose
same iconic energy, real-number edition ๐ โ DORBDB2 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. P must be no larger than M-P, Q, or M-Q. and again, DORBDB1, DORBDB3, and DORBDB4 are the routines that handle the cases where 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're represented implicitly by Householder vectors โจ
B11 and B12 are P-by-P bidiagonal matrices represented implicitly by angles THETA, PHI ๐ฆ
Parameters
MโINTEGER. the number of rows X11 plus the number of rows in X21.PโINTEGER. the number of rows in X11.0 <= P <= min(M-P,Q,M-Q).QโINTEGER. the number of columns in X11 and X21.0 <= Q <= M.X11โDOUBLE PRECISION array, dimension (LDX11,Q). on entry, the top block of the matrix X to be reduced. on exit, the columns oftril(X11)specify reflectors for P1, and the rows oftriu(X11,1)specify reflectors for Q1 ๐LDX11โINTEGER. the leading dimension of X11.LDX11 >= P.X21โDOUBLE PRECISION array, dimension (LDX21,Q). on entry, the bottom block of the matrix X to be reduced. on exit, the columns oftril(X21)specify reflectors for P2 โจLDX21โINTEGER. the leading dimension of X21.LDX21 >= M-P.THETAโDOUBLE PRECISION array, dimension (Q). the entries of the bidiagonal blocks B11, B21 are defined by THETA and PHI. see Further Details ๐ซถPHIโDOUBLE PRECISION array, dimension (Q-1). the entries of the bidiagonal blocks B11, B21 are defined by THETA and PHI. see Further Details ๐ซถTAUP1โDOUBLE PRECISION array, dimension (P-1). the scalar factors of the elementary reflectors that define P1.TAUP2โDOUBLE PRECISION array, dimension (Q). the scalar factors of the elementary reflectors that define P2.TAUQ1โDOUBLE PRECISION array, dimension (Q). the scalar factors of the elementary reflectors that define Q1.WORKโDOUBLE PRECISION array, dimension (LWORK).LWORKโINTEGER. the dimension of the array WORK.LWORK >= M-Q.
same caveat, no cap: if LWORK = -1, then a workspace query is assumed โ the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA ๐
INFOโ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 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. ๐
and that's where this part wraps, but we are so not done โ sorbdb2 and zunbdb2 are still waiting for their moment ๐
Definition at line 200 of file dorbdb2.f.
okay so next up is sorbdb2, and she is genuinely doing the most in the best way possible. ๐
๐ฉท sorbdb2
subroutine sorbdb2 (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(*) work, integer lwork, integer info)
SORBDB2
๐ฏ Purpose
okay so SORBDB2 simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonormal columns. the glow-up is literally this:
[ B11 ]
[ X11 ] [ P1 | ] [ 0 ]
[-----] = [---------] [-----] Q1**T .
[ X21 ] [ | P2 ] [ B21 ]
[ 0 ]
X11 is P-by-Q, and X21 is (M-P)-by-Q. P must be no larger than M-P, Q, or M-Q. Routines SORBDB1, SORBDB3, and SORBDB4 handle cases in which P is not the minimum dimension. no cap. โจ
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 P-by-P bidiagonal matrices represented implicitly by angles THETA, PHI. ๐
๐ง Parameters
MโM is INTEGER. The number of rowsX11plus the number of rows inX21. ๐ซPโP is INTEGER. The number of rows inX11. Constraint:0 <= P <= min(M-P,Q,M-Q). ๐QโQ is INTEGER. The number of columns inX11andX21. Constraint:0 <= Q <= M. ๐ธX11โX11 is REAL 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โLDX11 is INTEGER. The leading dimension ofX11.LDX11 >= P. โจX21โX21 is REAL array, dimension (LDX21,Q). On entry, the bottom block of the matrixXto be reduced. On exit, the columns oftril(X21)specify reflectors forP2. ๐LDX21โLDX21 is INTEGER. The leading dimension ofX21.LDX21 >= M-P. ๐THETAโTHETA is REAL array, dimension (Q). The entries of the bidiagonal blocksB11,B21are defined byTHETAandPHI. See Further Details. ๐PHIโPHI is REAL array, dimension (Q-1). The entries of the bidiagonal blocksB11,B21are defined byTHETAandPHI. See Further Details. ๐TAUP1โTAUP1 is REAL array, dimension (P-1). The scalar factors of the elementary reflectors that defineP1. ๐TAUP2โTAUP2 is REAL array, dimension (Q). The scalar factors of the elementary reflectors that defineP2. ๐ฅTAUQ1โTAUQ1 is REAL array, dimension (Q). The scalar factors of the elementary reflectors that defineQ1. โญWORKโWORK is REAL array, dimension (LWORK). ๐งLWORKโLWORK is INTEGER. 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โ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 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 199 of file sorbdb2.f.
๐ zunbdb2
subroutine zunbdb2 (integer m, integer p, integer q, complex*16,
dimension(ldx11,*) x11, integer ldx11, complex*16, dimension(ldx21,*)
x21, integer ldx21, double precision, dimension(*) theta, double
precision, dimension(*) phi, complex*16, dimension(*) taup1, complex*16,
dimension(*) taup2, complex*16, dimension(*) tauq1, complex*16,
dimension(*) work, integer lwork, integer info)
ZUNBDB2
๐ฏ Purpose
ZUNBDB2 simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonormal columns. the whole transformation is giving:
[ B11 ]
[ X11 ] [ P1 | ] [ 0 ]
[-----] = [---------] [-----] Q1**T .
[ X21 ] [ | P2 ] [ B21 ]
[ 0 ]
X11 is P-by-Q, and X21 is (M-P)-by-Q. P must be no larger than M-P, Q, or M-Q. Routines ZUNBDB1, ZUNBDB3, and ZUNBDB4 handle cases in which P is not the minimum dimension. periodt. โจ
The unitary 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 P-by-P bidiagonal matrices represented implicitly by angles THETA, PHI. ๐
๐ง Parameters
MโM is INTEGER. The number of rowsX11plus the number of rows inX21. ๐ซPโP is INTEGER. The number of rows inX11. Constraint:0 <= P <= min(M-P,Q,M-Q). ๐QโQ is INTEGER. The number of columns inX11andX21. Constraint:0 <= Q <= M. ๐ธX11โX11 is COMPLEX*16 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โLDX11 is INTEGER. The leading dimension ofX11.LDX11 >= P. โจX21โX21 is COMPLEX*16 array, dimension (LDX21,Q). On entry, the bottom block of the matrixXto be reduced. On exit, the columns oftril(X21)specify reflectors forP2. ๐LDX21โLDX21 is INTEGER. The leading dimension ofX21.LDX21 >= M-P. ๐THETAโTHETA is DOUBLE PRECISION array, dimension (Q). The entries of the bidiagonal blocksB11,B21are defined byTHETAandPHI. See Further Details. ๐PHIโPHI is DOUBLE PRECISION array, dimension (Q-1). The entries of the bidiagonal blocksB11,B21are defined byTHETAandPHI. See Further Details. ๐TAUP1โTAUP1 is COMPLEX*16 array, dimension (P-1). The scalar factors of the elementary reflectors that defineP1. ๐TAUP2โTAUP2 is COMPLEX*16 array, dimension (Q). The scalar factors of the elementary reflectors that defineP2. ๐ฅTAUQ1โTAUQ1 is COMPLEX*16 array, dimension (Q). The scalar factors of the elementary reflectors that defineQ1. โญWORKโWORK is COMPLEX*16 array, dimension (LWORK). ๐งLWORKโLWORK is INTEGER. 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โ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 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 ZUNCSD for details. ๐
P1, P2, and Q1 are represented as products of elementary reflectors. See ZUNCSD2BY1 for details on generating P1, P2, and Q1 using ZUNGQR and ZUNGLQ. ๐ซถ
๐ References
[1] Brian D. Sutton. Computing the complete CS decomposition. Numer. Algorithms, 50(1):33-65, 2009.
Definition at line 199 of file zunbdb2.f.
๐ Author
Generated automatically by Doxygen for LAPACK from the source code.
๐ and thatโs the whole unbdb2(3) page, bestie โ LAPACK Version 3.12.0, generated by Doxygen for LAPACK from the source code, periodt. ๐
โจ
๐ฆ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 ยท custom
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms