numpy.trace

原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.trace.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

numpy.trace(a, offset=0, axis1=0, axis2=1, dtype=None, out=None)[source]

沿数组的对角线返回总和。

如果a是2-D,则返回具有给定偏移的沿其对角线的和,即对于所有i,元素a[i,i+offset]

如果a有两个以上的尺寸,则由axis1和axis2指定的轴用于确定返回其轨迹的2-D子数组。所得数组的形状与移除axis1axis2a的形状相同。

参数:

a:array_like

输入数组,从中获取对角线。

offset:int,可选

对角线与主对角线的偏移。可以是正面和负面。默认为0。

axis1,axis2:int,可选

轴将被用作应从中获取对角线的2-D子阵列的第一和第二轴。默认值是a的前两个轴。

dtype:dtype,可选

确定返回的数组和累加器元素的累加器的数据类型。如果dtype具有值None且a是小于默认整数精度的整数类型的精度,则使用缺省整数精度。否则,精度与a的精度相同。

out:ndarray,可选

数组,其中放置输出。它的类型被保留,并且它必须是保持输出的正确形状。

返回:

sum_along_diagonals:ndarray

如果a是2-D,则返回沿对角线的和。如果a具有较大的维,则返回沿对角线的和的数组。

也可以看看

diagdiagonaldiagflat

例子

>>> np.trace(np.eye(3))
3.0
>>> a = np.arange(8).reshape((2,2,2))
>>> np.trace(a)
array([6, 8])
>>> a = np.arange(24).reshape((2,2,2,3))
>>> np.trace(a).shape
(2, 3)