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

17.4 Sums and Products

Built-in Function: sum (x)
Built-in Function: sum (x, dim)
Built-in Function: sum (…, "native")
Built-in Function: sum (…, "double")
Built-in Function: 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.

Built-in Function: prod (x)
Built-in Function: prod (x, dim)
Built-in Function: prod (…, "native")
Built-in Function: 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.

Built-in Function: cumsum (x)
Built-in Function: cumsum (x, dim)
Built-in Function: cumsum (…, "native")
Built-in Function: cumsum (…, "double")
Built-in Function: cumsum (…, "extra")

Cumulative sum of elements along dimension dim.

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

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

Built-in Function: cumprod (x)
Built-in Function: cumprod (x, dim)

Cumulative product of elements along dimension dim.

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

Built-in Function: sumsq (x)
Built-in Function: 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.