V tem članku bomo videli inverzno matriko NumPy v Pythonu, nato pa bomo poskušali razumeti njen koncept. Inverzna vrednost matrike je le recipročna vrednost matrike, kot to počnemo v običajni aritmetiki za eno samo število, ki se uporablja za reševanje enačb za iskanje vrednosti neznanih spremenljivk. Inverzna matrika je tista matrika, ki bo pomnožena z izvirno matriko dala identitetno matriko.
Inverz matrike obstaja le, če je matrika neednina, tj. determinanta ne sme biti 0 . Z uporabo determinante in adjuinta lahko enostavno najdemo inverz kvadratne matrike z uporabo spodnje formule,
if det(A) != 0 A-1 = adj(A)/det(A) else 'Inverse doesn't exist'>
Matrična enačba:
kje,
A-1: Inverzna matrika A
x: T neznan spremenljiv stolpec
B: Matrica rešitve
Inverzna matrika z uporabo NumPy
Python ponuja zelo enostavno metodo za izračun inverzne matrike. Funkcija numpy.linalg.inv() je na voljo v modulu NumPy in se uporablja za izračun inverzne matrike v Pythonu.
Sintaksa: numpy.linalg.inv(a)
Parametri:
a: Matriko, ki jo je treba obrniti
Vrne: Inverzna matrika a.
Primer 1: V tem primeru bomo ustvarili matriko polja NumPy 3 krat 3 in jo nato s funkcijo np.linalg.inv() pretvorili v inverzno matriko.
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))> |
>
>
Izhod:
[[ 0.17647059 -0.00326797 -0.02287582] [ 0.05882353 -0.13071895 0.08496732] [-0.11764706 0.1503268 0.05228758]]>
Primer 2: V tem primeru bomo ustvarili matriko polja NumPy 4 x 4 in jo nato s funkcijo np.linalg.inv() pretvorili v inverzno matriko 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))> |
>
>
Izhod:
[[ 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]]>
Primer 3: V tem primeru bomo ustvarili več matrik polja NumPy in jih nato s funkcijo np.linalg.inv() pretvorili v njihove inverzne matrike.
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))> |
>
>
Izhod:
[[[-2. 1. ] [ 1.5 -0.5 ]] [[-1.25 0.75] [ 0.75 -0.25]]]>