numpy.trace #

麻木的。跟踪( a , offset = 0 , axis1 = 0 , axis2 = 1 , dtype = None , out = None ) [来源] #

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

如果a是二维的,则返回沿其对角线与给定偏移量的总和,即a[i,i+offset]所有 i 的元素总和。

如果a具有超过二维的维度,则 axis1 和 axis2 指定的轴将用于确定返回其迹线的二维子数组。生成的数组的形状与删除axis1axis2的a的形状相同。

参数
类似数组

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

偏移量int,可选

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

axis1, axis2 int, 可选

用作二维子数组的第一和第二轴的轴,应从中获取对角线。默认值是a的前两个轴。

数据类型数据类型,可选

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

输出ndarray,可选

放置输出的数组。它的类型被保留,并且它必须具有正确的形状来保存输出。

返回
sum_along_diagonals ndarray

如果a是二维的,则返回沿对角线的总和。如果a具有较大的维度,则返回沿对角线的总和数组。

也可以看看

diag, diagonal,diagflat

例子

>>> 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)