PLASMA
2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|
int CORE_dpltmg_circul | ( | int | M, |
int | N, | ||
double * | A, | ||
int | LDA, | ||
int | gM, | ||
int | m0, | ||
int | n0, | ||
const double * | V | ||
) |
CORE_dpltmg_circul is a kernel used in circulant matrix generation
See http://www.mathworks.fr/fr/help/matlab/ref/gallery.html#f84-999880
Circulant matrix
A circulant matrix has the property that each row is obtained from the previous one by cyclically permuting the entries one step forward. It is a special Toeplitz matrix in which the diagonals "wrap around."
The eigensystem of C (n-by-n) is known explicitly: If t is an nth root of unity, then the inner product of v and w = [1 t t2 ... t(n – 1)] is an eigenvalue of C and w(n:-1:1) is an eigenvector, where v is the first column of C.
[in] | M | The number of rows of the tile A to initialize. M >= 2. |
[in] | N | The number of columns of the tile A to initialize. N >= 0. |
[out] | A | On entry, the M-by-N tile to be initialized. |
[in] | LDA | The leading dimension of the tile A. LDA >= max(1,M). |
[in] | gM | The global number of rows of the full matrix, A is belonging to. gM >= (m0+gM). |
[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] | V | Workspace of size gM, that contains the first clumn of the full matrix |
PLASMA_SUCCESS | successful exit |
<0 | if INFO = -k, the k-th argument had an illegal value |