duplication.matrix {matrixcalc} | R Documentation |
Duplication matrix for n by n matrices
Description
This function returns a matrix with n * n rows and n * ( n + 1 ) / 2 columns that transforms vech(A) to vec(A) where A is a symmetric n by n matrix.
Usage
duplication.matrix(n=1)
Arguments
n |
Row and column dimension |
Details
This function is a wrapper function for the function D.matrix
.
Let {\bf{T}}_{i,j}
be an n \times n
matrix with 1 in its \left( {i,j} \right)
element 1 \le i,j \le n
.
and zeroes elsewhere. These matrices are constructed by the function T.matrices
. The formula for the
transpose of matrix \bf{D}
is {\bf{D'}} = \sum\limits_{j = 1}^n {\sum\limits_{i = j}^n {{{\bf{u}}_{i,j}}\;{{\left( {vec\;{{\bf{T}}_{i,j}}} \right)}^\prime }} }
where {{{\bf{u}}_{i,j}}}
is the column vector in the order \frac{1}{2}n\left( {n + 1} \right)
identity
matrix for column k = \left( {j - 1} \right)n + i - \frac{1}{2}j\left( {j - 1} \right)
. The function
u.vectors
generates these vectors.
Value
It returns an {n^2}\; \times \;\frac{1}{2}n\left( {n + 1} \right)
matrix.
Author(s)
Frederick Novomestky fnovomes@poly.edu, Kurt Hornik Kurt.Hornik@wu-wien.ac.at
References
Magnus, J. R. and H. Neudecker (1980). The elimination matrix, some lemmas and applications, SIAM Journal on Algebraic Discrete Methods, 1(4), December 1980, 422-449.
Magnus, J. R. and H. Neudecker (1999) Matrix Differential Calculus with Applications in Statistics and Econometrics, Second Edition, John Wiley.
See Also
Examples
D <- duplication.matrix( 3 )
A <- matrix( c( 1, 2, 3,
2, 3, 4,
3, 4, 5), nrow=3, byrow=TRUE )
vecA <- vec( A )
vechA<- vech( A )
y <- D %*% vechA
print( y )
print( vecA )