PLASMA 2.8.0 PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures

- Main Page
- Modules
- Data Types List

int CORE_spltmg_circul | ( | int | M,
|  | int | N,
|  | float * | A,
|  | int | LDA,
|  | int | gM,
|  | int | m0,
|  | int | n0,
|  | const float * | V
| ) |  |

CORE_spltmg_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.

Parameters

  [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

Returns

Return values

  PLASMA_SUCCESS | successful exit
  <0 | if INFO = -k, the k-th argument had an illegal value