logo

NumPy-matriisin kertolasku Pythonissa

Matriisin kertominen on operaatio, joka tuottaa yhden matriisin ottamalla kaksi matriisia syötteeksi ja kertomalla ensimmäisen matriisin rivit toisen matriisin sarakkeeseen. Huomaa, että meidän on varmistettava, että ensimmäisen matriisin rivien lukumäärä on sama kuin toisen matriisin sarakkeiden lukumäärä.

merkkijonotaulukko c
NumPy-matriisin kertolasku Pythonissa

Pythonissa matriisin kertolaskuprosessi NumPyllä tunnetaan nimellä vektorointi . Vektorisoinnin päätavoite on poistaa tai vähentää silmukoille joita käytimme nimenomaisesti. Vähentämällä 'for'-silmukoita ohjelmista nopeuttaa laskentaa. Sisäänrakennettua pakettia NumPy käytetään manipulointiin ja taulukoiden käsittelyyn.

Nämä ovat kolme menetelmää, joilla voimme suorittaa numpymatriisin kertolaskua.

  1. Ensimmäinen on multiply()-funktion käyttö, joka suorittaa matriisin elementtikohtaisen kertolaskun.
  2. Toinen on matmul()-funktion käyttö, joka suorittaa kahden taulukon matriisitulon.
  3. Viimeinen on dot()-funktion käyttö, joka suorittaa kahden taulukon pistetulon.

Esimerkki 1: Alkuperäinen matriisi kertominen

 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 

Yllä olevassa koodissa

  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme luoneet taulukot1 ja array2 käyttämällä numpy.array()-funktiota, jonka ulottuvuus on 3.
  • Olemme luoneet muuttujan tuloksen ja määrittäneet np.multiply()-funktion palautetun arvon.
  • Olemme läpäisseet sekä array array1 että array2 in np.multiply().
  • Lopuksi yritimme tulostaa tuloksen arvon.

Lähdössä on esitetty kolmiulotteinen matriisi, jonka elementit ovat sekä array1- että array2-elementtien elementtikohtaisen kertolaskun tulos.

Lähtö:

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

Esimerkki 2: Matriisituote

 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 

Lähtö:

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

Yllä olevassa koodissa

  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme luoneet array1 ja array2 käyttämällä numpy.array()-funktiota dimensiolla 3.
  • Olemme luoneet muuttujan tuloksen ja määrittäneet funktion np.matmul() palautetun arvon.
  • Olemme läpäisseet sekä taulukon array1 että array2 np.matmul(:ssa).
  • Lopuksi yritimme tulostaa tuloksen arvon.

Tulosteessa on esitetty kolmiulotteinen matriisi, jonka alkiot ovat sekä array1- että array2-elementtien tulot.

Esimerkki 3: Pistetuote

Nämä ovat seuraavat numpy.dotin tiedot:

  • Kun sekä a että b ovat 1-D (yksiulotteisia) taulukoita-> kahden vektorin sisätulo (ilman kompleksista konjugaatiota)
  • Kun sekä a että b ovat 2-D (kaksiulotteisia) taulukoita -> Matriisikerto
  • Kun joko a tai b on 0-D (tunnetaan myös skalaarina) -> Kerro käyttämällä numpy.multiply(a, b) tai a * b.
  • Kun a on N-D-taulukko ja b on 1-D-taulukko -> Summatulo a:n ja b:n viimeisen akselin yli.
  • Kun a on N-D-taulukko ja b on M-D-taulukko edellyttäen, että M>=2 -> Summautuu tulo a:n viimeiseen akseliin ja b:n toiseksi viimeiseen akseliin:
    Myös piste(a, b)[i,j,k,m] = summa(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 

Yllä olevassa koodissa

  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme luoneet array1 ja array2 käyttämällä numpy.array()-funktiota dimensiolla 3.
  • Olemme luoneet muuttujan tuloksen ja määrittäneet palautetun arvon np.dot()-funktiolle.
  • Olemme läpäisseet sekä taulukon array1 että array2 tiedostossa np.dot().
  • Lopuksi yritimme tulostaa tuloksen arvon.

Tulosteessa on esitetty kolmiulotteinen matriisi, jonka alkiot ovat sekä array1- että array2-elementtien pistetulo.

Lähtö:

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