DBDT02(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… 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 what DBDT02 checks, 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