mindspore.ops.cross

mindspore.ops.cross(input, other, dim=None)[源代码]

返回沿着维度 dim 上,inputother 的向量积(叉积)。 inputother 必须有相同的形状,且指定的 dim 维上size必须为3。 如果不指定 dim,则使用第一个大小为3的维度。

参数:
  • input (Tensor) - 输入Tensor。

  • other (Tensor) - 另一个Tensor,数据类型和shape必须和 input 一致,并且他们的 dim 维度的长度应该为3。

  • dim (int,可选) - 沿着此维进行叉积操作。如果 dim 为None,则使用第一个大小为3的维度。默认值:None。

返回:

Tensor,数据类型与 input 相同。

异常:
  • TypeError - 如果 input 不是Tensor。

  • TypeError - 如果 other 不是Tensor。

  • TypeError - 如果 input 数据类型与 other 不同。

  • ValueError - 如果 inputother 的size不同,维度不为3。

  • ValueError - 如果 inputother 的shape不相同。

  • ValueError - 如果 dim 不在[-len(input.shape), len(input.shape)-1]范围内。

支持平台:

Ascend CPU

样例:

>>> # case 1: dim=None.
>>> x = Tensor([[1, 2, 3], [1, 2, 3]])
>>> other = Tensor([[4, 5, 6], [4, 5, 6]])
>>> output = ops.cross(x, other)
>>> print(output)
[[-3  6 -3]
 [-3  6 -3]]
>>> # case 2: dim=1.
>>> x = Tensor([[1, 2, 3], [1, 2, 3]])
>>> other = Tensor([[4, 5, 6], [4, 5, 6]])
>>> output = ops.cross(x, other, dim=1)
>>> print(output)
[[-3  6 -3]
 [-3  6 -3]]