DGBBRD(3)
π¦ DGBBRD(3) β the band-matrix glow-up page π
okay so this is from the Library Functions Manual, specifically the file /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dgbbrd.f (yes the whole path, she's long but she's slaying). Bestie, buckle in β this is the LAPACK lore on DGBBRD, a real one. β¨
πΈ SYNOPSIS πΈ
Functions/Subroutines π
subroutine DGBBRD (vect, m, n, ncc, kl, ku, ab, ldab, d, e, q, ldq, pt,
ldpt, c, ldc, work, info)
literally just DGBBRD. that's the whole vibe. π
π Function/Subroutine Documentation π
subroutine DGBBRD (character vect, integer m, integer n, integer ncc,
integer kl, integer ku, double precision, dimension( ldab, * ) ab,
integer ldab, double precision, dimension( * ) d, double precision,
dimension( * ) e, double precision, dimension( ldq, * ) q, integer ldq,
double precision, dimension( ldpt, * ) pt, integer ldpt, double
precision, dimension( ldc, * ) c, integer ldc, double precision,
dimension( * ) work, integer info)
DGBBRD β main character energy, no cap. β¨
π― Purpose π―
okay so what does she even DO:
DGBBRD reduces a real general m-by-n band matrix A to upper bidiagonal form B by an orthogonal transformation: Q**T * A * P = B.
that's the whole arc. π
The routine computes B, and optionally forms Q or PT, or computes QT*C for a given matrix C. girl does it all. π
π Parameters π
VECTβVECTisCHARACTER*1. it specifies whether or not the matrices Q and P**T are to be formed, iykyk:= 'N': do not form Q or P**T;= 'Q': form Q only;= 'P': form P**T only;= 'B': form both. π«Ά
MβMisINTEGER. The number of rows of the matrix A.M >= 0. (yes, zero is allowed, she's inclusive like that)NβNisINTEGER. The number of columns of the matrix A.N >= 0.NCCβNCCisINTEGER. The number of columns of the matrix C.NCC >= 0.KLβKLisINTEGER. The number of subdiagonals of the matrix A.KL >= 0.KUβKUisINTEGER. The number of superdiagonals of the matrix A.KU >= 0.ABβABisDOUBLE PRECISIONarray, dimension(LDAB,N). On entry, the m-by-n band matrix A, stored in rows 1 toKL+KU+1. The j-th column of A is stored in the j-th column of the array AB, literally like this:AB(ku+1+i-j,j) = A(i,j)formax(1,j-ku)<=i<=min(m,j+kl). On exit, A is overwritten by values generated during the reduction. (so she gets a whole new look, iconic π)LDABβLDABisINTEGER. The leading dimension of the array A.LDAB >= KL+KU+1.DβDisDOUBLE PRECISIONarray, dimension(min(M,N)). The diagonal elements of the bidiagonal matrix B. πEβEisDOUBLE PRECISIONarray, dimension(min(M,N)-1). The superdiagonal elements of the bidiagonal matrix B.QβQisDOUBLE PRECISIONarray, dimension(LDQ,M). IfVECT = 'Q'or'B', the m-by-m orthogonal matrix Q. IfVECT = 'N'or'P', the array Q is not referenced. (she's off-duty, don't @ her π)LDQβLDQisINTEGER. The leading dimension of the array Q.LDQ >= max(1,M)ifVECT = 'Q'or'B';LDQ >= 1otherwise.PTβPTisDOUBLE PRECISIONarray, dimension(LDPT,N). IfVECT = 'P'or'B', the n-by-n orthogonal matrix P'. IfVECT = 'N'or'Q', the array PT is not referenced.LDPTβLDPTisINTEGER. The leading dimension of the array PT.LDPT >= max(1,N)ifVECT = 'P'or'B';LDPT >= 1otherwise.CβCisDOUBLE PRECISIONarray, dimension(LDC,NCC). On entry, an m-by-ncc matrix C. On exit, C is overwritten byQ**T*C. C is not referenced ifNCC = 0.LDCβLDCisINTEGER. The leading dimension of the array C.LDC >= max(1,M)ifNCC > 0;LDC >= 1ifNCC = 0.WORKβWORKisDOUBLE PRECISIONarray, dimension(2*max(M,N)). that's the workspace, she needs her room to think π§INFOβINFOisINTEGER:= 0: successful exit. slay! π< 0: ifINFO = -i, the i-th argument had an illegal value. (so if you see this, something you passed was lowkey not it π)
π«Ά Author π«Ά
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 185 of file dgbbrd.f. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (not a human, just vibes β¨)
aaaand that's the page, bestie! π this cutie doc came to you from LAPACK, version 3.12.0, and it lives at /home/abui...RC/dgbbrd.f(3) β go forth and reduce some band matrices, you've got this fr fr. ππ¦πΈ
π¦ 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