Learn R Programming

matrixcalc (version 1.0-6)

duplication.matrix: 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)

Value

It returns an \({n^2}\; \times \;\frac{1}{2}n\left( {n + 1} \right)\) matrix.

Arguments

n

Row and column dimension

Author

Frederick Novomestky fnovomes@poly.edu, Kurt Hornik Kurt.Hornik@wu-wien.ac.at

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.

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

D.matrix, vec, vech

Examples

Run this code
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 )

Run the code above in your browser using DataLab