logo

Kā apgriezt matricu, izmantojot NumPy

Šajā rakstā mēs redzēsim NumPy Inverse Matrix programmā Python, pirms mēs mēģināsim izprast tās jēdzienu. Matricas apgrieztā vērtība ir tikai matricas apgrieztā vērtība, kā to darām parastajā aritmētikā vienam skaitlim, ko izmanto, lai atrisinātu vienādojumus, lai atrastu nezināmu mainīgo vērtību. Matricas apgrieztā vērtība ir tā matrica, kuru reizinot ar sākotnējo matricu, tiks iegūta identitātes matrica.

Matricas apgrieztā vērtība pastāv tikai tad, ja matrica ir nevienskaitlis, t.i., determinants nedrīkst būt 0 . Izmantojot determinantu un adjunktu, mēs varam viegli atrast kvadrātveida matricas apgriezto vērtību, izmantojot tālāk norādīto formulu,

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

Matricas vienādojums:



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

kur,

A-1: Matricas A apgrieztā vērtība

x: T viņš nezināms mainīgais kolonnā

B: Risinājuma matrica

Apgrieztā matrica, izmantojot NumPy

Python nodrošina ļoti vienkāršu metodi matricas apgrieztās vērtības aprēķināšanai. Funkcija numpy.linalg.inv() ir pieejams NumPy modulī un tiek izmantots, lai aprēķinātu apgriezto matricu Python.

Sintakse: numpy.linalg.inv(a)

Parametri:

    a: Matrica, kas jāapgriež

Atgriež: Matricas inverss a.

1. piemērs: Šajā piemērā mēs izveidosim 3 x 3 NumPy masīva matricu un pēc tam pārveidosim to par apgrieztu matricu, izmantojot funkciju 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))>
>
>

Izvade:

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

2. piemērs: Šajā piemērā mēs izveidosim 4 x 4 NumPy masīva matricu un pēc tam pārveidosim to, izmantojot funkciju np.linalg.inv() par apgrieztu matricu programmā 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))>
>
>

Izvade:

[[ 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. piemērs: Šajā piemērā mēs izveidosim vairākas NumPy masīva matricas un pēc tam pārveidosim tās apgrieztās matricās, izmantojot funkciju 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))>
>
>

Izvade:

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