Camarda, Carlo Giovanni
2009-Feb-20 18:26 UTC
[R] multiplication between a matrix and a block-diagonal matrix (without vectorization)
Dear R-users, I would have a question regarding the multiplication between a matrix (A, mXn) and a block-diagonal matrix, B, (m*n)X(m*n). The easy solution would be to, first, vectorize A and use simple matrix multiplication, but my aim is to avoid such vectorization. Is it possible? Please find below an explanatory example. Thanks in advance for any help you can provide. Best, Carlo Giovanni library(Matrix) # matrix A A <- matrix(1:12, 3, 4) # elements of the block-diagonal matrix M1 <- matrix(1:9,3,3) M2 <- M1+1 M3 <- M2+1 M4 <- M3+1 # block-diagonal matrix B <- bdiag(M1, M2, M3, M4) # simple solution a <- c(A) B %*% a ---------- This mail has been sent through the MPI for Demographic ...{{dropped:10}}