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 (respectively) vice versa.
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:
Here is a C++ function using Armadillo (C++ library):
An elimination matrix is a matrix which, for any matrix , transforms into :
By the explicit (constructive) 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):
For the matrix , one choice for this transformation is given by