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. By default, operations on floating point inputs (double or single) are performed in their native data type, while operations on integer, logical, and character data types are performed using doubles. If the argument "native" is given, then the operation is performed in the same type as the original argument.

For example:

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

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". For all other data type "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")

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" and "double".

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.

© 1996–2020 John W. Eaton
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://octave.org/doc/v6.3.0/Sums-and-Products.html