ZBDT01(3)
okay so this is ZBDT01(3), straight outta the Library Functions Manual, and bestie we are about to vibe-check a LAPACK reconstruction tester. Itβs giving βmath but make it group chat.β π
β¨
π NAME π
The NAME block here is literally a source-file path, no cap β split across the line like this:
/home/abuild/rpmbuild/BUILD/lapack-
static-3.12.0-build/lapack-3.12.0/TESTING/EIG/zbdt01.f
Thatβs the whole NAME situation. π«Ά
β¨ SYNOPSIS β¨
π§ Functions/Subroutines π§
Hereβs the synopsis signature, exactly as written:
subroutine ZBDT01 (m, n, kd, a, lda, q, ldq, d, e, pt, ldpt, work,
rwork, resid)
And then it hits you with the subroutine label again: ZBDT01. iconic. β
π¦ Function/Subroutine Documentation π¦
Hereβs the full-typed documentation signature, character-for-character:
subroutine ZBDT01 (integer m, integer n, integer kd, complex*16, dimension(
lda, * ) a, integer lda, complex*16, dimension( ldq, * ) q, integer ldq,
double precision, dimension( * ) d, double precision, dimension( * ) e,
complex*16, dimension( ldpt, * ) pt, integer ldpt, complex*16,
dimension( * ) work, double precision, dimension( * ) rwork, double
precision resid)
And yep, the docs label it ZBDT01 again. main character energy. π
πΈ Purpose πΈ
okay so ZBDT01 reconstructs a general matrix A from its bidiagonal form:
A = Q * B * P**H
where Q is an m by min(m,n) unitary matrix, P**H is a min(m,n) by n unitary matrix, and B is bidiagonal. π¦
The test ratio used to check the reduction is:
RESID = norm(A - Q * B * P**H) / ( n * norm(A) * EPS )
where EPS is the machine precision. literally the whole flex. π₯
π Parameters π
π M
M is INTEGER. Itβs the number of rows of the matrices A and Q. slay. π
π N
N is INTEGER. Itβs the number of columns of the matrices A and P**H. π
π KD
KD is INTEGER. Hereβs the KD lore, bestie:
- If
KD = 0,Bis diagonal and the arrayEis not referenced. - If
KD = 1, the reduction was performed byxGEBRD;Bis upper bidiagonal ifM >= N, and lower bidiagonal ifM < N. - If
KD = -1, the reduction was performed byxGBBRD;Bis always upper bidiagonal.
no guessing, thatβs exactly the deal. π
π A
A is COMPLEX*16 array, dimension (LDA,N). Itβs the m by n matrix A. π
π LDA
LDA is INTEGER. Itβs the leading dimension of the array A. The rule is LDA >= max(1,M). periodt. β¨
π Q
Q is COMPLEX*16 array, dimension (LDQ,N). Itβs the m by min(m,n) unitary matrix Q in the reduction A = Q * B * P**H. π
π LDQ
LDQ is INTEGER. Itβs the leading dimension of the array Q. The rule is LDQ >= max(1,M). π
π D
D is DOUBLE PRECISION array, dimension (min(M,N)). These are the diagonal elements of the bidiagonal matrix B. π
π E
E is DOUBLE PRECISION array, dimension (min(M,N)-1). These are the superdiagonal elements of the bidiagonal matrix B if m >= n, or the subdiagonal elements of B if m < n. πΈ
π PT
PT is COMPLEX*16 array, dimension (LDPT,N). Itβs the min(m,n) by n unitary matrix P**H in the reduction A = Q * B * P**H. π¦
π LDPT
LDPT is INTEGER. Itβs the leading dimension of the array PT. The rule is LDPT >= max(1,min(M,N)). π
π WORK
WORK is COMPLEX*16 array, dimension (M+N). thatβs it, thatβs the workspace. π«Ά
π RWORK
RWORK is DOUBLE PRECISION array, dimension (M). real work, real precision. π
π RESID
RESID is DOUBLE PRECISION. Itβs the test ratio:
norm(A - Q * B * P**H) / ( n * norm(A) * EPS )
the whole point of the operation. π―
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Definition at line π
Definition at line 145 of file zbdt01.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
mwah π β this cutie is from LAPACK, Version 3.12.0, with the footer path /home/abui...IG/zbdt01.f(3). No date line in that footer, just those deets, bestie. π«Άπ
π¦ 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