This function returns a square matrix of order p = r * c that, for an r by c matrix A, transforms vec(A) to vec(A') where prime denotes transpose.
commutation.matrix(r, c=r)
An order
a positive integer integer row dimension
a positive integer integer column dimension
Frederick Novomestky fnovomes@poly.edu
This function is a wrapper function that uses the function K.matrix
to do the actual work.
The H.matrices
are combined using direct product
to generate the commutation product with the following formula
Magnus, J. R. and H. Neudecker (1979). The commutation matrix: some properties and applications, The Annals of Statistics, 7(2), 381-394.
Magnus, J. R. and H. Neudecker (1999) Matrix Differential Calculus with Applications in Statistics and Econometrics, Second Edition, John Wiley.
H.matrices
,
K.matrix
K <- commutation.matrix( 3, 4 )
A <- matrix( seq( 1, 12, 1 ), nrow=3, byrow=TRUE )
vecA <- vec( A )
vecAt <- vec( t( A ) )
print( K %*% vecA )
print( vecAt )
Run the code above in your browser using DataLab