Next: , Previous: , Up: Arithmetic   [Contents][Index]

### 17.4 Sums and Products

: sum (x)
: sum (x, dim)
: sum (…, "native")
: sum (…, "double")
: sum (…, "extra")

Sum of elements along dimension dim.

If dim is omitted, it defaults to the first non-singleton dimension.

The optional `"type"` input determines the class of the variable used for calculations. If the argument `"native"` is given, then the operation is performed in the same type as the original argument, rather than the default double type.

For example:

```sum ([true, true])
⇒ 2
sum ([true, true], "native")
⇒ true
```

On the contrary, if `"double"` is given, the sum is performed in double precision even for single precision inputs.

For double precision inputs, the `"extra"` option will use a more accurate algorithm than straightforward summation. For single precision inputs, `"extra"` is the same as `"double"`. Otherwise, `"extra"` has no effect.

See also: cumsum, sumsq, prod.

: prod (x)
: prod (x, dim)
: prod (…, "native")
: prod (…, "double")

Product of elements along dimension dim.

If dim is omitted, it defaults to the first non-singleton dimension.

The optional `"type"` input determines the class of the variable used for calculations. If the argument `"native"` is given, then the operation is performed in the same type as the original argument, rather than the default double type.

For example:

```prod ([true, true])
⇒ 1
prod ([true, true], "native")
⇒ true
```

On the contrary, if `"double"` is given, the operation is performed in double precision even for single precision inputs.

See also: cumprod, sum.

: cumsum (x)
: cumsum (x, dim)
: cumsum (…, "native")
: cumsum (…, "double")
: cumsum (…, "extra")

Cumulative sum of elements along dimension dim.

If dim is omitted, it defaults to the first non-singleton dimension. For example:

```cumsum ([1, 2; 3, 4; 5, 6])
⇒  1   2
4   6
9  12
```

See `sum` for an explanation of the optional parameters `"native"`, `"double"`, and `"extra"`.

See also: sum, cumprod.

: cumprod (x)
: cumprod (x, dim)

Cumulative product of elements along dimension dim.

If dim is omitted, it defaults to the first non-singleton dimension. For example:

```cumprod ([1, 2; 3, 4; 5, 6])
⇒  1   2
3   8
15  48
```

See also: prod, cumsum.

: sumsq (x)
: sumsq (x, dim)

Sum of squares of elements along dimension dim.

If dim is omitted, it defaults to the first non-singleton dimension.

This function is conceptually equivalent to computing

```sum (x .* conj (x), dim)
```

but it uses less memory and avoids calling `conj` if x is real.

See also: sum, prod.

Next: , Previous: , Up: Arithmetic   [Contents][Index]