commutation.matrix {matrixcalc} | R Documentation |
Commutation matrix for r by c numeric matrices
Description
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.
Usage
commutation.matrix(r, c=r)
Arguments
r |
a positive integer integer row dimension |
c |
a positive integer integer column dimension |
Details
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}} = \sum\limits_{i = 1}^r {\sum\limits_{j = 1}^c {\left( {{{\bf{H}}_{i,j}} \otimes {{{\bf{H'}}}_{i,j}}} \right)} }
Value
An order \left( {r\;c} \right)
matrix.
Note
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
Author(s)
Frederick Novomestky fnovomes@poly.edu
References
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.
See Also
Examples
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 )