PLASMA
2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|
int CORE_dlarfx2 | ( | PLASMA_enum | side, |
int | N, | ||
double | V, | ||
double | TAU, | ||
double * | C1, | ||
int | LDC1, | ||
double * | C2, | ||
int | LDC2 | ||
) |
CORE_dlarfx2 applies a complex elementary reflector H to a complex m by n matrix C, from either the left or the right. H is represented in the form
H = I - tau * v * v'
where tau is a complex scalar and v is a complex vector.
If tau = 0, then H is taken to be the unit matrix
This version uses inline code if H has order < 11.
[in] | side |
|
[in] | N | The number of columns of C1 and C2 if side = PlasmaLeft. The number of rows of C1 and C2 if side = PlasmaRight. |
[in] | V | The double complex V in the representation of H. |
[in] | TAU | The value tau in the representation of H. |
[in,out] | C1 | dimension (LDC1,N), if side = PlasmaLeft dimension (LDC1,1), if side = PlasmaRight On entry, the m by n matrix C1. On exit, C1 is overwritten by the matrix H * C1 if SIDE = PlasmaLeft, or C1 * H if SIDE = PlasmaRight. |
[in] | LDC1 | The leading dimension of the array C1. LDC1 >= max(1,N), if side == PlasmaRight. LDC1 >= 1, otherwise. |
[in,out] | C2 | dimension (LDC2,N), if side = PlasmaLeft dimension (LDC2,1), if side = PlasmaRight On entry, the m by n matrix C2. On exit, C2 is overwritten by the matrix H * C2 if SIDE = PlasmaLeft, or C2 * H if SIDE = PlasmaRight. |
[in] | LDC2 | The leading dimension of the array C2. LDC2 >= max(1,N), if side == PlasmaRight. LDC2 >= 1, otherwise. |
PLASMA_SUCCESS | successful exit |
<0 | if -i, the i-th argument had an illegal value |