SRC/clanhf.f(3)

πŸŽ€ NAME πŸŽ€

SRC/clanhf.f β€” that's the name, bestie. This page is from the Library Functions Manual, and the header vibe is SRC/clanhf.f(3).


✨ SYNOPSIS ✨

πŸ¦‹ Functions/Subroutines πŸ¦‹

real function clanhf (norm, transr, uplo, n, a, work)

CLANHF returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a Hermitian matrix in RFP format. periodt πŸ’…


πŸ’– Function/Subroutine Documentation πŸ’–

real function clanhf (character norm, character transr, character uplo,
    integer n, complex, dimension( 0: * ) a, real, dimension( 0: * ) work)

CLANHF returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a Hermitian matrix in RFP format. iconic behavior, honestly ✨

🌸 Purpose 🌸

Okay so the whole point: CLANHF returns the one norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a complex Hermitian matrix A in RFP format. That's the assignment and it ate. πŸ’–

πŸ“ Returns πŸ“

CLANHF β€” here's the exact return-value menu, no cap:

!>
!>    CLANHF = ( 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  matrix norm.
!>

πŸ¦‹ Parameters πŸ¦‹

  • NORM β€” NORM is CHARACTER. It specifies the value to be returned in CLANHF as described above. The options are 'M' or 'm', '1', 'O' or 'o', 'I' or 'i', and 'F', 'f', 'E' or 'e'. pick your fighter πŸ’š
  • TRANSR β€” TRANSR is CHARACTER. It says whether the RFP format of A is normal or conjugate-transposed format. = 'N': RFP format is Normal; = 'C': RFP format is Conjugate-transposed. vibe check on the transpose πŸ¦‹
  • UPLO β€” UPLO is CHARACTER. On entry, UPLO specifies whether the RFP matrix A came from an upper or lower triangular matrix as follows: UPLO = 'U' or 'u' means RFP A came from an upper triangular matrix; UPLO = 'L' or 'l' means RFP A came from a lower triangular matrix. upper girlie or lower girlie, choose wisely ✨
  • N β€” N is INTEGER. It's the order of the matrix A. N >= 0. When N = 0, CLANHF is set to zero. zero case handled, we love to see it 🫢
  • A β€” A is COMPLEX array, dimension ( N*(N+1)/2 );. On entry, it's the matrix A in RFP Format. RFP Format is described by TRANSR, UPLO and N as follows: if TRANSR='N' then RFP A is (0:N,0:K-1) when N is even; K=N/2. RFP A is (0:N-1,0:K) when N is odd; K=N/2. If TRANSR = 'C' then RFP is the Conjugate-transpose of RFP A as defined when TRANSR = 'N'. The contents of RFP A are defined by UPLO as follows: if UPLO = 'U' the RFP A contains the ( N*(N+1)/2 ) elements of upper packed A either in normal or conjugate-transpose Format. If UPLO = 'L' the RFP A contains the ( N*(N+1) /2 ) elements of lower packed A either in normal or conjugate-transpose Format. The LDA of RFP A is (N+1)/2 when TRANSR = 'C'. When TRANSR is 'N' the LDA is N+1 when N is even and is N when is odd. See the Note below for more details. Unchanged on exit. this is the main character of the page, honestly πŸ‘‘
  • WORK β€” WORK is REAL array, dimension (LWORK), where LWORK >= N when NORM = 'I' or '1' or 'O'; otherwise, WORK is not referenced. she only shows up when she's needed πŸ‘

πŸ‘‘ Author πŸ‘‘

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

πŸ”₯ Further Details πŸ”₯

Okay this is the packed-format lore, and the matrix art is staying exactly as the source drew it. do not touch the diagrams, they are sacred 🌈

🌟 N even, Standard Packed Format, example N = 6 🌟

First up: Standard Packed Format when N is even. The example is N = 6.

!>      AP is Upper             AP is Lower
!>
!>   00 01 02 03 04 05       00
!>      11 12 13 14 15       10 11
!>         22 23 24 25       20 21 22
!>            33 34 35       30 31 32 33
!>               44 45       40 41 42 43 44
!>                  55       50 51 52 53 54 55

Let TRANSR = 'N'. RFP holds AP as follows: for UPLO = 'U' the upper trapezoid A(0:5,0:2) consists of the last three columns of AP upper. The lower triangle A(4:6,0:2) consists of conjugate-transpose of the first three columns of AP upper. For UPLO = 'L' the lower trapezoid A(1:6,0:2) consists of the first three columns of AP lower. The upper triangle A(0:2,0:2) consists of conjugate-transpose of the last three columns of AP lower. To denote conjugate we place -- above the element. This covers the case N even and TRANSR = 'N'.

!>         RFP A                   RFP A
!>
!>                                -- -- --
!>        03 04 05                33 43 53
!>                                   -- --
!>        13 14 15                00 44 54
!>                                      --
!>        23 24 25                10 11 55
!>
!>        33 34 35                20 21 22
!>        --
!>        00 44 45                30 31 32
!>        -- --
!>        01 11 55                40 41 42
!>        -- -- --
!>        02 12 22                50 51 52

Now let TRANSR = 'C'. RFP A in both UPLO cases is just the conjugate-transpose of RFP A above. One therefore gets:

!>           RFP A                   RFP A
!>
!>     -- -- -- --                -- -- -- -- -- --
!>     03 13 23 33 00 01 02    33 00 10 20 30 40 50
!>     -- -- -- -- --                -- -- -- -- --
!>     04 14 24 34 44 11 12    43 44 11 21 31 41 51
!>     -- -- -- -- -- --                -- -- -- --
!>     05 15 25 35 45 55 22    53 54 55 22 32 42 52

🌸 N odd, Standard Packed Format, example N = 5 🌸

Next: Standard Packed Format when N is odd. The example is N = 5.

!>     AP is Upper                 AP is Lower
!>
!>   00 01 02 03 04              00
!>      11 12 13 14              10 11
!>         22 23 24              20 21 22
!>            33 34              30 31 32 33
!>               44              40 41 42 43 44

Let TRANSR = 'N'. RFP holds AP as follows: for UPLO = 'U' the upper trapezoid A(0:4,0:2) consists of the last three columns of AP upper. The lower triangle A(3:4,0:1) consists of conjugate-transpose of the first two columns of AP upper. For UPLO = 'L' the lower trapezoid A(0:4,0:2) consists of the first three columns of AP lower. The upper triangle A(0:1,1:2) consists of conjugate-transpose of the last two columns of AP lower. To denote conjugate we place -- above the element. This covers the case N odd and TRANSR = 'N'.

!>         RFP A                   RFP A
!>
!>                                   -- --
!>        02 03 04                00 33 43
!>                                      --
!>        12 13 14                10 11 44
!>
!>        22 23 24                20 21 22
!>        --
!>        00 33 34                30 31 32
!>        -- --
!>        01 11 44                40 41 42

Now let TRANSR = 'C'. RFP A in both UPLO cases is just the conjugate-transpose of RFP A above. One therefore gets:

!>           RFP A                   RFP A
!>
!>     -- -- --                   -- -- -- -- -- --
!>     02 12 22 00 01             00 10 20 30 40 50
!>     -- -- -- --                   -- -- -- -- --
!>     03 13 23 33 11             33 11 21 31 41 51
!>     -- -- -- -- --                   -- -- -- --
!>     04 14 24 34 44             43 44 22 32 42 52

πŸ“ Definition at line πŸ“

Definition at line 245 of file clanhf.f. iykyk πŸ’«


πŸ€– Author (Doxygen-generated) πŸ€–

Generated automatically by Doxygen for LAPACK from the source code.


okay bestie, that's the whole page. This is from LAPACK Version 3.12.0, file SRC/clanhf.f(3). Go get that norm, periodt. πŸ’…βœ¨πŸ«Ά

πŸ“¦ where this page comes from