logo

Kuinka kääntää matriisi NumPyllä

Tässä artikkelissa näemme NumPy Inverse Matrixin Pythonissa, ennen kuin yritämme ymmärtää sen käsitteen. Matriisin käänteisluku on vain matriisin käänteisluku, kuten teemme normaaliaritmetiikassa yhdelle luvulle, jota käytetään yhtälöiden ratkaisemiseen tuntemattomien muuttujien arvon löytämiseksi. Matriisin käänteisarvo on se matriisi, joka kerrottuna alkuperäisen matriisin kanssa antaa identiteettimatriisin.

Matriisin käänteisarvo on olemassa vain, jos matriisi on ei-singulaarinen eli determinantin ei pitäisi olla 0 . Käyttämällä determinanttia ja adjointtia, voimme helposti löytää neliömatriisin käänteisarvon alla olevan kaavan avulla,

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

Matriisiyhtälö:



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

missä,

A-1: Matriisin A käänteisarvo

x: T hän tuntematon muuttuja sarake

B: Ratkaisumatriisi

Käänteinen matriisi NumPyllä

Python tarjoaa erittäin helpon tavan laskea matriisin käänteisarvo. Toiminto numpy.linalg.inv() on saatavilla NumPy-moduulissa ja sitä käytetään käänteismatriisin laskemiseen Pythonissa.

Syntaksi: numpy.linalg.inv(a)

Parametrit:

    a: Käännettävä matriisi

Palautukset: Matriisin käänteis a.

Esimerkki 1: Tässä esimerkissä luomme 3 x 3 NumPy-taulukkomatriisin ja muunnamme sen sitten käänteismatriisiksi funktion np.linalg.inv() avulla.

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

Lähtö:

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

Esimerkki 2: Tässä esimerkissä luomme 4 x 4 NumPy-taulukkomatriisin ja muunnamme sen np.linalg.inv()-funktiolla käänteismatriisiksi Pythonissa.

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

Lähtö:

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

Esimerkki 3: Tässä esimerkissä luomme useita NumPy-taulukkomatriiseja ja muunnamme ne sitten käänteismatriiseikseen käyttämällä funktiota 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))>
>
>

Lähtö:

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