SRC/dorbdb1.f(3)
SRC/dorbdb1.f(3)
from the Library Functions Manual β okay bestie, this is the LAPACK page for SRC/dorbdb1.f, and it is literally giving tall-skinny-matrix main character energy π
β¨
β¨ NAME β¨
SRC/dorbdb1.f
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine dorbdb1 (m, p, q, x11, ldx11, x21, ldx21, theta, phi, taup1,
taup2, tauq1, work, lwork, info)
DORBDB1
π¦ Function/Subroutine Documentation π¦
subroutine dorbdb1 (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)
DORBDB1
π Purpose π
okay so DORBDB1 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. Q must be no larger than P, M-P, or M-Q. Routines DORBDB2, DORBDB3, and DORBDB4 handle cases in which 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 Q-by-Q bidiagonal matrices represented implicitly by angles THETA, PHI. π
π Parameters π
MβMis INTEGER. Itβs the number of rows X11 plus the number of rows in X21. πPβPis INTEGER. Itβs the number of rows in X11.0 <= P <= M. β¨QβQis INTEGER. Itβs the number of columns in X11 and X21.0 <= Q <= MIN(P,M-P,M-Q). πX11βX11is DOUBLE PRECISION array, dimension(LDX11,Q). On entry, itβs 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βLDX11is INTEGER. The leading dimension of X11.LDX11 >= P. πΈX21βX21is DOUBLE PRECISION array, dimension(LDX21,Q). On entry, itβs the bottom block of the matrix X to be reduced. On exit, the columns oftril(X21)specify reflectors for P2. πLDX21βLDX21is INTEGER. The leading dimension of X21.LDX21 >= M-P. πTHETAβTHETAis DOUBLE PRECISION array, dimension(Q). The entries of the bidiagonal blocks B11, B21 are defined by THETA and PHI. See Further Details. π₯PHIβPHIis DOUBLE PRECISION array, dimension(Q-1). The entries of the bidiagonal blocks B11, B21 are defined by THETA and PHI. See Further Details. πTAUP1βTAUP1is DOUBLE PRECISION array, dimension(P). The scalar factors of the elementary reflectors that define P1. πTAUP2βTAUP2is DOUBLE PRECISION array, dimension(M-P). The scalar factors of the elementary reflectors that define P2. πTAUQ1βTAUQ1is DOUBLE PRECISION array, dimension(Q). The scalar factors of the elementary reflectors that define Q1. βWORKβWORKis DOUBLE PRECISION array, dimension(LWORK). π«ΆLWORKβLWORKis INTEGER. The dimension of the array WORK.LWORK >= M-Q. IfLWORK = -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βINFOis INTEGER.= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value. π
π Author π
shoutout to the author squad, no cap:
- 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 201 of file dorbdb1.f. β
yep, thatβs exactly where it lives, bestie. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
π and thatβs the whole page, bestie β brought to you by LAPACK Version 3.12.0, from SRC/dorbdb1.f(3). mwah π«Άβ¨
π¦ 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