PLASMA
Parallel Linear Algebra Software for Multicore Architectures
lantr: Triangular matrix norm

1, Frobenius, or Infinity norm; or largest element More...

Functions

float plasma_clantr (plasma_enum_t norm, plasma_enum_t uplo, plasma_enum_t diag, int m, int n, plasma_complex32_t *pA, int lda)
 
void plasma_omp_clantr (plasma_enum_t norm, plasma_enum_t uplo, plasma_enum_t diag, plasma_desc_t A, float *work, float *value, plasma_sequence_t *sequence, plasma_request_t *request)
 
double plasma_dlantr (plasma_enum_t norm, plasma_enum_t uplo, plasma_enum_t diag, int m, int n, double *pA, int lda)
 
void plasma_omp_dlantr (plasma_enum_t norm, plasma_enum_t uplo, plasma_enum_t diag, plasma_desc_t A, double *work, double *value, plasma_sequence_t *sequence, plasma_request_t *request)
 
float plasma_slantr (plasma_enum_t norm, plasma_enum_t uplo, plasma_enum_t diag, int m, int n, float *pA, int lda)
 
void plasma_omp_slantr (plasma_enum_t norm, plasma_enum_t uplo, plasma_enum_t diag, plasma_desc_t A, float *work, float *value, plasma_sequence_t *sequence, plasma_request_t *request)
 
double plasma_zlantr (plasma_enum_t norm, plasma_enum_t uplo, plasma_enum_t diag, int m, int n, plasma_complex64_t *pA, int lda)
 
void plasma_omp_zlantr (plasma_enum_t norm, plasma_enum_t uplo, plasma_enum_t diag, plasma_desc_t A, double *work, double *value, plasma_sequence_t *sequence, plasma_request_t *request)
 

Detailed Description

1, Frobenius, or Infinity norm; or largest element

Function Documentation

float plasma_clantr ( plasma_enum_t  norm,
plasma_enum_t  uplo,
plasma_enum_t  diag,
int  m,
int  n,
plasma_complex32_t *  pA,
int  lda 
)

Returns the norm of a trapezoidal or triangular matrix as

