# outer: Outer product. In madness: Automatic Differentiation of Multivariate Operations

## Description

Computes the outer product (or sum, quotient, etc) of the Cartesian product of two inputs.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22``` ```## S4 method for signature 'ANY,ANY' outer(X, Y, FUN = "*", ...) ## S4 method for signature 'madness,madness' outer(X, Y, FUN = "*", ...) ## S4 method for signature 'madness,array' outer(X, Y, FUN = "*", ...) ## S4 method for signature 'array,madness' outer(X, Y, FUN = "*", ...) X %o% Y ## S4 method for signature 'madness,madness' kronecker(X, Y) ## S4 method for signature 'madness,array' kronecker(X, Y) ## S4 method for signature 'array,madness' kronecker(X, Y) ```

## Arguments

 `X, Y` `madness` or numeric matrix values. `FUN` a function to use on the outer products, found via `match.fun` (except for the special case `"*"`). `...` optional arguments to be passed to `FUN`.

## Value

a `madness` object.

## Author(s)

Steven E. Pav [email protected]

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15``` ```set.seed(123) y <- array(rnorm(3*3),dim=c(3,3)) dy <- matrix(rnorm(length(y)*2),ncol=2) dx <- crossprod(matrix(rnorm(ncol(dy)*100),nrow=100)) obj0 <- madness(val=y,vtag='y',xtag='x',dvdx=dy,varx=dx) y1 <- array(rnorm(3*3),dim=c(3,3)) dy1 <- matrix(rnorm(length(y1)*2),ncol=2) dx1 <- crossprod(matrix(rnorm(ncol(dy1)*100),nrow=100)) obj1 <- madness(val=y1,vtag='y1',xtag='x',dvdx=dy1,varx=dx1) anobj <- outer(obj0,obj0,'*') anobj <- outer(obj0,obj0,'+') anobj <- outer(obj0,obj1,'-') anobj <- outer(obj0,obj1,'/') ```

madness documentation built on Feb. 16, 2018, 1:01 a.m.