Learn R Programming

fastmatrix (version 0.3-8)

kronecker.prod: Kronecker product on matrices

Description

Computes the kronecker product of two matrices, x and y.

Usage

kronecker.prod(x, y = x)

Arguments

x

a numeric matrix or vector.

y

a numeric matrix or vector.

Value

An array with dimensions dim(x) * dim(y).

Details

Let \(\bold{X}\) be an \(m\times n\) and \(\bold{Y}\) a \(p\times q\) matrix. The \(mp\times nq\) matrix defined by $$\left[{\begin{array}{*{20}{c}} x_{11}\bold{Y} & \dots & x_{1n}\bold{Y} \\ \vdots & & \vdots \\ x_{m1}\bold{Y} & \dots & x_{mn}\bold{Y} \end{array}}\right],$$ is called the Kronecker product of \(\bold{X}\) and \(\bold{Y}\).

References

Magnus, J.R., Neudecker, H. (2007). Matrix Differential Calculus with Applications in Statistics and Econometrics, 3rd Edition. Wiley, New York.

See Also

kronecker function from base package is based on outer. Our C version is slightly faster.

Examples

Run this code
# NOT RUN {
# 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
# }

Run the code above in your browser using DataLab