numpy.trace()
Функция np.trace возвращает сумму элементов по диагонали матрицы (след). По умолчанию суммируется главная диагональ; можно сместить её параметром offset.
Сигнатура
numpy.trace(a, offset=0, axis1=0, axis2=1, dtype=None, out=None)
Параметры
a— массив (как минимум 2D).offset— смещение диагонали (положительное — выше главной, отрицательное — ниже).axis1,axis2— оси, образующие 2D-подматрицы.dtype— тип результата.
Возвращаемое значение
Сумма элементов диагонали (скаляр или массив для 3D и выше).
Примеры
Пример 1. След квадратной матрицы.
import numpy as np
m = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
print(np.trace(m))
15
Пример 2. След единичной матрицы — её размер.
I = np.eye(5)
print(np.trace(I))
5.0
Пример 3. Смещение диагонали.
m = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
print("offset=1:", np.trace(m, offset=1))
print("offset=-1:", np.trace(m, offset=-1))
offset=1: 8
offset=-1: 12
Пример 4. След прямоугольной матрицы.
m = np.array([[1, 2, 3, 4],
[5, 6, 7, 8]])
print(np.trace(m))
7
Пример 5. След 3D-массива (батч матриц).
batch = np.array([[[1, 2], [3, 4]],
[[5, 6], [7, 8]]])
print(np.trace(batch, axis1=1, axis2=2))
[ 5 13]
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.