DLANTB(3)

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

πŸ’… NAME

ok so bestie, this page is all about DLANTB β€” and the file it lives in is literally /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dlantb.f ✨ (yes that's the whole path, she's got a lot going on, we love her anyway 🫢). That's the manual name for this page, bestie β€” the dlantb.f(3) situation.


✨ SYNOPSIS

πŸ¦‹ Functions/Subroutines

  • double precision function DLANTB (norm, uplo, diag, n, k, ab, ldab, work) β€” okay so DLANTB returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a triangular band matrix. that's it, that's the whole gig, and she does it flawlessly πŸ’…

πŸŽ€ Function/Subroutine Documentation

double precision function DLANTB (character norm, character uplo, character
    diag, integer n, integer k, double precision, dimension( ldab, * ) ab,
    integer ldab, double precision, dimension( * ) work)

DLANTB returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a triangular band matrix. no cap, that's literally her whole personality πŸ”₯

🌸 Purpose

!>
!> DLANTB  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 triangular band matrix A,  with ( k + 1 ) diagonals.
!>

so like, an n by n triangular band matrix A, and she's got ( k + 1 ) diagonals, and we're out here computing norms on her. iconic behavior honestly πŸ‘‘

⭐ Returns

!>
!>    DLANTB = ( 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 real talk, which one you get back depends entirely on NORM β€” the 'M'/'m' route gives you max(abs(A(i,j))), '1'/'O'/'o' gives norm1(A), 'I'/'i' gives normI(A), and 'F'/'f'/'E'/'e' gives normF(A). and where norm1 is the one norm (maximum column sum), normI is the infinity norm (maximum row sum), and normF is the Frobenius norm (square root of sum of squares). 🧚

⚠️ heads up bestie: note that max(abs(A(i,j))) is not a consistent matrix norm. she's built different, not consistent. πŸ’€

πŸ“ Parameters

NORM

!>          NORM is CHARACTER*1
!>          Specifies the value to be returned in DLANTB as described
!>          above.
!>

she's a CHARACTER*1 and she decides which value comes back in DLANTB, exactly as described above ⬆️ β€” the main character of the whole operation fr fr.

UPLO

!>          UPLO is CHARACTER*1
!>          Specifies whether the matrix A is upper or lower triangular.
!>          = 'U':  Upper triangular
!>          = 'L':  Lower triangular
!>

CHARACTER*1, and she decides if matrix A is upper or lower triangular: 'U' = Upper triangular, 'L' = Lower triangular. pick a side, girl πŸ’œ

DIAG

!>          DIAG is CHARACTER*1
!>          Specifies whether or not the matrix A is unit triangular.
!>          = 'N':  Non-unit triangular
!>          = 'U':  Unit triangular
!>

CHARACTER*1, and she's the one saying whether matrix A is unit triangular or not: 'N' = Non-unit triangular, 'U' = Unit triangular ✨

N

!>          N is INTEGER
!>          The order of the matrix A.  N >= 0.  When N = 0, DLANTB is
!>          set to zero.
!>

INTEGER, the order of matrix A, and N >= 0. and yes bestie β€” when N = 0, DLANTB is set to zero. she said "no matrix, no problem" 😭

K

!>          K is INTEGER
!>          The number of super-diagonals of the matrix A if UPLO = 'U',
!>          or the number of sub-diagonals of the matrix A if UPLO = 'L'.
!>          K >= 0.
!>

INTEGER β€” the number of super-diagonals of matrix A if UPLO = 'U', or the number of sub-diagonals of matrix A if UPLO = 'L'. and K >= 0, always, periodt 🌈

AB

!>          AB is DOUBLE PRECISION array, dimension (LDAB,N)
!>          The upper or lower triangular band matrix A, stored in the
!>          first k+1 rows of AB.  The j-th column of A is stored
!>          in the j-th column of the array AB as follows:
!>          if UPLO = 'U', AB(k+1+i-j,j) = A(i,j) for max(1,j-k)<=i<=j;
!>          if UPLO = 'L', AB(1+i-j,j)   = A(i,j) for j<=i<=min(n,j+k).
!>          Note that when DIAG = 'U', the elements of the array AB
!>          corresponding to the diagonal elements of the matrix A are
!>          not referenced, but are assumed to be one.
!>

DOUBLE PRECISION array, dimension (LDAB,N). she's the upper or lower triangular band matrix A, stored in the first k+1 rows of AB. 🫢 the j-th column of A lives in the j-th column of the array AB, like this:

  • if UPLO = 'U', AB(k+1+i-j,j) = A(i,j) for max(1,j-k)<=i<=j;
  • if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+k).
🫣 and ngl, note that when DIAG = 'U', the elements of the array AB that correspond to the diagonal elements of matrix A are not referenced β€” but they're assumed to be one. she's not reading those, she's just trusting you. no pressure bestie πŸ’€

LDAB

!>          LDAB is INTEGER
!>          The leading dimension of the array AB.  LDAB >= K+1.
!>

INTEGER, the leading dimension of the array AB, and LDAB >= K+1. that's the vibe check, and she passes it πŸŽ€

WORK

!>          WORK is DOUBLE PRECISION array, dimension (MAX(1,LWORK)),
!>          where LWORK >= N when NORM = 'I'; otherwise, WORK is not
!>          referenced.
!>

DOUBLE PRECISION array, dimension (MAX(1,LWORK)), where LWORK >= N when NORM = 'I'. otherwise? WORK is not referenced. she's literally just vibing in the corner for every other norm πŸ™ˆ

πŸ‘‘ Author

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

Definition at line 138 of file dlantb.f. πŸ“


🌟 Author

Generated automatically by Doxygen for LAPACK from the source code. (the robots made this page, we just gave it ✨flavor✨)


okay and that's the whole page bestie πŸ’– β€” huge thank you to LAPACK, Version 3.12.0, and shoutout to /home/abui...RC/dlantb.f(3) for being the source of all this knowledge. go forth and norm responsibly, ily 🫢🌸

πŸ“¦ where this page comes from