mindspore.numpy.cross

mindspore.numpy.cross(a, b, axisa=- 1, axisb=- 1, axisc=- 1, axis=None)[源代码]

返回两个向量(数组)的叉积。

\(R^3\) 中,叉积是垂直于 ab 的一个向量。 如果 ab 是向量数组,向量默认由 ab 的最后一个轴定义,这些轴可以为二或三维。 当 ab 其中任意一个为二维时,输入向量的第三个分量将被假设为零,并相应计算叉积。 在两个输入向量都为二维的情况下,返回叉积的z-分量。

参数:
  • a (Union[list, tuple, Tensor]) - 第一个向量的分量。

  • b (Union[list, tuple, Tensor]) - 第二个向量的分量。

  • axisa (int, 可选) - 定义 a 中用于计算的向量的轴。 默认为最后一个轴。

  • axisb (int, 可选) - 定义 b 中用于计算的向量的轴。 默认为最后一个轴。

  • axisc (int, 可选) - 定义 c 中包含叉积结果的轴。 如果两个输入向量都为二维,此项被忽略。 默认为最后一个轴。

  • axis (int, 可选) - 如果定义该参数, axis 将定义 ab 中用于计算的向量的轴,以及 c 中包含叉积结果的轴。 即覆盖 axisaaxisbaxisc 。 默认值: None

返回:

Tensor,向量叉积。

异常:
  • ValueError - 当向量的维数不是2或3时。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore.numpy as np
>>> x = np.array([[1,2,3], [4,5,6]])
>>> y = np.array([[4,5,6], [1,2,3]])
>>> output = np.cross(x, y)
>>> print(output)
[[-3  6 -3]
[ 3 -6  3]]
>>> output = np.cross(x, y, axisc=0)
>>> print(output)
[[-3  3]
[ 6 -6]
[-3  3]]