numpy.trace#

numpy.trace(a, смещение=0, axis1=0, axis2=1, dtype=None, выход=None)[источник]#

Возвращает сумму по диагоналям массива.

Если a является двумерным, возвращается сумма вдоль его диагонали с заданным смещением, т.е. сумма элементов a[i,i+offset] для всех i.

Если a имеет более двух измерений, то оси, указанные axis1 и axis2, используются для определения 2-D подмассивов, чьи следы возвращаются. Форма результирующего массива такая же, как у a с axis1 и axis2 удалён.

Параметры:
aarray_like

Входной массив, из которого берутся диагонали.

смещениеint, необязательный

Смещение диагонали от главной диагонали. Может быть как положительным, так и отрицательным. По умолчанию 0.

axis1, axis2int, необязательный

Оси, которые будут использоваться как первая и вторая оси 2-D подмассивов, из которых должны быть взяты диагонали. По умолчанию используются первые две оси a.

dtypedtype, опционально

Определяет тип данных возвращаемого массива и аккумулятора, где элементы суммируются. Если dtype имеет значение None и a имеет целочисленный тип точности меньше, чем стандартная целочисленная точность, то используется стандартная целочисленная точность. В противном случае точность такая же, как у a.

выходndarray, необязательно

Массив, в который помещается вывод. Его тип сохраняется, и он должен иметь правильную форму для хранения вывода.

Возвращает:
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)