mygrad.cumprod#
- mygrad.cumprod(a: ArrayLike, axis: None | int | Tuple[int, ...] = None, *, constant: bool | None = None) Tensor [source]#
Return the cumulative product of elements along a given axis.
This docstring was adapted from the official numpy documentation
- Parameters:
- aArrayLike
Input array.
- axisOptional[int]
Axis along which the cumulative product is computed. By default the input is flattened.
- constantbool, optional(default=False)
If
True
, the returned tensor is a constant (it does not back-propagate a gradient)- constantOptional[bool]
If
True
, this tensor is treated as a constant, and thus does not facilitate back propagation (i.e.constant.grad
will always returnNone
).Defaults to
False
for float-type data. Defaults toTrue
for integer-type data.Integer-type tensors must be constant.
- Returns:
- mygrad.Tensor
Notes
Arithmetic is modular when using integer types, and no error is raised on overflow.
Examples
>>> from mygrad import cumprod, Tensor >>> a = Tensor([[1, 2, 3], ... [4, 5, 6]])
>>> cumprod(a) Tensor([ 1 2 6 24 120 720])
The cumulative product for each column (i.e., over the rows) of a:
>>> cumprod(a, axis=0) Tensor([[ 1, 2, 3], [ 4, 10, 18]])
The cumulative product for each row (i.e. over the columns) of a:
>>> cumprod(a, axis=1) Tensor([[ 1, 2, 6], [ 4, 20, 120]])