DBDT02(3)
π DBDT02(3) π
ok so this is a page from the Library Functions Manual bestie, and it's literally all about DBDT02 β a LAPACK test subroutine that's about to check your math homework for you π
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/EIG/dbdt02.f
yep that's the whole name, it's a whole path, it's giving "my mom named me after the street we lived on" energy π but that's literally it, that's the file, no cap.
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine DBDT02 (m, n, b, ldb, c, ldc, u, ldu, work, resid)β this is the one, this is the girl, she's called DBDT02
π¦ Function/Subroutine Documentation π¦
subroutine DBDT02 (integer m, integer n, double precision, dimension( ldb, * ) b, integer ldb, double precision, dimension( ldc, * ) c, integer ldc, double precision, dimension( ldu, * ) u, integer ldu, double precision, dimension( * ) work, double precision resid)
DBDT02 β¨ (yes the signature is long, she has a lot going on, we love a multi-hyphenate)
π Purpose π
ok so here's the tea π
!>
!> DBDT02 tests the change of basis C = U**H * B by computing the
!> residual
!>
!> RESID = norm(B - U * C) / ( max(m,n) * norm(B) * EPS ),
!>
!> where B and C are M by N matrices, U is an M by M orthogonal matrix,
!> and EPS is the machine precision.
!>
so basically it does the change of basis C = U**H * B and then it's like "ok but did that actually work tho" and it computes that residual formula up there to vibe check it π the formula is RESID = norm(B - U * C) / ( max(m,n) * norm(B) * EPS ) β which is the main character of this whole page honestly. B and C are M by N, U is M by M orthogonal, and EPS is the machine precision. periodt π
π Parameters π
M
!> M is INTEGER
!> The number of rows of the matrices B and C and the order of
!> the matrix Q.
!>
M is an INTEGER π«Ά it's how many rows B and C have, and also the order of the matrix Q. (yes it says Q, yes Q isn't in the arg list, don't come for me, that's literally what the page says π)
N
!> N is INTEGER
!> The number of columns of the matrices B and C.
!>
N is an INTEGER, and she's the column count for B and C β¨
B
!> B is DOUBLE PRECISION array, dimension (LDB,N)
!> The m by n matrix B.
!>
B is a DOUBLE PRECISION array, dimension (LDB,N) β she's the m by n matrix B π
LDB
!> LDB is INTEGER
!> The leading dimension of the array B. LDB >= max(1,M).
!>
LDB is an INTEGER, the leading dimension of B, and the rule is LDB >= max(1,M) β respect the constraint or perish πΈ
C
!> C is DOUBLE PRECISION array, dimension (LDC,N)
!> The m by n matrix C, assumed to contain U**H * B.
!>
C is a DOUBLE PRECISION array, dimension (LDC,N), the m by n matrix C, and the vibe is that she's assumed to already contain U**H * B π (assumed!!! we're trusting you on this one)
LDC
!> LDC is INTEGER
!> The leading dimension of the array C. LDC >= max(1,M).
!>
LDC is an INTEGER, leading dimension of C, and it's gotta satisfy LDC >= max(1,M) β
U
!> U is DOUBLE PRECISION array, dimension (LDU,M)
!> The m by m orthogonal matrix U.
!>
U is a DOUBLE PRECISION array, dimension (LDU,M) β the m by m orthogonal matrix U, icon behavior honestly π
LDU
!> LDU is INTEGER
!> The leading dimension of the array U. LDU >= max(1,M).
!>
LDU is an INTEGER, leading dimension of U, and yep: LDU >= max(1,M) π
WORK
!> WORK is DOUBLE PRECISION array, dimension (M)
!>
WORK is a DOUBLE PRECISION array, dimension (M) β she's the workspace, she does the unpaid labor, we appreciate her π
RESID
!> RESID is DOUBLE PRECISION
!> RESID = norm(B - U * C) / ( max(m,n) * norm(B) * EPS ),
!>
RESID is DOUBLE PRECISION and it comes out equal to RESID = norm(B - U * C) / ( max(m,n) * norm(B) * EPS ) β the moment of truth, the final rose ceremony πΉ
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
look at that group project, four whole institutions and they all showed up π«Ά
Definition at line 111 of file dbdt02.f. π (line 111, write it down, iykyk)
π Author π
Generated automatically by Doxygen for LAPACK from the source code. not a human, not a vibe, just Doxygen doing her thing π€β¨
just a reminder bestie: this page is documentation of a test routine β it describes whatDBDT02checks, it doesn't fix your matrices for you π read the constraints (LDB >= max(1,M)and friends) before you ship, fr fr.
and that's the whole page!! mwah π
LAPACK Β· Version 3.12.0 Β· /home/abui...IG/dbdt02.f(3) β that's the version and the date/source line doing their little sign-off at the bottom, slay ππ
π¦ 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