mars.tensor.copysign#
- mars.tensor.copysign(x1, x2, out=None, where=None, **kwargs)[来源]#
逐元素地将x1的符号改为x2的符号。
如果两个参数都是数组或序列,它们必须具有相同的长度。如果 x2 是一个标量,它的符号将被复制到 x1 的所有元素。
- Parameters
x1 (array_like) – 要改变符号的值。
x2 (array_like) – x2 的符号被复制到 x1。
out (Tensor, None, 或 tuple 的 Tensor 和 None, 可选) – 结果存储的位置。如果提供,它必须具有和输入相同的广播形状。如果未提供或None,将返回一个新分配的张量。元组(仅作为关键字参数可能)必须具有与输出数量相等的长度。
where (array_like, 可选) – 值为 True 表示在该位置计算 ufunc,值为 False 表示保持输出中的该值不变。
**kwargs –
- Returns
out – x1 的值带有 x2 的符号。
- Return type
类数组对象
示例
>>> import mars.tensor as mt
>>> mt.copysign(1.3, -1).execute() -1.3 >>> (1/mt.copysign(0, 1)).execute() inf >>> (1/mt.copysign(0, -1)).execute() -inf
>>> mt.copysign([-1, 0, 1], -1.1).execute() array([-1., -0., -1.]) >>> mt.copysign([-1, 0, 1], mt.arange(3)-1).execute() array([-1., 0., 1.])