kronecker.prod: Kronecker product on matrices

View source: R/kronecker.R

kronecker.prodR Documentation

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.

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}{ccc} 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}.

Value

An array with dimensions dim(x) * dim(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

# 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

fastmatrix documentation built on Oct. 12, 2023, 5:14 p.m.