This package provides common transformation operations related to matrix vectorization.
vech
provides the half-vectorizationduplication_matrix
andelimination_matrix
allow transformation betweenvec(A)
andvech(A)
commutation_matrix
transformsvec(A)
intovec(A')
symmetrizer_matrix
transformsvec(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_matrix
Wikipedia 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