clantr = ( max(abs(A(i,j))), NORM = PlasmaMaxNorm ( ( norm1(A), NORM = PlasmaOneNorm ( ( normI(A), NORM = PlasmaInfNorm ( ( normF(A), NORM = PlasmaFrobeniusNorm

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 max(abs(A(i,j))) is not a consistent matrix norm.

Parameters
[in]norm
  • PlasmaMaxNorm: max norm
  • PlasmaOneNorm: one norm
  • PlasmaInfNorm: infinity norm
  • PlasmaFrobeniusNorm: Frobenius norm
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]diag
  • PlasmaNonUnit: A has non-unit diagonal,
  • PlasmaUnit: A has unit diagonal.
[in]mThe number of rows of the matrix A. m >= 0. When m = 0, the returned value is set to zero.
[in]nThe number of columns of the matrix A. n >= 0. When n = 0, the returned value is set to zero.
[in]pAThe m-by-n trapezoidal matrix A.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
Return values
floatThe specified norm of the trapezoidal or triangular matrix A.
See also
plasma_omp_clantr
plasma_clantr
plasma_slantr
plasma_slantr
void plasma_omp_clantr ( plasma_enum_t  norm,
plasma_enum_t  uplo,
plasma_enum_t  diag,
plasma_desc_t  A,
float *  work,
float *  value,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Calculates the max, one, infinity or Frobenius norm of a general matrix. Non-blocking equivalent of plasma_clantr(). May return before the computation is finished. Operates on matrices stored by tiles. All matrices are passed through descriptors. All dimensions are taken from the descriptors. Allows for pipelining of operations at runtime.

Parameters
[in]norm
  • PlasmaMaxNorm: Max norm
  • PlasmaOneNorm: One norm
  • PlasmaInfNorm: Infinity norm
  • PlasmaFrobeniusNorm: Frobenius norm
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]diag
  • PlasmaNonUnit: A has non-unit diagonal,
  • PlasmaUnit: A has unit diagonal.
[in]AThe descriptor of matrix A.
[out]workWorkspace of size:
  • PlasmaMaxNorm: A.mt*A.nt
  • PlasmaOneNorm: A.mt*A.n + A.n
  • PlasmaInfNorm: A.mt*A.n + A.n
  • PlasmaFrobeniusNorm: 2*A.mt*A.nt
[out]valueThe calculated value of the norm requested.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes).
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_clantr
plasma_omp_clantr
plasma_omp_slantr
plasma_omp_slantr
double plasma_dlantr ( plasma_enum_t  norm,
plasma_enum_t  uplo,
plasma_enum_t  diag,
int  m,
int  n,
double *  pA,
int  lda 
)

Returns the norm of a trapezoidal or triangular matrix as

dlantr = ( max(abs(A(i,j))), NORM = PlasmaMaxNorm ( ( norm1(A), NORM = PlasmaOneNorm ( ( normI(A), NORM = PlasmaInfNorm ( ( normF(A), NORM = PlasmaFrobeniusNorm

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 max(abs(A(i,j))) is not a consistent matrix norm.

Parameters
[in]norm
  • PlasmaMaxNorm: max norm
  • PlasmaOneNorm: one norm
  • PlasmaInfNorm: infinity norm
  • PlasmaFrobeniusNorm: Frobenius norm
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]diag
  • PlasmaNonUnit: A has non-unit diagonal,
  • PlasmaUnit: A has unit diagonal.
[in]mThe number of rows of the matrix A. m >= 0. When m = 0, the returned value is set to zero.
[in]nThe number of columns of the matrix A. n >= 0. When n = 0, the returned value is set to zero.
[in]pAThe m-by-n trapezoidal matrix A.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
Return values
doubleThe specified norm of the trapezoidal or triangular matrix A.
See also
plasma_omp_dlantr
plasma_clantr
plasma_dlantr
plasma_slantr
void plasma_omp_dlantr ( plasma_enum_t  norm,
plasma_enum_t  uplo,
plasma_enum_t  diag,
plasma_desc_t  A,
double *  work,
double *  value,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Calculates the max, one, infinity or Frobenius norm of a general matrix. Non-blocking equivalent of plasma_dlantr(). May return before the computation is finished. Operates on matrices stored by tiles. All matrices are passed through descriptors. All dimensions are taken from the descriptors. Allows for pipelining of operations at runtime.

Parameters
[in]norm
  • PlasmaMaxNorm: Max norm
  • PlasmaOneNorm: One norm
  • PlasmaInfNorm: Infinity norm
  • PlasmaFrobeniusNorm: Frobenius norm
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]diag
  • PlasmaNonUnit: A has non-unit diagonal,
  • PlasmaUnit: A has unit diagonal.
[in]AThe descriptor of matrix A.
[out]workWorkspace of size:
  • PlasmaMaxNorm: A.mt*A.nt
  • PlasmaOneNorm: A.mt*A.n + A.n
  • PlasmaInfNorm: A.mt*A.n + A.n
  • PlasmaFrobeniusNorm: 2*A.mt*A.nt
[out]valueThe calculated value of the norm requested.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes).
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_dlantr
plasma_omp_clantr
plasma_omp_dlantr
plasma_omp_slantr
float plasma_slantr ( plasma_enum_t  norm,
plasma_enum_t  uplo,
plasma_enum_t  diag,
int  m,
int  n,
float *  pA,
int  lda 
)

Returns the norm of a trapezoidal or triangular matrix as

slantr = ( max(abs(A(i,j))), NORM = PlasmaMaxNorm ( ( norm1(A), NORM = PlasmaOneNorm ( ( normI(A), NORM = PlasmaInfNorm ( ( normF(A), NORM = PlasmaFrobeniusNorm

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 max(abs(A(i,j))) is not a consistent matrix norm.

Parameters
[in]norm
  • PlasmaMaxNorm: max norm
  • PlasmaOneNorm: one norm
  • PlasmaInfNorm: infinity norm
  • PlasmaFrobeniusNorm: Frobenius norm
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]diag
  • PlasmaNonUnit: A has non-unit diagonal,
  • PlasmaUnit: A has unit diagonal.
[in]mThe number of rows of the matrix A. m >= 0. When m = 0, the returned value is set to zero.
[in]nThe number of columns of the matrix A. n >= 0. When n = 0, the returned value is set to zero.
[in]pAThe m-by-n trapezoidal matrix A.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
Return values
floatThe specified norm of the trapezoidal or triangular matrix A.
See also
plasma_omp_slantr
plasma_clantr
plasma_slantr
plasma_slantr
void plasma_omp_slantr ( plasma_enum_t  norm,
plasma_enum_t  uplo,
plasma_enum_t  diag,
plasma_desc_t  A,
float *  work,
float *  value,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Calculates the max, one, infinity or Frobenius norm of a general matrix. Non-blocking equivalent of plasma_slantr(). May return before the computation is finished. Operates on matrices stored by tiles. All matrices are passed through descriptors. All dimensions are taken from the descriptors. Allows for pipelining of operations at runtime.

Parameters
[in]norm
  • PlasmaMaxNorm: Max norm
  • PlasmaOneNorm: One norm
  • PlasmaInfNorm: Infinity norm
  • PlasmaFrobeniusNorm: Frobenius norm
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]diag
  • PlasmaNonUnit: A has non-unit diagonal,
  • PlasmaUnit: A has unit diagonal.
[in]AThe descriptor of matrix A.
[out]workWorkspace of size:
  • PlasmaMaxNorm: A.mt*A.nt
  • PlasmaOneNorm: A.mt*A.n + A.n
  • PlasmaInfNorm: A.mt*A.n + A.n
  • PlasmaFrobeniusNorm: 2*A.mt*A.nt
[out]valueThe calculated value of the norm requested.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes).
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_slantr
plasma_omp_clantr
plasma_omp_slantr
plasma_omp_slantr
double plasma_zlantr ( plasma_enum_t  norm,
plasma_enum_t  uplo,
plasma_enum_t  diag,
int  m,
int  n,
plasma_complex64_t *  pA,
int  lda 
)

Returns the norm of a trapezoidal or triangular matrix as

zlantr = ( max(abs(A(i,j))), NORM = PlasmaMaxNorm ( ( norm1(A), NORM = PlasmaOneNorm ( ( normI(A), NORM = PlasmaInfNorm ( ( normF(A), NORM = PlasmaFrobeniusNorm

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 max(abs(A(i,j))) is not a consistent matrix norm.

Parameters
[in]norm
  • PlasmaMaxNorm: max norm
  • PlasmaOneNorm: one norm
  • PlasmaInfNorm: infinity norm
  • PlasmaFrobeniusNorm: Frobenius norm
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]diag
  • PlasmaNonUnit: A has non-unit diagonal,
  • PlasmaUnit: A has unit diagonal.
[in]mThe number of rows of the matrix A. m >= 0. When m = 0, the returned value is set to zero.
[in]nThe number of columns of the matrix A. n >= 0. When n = 0, the returned value is set to zero.
[in]pAThe m-by-n trapezoidal matrix A.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
Return values
doubleThe specified norm of the trapezoidal or triangular matrix A.
See also
plasma_omp_zlantr
plasma_clantr
plasma_dlantr
plasma_slantr
void plasma_omp_zlantr ( plasma_enum_t  norm,
plasma_enum_t  uplo,
plasma_enum_t  diag,
plasma_desc_t  A,
double *  work,
double *  value,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Calculates the max, one, infinity or Frobenius norm of a general matrix. Non-blocking equivalent of plasma_zlantr(). May return before the computation is finished. Operates on matrices stored by tiles. All matrices are passed through descriptors. All dimensions are taken from the descriptors. Allows for pipelining of operations at runtime.

Parameters
[in]norm
  • PlasmaMaxNorm: Max norm
  • PlasmaOneNorm: One norm
  • PlasmaInfNorm: Infinity norm
  • PlasmaFrobeniusNorm: Frobenius norm
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]diag
  • PlasmaNonUnit: A has non-unit diagonal,
  • PlasmaUnit: A has unit diagonal.
[in]AThe descriptor of matrix A.
[out]workWorkspace of size:
  • PlasmaMaxNorm: A.mt*A.nt
  • PlasmaOneNorm: A.mt*A.n + A.n
  • PlasmaInfNorm: A.mt*A.n + A.n
  • PlasmaFrobeniusNorm: 2*A.mt*A.nt
[out]valueThe calculated value of the norm requested.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes).
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_zlantr
plasma_omp_clantr
plasma_omp_dlantr
plasma_omp_slantr