logo

Як інвертувати матрицю за допомогою NumPy

У цій статті ми розглянемо інверсну матрицю NumPy у Python, а потім спробуємо зрозуміти її концепцію. Обернена матриця є просто зворотною величиною матриці, як ми робимо у звичайній арифметиці для одного числа, яке використовується для вирішення рівнянь для знаходження значення невідомих змінних. Оберненою до матриці є та матриця, яка при множенні на вихідну матрицю дасть одиничну матрицю.

Обернена до матриці існує лише тоді, коли матриця є не є сингулярним, тобто визначник не повинен дорівнювати 0 . Використовуючи детермінант і ад’юнт, ми можемо легко знайти обернену квадратну матрицю за наведеною нижче формулою:



if det(A) != 0 A-1 = adj(A)/det(A) else 'Inverse doesn't exist'>

Матричне рівняння:

=>Ax = B =>A^{-1}Ax = A^{-1}B =>x = A^{-1}B

де,



А-1: Матриця, обернена до матриці A

x: Т стовпець невідомої змінної

B: Матриця рішення



Обернена матриця за допомогою NumPy

Python надає дуже простий метод обчислення оберненої матриці. Функція numpy.linalg.inv() доступний у модулі NumPy і використовується для обчислення оберненої матриці в Python.

mycricketlive

Синтаксис: numpy.linalg.inv(a)

Параметри:

    a: Матриця, яку потрібно інвертувати

Повернення: Обернена до матриці a.

читання файлу csv в java

приклад 1: У цьому прикладі ми створимо матрицю масиву NumPy 3 на 3, а потім перетворимо її на зворотну матрицю за допомогою функції np.linalg.inv().

Python3

# Import required package> import> numpy as np> # Taking a 3 * 3 matrix> A>=> np.array([[>6>,>1>,>1>],> >[>4>,>->2>,>5>],> >[>2>,>8>,>7>]])> # Calculating the inverse of the matrix> print>(np.linalg.inv(A))>
>
>

Вихід:

[[ 0.17647059 -0.00326797 -0.02287582] [ 0.05882353 -0.13071895 0.08496732] [-0.11764706 0.1503268 0.05228758]]>

приклад 2: У цьому прикладі ми створимо матрицю масиву NumPy 4 на 4, а потім перетворимо її за допомогою функції np.linalg.inv() на інверсну матрицю в Python.

Python3

# Import required package> import> numpy as np> # Taking a 4 * 4 matrix> A>=> np.array([[>6>,>1>,>1>,>3>],> >[>4>,>->2>,>5>,>1>],> >[>2>,>8>,>7>,>6>],> >[>3>,>1>,>9>,>7>]])> # Calculating the inverse of the matrix> print>(np.linalg.inv(A))>
>
>

Вихід:

[[ 0.13368984 0.10695187 0.02139037 -0.09090909] [-0.00229183 0.02673797 0.14820474 -0.12987013] [-0.12987013 0.18181818 0.06493506 -0.02597403] [ 0.11000764 -0.28342246 -0.11382735 0.23376623]]>

приклад 3: У цьому прикладі ми створимо декілька матриць масиву NumPy, а потім перетворимо їх на зворотні матриці за допомогою функції np.linalg.inv().

Python3

# Import required package> import> numpy as np> # Inverses of several matrices can> # be computed at once> A>=> np.array([[[>1.>,>2.>], [>3.>,>4.>]],> >[[>1>,>3>], [>3>,>5>]]])> # Calculating the inverse of the matrix> print>(np.linalg.inv(A))>
>
>

Вихід:

[[[-2. 1. ] [ 1.5 -0.5 ]] [[-1.25 0.75] [ 0.75 -0.25]]]>