TESTING/EIG/dbdt01.f(3)
π TESTING/EIG/dbdt01.f(3) π β from the Library Functions Manual π¦
okay bestie, this page is all about TESTING/EIG/dbdt01.f β yes, the file name is literally the whole NAME vibe. it's giving Fortran test-subroutine main character energy, and we're about to read the tea on DBDT01. no cap. π
β¨ NAME β¨
TESTING/EIG/dbdt01.f β the manual page for the DBDT01 bidiagonal-reconstruction test subroutine. lowkey iconic, fr fr. π
π SYNOPSIS π
πΈ Functions/Subroutines πΈ
subroutine dbdt01 (m, n, kd, a, lda, q, ldq, d, e, pt, ldpt, work, resid)βDBDT01
π Function/Subroutine Documentation π
π subroutine dbdt01 π
subroutine dbdt01 (integer m, integer n, integer kd, double precision,
dimension( lda, * ) a, integer lda, double precision, dimension( ldq, *
) q, integer ldq, double precision, dimension( * ) d, double precision,
dimension( * ) e, double precision, dimension( ldpt, * ) pt, integer
ldpt, double precision, dimension( * ) work, double precision resid)
DBDT01
π Purpose π
okay so DBDT01 reconstructs a general matrix A from its bidiagonal form
A = Q * B * P**T
where Q (m by min(m,n)) and P**T (min(m,n) by n) are orthogonal matrices and B is bidiagonal. literally the whole glow-up from bidiagonal back to general, and we're obsessed. β¨
The test ratio to test the reduction is
RESID = norm(A - Q * B * P**T) / ( n * norm(A) * EPS )
where EPS is the machine precision. slay, that's the accuracy check. π
π Parameters π
MβM is INTEGER; the number of rows of the matricesAandQ. π«ΆNβN is INTEGER; the number of columns of the matricesAandP**T. πΈKDβKD is INTEGER; ifKD = 0,Bis diagonal and the arrayEis not referenced. IfKD = 1, the reduction was performed byxGEBRD;Bis upper bidiagonal ifM >= N, and lower bidiagonal ifM < N. IfKD = -1, the reduction was performed byxGBBRD;Bis always upper bidiagonal. bestie, read that carefully, it's the whole vibe check. πAβA is DOUBLE PRECISION array, dimension (LDA,N); thembynmatrixA. π¦LDAβLDA is INTEGER; the leading dimension of the arrayA.LDA >= max(1,M). β¨QβQ is DOUBLE PRECISION array, dimension (LDQ,N); thembymin(m,n)orthogonal matrixQin the reductionA = Q * B * P**T. πLDQβLDQ is INTEGER; the leading dimension of the arrayQ.LDQ >= max(1,M). πDβD is DOUBLE PRECISION array, dimension (min(M,N)); the diagonal elements of the bidiagonal matrixB. βEβE is DOUBLE PRECISION array, dimension (min(M,N)-1); the superdiagonal elements of the bidiagonal matrixBifm >= n, or the subdiagonal elements ofBifm < n. πPTβPT is DOUBLE PRECISION array, dimension (LDPT,N); themin(m,n)bynorthogonal matrixP**Tin the reductionA = Q * B * P**T. π§LDPTβLDPT is INTEGER; the leading dimension of the arrayPT.LDPT >= max(1,min(M,N)). πWORKβWORK is DOUBLE PRECISION array, dimension (M+N). π₯RESIDβRESID is DOUBLE PRECISION; the test ratio:norm(A - Q * B * P**T) / ( n * norm(A) * EPS ). π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 139 of file dbdt01.f.
π¦ Author π¦
Generated automatically by Doxygen for LAPACK from the source code.
that's the whole page, bestie! source/version/date check: source is LAPACK, version Version 3.12.0, page TESTING/EIG/dbdt01.f(3) β and the footer didn't hand us a date, so we're not making one up. 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