Next: Utility Functions, Previous: Trigonometry, 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")

  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.

Next: Utility Functions, Previous: Trigonometry, Up: Arithmetic [Contents][Index]