logo

NumPy mátrixszorzás Pythonban

A mátrix szorzása olyan művelet, amely egyetlen mátrixot állít elő úgy, hogy két mátrixot vesz be bemenetként, és az első mátrix sorait megszorozza a második mátrix oszlopával. Megjegyzendő, hogy biztosítanunk kell, hogy az első mátrixban lévő sorok száma megegyezzen a második mátrix oszlopainak számával.

NumPy mátrixszorzás Pythonban

A Pythonban a NumPy használatával végzett mátrixszorzás folyamata az úgynevezett vektorizálás . A vektorizálás fő célja az, hogy eltávolítsa vagy csökkentse a hurkokhoz amelyeket kifejezetten használtunk. A programok „for” ciklusainak csökkentése gyorsabb számítást tesz lehetővé. A NumPy beépített csomag manipulációra és tömbfeldolgozásra szolgál.

hogyan kell tömböt rendezni java-ban

Ez a három módszer, amelyen keresztül numpy mátrixszorzást végezhetünk.

  1. Az első a multiply() függvény használata, amely a mátrix elemenkénti szorzását hajtja végre.
  2. A második a matmul() függvény használata, amely két tömb mátrixszorzatát hajtja végre.
  3. Végül a dot() függvény használata, amely két tömb pontszorzatát hajtja végre.

1. példa: Elemenkénti mátrixszorzás

 import numpy as np array1=np.array([[1,2,3],[4,5,6],[7,8,9]],ndmin=3) array2=np.array([[9,8,7],[6,5,4],[3,2,1]],ndmin=3) result=np.multiply(array1,array2) result 

A fenti kódban

  • Importáltuk a numpy-t np aliasnévvel.
  • Létrehoztunk egy tömb1-et és tömb2-t a numpy.array() függvény segítségével 3-as dimenzióval.
  • Létrehoztunk egy változó eredményt, és hozzárendeltük az np.multiply() függvény visszaadott értékét.
  • Az np.multiply()-ben a tömb1 és tömb2 tömböt is átadtuk.
  • Végül megpróbáltuk kinyomtatni az eredmény értékét.

A kimenetben egy háromdimenziós mátrixot mutattunk be, amelynek elemei mind a tömb1, mind a tömb2 elemek elemenkénti szorzásának eredménye.

Kimenet:

 array([[[ 9, 16, 21], [24, 25, 24], [21, 16, 9]]]) 

2. példa: Mátrix termék

 import numpy as np array1=np.array([[1,2,3],[4,5,6],[7,8,9]],ndmin=3) array2=np.array([[9,8,7],[6,5,4],[3,2,1]],ndmin=3) result=np.matmul(array1,array2) result 

Kimenet:

 array([[[ 30, 24, 18], [ 84, 69, 54], [138, 114, 90]]]) 

A fenti kódban

  • Importáltuk a numpy-t np aliasnévvel.
  • Létrehoztuk a tömb1-et és a tömb2-t a numpy.array() függvény 3-as dimenziójával.
  • Létrehoztunk egy változó eredményt, és hozzárendeltük az np.matmul() függvény visszaadott értékét.
  • Az np.matmul() tömb1 és tömb2 tömböt is átadtuk.
  • Végül megpróbáltuk kinyomtatni az eredmény értékét.

A kimenetben egy háromdimenziós mátrixot mutattunk be, amelynek elemei mind a tömb1, mind a tömb2 elemek szorzatai.

melyik évben találták fel a számítógépet

3. példa: Pontos termék

Ezek a következő specifikációk a numpy.dot számára:

  • Ha a és b is egydimenziós (egydimenziós) tömb-> két vektor belső szorzata (komplex konjugáció nélkül)
  • Ha a és b is 2-D (kétdimenziós) tömb -> Mátrix szorzás
  • Ha a vagy b értéke 0-D (más néven skalár) -> Szorzás a numpy.multiply(a, b) vagy a * b használatával.
  • Ha a egy N-D tömb és b egy 1-D tömb -> Összegezzük a és b utolsó tengelyét.
  • Ha a egy N-D tömb, és b egy M-D tömb, feltéve, hogy M>=2 -> Összegezi a szorzatát a utolsó tengelye és b második tengelye között:
    Továbbá pont(a, b)[i,j,k,m] = összeg(a[i,j,:] * b[k,:,m])
 import numpy as np array1=np.array([[1,2,3],[4,5,6],[7,8,9]],ndmin=3) array2=np.array([[9,8,7],[6,5,4],[3,2,1]],ndmin=3) result=np.dot(array1,array2) result 

A fenti kódban

  • Importáltuk a numpy-t np aliasnévvel.
  • Létrehoztuk a tömb1-et és a tömb2-t a numpy.array() függvény 3-as dimenziójával.
  • Létrehoztunk egy változó eredményt, és hozzárendeltük az np.dot() függvény visszaadott értékét.
  • A tömb1 és tömb2 tömböt is átadtuk az np.dot()-ban.
  • Végül megpróbáltuk kinyomtatni az eredmény értékét.

A kimenetben egy háromdimenziós mátrixot mutattunk be, amelynek elemei mind a tömb1, mind a tömb2 elemeinek pontszorzatai.

Kimenet:

 array([[[[ 30, 24, 18]], [[ 84, 69, 54]], [[138, 114, 90]]]])