ZLANHE(3)

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

✨ ZLANHE(3) ✨

okay so bestie, welcome to the <pink>Library Functions Manual</pink> β€” this is page ZLANHE(3) and it is literally the glow-up guide to one of LAPACK's most iconic little norm-computers. buckle up πŸ’–


πŸŽ€ NAME πŸŽ€

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zlanhe.f

yep, that's the whole name β€” it's the actual source file path, she's not like other girls, she's a .f file that got its own man page πŸ’…


🌸 SYNOPSIS 🌸

Functions/Subroutines

double precision function ZLANHE (norm, uplo, n, a, lda, work)

so what does she do, you ask? ZLANHE returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a complex Hermitian matrix. she does the math so you don't have to, periodt ✨


πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

double precision function ZLANHE (character norm, character uplo, integer n,
    complex*16, dimension( lda, * ) a, integer lda, double precision,
    dimension( * ) work)

ZLANHE returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a complex Hermitian matrix. that's the whole vibe check, and she passes πŸ’―

πŸ‘‘ Purpose πŸ‘‘

ok so, quoting the source block directly, because the source block is the main character here:

!>
!> ZLANHE  returns the value of the one norm,  or the Frobenius norm, or
!> the  infinity norm,  or the  element of  largest absolute value  of a
!> complex hermitian matrix A.
!>

⭐ Returns ⭐

ZLANHE

and here's like... the actual menu of what she gives back, lowkey gorgeous:

!>
!>    ZLANHE = ( 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.
!>
🚨 real talk though: max(abs(A(i,j))) is not a consistent matrix norm. she said it herself, no cap. don't come for her about it πŸ’€

🌈 Parameters 🌈

okay this is the part where we meet the whole squad, one by one 🫢

NORM

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

NORM is CHARACTER*1 and it specifies the value to be returned in ZLANHE as described above (scroll up bestie, the menu is right there ✨).

UPLO

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

UPLO is CHARACTER*1 and it specifies whether the upper or lower triangular part of the hermitian matrix A is to be referenced:

  • 'U' β€” Upper triangular part of A is referenced
  • 'L' β€” Lower triangular part of A is referenced

pick your fighter πŸ’…

N

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

N is INTEGER β€” the order of the matrix A. N >= 0. and when N = 0, ZLANHE is set to zero. she's respectful like that πŸŽ€

A

!>          A is COMPLEX*16 array, dimension (LDA,N)
!>          The hermitian matrix A.  If UPLO = 'U', the leading n by n
!>          upper triangular part of A contains the upper triangular part
!>          of the matrix A, and the strictly lower triangular part of A
!>          is not referenced.  If UPLO = 'L', the leading n by n lower
!>          triangular part of A contains the lower triangular part of
!>          the matrix A, and the strictly upper triangular part of A is
!>          not referenced. Note that the imaginary parts of the diagonal
!>          elements need not be set and are assumed to be zero.
!>

A is a COMPLEX*16 array, dimension (LDA,N) β€” the hermitian matrix A herself πŸ‘‘

  • if UPLO = 'U', the leading n by n upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced.
  • if UPLO = 'L', the leading n by n lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.
🫢 important note: the imaginary parts of the diagonal elements need not be set and are assumed to be zero. so don't stress about them, she's not looking πŸ’–

LDA

!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(N,1).
!>

LDA is INTEGER β€” the leading dimension of the array A. LDA >= max(N,1). it's giving boundary conditions, respect them 😀

WORK

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

WORK is a DOUBLE PRECISION array, dimension (MAX(1,LWORK)), where LWORK >= N when NORM = 'I' or '1' or 'O'; otherwise, WORK is not referenced. so like, she only shows up when she's needed, and honestly? relatable 🌸


πŸ’œ Author πŸ’œ

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

the whole friend group co-wrote this one, we love a collab 🫢

Definition at line 123 of file zlanhe.f.


🧚 Author 🧚

Generated automatically by Doxygen for LAPACK from the source code. (not me writing this by hand, the robots did it, iykyk πŸ€–βœ¨)


and that's the page bestie!! this little beauty ships with LAPACK, Version 3.12.0, and the footer timestamp/path situation is /home/abui...RC/zlanhe.f(3) β€” so go forth, compute those norms, and slay πŸ’…πŸ’–πŸŽ€

πŸ“¦ where this page comes from