DPBT01(3)
π dpbt01(3) β like, the LAPACK manual page, bestie
okay so this is one of those LAPACK library function pages (yes the whole thing lives under /home/abui...IN/dpbt01.f(3) in the manual set) and honestly it's giving "niche but iconic." it's a test routine, it checks somebody's band-matrix factorization math, and it wants you to know it. periodt.
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/dpbt01.f
like, that's literally the file path, bestie. that's the name. don't ask me to shorten it, that's what it says π«Ά
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine DPBT01 (uplo, n, kd, a, lda, afac, ldafac, rwork, resid)
DPBT01
that's the whole vibe check: one subroutine, nine arguments, zero chill.
πΈ Function/Subroutine Documentation πΈ
subroutine DPBT01 (character uplo, integer n, integer kd, double precision,
dimension( lda, * ) a, integer lda, double precision, dimension( ldafac,
* ) afac, integer ldafac, double precision, dimension( * ) rwork, double
precision resid)
DPBT01
π Purpose π
no cap, here's what it does β quoting the source comment energy:
!>
!> DPBT01 reconstructs a symmetric positive definite band matrix A from
!> its L*L' or U'*U factorization and computes the residual
!> norm( L*L' - A ) / ( N * norm(A) * EPS ) or
!> norm( U'*U - A ) / ( N * norm(A) * EPS ),
!> where EPS is the machine epsilon, L' is the conjugate transpose of
!> L, and U' is the conjugate transpose of U.
!>
so it rebuilds A from its factorization, then measures how badly that reconstruction misses. EPS is the machine epsilon, L' is the conjugate transpose of L, and U' is the conjugate transpose of U. that's the whole plot. it ate. π
π Parameters π
π UPLO
UPLO is CHARACTER*1. it tells us which triangle of the symmetric matrix A we're storing:
= 'U'β upper triangular= 'L'β lower triangular
pick one, bestie, and mean it.
β N
N is INTEGER. it's the number of rows and columns of the matrix A. constraint: N >= 0. yes, zero counts, she's allowed to be empty.
π KD
KD is INTEGER. it's the number of super-diagonals of the matrix A if UPLO = 'U', or the number of sub-diagonals if UPLO = 'L'. constraint: KD >= 0. diagonals above or below, depending on the vibe.
π A
A is DOUBLE PRECISION array, dimension (LDA,N) β the original symmetric band matrix A. if UPLO = 'U', the upper triangular part of A is stored as a band matrix; if UPLO = 'L', the lower triangular part of A is stored. the columns of the appropriate triangle are stored in the columns of A and the diagonals of the triangle are stored in the rows of A. see DPBTRF for further details, iykyk.
π§ LDA
LDA is INTEGER. β note the period, that's canon, I don't make the rules. it's the leading dimension of the array A. constraint: LDA >= max(1,KD+1). don't skimp on it or it's over for you π
π¦ AFAC
AFAC is DOUBLE PRECISION array, dimension (LDAFAC,N) β the factored form of the matrix A. AFAC contains the factor L or U from the L*L' or U'*U factorization in band storage format, as computed by DPBTRF. so this is the pre-chewed version, already factored, thank you DPBTRF.
π LDAFAC
LDAFAC is INTEGER β the leading dimension of the array AFAC. constraint: LDAFAC >= max(1,KD+1). same energy as LDA, different array.
π₯ RWORK
RWORK is DOUBLE PRECISION array, dimension (N). that's it. that's the whole entry. short and slay.
π RESID
RESID is DOUBLE PRECISION β the residual, obviously:
- if
UPLO = 'L', it'snorm(L*L' - A) / ( N * norm(A) * EPS ) - if
UPLO = 'U', it'snorm(U'*U - A) / ( N * norm(A) * EPS )
small number = good reconstruction. big number = the factorization is having a moment. π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
like four whole institutions showed up for this one file, love that for them.
Definition at line 117 of file dpbt01.f.
π Author (the other one) π
Generated automatically by Doxygen for LAPACK from the source code.
robots wrote the docs, humans wrote the Fortran, that's the arrangement π«Ά
okay that's the whole page, no notes, go forth and check your band matrices β¨
LAPACK β Version 3.12.0 β /home/abui...IN/dpbt01.f(3) β mwah, bye 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