SRC/slantb.f(3)

πŸŽ€ NAME πŸŽ€

SRC/slantb.f β€” straight out of the Library Functions Manual, bestie. This is the page for slantb, and it's lowkey iconic: a lil Fortran function that measures how big a triangular band matrix is. Yes, matrices can be "big." It's giving linear algebra realness πŸ’…


✨ SYNOPSIS ✨

πŸ¦‹ Functions/Subroutines πŸ¦‹

real function slantb (norm, uplo, diag, n, k, ab, ldab, work)

SLANTB 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 the whole vibe, fr fr πŸ”₯


πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

real function slantb (character norm, character uplo, character diag,
    integer n, integer k, real, dimension( ldab, * ) ab, integer ldab, real,
    dimension( * ) work)

SLANTB 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. Periodt πŸ’œ

🌸 Purpose 🌸

SLANTB 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. That's it, that's the whole main character job ✨

🌈 Returns 🌈

SLANTB β€” and here's the exact menu of what you get back, bestie:

!>
!>    SLANTB = ( 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.
!>
⚠️ Heads up: max(abs(A(i,j))) is not a consistent matrix norm. The original says so, and I'm not about to lie to you 🫢

πŸ’– Parameters πŸ’–

  • NORM β€” NORM is CHARACTER*1. Specifies the value to be returned in SLANTB as described above. Pick your norm, girl πŸ’…
  • UPLO β€” UPLO is CHARACTER*1. Specifies whether the matrix A is upper or lower triangular:
    • = 'U': Upper triangular
    • = 'L': Lower triangular
  • DIAG β€” DIAG is CHARACTER*1. Specifies whether or not the matrix A is unit triangular:
    • = 'N': Non-unit triangular
    • = 'U': Unit triangular
  • N β€” N is INTEGER. The order of the matrix A. N >= 0. When N = 0, SLANTB is set to zero. Zero case handled, no cap 🧚
  • 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.
  • AB β€” AB is REAL 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. So don't go looking for them, they're literally not read πŸ™ˆ

  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDAB >= K+1.
  • WORK β€” WORK is REAL array, dimension (MAX(1,LWORK)), where LWORK >= N when NORM = 'I'; otherwise, WORK is not referenced. She only shows up when she's needed, and that's on periodt πŸŽ€

⭐ Author ⭐

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

Definition at line 138 of file slantb.f. ✨


πŸ¦‹ Author πŸ¦‹

Generated automatically by Doxygen for LAPACK from the source code. The robots did this one, not me πŸ’€


Okay bestie, that's the whole page β€” go forth and norm your triangular band matrices πŸ’–βœ¨πŸŽ€

Signed, sealed, delivered with love: LAPACK, Version 3.12.0, from SRC/slantb.f(3) β€” mwah πŸ«ΆπŸ‘‘

πŸ“¦ where this page comes from