fn

remainder

Tensor
remainder(input: Tensor, other: Tensor | Scalar)
source

Element-wise Python-style modulo.

Returns input - n * other where n is the result of flooring input / other. The sign of the result matches the sign of other (Python convention), in contrast to fmod.

Parameters

inputTensor
Left operand.
otherTensor or scalar
Right operand. Broadcasts against input following the standard broadcasting rules; Python scalars are promoted to a tensor of matching dtype.

Returns

Tensor

Element-wise result with shape broadcast(input.shape, other.shape) and dtype determined by the usual type-promotion rules.

Notes

Mathematical definition:

outi=inputiotheriinputi/otheri\text{out}_i = \text{input}_i - \text{other}_i \cdot \lfloor \text{input}_i / \text{other}_i \rfloor

Equivalent to the Python % operator on floats.

Examples

>>> import lucid
>>> a = lucid.tensor([1.0, 2.0, 3.0])
>>> b = lucid.tensor([4.0, 5.0, 6.0])
>>> lucid.remainder(a, b)
Tensor([...])