matrixcalc (version 1.0-3)

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)

Arguments

n

Row and column dimension

Value

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

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
# NOT RUN {
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