Duplication and elimination matrices
In mathematics, especially in linear algebra and matrix theory, the duplication matrix and the elimination matrix are linear transformations used for transforming half-vectorizations of matrices into vectorizations or vice versa.
Duplication matrix
The duplication matrix is the unique matrix which, for any symmetric matrix, transforms into :For the symmetric matrix, this transformation reads
The explicit formula for calculating the duplication matrix for a matrix is:
Where:
- is a unit vector of order having the value in the position and 0 elsewhere;
- is a matrix with 1 in position and and zero elsewhere
arma::mat duplication_matrix
Elimination matrix
An elimination matrix is a matrix which, for any matrix, transforms into :By the explicit definition given by, the by elimination matrix is given by
where is a unit vector whose -th element is one and zeros elsewhere, and.
Here is a C++ function using Armadillo (C++ library):
arma::mat elimination_matrix
For the matrix, one choice for this transformation is given by