This package provides common transformation operations related to matrix vectorization.
vechprovides the half-vectorizationduplication_matrixandelimination_matrixallow transformation betweenvec(A)andvech(A)commutation_matrixtransformsvec(A)intovec(A')symmetrizer_matrixtransformsvec(A)intovec((A + A')/2)
The matrix transformations are returned as sparse arrays to improve performance.
Refer to the function docstrings for additional detail.
using VectorizationTransformations
n = 5
A = rand(n,n)
Asym = (A + A')/2
vech(Asym)
duplication_matrix(5)
elimination_matrix(5)
commutation_matrix(5)
symmetrizer_matrix(5)
? vech
? duplication_matrixWikipedia pages and the following paper:
The Elimination Matrix: Some Lemmas and Applications Jan R. Magnus and H. Neudecker SIAM Journal on Algebraic Discrete Methods 1980 1:4, 422-449