| kronecker.prod {fastmatrix} | R Documentation |
Computes the kronecker product of two matrices, x and y.
kronecker.prod(x, y = x)
x |
a numeric matrix or vector. |
y |
a numeric matrix or vector. |
Let \bold{X} be an m\times n and \bold{Y} a p\times q matrix. The mp\times nq matrix defined by
≤ft[{\begin{array}{*{20}{c}} x_{11}\bold{Y} & … & x_{1n}\bold{Y} \\ \vdots & & \vdots \\ x_{m1}\bold{Y} & … & x_{mn}\bold{Y} \end{array}}\right],
is called the Kronecker product of \bold{X} and \bold{Y}.
An array with dimensions dim(x) * dim(y).
Magnus, J.R., Neudecker, H. (2007). Matrix Differential Calculus with Applications in Statistics and Econometrics, 3rd Edition. Wiley, New York.
kronecker function from base package is based on outer.
Our C version is slightly faster.
# block diagonal matrix: a <- diag(1:3) b <- matrix(1:4, ncol = 2) kronecker.prod(a, b) # examples with vectors ones <- rep(1, 4) y <- 1:3 kronecker.prod(ones, y) # 12-dimensional vector kronecker.prod(ones, t(y)) # 3 x 3 matrix