PLASMA
Parallel Linear Algebra Software for Multicore Architectures
|
Functions | |
__attribute__ ((weak)) | |
__attribute__ | ( | (weak) | ) |
Overwrites the general complex 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(k) . . . H(2) H(1) \]
as returned by core_cgelqt. 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,m) if SIDE = PlasmaLeft, (lda,n) if SIDE = PlasmaRight, The i-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by core_cgelqt in the first k rows of its array argument A. |
[in] | lda | The leading dimension of the array A. lda >= max(1,k). |
[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^H*C or C*Q^H or C*Q. |
[in] | ldc | The leading dimension of the array C. ldc >= max(1,m). |
work | Auxiliary workspace array of length ldwork-by-m 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,n) if side == PlasmaRight |
PlasmaSuccess | successful exit |
< | 0 if -i, the i-th argument had an illegal value |
Overwrites the general complex 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(k) . . . H(2) H(1) \]
as returned by core_dgelqt. 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,m) if SIDE = PlasmaLeft, (lda,n) if SIDE = PlasmaRight, The i-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by core_dgelqt in the first k rows of its array argument A. |
[in] | lda | The leading dimension of the array A. lda >= max(1,k). |
[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-m 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,n) if side == PlasmaRight |
PlasmaSuccess | successful exit |
< | 0 if -i, the i-th argument had an illegal value |
Overwrites the general complex 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(k) . . . H(2) H(1) \]
as returned by core_sgelqt. 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,m) if SIDE = PlasmaLeft, (lda,n) if SIDE = PlasmaRight, The i-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by core_sgelqt in the first k rows of its array argument A. |
[in] | lda | The leading dimension of the array A. lda >= max(1,k). |
[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-m 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,n) if side == PlasmaRight |
PlasmaSuccess | successful exit |
< | 0 if -i, the i-th argument had an illegal value |
Overwrites the general complex 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(k) . . . H(2) H(1) \]
as returned by core_zgelqt. 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,m) if SIDE = PlasmaLeft, (lda,n) if SIDE = PlasmaRight, The i-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by core_zgelqt in the first k rows of its array argument A. |
[in] | lda | The leading dimension of the array A. lda >= max(1,k). |
[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^H*C or C*Q^H or C*Q. |
[in] | ldc | The leading dimension of the array C. ldc >= max(1,m). |
work | Auxiliary workspace array of length ldwork-by-m 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,n) if side == PlasmaRight |
PlasmaSuccess | successful exit |
< | 0 if -i, the i-th argument had an illegal value |