You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Greetings! I am the author of matrixNormal package, and I also wrote a function to generate random numbers for the matrix Normal distribution (rmatnorm). I used mvtnorm::rmvnorm() to sample, but the critical question is how the covariance matrix, Sigma, is defined. Unfortunately, we both use the notation U and V but with different meanings so I will use the description (row/column) instead. I am writing to ask about the use of Krochener product of column-row instead of row-column. A user recently asked me about this: #phargarten2/matrixNormal#1. I doubled check this cited reference in the help file (rmatnorm); indeed, Kronecker (row, column) appears to be correct.
Iranmanesh, Anis, M. Arashi, and S. M. M. Tabatabaey On Conditional Applications of Matrix Variate Normal Distribution. Iranian Journal of Mathematical Sciences and Informatics 5, no. 2. (November 1, 2010): 33-43. < https://doi.org/10.7508/ijmsi.2010.02.004 >
Obviously, there is an error between our two functions, and I may be in the wrong. Could you give some insight in answering the user's question specifically and in constructing the rmatrixnormal() function generally? Thanks!
The text was updated successfully, but these errors were encountered:
I did this package a couple of years ago and I don't remember a lot of things. I'm not sure I get your question.
I've checked that E[X X'] = tr(V) U when the mean matrix is null (this formula is given on Wikipedia):
library(matrixsampling)
m <- 3
p <- 2
M <- matrix(0, m, p)
U <- toeplitz(m:1)
V <- toeplitz(p:1)
MNsims <- rmatrixnormal(50000, M, U, V)
X <- matrix(0, nrow = m, ncol = m)
for(i in 1:50000){
X <- X + tcrossprod(MNsims[, , i])
}
X/50000
sum(diag(V)) * U
Thank you. I hope that you were not offended by my question. Yes, I was wondering about the reference of your function. For your formula, did you mean that E[X'X] = tr(V) * U
?
Thanks to @prockenschaub, I realize that the Iranmanesh reference may not be correct. The evidence seems to indicate that it is the column * row variance instead, as Pocuca et al. (2019) suggests.
Greetings! I am the author of matrixNormal package, and I also wrote a function to generate random numbers for the matrix Normal distribution (
rmatnorm
). I usedmvtnorm::rmvnorm()
to sample, but the critical question is how the covariance matrix, Sigma, is defined. Unfortunately, we both use the notationU
andV
but with different meanings so I will use the description (row/column) instead. I am writing to ask about the use of Krochener product of column-row instead of row-column. A user recently asked me about this: #phargarten2/matrixNormal#1. I doubled check this cited reference in the help file (rmatnorm
); indeed, Kronecker (row, column) appears to be correct.Iranmanesh, Anis, M. Arashi, and S. M. M. Tabatabaey On Conditional Applications of Matrix Variate Normal Distribution. Iranian Journal of Mathematical Sciences and Informatics 5, no. 2. (November 1, 2010): 33-43. < https://doi.org/10.7508/ijmsi.2010.02.004 >
Obviously, there is an error between our two functions, and I may be in the wrong. Could you give some insight in answering the user's question specifically and in constructing the
rmatrixnormal()
function generally? Thanks!The text was updated successfully, but these errors were encountered: