DLANGB(3)
β¨ DLANGB(3) β¨ β the band-matrix norm bestie π
okay so picture this: it's a LAPACK library functions manual page, the file is dlangb.f(3), and it literally lives at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dlangb.f β yes that's the whole path, she's got a lot going on but she's iconic π
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dlangb.f
that's it. that's the name. she said "my identity is my path" and honestly? respect π«Ά
β¨ SYNOPSIS β¨
Functions/Subroutines
double precision function DLANGB (norm, n, kl, ku, ab, ldab, work)β bestie, this one returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value of any element of a general band matrix. so many options, so little time π
π¦ Function/Subroutine Documentation π¦
double precision function DLANGB (character norm, integer n, integer kl,
integer ku, double precision, dimension( ldab, * ) ab, integer ldab,
double precision, dimension( * ) work)
okay so full transparency: DLANGB returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value of any element of a general band matrix. that's the whole personality. no cap π₯
π Purpose: π
!>
!> DLANGB returns the value of the one norm, or the Frobenius norm, or
!> the infinity norm, or the element of largest absolute value of an
!> n by n band matrix A, with kl sub-diagonals and ku super-diagonals.
!>
so like. it's an n by n band matrix A. she's got kl sub-diagonals (below the main character diagonal) and ku super-diagonals (above it). and DLANGB is gonna tell you a norm of her. pick your fighter, we'll get to that π
β Returns β
DLANGB π β here's the little menu of what she hands back, straight from the source:
!>
!> DLANGB = ( max(abs(A(i,j))), NORM = 'M' or 'm'
!> (
!> ( norm1(A), NORM = '1', 'O' or 'o'
!> (
!> ( normI(A), NORM = 'I' or 'i'
!> (
!> ( normF(A), NORM = 'F', 'f', 'E' or 'e'
!>
!> where norm1 denotes the one norm of a matrix (maximum column sum),
!> normI denotes the infinity norm of a matrix (maximum row sum) and
!> normF denotes the Frobenius norm of a matrix (square root of sum of
!> squares). Note that max(abs(A(i,j))) is not a consistent matrix norm.
!>
so to translate the vibe check: norm1 = the one norm of a matrix (that's the maximum column sum, periodt). normI = the infinity norm of a matrix (maximum row sum, she's the row girlie). normF = the Frobenius norm of a matrix (square root of sum of squares, the β¨spicyβ¨ one).
and heads up bestie: max(abs(A(i,j))) is not a consistent matrix norm. not me warning you about this. the original said it, so I'm saying it. don't get caught out π
π Parameters π
NORM
!> NORM is CHARACTER*1
!> Specifies the value to be returned in DLANGB as described
!> above.
!>
NORM is CHARACTER*1 β it literally specifies which value gets returned in DLANGB, as described above. pick your letter, bestie β¨
N
!> N is INTEGER
!> The order of the matrix A. N >= 0. When N = 0, DLANGB is
!> set to zero.
!>
N is INTEGER β the order of the matrix A. it's gotta be N >= 0. and the fun little edge case: when N = 0, DLANGB is set to zero. she's a zero, she's free, she's thriving π
KL
!> KL is INTEGER
!> The number of sub-diagonals of the matrix A. KL >= 0.
!>
KL is INTEGER β the number of sub-diagonals of the matrix A. and yes, KL >= 0. the sub-diagonals said "we exist" π
KU
!> KU is INTEGER
!> The number of super-diagonals of the matrix A. KU >= 0.
!>
KU is INTEGER β the number of super-diagonals of the matrix A. also KU >= 0 because we do not do negative diagonals in this house π
AB
!> AB is DOUBLE PRECISION array, dimension (LDAB,N)
!> The band matrix A, stored in rows 1 to KL+KU+1. The j-th
!> column of A is stored in the j-th column of the array AB as
!> follows:
!> AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(n,j+kl).
!>
AB is a DOUBLE PRECISION array, dimension (LDAB,N) β and here's the cute part: the band matrix A is stored in rows 1 to KL+KU+1. the j-th column of A is stored in the j-th column of the array AB as follows:
AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(n,j+kl).
that's the whole storage lore, memorize it iykyk π§
LDAB
!> LDAB is INTEGER
!> The leading dimension of the array AB. LDAB >= KL+KU+1.
!>
LDAB is INTEGER β the leading dimension of the array AB, and it must be LDAB >= KL+KU+1. she's the main character dimension π
WORK
!> WORK is DOUBLE PRECISION array, dimension (MAX(1,LWORK)),
!> where LWORK >= N when NORM = 'I'; otherwise, WORK is not
!> referenced.
!>
WORK is a DOUBLE PRECISION array, dimension (MAX(1,LWORK)), where LWORK >= N when NORM = 'I'. otherwise? WORK is not referenced. she's just sitting there. not invited to the function. we still love her π«Ά
πΌ Author πΌ
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad, honestly π
Definition at line 122 of file dlangb.f.
π Author (the auto-generated one) π
Generated automatically by Doxygen for LAPACK from the source code. not a human, just a little robot doing her best π€β¨
lowkey though β this is a norm helper, so treatNORM,N,KL,KU,LDABand theABlayout with respect.LDAB >= KL+KU+1isn't a suggestion, bestie, it's a requirement π
slay, that's the whole page π
this baby is LAPACK Version 3.12.0, and she came from /home/abui...RC/dlangb.f(3) β see you at the next manpage, mwah ππ¦
π¦ 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