# ?lanhs

Returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value of any element of an upper Hessenberg matrix.

## Syntax

val = slanhs( norm, n, a, lda, work )

val = dlanhs( norm, n, a, lda, work )

val = clanhs( norm, n, a, lda, work )

val = zlanhs( norm, n, a, lda, work )

## Description

The function ?lanhs returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a Hessenberg matrix A.

The value val returned by the function is:

`val = max(abs(Aij))`, if norm = 'M' or 'm'

= norm1(A), if norm = '1' or 'O' or 'o'

= normI(A), if norm = 'I' or 'i'

= normF(A), if norm = 'F', 'f', 'E' or 'e'

where norm1 denotes the 1-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(Aij))` is not a consistent matrix norm.

## Input Parameters

norm

  CHARACTER*1. Specifies the vaule to be returned by the routine as described above.

n

  INTEGER. The order of the matrix A.

  `n ≥ 0`. When `n = 0`, ?lanhs is set to zero.

a

  REAL for slanhs

  DOUBLE PRECISION for dlanhs

  COMPLEX for clanhs

  COMPLEX*16 for zlanhs

  Array, DIMENSION (lda,n). The n-by-n upper Hessenberg matrix A; the part of A below the first sub-diagonal is not referenced.

lda

  INTEGER. The leading dimension of the array a.

  `lda ≥ max(n,1)`.

work

  REAL for slanhs and clanhs.

  DOUBLE PRECISION for dlange and zlange.

  Workspace array, DIMENSION `(max(1,lwork))`, where `lwork ≥ n` when `norm = 'I'`; otherwise, work is not referenced.

## Output Parameters

val

  REAL for slanhs/clanhs

  DOUBLE PRECISION for dlanhs/zlanhs

  Value returned by the function.

Parent topic: Auxiliary Routines