Numpy для машинного обучения 1 часть.Как рассчитать мощность матрицы.
Numpy linalg.matrix_rank() используется для вычисления степени n квадратной матрицы. Что это означает, что если у нас есть квадратная матрица M и целое число n, и эта функция используется для вычисления Mn?
Numpy linalg matrix_power()
Чтобы вычислить степень матрицы m, используйте функцию np.matrix_power()
. Метод matrix_power()
увеличивает квадратную матрицу до (целой) степени n.
Если значение n = 0
, то вычисляется та же матрица, а если значение n < 0
, то эта функция сначала инвертирует матрицу, а затем вычисляет степень abs(n)
.
Синтаксис
numpy.linalg.matrix_power(M,n)
Параметры
Функция matrix_power()
принимает два параметра:
- М: Это квадратная матрица, над которой мы хотим работать.
- n: это значение мощности матрицы.
Возвращаемое значение
После вычисления мощности метод возвращает целое число.
Пример программирования
Программируйте, когда значение N больше 0
from numpy import linalg as LA import numpy as np arr1 = np.array([[1, 2, 3], [3, 2, 4], [1, 0, 1]]) print("The array is:\n", arr1) # When n=2 print("Matrix Power is:\n", LA.matrix_power(arr1, 2)) arr2 = np.array([[1, 2], [2, 1]]) print("The array is:\n", arr2) # When n=1 print("Matrix Power is:\n", LA.matrix_power(arr2, 1))
Результат
The array is: [[1 2 3] [3 2 4] [1 0 1]] Matrix Power is: [[10 6 14] [13 10 21] [ 2 2 4]] The array is: [[1 2] [2 1]] Matrix Power is: [[1 2] [2 1]]
Объяснение
В этом примере мы сначала импортировали numpy и linalg. Затем мы создали матрицу размером 3 × 3, а затем вычислили matrix_power, когда значение n равно 2.
После этого мы объявили еще одну матрицу размером 2 × 2 и вызвали matrix_power при n = 1. У нас есть массив такой же формы после вызова функции матрицы power.
Программа, когда значение N равно 0 или меньше 0
См. cледующий код:
from numpy import linalg as LA import numpy as np arr1 = np.array([[1, 2, 3], [3, 2, 4], [1, 0, 1]]) print("The array is:\n", arr1) # When n=0 print("Matrix Power is:\n", LA.matrix_power(arr1, 0)) arr2 = np.array([[1, 2], [2, 1]]) print("The array is:\n", arr2) # When n=-2 print("Matrix Power is:\n", LA.matrix_power(arr2, -2))
Результат
The array is: [[1 2 3] [3 2 4] [1 0 1]] Matrix Power is: [[1 0 0] [0 1 0] [0 0 1]] The array is: [[1 2] [2 1]] Matrix Power is: [[ 0.55555556 -0.44444444] [-0.44444444 0.55555556]]
Объяснение
В этом примере мы сначала импортировали numpy и linalg. Затем мы создали матрицу размером 3 × 3, а затем вычислили matrix_power, когда значение n равно 0.
В этом случае в результате мы получили матрицу, в которой только одна диагональ имеет значение 1, а остальные – 0. После этого мы объявили еще одну матрицу размером 2 × 2 и вызвали matrix_power при n = -2.
В этом случае после вычисления степени n мы получили матрицу той же формы, что и данная матрица.
t.me/ai_machinelearning_big_data – еще больше математики для датасаентистов