jax.numpy.copysign

jax.numpy.copysign(x1, x2)[source]

Change the sign of x1 to that of x2, element-wise.

LAX-backend implementation of copysign(). Original docstring below.

copysign(x1, x2, /, out=None, *, where=True, casting=’same_kind’, order=’K’, dtype=None, subok=True[, signature, extobj])

If x2 is a scalar, its sign will be copied to all elements of x1.

Parameters
  • x1 (array_like) – Values to change the sign of.

  • x2 (array_like) – The sign of x2 is copied to x1. If x1.shape != x2.shape, they must be broadcastable to a common shape (which becomes the shape of the output).

Returns

out – The values of x1 with the sign of x2. This is a scalar if both x1 and x2 are scalars.

Return type

ndarray or scalar

Examples

>>> np.copysign(1.3, -1)
-1.3
>>> 1/np.copysign(0, 1)
inf
>>> 1/np.copysign(0, -1)
-inf
>>> np.copysign([-1, 0, 1], -1.1)
array([-1., -0., -1.])
>>> np.copysign([-1, 0, 1], np.arange(3)-1)
array([-1.,  0.,  1.])