logo

Jak odwrócić macierz za pomocą NumPy

W tym artykule zobaczymy NumPy Inverse Matrix w Pythonie, a następnie spróbujemy zrozumieć jego koncepcję. Odwrotność macierzy jest po prostu odwrotnością macierzy, tak jak robimy to w normalnej arytmetyce pojedynczej liczby, która jest używana do rozwiązywania równań w celu znalezienia wartości nieznanych zmiennych. Odwrotnością macierzy jest ta macierz, która pomnożona przez macierz pierwotną daje macierz jednostkową.

Odwrotność macierzy istnieje tylko wtedy, gdy macierz istnieje niepojedynczy, tj. wyznacznik nie powinien wynosić 0 . Używając wyznacznika i sprzężenia, możemy łatwo znaleźć odwrotność macierzy kwadratowej, korzystając z poniższego wzoru:



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

Równanie macierzy:

porównaj ciągi Java

=>Topór = B =>A^{-1}Topór = A^{-1}B =>x = A^{-1}B

Gdzie,



A-1: Odwrotność macierzy A

X: T nieznana kolumna zmienna

B: Macierz rozwiązań



Odwrotna macierz przy użyciu NumPy

Python zapewnia bardzo łatwą metodę obliczania odwrotności macierzy. Funkcja numpy.linalg.inv() jest dostępny w module NumPy i służy do obliczania macierzy odwrotnej w Pythonie.

Składnia: numpy.linalg.inv(a)

Parametry:

    a: Macierz do odwrócenia

Zwroty: Odwrotność macierzy a.

Przykład 1: W tym przykładzie utworzymy macierz tablicową NumPy o wymiarach 3 na 3, a następnie przekonwertujemy ją na macierz odwrotną za pomocą funkcji 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))>
>
>

Wyjście:

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

Przykład 2: W tym przykładzie utworzymy macierz tablicową NumPy o wymiarach 4 na 4, a następnie przekonwertujemy ją za pomocą funkcji np.linalg.inv() na odwrotną macierz w Pythonie.

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))>
>
>

Wyjście:

[[ 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]]>

Przykład 3: W tym przykładzie utworzymy wiele macierzy tablicowych NumPy, a następnie przekonwertujemy je na ich macierze odwrotne za pomocą funkcji 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))>
>
>

Wyjście:

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