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 維子陣列。結果陣列的形狀與移除 axis1 和 axis2 的 a 相同。
- 參數:
- aarray_like
輸入陣列,從中取得對角線。
- offsetint,可選
對角線相對於主對角線的偏移量。可以是正數和負數。預設值為 0。
- axis1, axis2int,可選
用作 2 維子陣列的第一個和第二個軸,從中取得對角線。預設值為 a 的前兩個軸。
- dtypedtype,可選
決定傳回陣列和累加器的資料型別,元素在其中求和。如果 dtype 的值為 None 且 a 是精度低於預設整數精度的整數型別,則使用預設整數精度。否則,精度與 a 的精度相同。
- outndarray,可選
輸出放置在其中的陣列。其型別會被保留,並且必須具有正確的形狀才能容納輸出。
- 傳回值:
- sum_along_diagonalsndarray
如果 a 是 2 維陣列,則傳回沿對角線的總和。如果 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)