# torch.remainder¶

torch.remainder(input, other, *, out=None)

Computes Python’s modulus operation entrywise. The result has the same sign as the divisor other and its absolute value is less than that of other.

It may also be defined in terms of torch.div() as

torch.remainder(a, b) == a - a.div(b, rounding_mode="floor") * b


Supports broadcasting to a common shape, type promotion, and integer and float inputs.

Note

Complex inputs are not supported. In some cases, it is not mathematically possible to satisfy the definition of a modulo operation with complex numbers. See torch.fmod() for how division by zero is handled.

torch.fmod() which implements C++’s std::fmod. This one is defined in terms of division rounding towards zero.

Parameters:
• input (Tensor or Scalar) – the dividend

• other (Tensor or Scalar) – the divisor

Keyword Arguments:

out (Tensor, optional) – the output tensor.

Example:

>>> torch.remainder(torch.tensor([-3., -2, -1, 1, 2, 3]), 2)
tensor([ 1.,  0.,  1.,  1.,  0.,  1.])
>>> torch.remainder(torch.tensor([1, 2, 3, 4, 5]), -1.5)
tensor([ -0.5000, -1.0000,  0.0000, -0.5000, -1.0000 ])