PLASMA
Parallel Linear Algebra Software for Multicore Architectures
|
Functions | |
__attribute__ ((weak)) | |
__attribute__ | ( | (weak) | ) |
Overwrites the general m1-by-n1 tile A1 and m2-by-n2 tile A2 with
side = PlasmaLeft side = PlasmaRight
trans = PlasmaNoTrans Q * | A1 | | A1 A2 | * Q | A2 |
trans = Plasma_ConjTrans Q^H * | A1 | | A1 A2 | * Q^H | A2 |
where Q is a complex unitary matrix defined as the product of k elementary reflectors
Q = H(1) H(2) . . . H(k)
as returned by core_ctsqrt.
[in] | side |
|
[in] | trans |
|
[in] | m1 | The number of rows of the tile A1. m1 >= 0. |
[in] | n1 | The number of columns of the tile A1. n1 >= 0. |
[in] | m2 | The number of rows of the tile A2. m2 >= 0. m2 = m1 if side == PlasmaRight. |
[in] | n2 | The number of columns of the tile A2. n2 >= 0. n2 = n1 if side == PlasmaLeft. |
[in] | k | The number of elementary reflectors whose product defines the matrix Q. |
[in] | ib | The inner-blocking size. ib >= 0. |
[in,out] | A1 | On entry, the m1-by-n1 tile A1. On exit, A1 is overwritten by the application of Q. |
[in] | lda1 | The leading dimension of the array A1. lda1 >= max(1,m1). |
[in,out] | A2 | On entry, the m2-by-n2 tile A2. On exit, A2 is overwritten by the application of Q. |
[in] | lda2 | The leading dimension of the tile A2. lda2 >= max(1,m2). |
[in] | V | The i-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by core_CTSQRT in the first k columns of its array argument V. |
[in] | ldv | The leading dimension of the array V. ldv >= 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. |
work | Auxiliary workspace array of length ldwork-by-n1 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,m1) if side == PlasmaRight |
PlasmaSuccess | successful exit |
< | 0 if -i, the i-th argument had an illegal value |
Overwrites the general m1-by-n1 tile A1 and m2-by-n2 tile A2 with
side = PlasmaLeft side = PlasmaRight
trans = PlasmaNoTrans Q * | A1 | | A1 A2 | * Q | A2 |
trans = PlasmaTrans Q^T * | A1 | | A1 A2 | * Q^T | A2 |
where Q is a complex orthogonal matrix defined as the product of k elementary reflectors
Q = H(1) H(2) . . . H(k)
as returned by core_dtsqrt.
[in] | side |
|
[in] | trans |
|
[in] | m1 | The number of rows of the tile A1. m1 >= 0. |
[in] | n1 | The number of columns of the tile A1. n1 >= 0. |
[in] | m2 | The number of rows of the tile A2. m2 >= 0. m2 = m1 if side == PlasmaRight. |
[in] | n2 | The number of columns of the tile A2. n2 >= 0. n2 = n1 if side == PlasmaLeft. |
[in] | k | The number of elementary reflectors whose product defines the matrix Q. |
[in] | ib | The inner-blocking size. ib >= 0. |
[in,out] | A1 | On entry, the m1-by-n1 tile A1. On exit, A1 is overwritten by the application of Q. |
[in] | lda1 | The leading dimension of the array A1. lda1 >= max(1,m1). |
[in,out] | A2 | On entry, the m2-by-n2 tile A2. On exit, A2 is overwritten by the application of Q. |
[in] | lda2 | The leading dimension of the tile A2. lda2 >= max(1,m2). |
[in] | V | The i-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by core_DTSQRT in the first k columns of its array argument V. |
[in] | ldv | The leading dimension of the array V. ldv >= 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. |
work | Auxiliary workspace array of length ldwork-by-n1 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,m1) if side == PlasmaRight |
PlasmaSuccess | successful exit |
< | 0 if -i, the i-th argument had an illegal value |
Overwrites the general m1-by-n1 tile A1 and m2-by-n2 tile A2 with
side = PlasmaLeft side = PlasmaRight
trans = PlasmaNoTrans Q * | A1 | | A1 A2 | * Q | A2 |
trans = PlasmaTrans Q^T * | A1 | | A1 A2 | * Q^T | A2 |
where Q is a complex orthogonal matrix defined as the product of k elementary reflectors
Q = H(1) H(2) . . . H(k)
as returned by core_stsqrt.
[in] | side |
|
[in] | trans |
|
[in] | m1 | The number of rows of the tile A1. m1 >= 0. |
[in] | n1 | The number of columns of the tile A1. n1 >= 0. |
[in] | m2 | The number of rows of the tile A2. m2 >= 0. m2 = m1 if side == PlasmaRight. |
[in] | n2 | The number of columns of the tile A2. n2 >= 0. n2 = n1 if side == PlasmaLeft. |
[in] | k | The number of elementary reflectors whose product defines the matrix Q. |
[in] | ib | The inner-blocking size. ib >= 0. |
[in,out] | A1 | On entry, the m1-by-n1 tile A1. On exit, A1 is overwritten by the application of Q. |
[in] | lda1 | The leading dimension of the array A1. lda1 >= max(1,m1). |
[in,out] | A2 | On entry, the m2-by-n2 tile A2. On exit, A2 is overwritten by the application of Q. |
[in] | lda2 | The leading dimension of the tile A2. lda2 >= max(1,m2). |
[in] | V | The i-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by core_STSQRT in the first k columns of its array argument V. |
[in] | ldv | The leading dimension of the array V. ldv >= 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. |
work | Auxiliary workspace array of length ldwork-by-n1 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,m1) if side == PlasmaRight |
PlasmaSuccess | successful exit |
< | 0 if -i, the i-th argument had an illegal value |
Overwrites the general m1-by-n1 tile A1 and m2-by-n2 tile A2 with
side = PlasmaLeft side = PlasmaRight
trans = PlasmaNoTrans Q * | A1 | | A1 A2 | * Q | A2 |
trans = Plasma_ConjTrans Q^H * | A1 | | A1 A2 | * Q^H | A2 |
where Q is a complex unitary matrix defined as the product of k elementary reflectors
Q = H(1) H(2) . . . H(k)
as returned by core_ztsqrt.
[in] | side |
|
[in] | trans |
|
[in] | m1 | The number of rows of the tile A1. m1 >= 0. |
[in] | n1 | The number of columns of the tile A1. n1 >= 0. |
[in] | m2 | The number of rows of the tile A2. m2 >= 0. m2 = m1 if side == PlasmaRight. |
[in] | n2 | The number of columns of the tile A2. n2 >= 0. n2 = n1 if side == PlasmaLeft. |
[in] | k | The number of elementary reflectors whose product defines the matrix Q. |
[in] | ib | The inner-blocking size. ib >= 0. |
[in,out] | A1 | On entry, the m1-by-n1 tile A1. On exit, A1 is overwritten by the application of Q. |
[in] | lda1 | The leading dimension of the array A1. lda1 >= max(1,m1). |
[in,out] | A2 | On entry, the m2-by-n2 tile A2. On exit, A2 is overwritten by the application of Q. |
[in] | lda2 | The leading dimension of the tile A2. lda2 >= max(1,m2). |
[in] | V | The i-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by core_ZTSQRT in the first k columns of its array argument V. |
[in] | ldv | The leading dimension of the array V. ldv >= 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. |
work | Auxiliary workspace array of length ldwork-by-n1 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,m1) if side == PlasmaRight |
PlasmaSuccess | successful exit |
< | 0 if -i, the i-th argument had an illegal value |