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

H.matrices, K.matrix

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 )

[Package matrixcalc version 1.0-6 Index]