mindspore.numpy.cross
- mindspore.numpy.cross(a, b, axisa=-1, axisb=-1, axisc=-1, axis=None)[源代码]
返回两个向量(数组)的叉积。
在 \(R^3\) 中,叉积是垂直于 a 和 b 的一个向量。 如果 a 和 b 是向量数组,向量默认由 a 和 b 的最后一个轴定义,这些轴可以为二或三维。 当 a 和 b 其中任意一个为二维时,输入向量的第三个分量将被假设为零,并相应计算叉积。 在两个输入向量都为二维的情况下,返回叉积的z-分量。
- 参数:
a (Union[list, tuple, Tensor]) - 第一个向量的分量。
b (Union[list, tuple, Tensor]) - 第二个向量的分量。
axisa (int, 可选) - 定义 a 中用于计算的向量的轴。默认为最后一个轴。默认值:
-1。axisb (int, 可选) - 定义 b 中用于计算的向量的轴。默认为最后一个轴。默认值:
-1。axisc (int, 可选) - 定义 c 中包含叉积结果的轴。如果两个输入向量都为二维,此项被忽略。默认为最后一个轴。默认值:
-1。axis (int, 可选) - 如果定义该参数, axis 将定义 a 和 b 中用于计算的向量的轴,以及 c 中包含叉积结果的轴。 即覆盖 axisa 、 axisb 和 axisc 。默认值:
None。
- 返回:
Tensor,向量叉积。
- 异常:
ValueError - 当向量的维数不是2或3时。
- 支持平台:
AscendGPUCPU
样例:
>>> 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]]