mindspore.numpy.diagonal
- mindspore.numpy.diagonal(a, offset=0, axis1=0, axis2=1)[源代码]
- 返回数组指定的对角线。 如果 - a是二维,则返回具有给定- offset的- a的对角线,形如- a[i, i+offset]的元素的集合。如果- a具有两个以上的维度,则使用- axis1和- axis2指定的轴来确定返回对角线的二维子数组。可以通过移除- axis1和- axis2并在右边附加等于结果对角线大小的索引来确定结果数组的shape。- 参数:
- a (Tensor) - 输入数据,用于从中获取对角线的数组。 
- offset (int, 可选) - 对角线与主对角线的偏移量。可以是正的或负的。默认主对角线。 
- axis1 (int, 可选) - 二维子数组的第一个轴。默认为第一个轴(0)。 
- axis2 (int, 可选) - 二维子数组的第二个轴。默认为第二个轴。 
 
- 返回:
- Tensor,如果传递的数组 - a是二维数组,则返回包含对角线元素的一维数组。对于三维数组或更多维数组,将删除- axis1和- axis2指定的轴,并将两个参数中较小的一个添加到最后一个轴。
- 异常:
- ValueError - 如果输入的数据少于两个维度。 
 
- 支持平台:
- Ascend- GPU- CPU
 - 样例: - >>> import mindspore.numpy as np >>> a = np.arange(4).reshape(2,2).astype(np.float32) >>> print(a) [[0. 1.] [2. 3.]] >>> output = np.diagonal(a) >>> print(output) [0. 3.] >>> output = np.diagonal(a, 1) >>> print(output) [1.] >>> a = np.arange(8).reshape(2, 2, 2).astype(np.float32) >>> print(a) [[[0. 1.] [2. 3.]] [[4. 5.] [6. 7.]]] >>> output = np.diagonal(a, 0, 0, 1) >>> print(output) [[0. 6.] [1. 7.]]