## SUM Sum Function

Section: Elementary Functions

### Usage

Computes the summation of an array along a given dimension. The general syntax for its use is
```  y = sum(x,d)
```

where `x` is an `n`-dimensions array of numerical type. The output is of the same numerical type as the input. The argument `d` is optional, and denotes the dimension along which to take the summation. The output `y` is the same size as `x`, except that it is singular along the summation direction. So, for example, if `x` is a `3 x 3 x 4` array, and we compute the summation along dimension `d=2`, then the output is of size `3 x 1 x 4`.

### Function Internals

The output is computed via

If `d` is omitted, then the summation is taken along the first non-singleton dimension of `x`.

### Example

The following piece of code demonstrates various uses of the summation function
```--> A = [5,1,3;3,2,1;0,3,1]

A =
5 1 3
3 2 1
0 3 1
```

We start by calling `sum` without a dimension argument, in which case it defaults to the first nonsingular dimension (in this case, along the columns or `d = 1`).

```--> sum(A)

ans =
8 6 5
```

Next, we take the sum along the rows.

```--> sum(A,2)

ans =
9
6
4
```