|
int PLASMA_zgels |
( |
PLASMA_enum |
trans, |
|
|
int |
M, |
|
|
int |
N, |
|
|
int |
NRHS, |
|
|
PLASMA_Complex64_t * |
A, |
|
|
int |
LDA, |
|
|
PLASMA_Complex64_t * |
T, |
|
|
PLASMA_Complex64_t * |
B, |
|
|
int |
LDB | |
|
) |
| | |
PLASMA_zgels - solves overdetermined or underdetermined linear systems involving an M-by-N matrix A using the QR or the LQ factorization of A. It is assumed that A has full rank. The following options are provided:
# trans = PlasmaNoTrans and M >= N: find the least squares solution of an overdetermined system, i.e., solve the least squares problem: minimize || B - A*X ||.
# trans = PlasmaNoTrans and M < N: find the minimum norm solution of an underdetermined system A * X = B.
Several right hand side vectors B and solution vectors X can be handled in a single call; they are stored as the columns of the M-by-NRHS right hand side matrix B and the N-by-NRHS solution matrix X.
- Parameters:
-
[in] | trans | Intended usage: = PlasmaNoTrans: the linear system involves A; = PlasmaConjTrans: the linear system involves A**H. Currently only PlasmaNoTrans is supported. |
[in] | M | The number of rows of the matrix A. M >= 0. |
[in] | N | The number of columns of the matrix A. N >= 0. |
[in] | NRHS | The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0. |
[in,out] | A | On entry, the M-by-N matrix A. On exit, if M >= N, A is overwritten by details of its QR factorization as returned by PLASMA_zgeqrf; if M < N, A is overwritten by details of its LQ factorization as returned by PLASMA_zgelqf. |
[in] | LDA | The leading dimension of the array A. LDA >= max(1,M). |
[out] | T | On exit, auxiliary factorization data. |
[in,out] | B | On entry, the M-by-NRHS matrix B of right hand side vectors, stored columnwise; On exit, if return value = 0, B is overwritten by the solution vectors, stored columnwise: if M >= N, rows 1 to N of B contain the least squares solution vectors; the residual sum of squares for the solution in each column is given by the sum of squares of the modulus of elements N+1 to M in that column; if M < N, rows 1 to N of B contain the minimum norm solution vectors; |
[in] | LDB | The leading dimension of the array B. LDB >= MAX(1,M,N). |
- Returns:
- Return values:
-
| PLASMA_SUCCESS | successful exit |
| <0 | if -i, the i-th argument had an illegal value |
- See also:
- PLASMA_zgels_Tile
-
PLASMA_zgels_Tile_Async
-
PLASMA_cgels
-
PLASMA_dgels
-
PLASMA_sgels
|