Commutation matrix for r by c numeric matrices
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)
r |
a positive integer integer row dimension |
c |
a positive integer integer column dimension |
This function is a wrapper function that uses the function K.matrix
to do the actual work.
The r \times c matrices {\bf{H}}{}_{i,j} constructed
by the function H.matrices
are combined using direct product
to generate the commutation product with the following formula
{{\bf{K}}_{r,c}} = ∑\limits_{i = 1}^r {∑\limits_{j = 1}^c {≤ft( {{{\bf{H}}_{i,j}} \otimes {{{\bf{H'}}}_{i,j}}} \right)} }
An order ≤ft( {r\;c} \right) matrix.
If either argument is less than 2, then the function stops and displays an appropriate error mesage. If either argument is not an integer, then the function stops and displays an appropriate error mesage
Frederick Novomestky fnovomes@poly.edu
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.
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 )
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.