logo

Com invertir una matriu utilitzant NumPy

En aquest article, veurem NumPy Inverse Matrix a Python abans que intentarem entendre-ne el concepte. La inversa d'una matriu és només un recíproc de la matriu com fem en l'aritmètica normal per a un sol nombre que s'utilitza per resoldre les equacions per trobar el valor de variables desconegudes. La inversa d'una matriu és aquella matriu que quan es multiplica amb la matriu original donarà una matriu identitat.

La inversa d'una matriu només existeix si la matriu ho és no singular, és a dir, el determinant no ha de ser 0 . Utilitzant determinant i adjunt, podem trobar fàcilment la inversa d'una matriu quadrada mitjançant la fórmula següent:



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

Equació matricial:

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

on,



A-1: La inversa de la matriu A

x: T la columna variable desconeguda

B: La matriu de solució



Matriu inversa utilitzant NumPy

Python proporciona un mètode molt fàcil per calcular la inversa d'una matriu. La funció numpy.linalg.inv() està disponible al mòdul NumPy i s'utilitza per calcular la matriu inversa en Python.

Sintaxi: numpy.linalg.inv(a)

Paràmetres:

    a: Matriu a invertir

Devolucions: Inversa de la matriu a.

Exemple 1: En aquest exemple, crearem una matriu de matriu NumPy de 3 per 3 i després la convertirem en una matriu inversa mitjançant la funció np.linalg.inv().

Python 3

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

Sortida:

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

Exemple 2: En aquest exemple, crearem una matriu de matriu NumPy de 4 per 4 i després la convertirem mitjançant la funció np.linalg.inv() en una matriu inversa en Python.

Python 3

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

Sortida:

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

Exemple 3: En aquest exemple, crearem múltiples matrius de matriu NumPy i després les convertirem en les seves matrius inverses mitjançant la funció np.linalg.inv().

Python 3

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

Sortida:

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