TESTING/EIG/zbdt03.f(3)

πŸ“¦
version 3.12.1 Β· 3 versions
, in arch rolling

πŸ’– zbdt03 β€” manual name TESTING/EIG/zbdt03.f(3) πŸ’–

okay so bestie, this is the Library Functions Manual page for TESTING/EIG/zbdt03.f(3), and the routine is zbdt03. She’s a LAPACK testing girlie: she reconstructs a bidiagonal matrix from its SVD and checks the residual. Iconic behavior, honestly. No cap.


✨ NAME ✨

TESTING/EIG/zbdt03.f β€” this is the file/manual-name situation, and zbdt03 is the subroutine inside. Periodt.

🌈 SYNOPSIS 🌈

🫢 Functions/Subroutines 🫢

       subroutine zbdt03 (uplo, n, kd, d, e, u, ldu, s, vt, ldvt, work, resid)
           ZBDT03

πŸ’… Function/Subroutine Documentation πŸ’…

   subroutine zbdt03 (character uplo, integer n, integer kd, double precision,
       dimension( * ) d, double precision, dimension( * ) e, complex*16,
       dimension( ldu, * ) u, integer ldu, double precision, dimension( * ) s,
       complex*16, dimension( ldvt, * ) vt, integer ldvt, complex*16,
       dimension( * ) work, double precision resid)
       ZBDT03

ZBDT03 is literally the routine. Let’s get into it. ✨

πŸ”₯ Purpose πŸ”₯

Okay so ZBDT03 reconstructs a bidiagonal matrix B from its SVD:

S = U' * B * V

where U and V are orthogonal matrices and S is diagonal.

The test ratio to test the singular value decomposition is:

RESID = norm( B - U * S * VT ) / ( n * norm(B) * EPS )

where VT = V' and EPS is the machine precision. That’s the whole vibe check.

🌸 Parameters 🌸

  • UPLO β€” CHARACTER*1. Specifies whether the matrix B is upper or lower bidiagonal. = 'U': Upper bidiagonal; = 'L': Lower bidiagonal.
  • N β€” INTEGER. The order of the matrix B.
  • KD β€” INTEGER. The bandwidth of the bidiagonal matrix B. If KD = 1, the matrix B is bidiagonal, and if KD = 0, B is diagonal and E is not referenced. If KD is greater than 1, it is assumed to be 1, and if KD is less than 0, it is assumed to be 0.
  • D β€” DOUBLE PRECISION array, dimension (N). The n diagonal elements of the bidiagonal matrix B.
  • E β€” DOUBLE PRECISION array, dimension (N-1). The (n-1) superdiagonal elements of the bidiagonal matrix B if UPLO = 'U', or the (n-1) subdiagonal elements of B if UPLO = 'L'.
  • U β€” COMPLEX*16 array, dimension (LDU,N). The n by n orthogonal matrix U in the reduction B = U'*A*P.
  • LDU β€” INTEGER. The leading dimension of the array U. LDU >= max(1,N).
  • S β€” DOUBLE PRECISION array, dimension (N). The singular values from the SVD of B, sorted in decreasing order.
  • VT β€” COMPLEX*16 array, dimension (LDVT,N). The n by n orthogonal matrix V' in the reduction B = U * S * V'.
  • LDVT β€” INTEGER. The leading dimension of the array VT.
  • WORK β€” COMPLEX*16 array, dimension (2*N).
  • RESID β€” DOUBLE PRECISION. The test ratio: norm(B - U * S * V') / ( n * norm(A) * EPS ).

πŸ‘‘ Author πŸ‘‘

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 133 of file zbdt03.f.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code.


okay that’s the whole page, bestie. Source/version: LAPACK Version 3.12.0; footer/page tag: TESTING/EIG/zbdt03.f(3). The original footer doesn’t show a separate calendar date, so no invented date here β€” just that version and page. Slay and may your residual checks stay cute πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from