PLASMA
Parallel Linear Algebra Software for Multicore Architectures
gelqs: Back solve using LQ factorization of A

Functions

int plasma_cgelqs (int m, int n, int nrhs, plasma_complex32_t *pA, int lda, plasma_desc_t T, plasma_complex32_t *pB, int ldb)
 
void plasma_omp_cgelqs (plasma_desc_t A, plasma_desc_t T, plasma_desc_t B, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 
int plasma_dgelqs (int m, int n, int nrhs, double *pA, int lda, plasma_desc_t T, double *pB, int ldb)
 
void plasma_omp_dgelqs (plasma_desc_t A, plasma_desc_t T, plasma_desc_t B, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 
int plasma_sgelqs (int m, int n, int nrhs, float *pA, int lda, plasma_desc_t T, float *pB, int ldb)
 
void plasma_omp_sgelqs (plasma_desc_t A, plasma_desc_t T, plasma_desc_t B, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 
int plasma_zgelqs (int m, int n, int nrhs, plasma_complex64_t *pA, int lda, plasma_desc_t T, plasma_complex64_t *pB, int ldb)
 
void plasma_omp_zgelqs (plasma_desc_t A, plasma_desc_t T, plasma_desc_t B, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 

Detailed Description

Function Documentation

int plasma_cgelqs ( int  m,
int  n,
int  nrhs,
plasma_complex32_t *  pA,
int  lda,
plasma_desc_t  T,
plasma_complex32_t *  pB,
int  ldb 
)

Computes a minimum-norm solution min | A*X - B | using the LQ factorization A = L*Q computed by plasma_cgelqf.

Parameters
[in]mThe number of rows of the matrix A. m >= 0.
[in]nThe number of columns of the matrix A. n >= m >= 0.
[in]nrhsThe number of columns of B. nrhs >= 0.
[in]pADetails of the LQ factorization of the original matrix A as returned by plasma_cgelqf.
[in]ldaThe leading dimension of the array A. lda >= m.
[in]TAuxiliary factorization data, computed by plasma_cgelqf.
[in,out]pBOn entry, pointer to the m-by-nrhs right hand side matrix B. On exit, the n-by-nrhs solution matrix X.
[in]ldbThe leading dimension of the array B. ldb >= n.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_cgelqs
plasma_cgelqs
plasma_dgelqs
plasma_sgelqs
plasma_cgelqf
void plasma_omp_cgelqs ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_desc_t  B,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Computes a minimum-norm solution using previously computed LQ factorization. Non-blocking tile version of plasma_cgelqs(). May return before the computation is finished. Allows for pipelining of operations at runtime.

Parameters
[in]ADescriptor of matrix A. A is stored in the tile layout.
[in]TDescriptor of matrix T. Auxiliary factorization data, computed by plasma_cgelqf.
[in,out]BDescriptor of matrix B. On entry, right-hand side matrix B in the tile layout. On exit, solution matrix X in the tile layout.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For multiplication by Q contains preallocated space for 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_cgelqs
plasma_omp_cgelqs
plasma_omp_dgelqs
plasma_omp_sgelqs
plasma_omp_cgelqf
int plasma_dgelqs ( int  m,
int  n,
int  nrhs,
double *  pA,
int  lda,
plasma_desc_t  T,
double *  pB,
int  ldb 
)

Computes a minimum-norm solution min | A*X - B | using the LQ factorization A = L*Q computed by plasma_dgelqf.

Parameters
[in]mThe number of rows of the matrix A. m >= 0.
[in]nThe number of columns of the matrix A. n >= m >= 0.
[in]nrhsThe number of columns of B. nrhs >= 0.
[in]pADetails of the LQ factorization of the original matrix A as returned by plasma_dgelqf.
[in]ldaThe leading dimension of the array A. lda >= m.
[in]TAuxiliary factorization data, computed by plasma_dgelqf.
[in,out]pBOn entry, pointer to the m-by-nrhs right hand side matrix B. On exit, the n-by-nrhs solution matrix X.
[in]ldbThe leading dimension of the array B. ldb >= n.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_dgelqs
plasma_cgelqs
plasma_dgelqs
plasma_sgelqs
plasma_dgelqf
void plasma_omp_dgelqs ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_desc_t  B,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Computes a minimum-norm solution using previously computed LQ factorization. Non-blocking tile version of plasma_dgelqs(). May return before the computation is finished. Allows for pipelining of operations at runtime.

Parameters
[in]ADescriptor of matrix A. A is stored in the tile layout.
[in]TDescriptor of matrix T. Auxiliary factorization data, computed by plasma_dgelqf.
[in,out]BDescriptor of matrix B. On entry, right-hand side matrix B in the tile layout. On exit, solution matrix X in the tile layout.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For multiplication by Q contains preallocated space for 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_dgelqs
plasma_omp_cgelqs
plasma_omp_dgelqs
plasma_omp_sgelqs
plasma_omp_dgelqf
int plasma_sgelqs ( int  m,
int  n,
int  nrhs,
float *  pA,
int  lda,
plasma_desc_t  T,
float *  pB,
int  ldb 
)

Computes a minimum-norm solution min | A*X - B | using the LQ factorization A = L*Q computed by plasma_sgelqf.

Parameters
[in]mThe number of rows of the matrix A. m >= 0.
[in]nThe number of columns of the matrix A. n >= m >= 0.
[in]nrhsThe number of columns of B. nrhs >= 0.
[in]pADetails of the LQ factorization of the original matrix A as returned by plasma_sgelqf.
[in]ldaThe leading dimension of the array A. lda >= m.
[in]TAuxiliary factorization data, computed by plasma_sgelqf.
[in,out]pBOn entry, pointer to the m-by-nrhs right hand side matrix B. On exit, the n-by-nrhs solution matrix X.
[in]ldbThe leading dimension of the array B. ldb >= n.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_sgelqs
plasma_cgelqs
plasma_dgelqs
plasma_sgelqs
plasma_sgelqf
void plasma_omp_sgelqs ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_desc_t  B,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Computes a minimum-norm solution using previously computed LQ factorization. Non-blocking tile version of plasma_sgelqs(). May return before the computation is finished. Allows for pipelining of operations at runtime.

Parameters
[in]ADescriptor of matrix A. A is stored in the tile layout.
[in]TDescriptor of matrix T. Auxiliary factorization data, computed by plasma_sgelqf.
[in,out]BDescriptor of matrix B. On entry, right-hand side matrix B in the tile layout. On exit, solution matrix X in the tile layout.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For multiplication by Q contains preallocated space for 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_sgelqs
plasma_omp_cgelqs
plasma_omp_dgelqs
plasma_omp_sgelqs
plasma_omp_sgelqf
int plasma_zgelqs ( int  m,
int  n,
int  nrhs,
plasma_complex64_t *  pA,
int  lda,
plasma_desc_t  T,
plasma_complex64_t *  pB,
int  ldb 
)

Computes a minimum-norm solution min | A*X - B | using the LQ factorization A = L*Q computed by plasma_zgelqf.

Parameters
[in]mThe number of rows of the matrix A. m >= 0.
[in]nThe number of columns of the matrix A. n >= m >= 0.
[in]nrhsThe number of columns of B. nrhs >= 0.
[in]pADetails of the LQ factorization of the original matrix A as returned by plasma_zgelqf.
[in]ldaThe leading dimension of the array A. lda >= m.
[in]TAuxiliary factorization data, computed by plasma_zgelqf.
[in,out]pBOn entry, pointer to the m-by-nrhs right hand side matrix B. On exit, the n-by-nrhs solution matrix X.
[in]ldbThe leading dimension of the array B. ldb >= n.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_zgelqs
plasma_cgelqs
plasma_dgelqs
plasma_sgelqs
plasma_zgelqf
void plasma_omp_zgelqs ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_desc_t  B,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Computes a minimum-norm solution using previously computed LQ factorization. Non-blocking tile version of plasma_zgelqs(). May return before the computation is finished. Allows for pipelining of operations at runtime.

Parameters
[in]ADescriptor of matrix A. A is stored in the tile layout.
[in]TDescriptor of matrix T. Auxiliary factorization data, computed by plasma_zgelqf.
[in,out]BDescriptor of matrix B. On entry, right-hand side matrix B in the tile layout. On exit, solution matrix X in the tile layout.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For multiplication by Q contains preallocated space for 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_zgelqs
plasma_omp_cgelqs
plasma_omp_dgelqs
plasma_omp_sgelqs
plasma_omp_zgelqf