Jak inverzovat matici pomocí NumPy

Jak inverzovat matici pomocí NumPy

V tomto článku uvidíme NumPy Inverse Matrix v Pythonu předtím, než se pokusíme pochopit její koncept. Inverzní matice je pouze převrácená hodnota matice, jak to děláme v normální aritmetice pro jediné číslo, které se používá k řešení rovnic k nalezení hodnoty neznámých proměnných. Inverzní matice je ta matice, která po vynásobení původní maticí dá matici identity.

Inverzní matice existuje pouze tehdy, je-li matice nesingulární, tj. determinant by neměl být 0 . Pomocí determinantu a adjointu můžeme snadno najít inverzní hodnotu čtvercové matice pomocí níže uvedeného vzorce,

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

Maticová rovnice:

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

kde,

A -1 : Inverzní matice A

X: T neznámý proměnný sloupec

B: Matice řešení

Inverzní matice pomocí NumPy

Python poskytuje velmi snadnou metodu výpočtu inverzní matice. Funkce numpy.linalg.inv() je k dispozici v modulu NumPy a používá se k výpočtu inverzní matice v Pythonu.

Syntax: numpy.linalg.inv(a)

Parametry:

    a: Matice k převrácení

Vrácení: Inverzní k matici a.

Příklad 1: V tomto příkladu vytvoříme matici pole 3 x 3 NumPy a poté ji převedeme na inverzní matici pomocí funkce 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))>

Výstup:

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

Příklad 2: V tomto příkladu vytvoříme matici pole NumPy 4 x 4 a poté ji převedeme pomocí funkce np.linalg.inv() na inverzní matici v Pythonu.

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

Výstup:

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

Příklad 3: V tomto příkladu vytvoříme více matic pole NumPy a poté je převedeme na jejich inverzní matice pomocí funkce 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))>

Výstup:

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