numpy.trace#
- numpy.trace(a, offset=0, axis1=0, axis2=1, dtype=None, out=None)[源]#
返回数组对角线元素的和。
如果 a 是二维数组,则返回其给定偏移量对角线上的元素和,即所有 i 的
a[i,i+offset]
元素的和。如果 a 的维数大于二,则使用 axis1 和 axis2 指定的轴来确定要返回其迹的二维子数组。结果数组的形状与移除 axis1 和 axis2 后的 a 的形状相同。
- 参数:
- a类数组
输入数组,从中提取对角线。
- offset整型,可选
对角线相对于主对角线的偏移量。可以是正数也可以是负数。默认为 0。
- axis1, axis2整型,可选
用于确定从中提取对角线的二维子数组的第一个和第二个轴。默认为 a 的前两个轴。
- dtype数据类型,可选
确定返回数组以及元素累加器的数值类型。如果 dtype 的值为 None 且 a 的整数类型精度低于默认整数精度,则使用默认整数精度。否则,精度与 a 的精度相同。
- outndarray,可选
用于放置输出的数组。其类型保持不变,并且必须具有正确的形状以容纳输出。
- 返回:
- sum_along_diagonalsndarray
如果 a 是二维数组,则返回对角线上的元素和。如果 a 具有更大的维数,则返回一个由对角线和组成的数组。
示例
>>> import numpy as np >>> 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)