kronecker {base} | R Documentation |

## Kronecker products on arrays

### Description

Computes the generalised kronecker product of two arrays,
`X`

and `Y`

. `kronecker(X, Y)`

returns an array
`A`

with dimensions `dim(X) * dim(Y)`

.

### Usage

kronecker(X, Y, FUN = "*", make.dimnames = FALSE, ...)
X %x% Y

### Arguments

`X` |
A vector or array. |

`Y` |
A vector or array. |

`FUN` |
a function; it may be a quoted string. |

`make.dimnames` |
Provide dimnames that are the product of the
dimnames of `X` and `Y` . |

`...` |
optional arguments to be passed to `FUN` . |

### Details

If `X`

and `Y`

do not have the same number of
dimensions, the smaller array is padded with dimensions of size
one. The returned array comprises submatrices constructed by
taking `X`

one term at a time and expanding that term as
`FUN(x, Y, ...)`

.

`%x%`

is an alias for `kronecker`

(where
`FUN`

is hardwired to `"*"`

).

### Author(s)

Jonathan Rougier, J.C.Rougier@durham.ac.uk

### References

Shayle R. Searle (1982)
*Matrix Algebra Useful for Statistics.* John Wiley and Sons.

### See Also

`outer`

, on which `kronecker`

is built
and `%*%`

for usual matrix multiplication.

### Examples

# simple scalar multiplication
( M <- matrix(1:6, ncol=2) )
kronecker(4, M)
# Block diagonal matrix:
kronecker(diag(1, 3), M)
# ask for dimnames
fred <- matrix(1:12, 3, 4, dimnames=list(LETTERS[1:3], LETTERS[4:7]))
bill <- c("happy" = 100, "sad" = 1000)
kronecker(fred, bill, make.dimnames = TRUE)
bill <- outer(bill, c("cat"=3, "dog"=4))
kronecker(fred, bill, make.dimnames = TRUE)

[Package

*base* version 2.5.0

Index]