R: Kronecker product on matrices

kronecker.prod {fastmatrix} | R 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

≤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}.

### 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

[Package fastmatrix version 0.3-819 Index]