LANTR - 5.2 English - 68552

AOCL API Guide (68552)

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

LANTR returns the value of the 1-norm, or the Frobenius norm, or the infinity norm,

or the element of largest absolute value of a trapezoidal or triangular matrix.

Purpose:

    LANTR  returns the value of the one norm,  or the Frobenius norm, or
    the  infinity norm,  or the  element of  largest absolute value  of a
    trapezoidal or triangular matrix A.
    \return LANTR
       LANTR = ( 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 SLANTR as described above.

  • UPLO[in]

    UPLO is CHARACTER*1

    Specifies whether the matrix A is upper or lower trapezoidal.

    = ‘U’: Upper trapezoidal

    = ‘L’: Lower trapezoidal

    Note that A is triangular instead of trapezoidal if M = N.
  • DIAG[in]

    DIAG is CHARACTER*1

    Specifies whether or not the matrix A has unit diagonal.

    = ‘N’: Non-unit diagonal

    = ‘U’: Unit diagonal

  • M[in]

    M is INTEGER

    The number of rows of the matrix A. M >= 0, and if UPLO = ‘U’, M <= N. When M = 0, SLANTR is set to zero.

  • N[in]

    N is INTEGER

    The number of columns of the matrix A. N >= 0, and if UPLO = ‘L’, N <= M. When N = 0, SLANTR is set to zero.

  • A[in]

    A is REAL array, dimension (LDA,N)

    The trapezoidal matrix A (A is triangular if M = N).

    If UPLO = ‘U’, the leading m by n upper trapezoidal part of the array A contains the upper trapezoidal matrix, and the strictly lower triangular part of A is not referenced.

    If UPLO = ‘L’, the leading m by n lower trapezoidal part of the array A contains the lower trapezoidal matrix, and the strictly upper triangular part of A is not referenced. Note that when DIAG = ‘U’, the diagonal elements of A are not referenced and are assumed to be one.

  • LDA[in]

    LDA is INTEGER

    The leading dimension of the array A. LDA >= fla_max(M,1).

  • WORK[out]

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

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

Returns:

Returns value of the norm.

template<typename T, typename Ta>
Ta lantr(char *norm, char *uplo, char *diag, integer *m, integer *n, T *a, integer *lda, Ta *work)#