PLASMA
Parallel Linear Algebra Software for Multicore Architectures

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

Functions

float plasma_clange (plasma_enum_t norm, int m, int n, plasma_complex32_t *pA, int lda)
 
void plasma_omp_clange (plasma_enum_t norm, plasma_desc_t A, float *work, float *value, plasma_sequence_t *sequence, plasma_request_t *request)
 
double plasma_dlange (plasma_enum_t norm, int m, int n, double *pA, int lda)
 
void plasma_omp_dlange (plasma_enum_t norm, plasma_desc_t A, double *work, double *value, plasma_sequence_t *sequence, plasma_request_t *request)
 
float plasma_slange (plasma_enum_t norm, int m, int n, float *pA, int lda)
 
void plasma_omp_slange (plasma_enum_t norm, plasma_desc_t A, float *work, float *value, plasma_sequence_t *sequence, plasma_request_t *request)
 
double plasma_zlange (plasma_enum_t norm, int m, int n, plasma_complex64_t *pA, int lda)
 
void plasma_omp_zlange (plasma_enum_t norm, 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_clange ( plasma_enum_t  norm,
int  m,
int  n,
plasma_complex32_t *  pA,
int  lda 
)

Returns the norm of a general matrix as

clange = ( 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]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 matrix A.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
Return values
floatThe specified norm of the general matrix A.
See also
plasma_omp_clange
plasma_clange
plasma_slange
plasma_slange
void plasma_omp_clange ( plasma_enum_t  norm,
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_clange(). 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]AThe descriptor of matrix A.
[out]workWorkspace of size:
  • PlasmaMaxNorm: A.mt*A.nt
  • PlasmaOneNorm: A.mt*A.n + A.n
  • PlasmaInfNorm: A.nt*A.m + A.m
  • 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_clange
plasma_omp_clange
plasma_omp_slange
plasma_omp_slange
double plasma_dlange ( plasma_enum_t  norm,
int  m,
int  n,
double *  pA,
int  lda 
)

Returns the norm of a general matrix as

dlange = ( 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]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 matrix A.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
Return values
doubleThe specified norm of the general matrix A.
See also
plasma_omp_dlange
plasma_clange
plasma_dlange
plasma_slange
void plasma_omp_dlange ( plasma_enum_t  norm,
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_dlange(). 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]AThe descriptor of matrix A.
[out]workWorkspace of size:
  • PlasmaMaxNorm: A.mt*A.nt
  • PlasmaOneNorm: A.mt*A.n + A.n
  • PlasmaInfNorm: A.nt*A.m + A.m
  • 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_dlange
plasma_omp_clange
plasma_omp_dlange
plasma_omp_slange
float plasma_slange ( plasma_enum_t  norm,
int  m,
int  n,
float *  pA,
int  lda 
)

Returns the norm of a general matrix as

slange = ( 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]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 matrix A.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
Return values
floatThe specified norm of the general matrix A.
See also
plasma_omp_slange
plasma_clange
plasma_slange
plasma_slange
void plasma_omp_slange ( plasma_enum_t  norm,
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_slange(). 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]AThe descriptor of matrix A.
[out]workWorkspace of size:
  • PlasmaMaxNorm: A.mt*A.nt
  • PlasmaOneNorm: A.mt*A.n + A.n
  • PlasmaInfNorm: A.nt*A.m + A.m
  • 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_slange
plasma_omp_clange
plasma_omp_slange
plasma_omp_slange
double plasma_zlange ( plasma_enum_t  norm,
int  m,
int  n,
plasma_complex64_t *  pA,
int  lda 
)

Returns the norm of a general matrix as

zlange = ( 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]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 matrix A.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
Return values
doubleThe specified norm of the general matrix A.
See also
plasma_omp_zlange
plasma_clange
plasma_dlange
plasma_slange
void plasma_omp_zlange ( plasma_enum_t  norm,
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_zlange(). 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]AThe descriptor of matrix A.
[out]workWorkspace of size:
  • PlasmaMaxNorm: A.mt*A.nt
  • PlasmaOneNorm: A.mt*A.n + A.n
  • PlasmaInfNorm: A.nt*A.m + A.m
  • 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_zlange
plasma_omp_clange
plasma_omp_dlange
plasma_omp_slange