Note that xpnd(v), which you mentioned in your post, is a linear transform
whose effect on v is the same as D_n %*% v so just pump an identity
matrix through xpnd to get its matrix:

library(MCMCpack)
D_n <- function(n) apply(diag(n*(n+1)/2), 2, xpnd, n)

# test
D_n(3)

On 9/9/06, w <[EMAIL PROTECTED]> wrote:
Dear R-list members,
Just wondering if there is any way to compute the duplication matrix in R.
I tried to search for it but only found functions "xpnd" and "vech".

Basically for a symmetric n by n matrix A, the duplication matrix D_n is
a matrix of dimension n^2 by n(n+1)/2 such that
D_n vech(A)= c(A), where c(A) just vectorizes A.

The duplication matrix is defined on page 49 of the book "Matrix
differential calculus with applications in statistics and econometrics"
by Magnus and Neudecker (1988 )

Thanks a lot!





---------------------------------
 雅虎免费邮箱-3.5G容量,20M附件
       [[alternative HTML version deleted]]



______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.




______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to