Метод numpy.trace() в Python возвращает сумму по диагоналям массива. Если массив двумерный, возвращается сумма по его диагонали с заданным смещением, т. е. сумма элементов a[i,i+offset] для всех i.
Содержание
Синтаксис
|
1 |
numpy.trace(arr, offset=0, axis1=0, axis2=1, dtype=None, out=None) |
Параметры
- arr: Input_Array, диагональную сумму которого нам нужно было найти.
- offset: смещение диагонали от основной диагонали. Его значение может быть как положительным, так и отрицательным. Значение по умолчанию — 0.
- axis1, axis2: оси, которые будут использоваться в качестве первой и второй осей 2D-подмассивов, из которых должны быть взяты диагонали. Значения по умолчанию — это первые две оси a.
- dtype: определяет тип данных возвращаемого массива и аккумулятора, в котором суммируются элементы. Если dtype имеет значение None и a имеет целочисленный тип точности меньше, чем целочисленная точность по умолчанию, то используется целочисленная точность по умолчанию. В противном случае точность такая же, как и у a.
- out: массив, в который помещаются выходные данные. Его тип сохраняется и должен иметь правильную форму для хранения вывода.
Возвращаемое значение
Функция numpy.trace() возвращает nd-массив целых чисел. Кроме того, если размер массива превышает 2 измерения, возвращается массив сумм по диагоналям.
Пример 1: как использовать метод numpy.trace()
|
1 2 3 4 5 6 7 8 9 10 |
# Importing numpy import numpy as np # declaring the array arr = np.array([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]]) print("The array is: \n", arr) # Finding sum of diagonal elements outs = np.trace(arr) print("Output is: \n", outs) |
Выход
|
1 2 3 4 5 6 |
The array is: [[1. 2. 3.] [4. 5. 6.] [7. 8. 9.]] Output is: 15.0 |
Пример 2: нахождение суммы диагональных элементов
|
1 2 3 4 5 6 7 8 9 10 11 12 |
# Importing numpy import numpy as np # declaring the array arr = np.array([[[1, 2], [2, 3], [3, 4]], [ [4, 5], [4, 5], [3, 4]], [[5, 6], [4, 5], [4, 5]]]) print("The array is: \n", arr) print("Shape of the array is: ", np.shape(arr)) # Finding sum of diagonal elements outs = np.trace(arr) print("Output is: \n", outs) |
Выход
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
The array is: [[[1 2] [2 3] [3 4]] [[4 5] [4 5] [3 4]] [[5 6] [4 5] [4 5]]] Shape of the array is:(3, 3, 2) Output is: [ 9 12] |
