kronecker {base} | R Documentation |
Computes the generalised kronecker product of two arrays,
X
and Y
. kronecker(X, Y)
returns an array
A
with dimensions dim(X) * dim(Y)
.
kronecker(X, Y, FUN = "*", make.dimnames = FALSE, ...)
X %x% Y
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 |
... |
optional arguments to be passed to |
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 "*"
).
Jonathan Rougier, J.C.Rougier@durham.ac.uk
Shayle R. Searle (1982) Matrix Algebra Useful for Statistics. John Wiley and Sons.
outer
, on which kronecker
is built
and %*%
for usual matrix multiplication.
# 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)