# aplus: Generalized array addition In magic: Create and Investigate Magic Squares

## Description

Given two arrays `a` and `b` with `length(dim(a))==length(dim(b))`, return a matrix with dimensions `pmax(dim(a),dim(b))` where “overlap” elements are `a+b`, and the other elements are either 0, a, or b according to location. See details section.

## Usage

 `1` ```aplus(...) ```

## Arguments

 `...` numeric or complex arrays

## Details

The function takes any number of arguments (the binary operation is associative).

The operation of `aplus()` is understandable by examining the following pseudocode:

• `outa <- array(0,pmax(a,b))`

• `outb <- array(0,pmax(a,b))`

• `outa[1:dim(a)] <- a`

• `outb[1:dim(a)] <- b`

• `return(outa+outb)`

See how `outa` and `outb` are the correct size and the appropriate elements of each are populated with `a` and `b` respectively. Then the sum is returned.

## Author(s)

Robin K. S. Hankin

`apad`

## Examples

 ```1 2 3 4 5``` ```aplus(rbind(1:9),cbind(1:9)) a <- matrix(1:8,2,4) b <- matrix(1:10,5,2) aplus(a*100,b,b) ```

magic documentation built on May 2, 2019, 12:21 p.m.