CBDT01(3)

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

🌸 NAME 🌸

okay bestie, welcome to CBDT01(3) from the Library Functions Manual β€” manual name folded in near the top like a tiny bow. πŸŽ€ The NAME line is literally this whole path, so let’s give it its moment:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/EIG/cbdt01.f


🌈 SYNOPSIS 🌈

πŸŽ€ Functions/Subroutines πŸŽ€

Here’s the synopsis, no cap β€” keep these names exactly:

subroutine CBDT01 (m, n, kd, a, lda, q, ldq, d, e, pt, ldpt, work,
    rwork, resid)
CBDT01

CBDT01 is the subroutine we’re hyping. πŸ’…


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

Full signature, character-for-character bestie:

subroutine CBDT01 (integer m, integer n, integer kd, complex, dimension(
    lda, * ) a, integer lda, complex, dimension( ldq, * ) q, integer ldq,
    real, dimension( * ) d, real, dimension( * ) e, complex, dimension(
    ldpt, * ) pt, integer ldpt, complex, dimension( * ) work, real,
    dimension( * ) rwork, real resid)

CBDT01 β€” yes, again. It’s giving main character energy. πŸ‘‘

πŸ’– Purpose πŸ’–

okay so CBDT01 reconstructs a general matrix A from its bidiagonal form

A = Q * B * P**H

where Q (m by min(m,n)) and P**H (min(m,n) by n) are unitary matrices and B is bidiagonal.

The test ratio to test the reduction is

RESID = norm(A - Q * B * P**H) / ( n * norm(A) * EPS )

where EPS is the machine precision. That’s the whole quest, and it ate. πŸ”₯

🧚 Parameters 🧚

  • M β€” M is INTEGER. The number of rows of the matrices A and Q. rows have entered the chat, respectfully.
  • N β€” N is INTEGER. The number of columns of the matrices A and P**H.
  • 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. so many little cases, but we love a structured queen. πŸ’…
  • A β€” A is COMPLEX 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 COMPLEX array, dimension (LDQ,N). The m by min(m,n) unitary matrix Q in the reduction A = Q * B * P**H.
  • LDQ β€” LDQ is INTEGER. The leading dimension of the array Q. LDQ >= max(1,M).
  • D β€” D is REAL array, dimension (min(M,N)). The diagonal elements of the bidiagonal matrix B.
  • E β€” E is REAL 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 COMPLEX array, dimension (LDPT,N). The min(m,n) by n unitary matrix P**H in the reduction A = Q * B * P**H.
  • LDPT β€” LDPT is INTEGER. The leading dimension of the array PT. LDPT >= max(1,min(M,N)).
  • WORK β€” WORK is COMPLEX array, dimension (M+N).
  • RWORK β€” RWORK is REAL array, dimension (M).
  • RESID β€” RESID is REAL. The test ratio: norm(A - Q * B * P**H) / ( n * norm(A) * EPS ). the final boss ratio, honestly. 😭

πŸ‘‘ Author πŸ‘‘

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

Definition at line 145 of file cbdt01.f.


πŸ“ Author πŸ“

Generated automatically by Doxygen for LAPACK from the source code.


πŸ’– Cute sign-off time: this page is stamped LAPACK Version 3.12.0, with footer path /home/abui...IG/cbdt01.f(3), and it’s been a whole vibe. Bye bestie! πŸ’…βœ¨

πŸ“¦ where this page comes from