# sum¶

sum(x: array, /, *, axis: int | Tuple[int, ...] | None = None, dtype: dtype | None = None, keepdims: bool = False) array

Calculates the sum of the input array `x`.

Parameters:
• x (array) – input array. Should have a numeric data type.

• axis (Optional[Union[int, Tuple[int, ...]]]) – axis or axes along which sums must be computed. By default, the sum must be computed over the entire array. If a tuple of integers, sums must be computed over multiple axes. Default: `None`.

• dtype (Optional[dtype]) –

data type of the returned array. If `None`, the returned array must have the same data type as `x`, unless `x` has an integer data type supporting a smaller range of values than the default integer data type (e.g., `x` has an `int16` or `uint32` data type and the default integer data type is `int64`). In those latter cases:

• if `x` has a signed integer data type (e.g., `int16`), the returned array must have the default integer data type.

• if `x` has an unsigned integer data type (e.g., `uint16`), the returned array must have an unsigned integer data type having the same number of bits as the default integer data type (e.g., if the default integer data type is `int32`, the returned array must have a `uint32` data type).

If the data type (either specified or resolved) differs from the data type of `x`, the input array should be cast to the specified data type before computing the sum (rationale: the `dtype` keyword argument is intended to help prevent overflows). Default: `None`.

• keepdims (bool) – if `True`, the reduced axes (dimensions) must be included in the result as singleton dimensions, and, accordingly, the result must be compatible with the input array (see Broadcasting). Otherwise, if `False`, the reduced axes (dimensions) must not be included in the result. Default: `False`.

Returns:

out (array) – if the sum was computed over the entire array, a zero-dimensional array containing the sum; otherwise, an array containing the sums. The returned array must have a data type as described by the `dtype` parameter above.

Notes

Special Cases

Let `N` equal the number of elements over which to compute the sum.

• If `N` is `0`, the sum is `0` (i.e., the empty sum).

For both real-valued and complex floating-point operands, special cases must be handled as if the operation is implemented by successive application of `add()`.

Changed in version 2022.12: Added complex data type support.

Changed in version 2023.12: Required the function to return a floating-point array having the same data type as the input array when provided a floating-point array.