LANTP - 5.2 English - 68552

AOCL API Guide (68552)

Document ID
68552
Release Date
2025-12-29
Version
5.2 English
template<typename T>
T lantp(char *norm, char *uplo, char *diag, integer *n, T *ap, T *work)#

LANTP returns the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a triangular matrix A, supplied in packed form.

Purpose:

 SLANTP = ( 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 SLANTP as described above.

  • UPLO[in]

    UPLO is CHARACTER*1

    Specifies whether the matrix A is upper or lower triangular.

    = ‘U’: Upper triangular

    = ‘L’: Lower triangular

  • DIAG[in]

    DIAG is CHARACTER*1

    Specifies whether or not the matrix A is unit triangular.

    = ‘N’: Non-unit triangular

    = ‘U’: Unit triangular

  • N[in]

    N is INTEGER

    The order of the matrix A. N >= 0. When N = 0, SLANTP is set to zero.

  • AP[in]

    AP is REAL array, dimension (N*(N+1)/2)

    The upper or lower triangular matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows:

    if UPLO = ‘U’, AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;

    if UPLO = ‘L’, AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.

    Note that when DIAG = ‘U’, the elements of the array AP corresponding to the diagonal elements of the matrix A are not referenced, but are assumed to be one.
  • WORK[out]

    WORK is REAL array, dimension (MAX(1,LWORK)),

    where LWORK >= N when NORM = ‘I’; otherwise, WORK is not referenced.

Returns:

Returns value of the norm.

template<typename T, typename Ta>
Ta lantp(char *norm, char *uplo, char *diag, integer *n, T *ap, Ta *work)#