PLASMA
Parallel Linear Algebra Software for Multicore Architectures
|
Functions | |
__attribute__ ((weak)) | |
__attribute__ | ( | (weak) | ) |
Overwrites the general m-by-n tile C with
side = PlasmaLeft side = PlasmaRight
trans = PlasmaNoTrans Q * C C * Q trans = Plasma_ConjTrans Q^H * C C * Q^H
where Q is a unitary matrix defined as the product of k elementary reflectors
\[ Q = H(1) H(2) ... H(k) \]
as returned by core_cgeqrt. Q is of order m if side = PlasmaLeft and of order n if side = PlasmaRight.
[in] | side |
|
[in] | trans |
|
[in] | m | The number of rows of the tile C. m >= 0. |
[in] | n | The number of columns of the tile C. n >= 0. |
[in] | k | The number of elementary reflectors whose product defines the matrix Q. If side = PlasmaLeft, m >= k >= 0; if side = PlasmaRight, n >= k >= 0. |
[in] | ib | The inner-blocking size. ib >= 0. |
[in] | A | Dimension: (lda,k) The i-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by core_cgeqrt in the first k columns of its array argument A. |
[in] | lda | The leading dimension of the array A. If side = PlasmaLeft, lda >= max(1,m); if side = PlasmaRight, lda >= max(1,n). |
[in] | T | The ib-by-k triangular factor T of the block reflector. T is upper triangular by block (economic storage); The rest of the array is not referenced. |
[in] | ldt | The leading dimension of the array T. ldt >= ib. |
[in,out] | C | On entry, the m-by-n tile C. On exit, C is overwritten by Q*C or Q^T*C or C*Q^T or C*Q. |
[in] | ldc | The leading dimension of the array C. ldc >= max(1,m). |
work | Auxiliary workspace array of length ldwork-by-n if side == PlasmaLeft ldwork-by-ib if side == PlasmaRight | |
[in] | ldwork | The leading dimension of the array work. ldwork >= max(1,ib) if side == PlasmaLeft ldwork >= max(1,m) if side == PlasmaRight |
PlasmaSuccess | successful exit |
< | 0 if -i, the i-th argument had an illegal value |
Overwrites the general m-by-n tile C with
side = PlasmaLeft side = PlasmaRight
trans = PlasmaNoTrans Q * C C * Q trans = PlasmaTrans Q^T * C C * Q^T
where Q is a orthogonal matrix defined as the product of k elementary reflectors
\[ Q = H(1) H(2) ... H(k) \]
as returned by core_dgeqrt. Q is of order m if side = PlasmaLeft and of order n if side = PlasmaRight.
[in] | side |
|
[in] | trans |
|
[in] | m | The number of rows of the tile C. m >= 0. |
[in] | n | The number of columns of the tile C. n >= 0. |
[in] | k | The number of elementary reflectors whose product defines the matrix Q. If side = PlasmaLeft, m >= k >= 0; if side = PlasmaRight, n >= k >= 0. |
[in] | ib | The inner-blocking size. ib >= 0. |
[in] | A | Dimension: (lda,k) The i-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by core_dgeqrt in the first k columns of its array argument A. |
[in] | lda | The leading dimension of the array A. If side = PlasmaLeft, lda >= max(1,m); if side = PlasmaRight, lda >= max(1,n). |
[in] | T | The ib-by-k triangular factor T of the block reflector. T is upper triangular by block (economic storage); The rest of the array is not referenced. |
[in] | ldt | The leading dimension of the array T. ldt >= ib. |
[in,out] | C | On entry, the m-by-n tile C. On exit, C is overwritten by Q*C or Q^T*C or C*Q^T or C*Q. |
[in] | ldc | The leading dimension of the array C. ldc >= max(1,m). |
work | Auxiliary workspace array of length ldwork-by-n if side == PlasmaLeft ldwork-by-ib if side == PlasmaRight | |
[in] | ldwork | The leading dimension of the array work. ldwork >= max(1,ib) if side == PlasmaLeft ldwork >= max(1,m) if side == PlasmaRight |
PlasmaSuccess | successful exit |
< | 0 if -i, the i-th argument had an illegal value |
Overwrites the general m-by-n tile C with
side = PlasmaLeft side = PlasmaRight
trans = PlasmaNoTrans Q * C C * Q trans = PlasmaTrans Q^T * C C * Q^T
where Q is a orthogonal matrix defined as the product of k elementary reflectors
\[ Q = H(1) H(2) ... H(k) \]
as returned by core_sgeqrt. Q is of order m if side = PlasmaLeft and of order n if side = PlasmaRight.
[in] | side |
|
[in] | trans |
|
[in] | m | The number of rows of the tile C. m >= 0. |
[in] | n | The number of columns of the tile C. n >= 0. |
[in] | k | The number of elementary reflectors whose product defines the matrix Q. If side = PlasmaLeft, m >= k >= 0; if side = PlasmaRight, n >= k >= 0. |
[in] | ib | The inner-blocking size. ib >= 0. |
[in] | A | Dimension: (lda,k) The i-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by core_sgeqrt in the first k columns of its array argument A. |
[in] | lda | The leading dimension of the array A. If side = PlasmaLeft, lda >= max(1,m); if side = PlasmaRight, lda >= max(1,n). |
[in] | T | The ib-by-k triangular factor T of the block reflector. T is upper triangular by block (economic storage); The rest of the array is not referenced. |
[in] | ldt | The leading dimension of the array T. ldt >= ib. |
[in,out] | C | On entry, the m-by-n tile C. On exit, C is overwritten by Q*C or Q^T*C or C*Q^T or C*Q. |
[in] | ldc | The leading dimension of the array C. ldc >= max(1,m). |
work | Auxiliary workspace array of length ldwork-by-n if side == PlasmaLeft ldwork-by-ib if side == PlasmaRight | |
[in] | ldwork | The leading dimension of the array work. ldwork >= max(1,ib) if side == PlasmaLeft ldwork >= max(1,m) if side == PlasmaRight |
PlasmaSuccess | successful exit |
< | 0 if -i, the i-th argument had an illegal value |
Overwrites the general m-by-n tile C with
side = PlasmaLeft side = PlasmaRight
trans = PlasmaNoTrans Q * C C * Q trans = Plasma_ConjTrans Q^H * C C * Q^H
where Q is a unitary matrix defined as the product of k elementary reflectors
\[ Q = H(1) H(2) ... H(k) \]
as returned by core_zgeqrt. Q is of order m if side = PlasmaLeft and of order n if side = PlasmaRight.
[in] | side |
|
[in] | trans |
|
[in] | m | The number of rows of the tile C. m >= 0. |
[in] | n | The number of columns of the tile C. n >= 0. |
[in] | k | The number of elementary reflectors whose product defines the matrix Q. If side = PlasmaLeft, m >= k >= 0; if side = PlasmaRight, n >= k >= 0. |
[in] | ib | The inner-blocking size. ib >= 0. |
[in] | A | Dimension: (lda,k) The i-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by core_zgeqrt in the first k columns of its array argument A. |
[in] | lda | The leading dimension of the array A. If side = PlasmaLeft, lda >= max(1,m); if side = PlasmaRight, lda >= max(1,n). |
[in] | T | The ib-by-k triangular factor T of the block reflector. T is upper triangular by block (economic storage); The rest of the array is not referenced. |
[in] | ldt | The leading dimension of the array T. ldt >= ib. |
[in,out] | C | On entry, the m-by-n tile C. On exit, C is overwritten by Q*C or Q^T*C or C*Q^T or C*Q. |
[in] | ldc | The leading dimension of the array C. ldc >= max(1,m). |
work | Auxiliary workspace array of length ldwork-by-n if side == PlasmaLeft ldwork-by-ib if side == PlasmaRight | |
[in] | ldwork | The leading dimension of the array work. ldwork >= max(1,ib) if side == PlasmaLeft ldwork >= max(1,m) if side == PlasmaRight |
PlasmaSuccess | successful exit |
< | 0 if -i, the i-th argument had an illegal value |