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.