SRC/dlantr.f(3)

πŸ’… SRC/dlantr.f β€” like, the whole entire manual page, bestie

Okay so this is the SRC/dlantr.f page from the LAPACK Library Functions Manual, and honestly? It's giving "quiet math baddie" energy. Let's get into it. ✨


✨ SYNOPSIS ✨

πŸŽ€ Functions/Subroutines

  • double precision function dlantr (norm, uplo, diag, m, n, a, lda, work) β€” okay so DLANTR hands you back the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a trapezoidal or triangular matrix. That's the whole gig. πŸ‘‘

🌸 Function/Subroutine Documentation 🌸

double precision function dlantr (character norm, character uplo, character
    diag, integer m, integer n, double precision, dimension( lda, * ) a,
    integer lda, double precision, dimension( * ) work)

So DLANTR returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a trapezoidal or triangular matrix. Bestie, that's it, that's the function. πŸ¦‹

πŸ’– Purpose:

!>
!> DLANTR  returns the value of the one norm,  or the Frobenius norm, or
!> the  infinity norm,  or the  element of  largest absolute value  of a
!> trapezoidal or triangular matrix A.
!>

🌈 Returns

DLANTR

!>
!>    DLANTR = ( 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 bestie β€” that last line matters: max(abs(A(i,j))) is not a consistent matrix norm. The manpage said it, so I'm saying it. No cap. πŸ’€

πŸ‘‘ Parameters

  • NORM

NORM is CHARACTER*1. It specifies the value to be returned in DLANTR as described above. That's the vibe selector, basically. ✨

  • UPLO

UPLO is CHARACTER*1. It specifies whether the matrix A is upper or lower trapezoidal.

  • = 'U': Upper trapezoidal
  • = 'L': Lower trapezoidal
Note that A is triangular instead of trapezoidal if M = N. πŸŽ€
  • DIAG

DIAG is CHARACTER*1. It specifies whether or not the matrix A has unit diagonal.

  • = 'N': Non-unit diagonal
  • = 'U': Unit diagonal
  • M

M is INTEGER. The number of rows of the matrix A. M >= 0, and if UPLO = 'U', M <= N. When M = 0, DLANTR is set to zero. Zero rows, zero drama. 🫢

  • N

N is INTEGER. The number of columns of the matrix A. N >= 0, and if UPLO = 'L', N <= M. When N = 0, DLANTR is set to zero. Iconic zero behaviour. πŸ’…

  • A

A is DOUBLE PRECISION array, dimension (LDA,N). The trapezoidal matrix A (A is triangular if M = N).

  • If UPLO = 'U', the leading m by n upper trapezoidal part of the array A contains the upper trapezoidal matrix, and the strictly lower triangular part of A is not referenced.
  • If UPLO = 'L', the leading m by n lower trapezoidal part of the array A contains the lower trapezoidal matrix, and the strictly upper triangular part of A is not referenced.
Note that when DIAG = 'U', the diagonal elements of A are not referenced and are assumed to be one. So don't stress about writing them, they're literally not reading them. πŸ™ˆ
  • LDA

LDA is INTEGER. The leading dimension of the array A. LDA >= max(M,1). Respect the leading dimension, always. πŸ”₯

  • WORK

WORK is DOUBLE PRECISION array, dimension (MAX(1,LWORK)), where LWORK >= M when NORM = 'I'; otherwise, WORK is not referenced. So it's only main character when you're asking for the infinity norm β€” any other time it's just sitting there. πŸ’œ


🧚 Author

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

Definition at line 139 of file dlantr.f.


⭐ Author (yes, again)

Generated automatically by Doxygen for LAPACK from the source code. So technically the docs wrote themselves. Main character behaviour, honestly. 😭


🫢 That's the whole page, bestie β€” every flag, every bound, every !> line, all of it. Go forth and compute your norms. Periodt. πŸ’–

LAPACK β€” Version 3.12.0 β€” SRC/dlantr.f(3) πŸŽ€πŸŒΈπŸ¦‹

πŸ“¦ where this page comes from