outer                  package:base                  R Documentation

Outer Product of Arrays

Description:

     The outer product of the arrays `X' and `Y' is the array `A' with
     dimension `c(dim(X), dim(Y))' where element `A[c(arrayindex.x,
     arrayindex.y)] = FUN(X[arrayindex.x], Y[arrayindex.y], ...)'.

Usage:

     outer(X, Y, FUN="*", ...)
     x %o% y

Arguments:

       X: A vector or array.

       Y: A vector or array.

     FUN: a function to use on the outer products, it may be a quoted
          string.

     ...: optional arguments to be passed to `FUN'.

Details:

     `FUN' must be a function (or the name of it) which expects at
     least two arguments and which operates elementwise on arrays.

     Where they exist, the [dim]names of `X' and `Y' will be preserved.

     `%o%' is an alias for `outer' (where `FUN' cannot be changed from
     `"*"').

Author(s):

     Jonathan Rougier

See Also:

     `matmult' for usual (inner) matrix vector multiplication;
     `kronecker' which is based on `outer'.

Examples:

     x <- 1:9; names(x) <- x
     # Multiplication & Power Tables
     x %o% x
     y <- 2:8; names(y) <- paste(y,":",sep="")
     outer(y, x, "^")

     outer(month.abb, 1999:2003, FUN = "paste")

     ## three way multiplication table:
     x %o% x %o% y[1:3]

