dask.array.trace

dask.array.trace

dask.array.trace(a, offset=0, axis1=0, axis2=1, dtype=None)[源代码]

返回数组对角线上的元素之和。

此文档字符串是从 numpy.trace 复制的。

Dask 版本可能存在一些不一致性。

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

如果 a 的维度超过两个,那么由 axis1 和 axis2 指定的轴将用于确定其迹将被返回的 2-D 子数组。结果数组的形状与 a 相同,只是去掉了 axis1axis2

参数
aarray_like

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

偏移量int, 可选

对角线相对于主对角线的偏移量。可以是正值或负值。默认为 0。

轴1, 轴2int, 可选

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

dtypedtype, 可选

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

ndarray, 可选 (Dask 不支持)

输出放置的数组。其类型保持不变,并且它必须具有正确的形状以容纳输出。

返回
sum_along_diagonalsndarray

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

参见

diag, diagonal, diagflat

示例

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