numpy.trace#

numpy.trace(a, offset=0, axis1=0, axis2=1, dtype=None, out=None)[原始碼]#

傳回沿著陣列對角線的總和。

如果 a 是 2 維陣列,則傳回沿著給定偏移量之對角線的總和,即所有 i 的元素 a[i,i+offset] 的總和。

如果 a 具有兩個以上的維度,則軸 axis1 和 axis2 指定用於確定要傳回其跡的 2 維子陣列。結果陣列的形狀與移除 axis1axis2a 相同。

參數:
aarray_like

輸入陣列,從中取得對角線。

offsetint,可選

對角線相對於主對角線的偏移量。可以是正數和負數。預設值為 0。

axis1, axis2int,可選

用作 2 維子陣列的第一個和第二個軸,從中取得對角線。預設值為 a 的前兩個軸。

dtypedtype,可選

決定傳回陣列和累加器的資料型別,元素在其中求和。如果 dtype 的值為 None 且 a 是精度低於預設整數精度的整數型別,則使用預設整數精度。否則,精度與 a 的精度相同。

outndarray,可選

輸出放置在其中的陣列。其型別會被保留,並且必須具有正確的形狀才能容納輸出。

傳回值:
sum_along_diagonalsndarray

如果 a 是 2 維陣列,則傳回沿對角線的總和。如果 a 具有更大的維度,則傳回沿對角線的總和陣列。

另請參閱

diagdiagonaldiagflat

範例

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