TESTING/EIG/dbdt01.f(3)

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

πŸ’– 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 matrices A and Q. 🫢
  • N β€” N is INTEGER; the number of columns of the matrices A and P**T. 🌸
  • KD β€” KD is INTEGER; if KD = 0, B is diagonal and the array E is not referenced. If KD = 1, the reduction was performed by xGEBRD; B is upper bidiagonal if M >= N, and lower bidiagonal if M < N. If KD = -1, the reduction was performed by xGBBRD; B is always upper bidiagonal. bestie, read that carefully, it's the whole vibe check. πŸ‘‘
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N); the m by n matrix A. πŸ¦‹
  • LDA β€” LDA is INTEGER; the leading dimension of the array A. LDA >= max(1,M). ✨
  • Q β€” Q is DOUBLE PRECISION array, dimension (LDQ,N); the m by min(m,n) orthogonal matrix Q in the reduction A = Q * B * P**T. πŸ’œ
  • LDQ β€” LDQ is INTEGER; the leading dimension of the array Q. LDQ >= max(1,M). πŸŽ€
  • D β€” D is DOUBLE PRECISION array, dimension (min(M,N)); the diagonal elements of the bidiagonal matrix B. ⭐
  • E β€” E is DOUBLE PRECISION array, dimension (min(M,N)-1); the superdiagonal elements of the bidiagonal matrix B if m >= n, or the subdiagonal elements of B if m < n. 🌈
  • PT β€” PT is DOUBLE PRECISION array, dimension (LDPT,N); the min(m,n) by n orthogonal matrix P**T in the reduction A = Q * B * P**T. 🧚
  • LDPT β€” LDPT is INTEGER; the leading dimension of the array PT. 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