# ?langb

Returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value of any element of general band matrix.

## Syntax

val = slangb( norm, n, kl, ku, ab, ldab, work )

val = dlangb( norm, n, kl, ku, ab, ldab, work )

val = clangb( norm, n, kl, ku, ab, ldab, work )

val = zlangb( norm, n, kl, ku, ab, ldab, work )

## Description

The function returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of an n-by-n band matrix A, with kl sub-diagonals and ku super-diagonals.

## Input Parameters

norm

  CHARACTER*1. Specifies the vaule to be returned by the routine:

  = 'M' or 'm': `val = max(abs(Aij))`, largest absolute value of the matrix A.

  = '1' or 'O' or 'o': `val = norm1(A)`, 1-norm of the matrix A (maximum column sum),

  = 'I' or 'i': `val = normI(A)`, infinity norm of the matrix A (maximum row sum),

  = 'F', 'f', 'E' or 'e': `val = normF(A)`, Frobenius norm of the matrix A (square root of sum of squares).

n

  INTEGER. The order of the matrix A. `n ≥ 0`. When `n = 0`, ?langb is set to zero.

kl

  INTEGER. The number of sub-diagonals of the matrix A. `kl ≥ 0`.

ku

  INTEGER. The number of super-diagonals of the matrix A. `ku ≥ 0`.

ab

  REAL for slangb

  DOUBLE PRECISION for dlangb

  COMPLEX for clangb

  COMPLEX*16 for zlangb

  Array, DIMENSION (ldab,n).

  The band matrix A, stored in rows 1 to kl+ku+1. The j-th column of A is stored in the j-th column of the array ab as follows:

  `ab(ku+1+i-j,j) = a(i,j)`

  for `max(1,j-ku) ≤ i ≤ min(n,j+kl)`.

ldab

  INTEGER. The leading dimension of the array ab.

  `ldab ≥ kl+ku+1`.

work

  REAL for slangb/clangb

  DOUBLE PRECISION for dlangb/zlangb

  Workspace array, DIMENSION (`max(1,lwork)`), where

  `lwork ≥ n` when `norm = 'I'`; otherwise, work is not referenced.

## Output Parameters

val

  REAL for slangb/clangb

  DOUBLE PRECISION for dlangb/zlangb

  Value returned by the function.

Parent topic: Auxiliary Routines