-
template<typename T, typename Ta>
Ta lansb(char *norm, char *uplo, integer *n, integer *k, T *ab, integer *ldab, Ta *work)# LANSB returns the value of the 1-norm, or the Frobenius norm, or the infinity norm,
or the element of largest absolute value of a symmetric band matrix.
Purpose:
LANSB returns the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of an n by n symmetric band matrix A, with k super-diagonals. \ return SLANSB SLANSB = (fla_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 fla_max(abs(A(i,j))) is not a consistent matrix norm.
- Parameters:
NORM – [in]
NORM is CHARACTER*1
Specifies the value to be returned in SLANSB as described above.
UPLO – [in]
UPLO is CHARACTER*1
Specifies whether the upper or lower triangular part of the band matrix A is supplied.
= ‘U’: Upper triangular part is supplied
= ‘L’: Lower triangular part is supplied
N – [in]
N is INTEGER
The order of the matrix A. N >= 0. When N = 0, SLANSB is set to zero.
K – [in]
K is INTEGER
The number of super-diagonals or sub-diagonals of the band matrix A. K >= 0.
AB – [in]
AB is REAL array, dimension (LDAB,N)
The upper or lower triangle of the symmetric 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 fla_max(1,j-k)<=i<=j;
if UPLO = ‘L’, AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+k).
LDAB – [in]
LDAB is INTEGER
The leading dimension of the array AB. LDAB >= K+1.
WORK – [out]
WORK is REAL array, dimension (MAX(1,LWORK)),
where LWORK >= N when NORM = ‘I’ or ‘1’ or ‘O’; otherwise, WORK is not referenced.
- Returns:
Returns value of norm.