blockMult {SpatioTemporal} | R Documentation |
Computes the matrix product between a block diagonal square matrix and a column vector (or matrix).
blockMult(mat, X, n.blocks = 1, block.sizes = rep(dim(mat)[1]/n.blocks, n.blocks))
mat |
A block diagonal, square matrix. |
X |
Vector or matrix to multiply by |
n.blocks |
Number of diagonal blocks in |
block.sizes |
A vector of length |
Returns mat * X.
Johan Lindstrom
Other basic linear algebra: crossDist
,
makeCholBlock
, norm2
,
sumLogDiag
Other block matrix functions: calc.FXtF2
,
calc.FX
, calc.mu.B
,
calc.tFXF
, calc.tFX
,
makeCholBlock
, makeSigmaB
,
makeSigmaNu
#create a matrix mat <- cbind(c(1,0,0), c(0,2,1), c(0,1,2)) #define the number of blocks and block sizes block.sizes <- c(1,2) n.blocks <- length(block.sizes) #define a X vector X <- matrix(c(1,2,3,1,1,1), 3, 2) #compute mat %*% X blockMult(mat, X, n.blocks, block.sizes) #or the old fashioned way mat %*% X