PLASMA
2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|
void CORE_zpltmg_toeppd2 | ( | int | M, |
int | N, | ||
int | K, | ||
int | m0, | ||
int | n0, | ||
const PLASMA_Complex64_t * | W, | ||
PLASMA_Complex64_t * | A, | ||
int | LDA | ||
) |
CORE_zpltmg_toeppd2 is the first kernel used in toeppd matrix generation.
See http://www.mathworks.fr/fr/help/matlab/ref/gallery.html#f84-1000272
A toeppd matrix is an n-by-n symmetric, positive semi-definite (SPD) Toeplitz matrix composed of the sum of m rank 2 (or, for certain theta, rank 1) SPD Toeplitz matrices. Specifically,
T = w(1)*T(theta(1)) + ... + w(m)*T(theta(m))
where T(theta(k)) has (i,j) element cos(2*pi*theta(k)*(i-j)).
In this matrix generation: w = rand(m,1), and theta = rand(m,1).
This kernel adds to the tile A the local sum of: w(1)*T(theta(1)) + ... + w(K) * T(theta(K))
[in] | M | The number of rows of the tile A. M >= 0. |
[in] | N | The number of columns of the tile A. N >= 0. |
[in] | K | The number of matrices W() * T(theta()) to apply. |
[in] | m0 | The index of the first row of tile A in the full matrix. m0 >= 0. |
[in] | n0 | The index of the first column of tile A in the full matrix. n0 >= 0. |
[in] | W | The 2-by-K array that stores the values of W and 2*pi*Theta. W being stored on the first row, 2*pi*theta on the second. |
[in,out] | A | On entry, the M-by-N tile to be initialized with a partial sum of the Toeppliz matrices. On exit, the M-by-N tile update with the sum of K extra Toepplitz matrices |
[in] | LDA | The leading dimension of the tile A. LDA >= max(1,M). |