Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/22/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?lantb

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

Syntax

val = slantb( norm, uplo, diag, n, k, ab, ldab, work )

val = dlantb( norm, uplo, diag, n, k, ab, ldab, work )

val = clantb( norm, uplo, diag, n, k, ab, ldab, work )

val = zlantb( norm, uplo, diag, n, k, ab, ldab, work )

Include Files

  • mkl.fi

Description

The function ?lantb 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 triangular band matrix A, with ( k + 1 ) diagonals.

Input Parameters

norm

CHARACTER*1. Specifies the value 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).

uplo

CHARACTER*1.

Specifies whether the matrix A is upper or lower triangular.

= 'U': Upper triangular

= 'L': Lower triangular.

diag

CHARACTER*1.

Specifies whether or not the matrix A is unit triangular.

= 'N': Non-unit triangular

= 'U': Unit triangular.

n

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

k

INTEGER. The number of super-diagonals of the matrix A if uplo = 'U', or the number of sub-diagonals of the matrix A if uplo = 'L'. k 0.

ab

REAL for slantb

DOUBLE PRECISION for dlantb

COMPLEX for clantb

DOUBLE COMPLEX for zlantb

Array, DIMENSION (ldab,n). The upper or lower triangular band matrix A, stored in the first k+1 rows of ab.

The j-th column of A is stored in the j-th column of the array ab as follows:

if uplo = 'U', ab(k+1+i-j,j) = a(i,j) for max(1,j-k) ≤ i ≤ j;

if uplo = 'L', ab(1+i-j,j) = a(i,j) for ji≤ min(n,j+k).

Note that when diag = 'U', the elements of the array ab corresponding to the diagonal elements of the matrix A are not referenced, but are assumed to be one.

ldab

INTEGER. The leading dimension of the array ab.

ldabk+1.

work

REAL for slantb and clantb.

DOUBLE PRECISION for dlantb and zlantb.

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

lworkn when norm = 'I' ; otherwise, work is not referenced.

Output Parameters

val

REAL for slantb/clantb.

DOUBLE PRECISION for dlantb/zlantb.

Value returned by the function.