PLASMA
Parallel Linear Algebra Software for Multicore Architectures

Functions

int plasma_cgelqf (int m, int n, plasma_complex32_t *pA, int lda, plasma_desc_t *T)
 
void plasma_omp_cgelqf (plasma_desc_t A, plasma_desc_t T, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 
int plasma_dgelqf (int m, int n, double *pA, int lda, plasma_desc_t *T)
 
void plasma_omp_dgelqf (plasma_desc_t A, plasma_desc_t T, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 
int plasma_sgelqf (int m, int n, float *pA, int lda, plasma_desc_t *T)
 
void plasma_omp_sgelqf (plasma_desc_t A, plasma_desc_t T, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 
int plasma_zgelqf (int m, int n, plasma_complex64_t *pA, int lda, plasma_desc_t *T)
 
void plasma_omp_zgelqf (plasma_desc_t A, plasma_desc_t T, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 

Detailed Description

Function Documentation

int plasma_cgelqf ( int  m,
int  n,
plasma_complex32_t *  pA,
int  lda,
plasma_desc_t T 
)

Computes tile LQ factorization of a complex m-by-n matrix A. The factorization has the form

\[ A = L \times Q \]

, where L is a lower trapezoidal with positive diagonal and Q is a matrix with orthonormal rows.

Parameters
[in]mThe number of rows of the matrix A. m >= 0.
[in]nThe number of columns of the matrix A. n >= 0.
[in,out]pAOn entry, pointer to the m-by-n matrix A. On exit, the elements on and below the diagonal of the array contain the m-by-min(m,n) lower trapezoidal matrix L (L is lower triangular if M <= N); the elements above the diagonal represent the unitary matrix Q as a product of elementary reflectors, stored by tiles.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
[out]TOn exit, auxiliary factorization data, required by plasma_cgelqs to solve the system of equations. Matrix of T is allocated inside this function and needs to be destroyed by plasma_desc_destroy.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_cgelqf
plasma_cgelqf
plasma_dgelqf
plasma_sgelqf
plasma_cgelqs
void plasma_omp_cgelqf ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Computes the tile LQ factorization of a matrix. Non-blocking tile version of plasma_cgelqf(). May return before the computation is finished. Allows for pipelining of operations at runtime.

Parameters
[in,out]ADescriptor of matrix A. A is stored in the tile layout.
[out]TDescriptor of matrix T. On exit, auxiliary factorization data, required by plasma_cgelqs to solve the system of equations.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For LQ factorization, contains preallocated space for tau and work arrays. Allocated by the plasma_workspace_create function.
[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_cgelqf
plasma_omp_cgelqf
plasma_omp_dgelqf
plasma_omp_sgelqf
plasma_omp_cgelqs
int plasma_dgelqf ( int  m,
int  n,
double *  pA,
int  lda,
plasma_desc_t T 
)

Computes tile LQ factorization of a complex m-by-n matrix A. The factorization has the form

\[ A = L \times Q \]

, where L is a lower trapezoidal with positive diagonal and Q is a matrix with orthonormal rows.

Parameters
[in]mThe number of rows of the matrix A. m >= 0.
[in]nThe number of columns of the matrix A. n >= 0.
[in,out]pAOn entry, pointer to the m-by-n matrix A. On exit, the elements on and below the diagonal of the array contain the m-by-min(m,n) lower trapezoidal matrix L (L is lower triangular if M <= N); the elements above the diagonal represent the orthogonal matrix Q as a product of elementary reflectors, stored by tiles.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
[out]TOn exit, auxiliary factorization data, required by plasma_dgelqs to solve the system of equations. Matrix of T is allocated inside this function and needs to be destroyed by plasma_desc_destroy.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_dgelqf
plasma_cgelqf
plasma_dgelqf
plasma_sgelqf
plasma_dgelqs
void plasma_omp_dgelqf ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Computes the tile LQ factorization of a matrix. Non-blocking tile version of plasma_dgelqf(). May return before the computation is finished. Allows for pipelining of operations at runtime.

Parameters
[in,out]ADescriptor of matrix A. A is stored in the tile layout.
[out]TDescriptor of matrix T. On exit, auxiliary factorization data, required by plasma_dgelqs to solve the system of equations.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For LQ factorization, contains preallocated space for tau and work arrays. Allocated by the plasma_workspace_create function.
[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_dgelqf
plasma_omp_cgelqf
plasma_omp_dgelqf
plasma_omp_sgelqf
plasma_omp_dgelqs
int plasma_sgelqf ( int  m,
int  n,
float *  pA,
int  lda,
plasma_desc_t T 
)

Computes tile LQ factorization of a complex m-by-n matrix A. The factorization has the form

\[ A = L \times Q \]

, where L is a lower trapezoidal with positive diagonal and Q is a matrix with orthonormal rows.

Parameters
[in]mThe number of rows of the matrix A. m >= 0.
[in]nThe number of columns of the matrix A. n >= 0.
[in,out]pAOn entry, pointer to the m-by-n matrix A. On exit, the elements on and below the diagonal of the array contain the m-by-min(m,n) lower trapezoidal matrix L (L is lower triangular if M <= N); the elements above the diagonal represent the orthogonal matrix Q as a product of elementary reflectors, stored by tiles.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
[out]TOn exit, auxiliary factorization data, required by plasma_sgelqs to solve the system of equations. Matrix of T is allocated inside this function and needs to be destroyed by plasma_desc_destroy.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_sgelqf
plasma_cgelqf
plasma_dgelqf
plasma_sgelqf
plasma_sgelqs
void plasma_omp_sgelqf ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Computes the tile LQ factorization of a matrix. Non-blocking tile version of plasma_sgelqf(). May return before the computation is finished. Allows for pipelining of operations at runtime.

Parameters
[in,out]ADescriptor of matrix A. A is stored in the tile layout.
[out]TDescriptor of matrix T. On exit, auxiliary factorization data, required by plasma_sgelqs to solve the system of equations.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For LQ factorization, contains preallocated space for tau and work arrays. Allocated by the plasma_workspace_create function.
[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_sgelqf
plasma_omp_cgelqf
plasma_omp_dgelqf
plasma_omp_sgelqf
plasma_omp_sgelqs
int plasma_zgelqf ( int  m,
int  n,
plasma_complex64_t *  pA,
int  lda,
plasma_desc_t T 
)

Computes tile LQ factorization of a complex m-by-n matrix A. The factorization has the form

\[ A = L \times Q \]

, where L is a lower trapezoidal with positive diagonal and Q is a matrix with orthonormal rows.

Parameters
[in]mThe number of rows of the matrix A. m >= 0.
[in]nThe number of columns of the matrix A. n >= 0.
[in,out]pAOn entry, pointer to the m-by-n matrix A. On exit, the elements on and below the diagonal of the array contain the m-by-min(m,n) lower trapezoidal matrix L (L is lower triangular if M <= N); the elements above the diagonal represent the unitary matrix Q as a product of elementary reflectors, stored by tiles.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
[out]TOn exit, auxiliary factorization data, required by plasma_zgelqs to solve the system of equations. Matrix of T is allocated inside this function and needs to be destroyed by plasma_desc_destroy.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_zgelqf
plasma_cgelqf
plasma_dgelqf
plasma_sgelqf
plasma_zgelqs
void plasma_omp_zgelqf ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Computes the tile LQ factorization of a matrix. Non-blocking tile version of plasma_zgelqf(). May return before the computation is finished. Allows for pipelining of operations at runtime.

Parameters
[in,out]ADescriptor of matrix A. A is stored in the tile layout.
[out]TDescriptor of matrix T. On exit, auxiliary factorization data, required by plasma_zgelqs to solve the system of equations.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For LQ factorization, contains preallocated space for tau and work arrays. Allocated by the plasma_workspace_create function.
[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_zgelqf
plasma_omp_cgelqf
plasma_omp_dgelqf
plasma_omp_sgelqf
plasma_omp_zgelqs