mindspore.numpy.diag

mindspore.numpy.diag(v, k=0)[源代码]

用于提取或构造对角线数组。

参数:
  • v (Tensor) - 如果 v 是二维数组,则返回其第 k 个对角线的副本。如果 v 是一维数组,则返回一个 v 作为第 k 个对角线的二维数组。

  • k (int, 可选) - 对角线的位置, \(k>0\) 即为对主对角线上方, \(k<0\) 即为主对角线下方。

返回:

Tensor,返回该数组的对角线元素或者构造一个新的二维数组,其中指定的一维数组为对角线元素。

异常:
  • ValueError - 如果 v 不是一维或者二维数组。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore.numpy as np
>>> x = np.arange(9).reshape((3,3))
>>> print(x)
[[0 1 2]
[3 4 5]
[6 7 8]]
>>> output = np.diag(x)
>>> print(output)
[0 4 8]
>>> output = np.diag(x, k=1)
>>> print(output)
[1 5]
>>> output = np.diag(x, k=-1)
>>> print(output)
[3 7]