## CUMPROD Cumulative Product Function

Section: Elementary Functions

### Usage

Computes the cumulative product of an n-dimensional array along a given dimension. The general syntax for its use is
```  y = cumprod(x,d)
```

where `x` is a multidimensional array of numerical type, and `d` is the dimension along which to perform the cumulative product. The output `y` is the same size of `x`. Integer types are promoted to `int32`. If the dimension `d` is not specified, then the cumulative sum is applied along the first non-singular dimension.

### Function Internals

The output is computed via

### Example

The default action is to perform the cumulative product along the first non-singular dimension.
```--> A = [5,1,3;3,2,1;0,3,1]

A =
5 1 3
3 2 1
0 3 1

--> cumprod(A)

ans =
5  1  3
15  2  3
0  6  3
```

To compute the cumulative product along the columns:

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

ans =
5  5 15
3  6  6
0  0  0
```

The cumulative product also works along arbitrary dimensions

```--> B(:,:,1) = [5,2;8,9];
--> B(:,:,2) = [1,0;3,0]

B =

(:,:,1) =
5 2
8 9

(:,:,2) =
1 0
3 0

--> cumprod(B,3)

ans =

(:,:,1) =
5  2
8  9

(:,:,2) =
5  0
24  0
```