logo

NumPy Matrix Multiplicare în Python

Înmulțirea matricei este o operație care produce o singură matrice prin luarea a două matrice ca intrare și înmulțirea rândurilor primei matrice în coloana celei de-a doua matrice. Rețineți că trebuie să ne asigurăm că numărul de rânduri din prima matrice trebuie să fie egal cu numărul de coloane din a doua matrice.

NumPy Matrix Multiplicare în Python

În Python, procesul de multiplicare a matricei folosind NumPy este cunoscut ca vectorizare . Obiectivul principal al vectorizării este eliminarea sau reducerea pentru bucle pe care le folosim în mod explicit. Reducerea buclelor „for” din programe oferă o calcul mai rapidă. Pachetul încorporat NumPy este folosit pentru manipulare și procesare matrice.

rakhi sawant

Acestea sunt trei metode prin care putem efectua multiplicarea matricei numpy.

  1. Mai întâi este utilizarea funcției multiplicare(), care efectuează înmulțirea matricei în funcție de elemente.
  2. În al doilea rând este utilizarea funcției matmul(), care realizează produsul matriceal a două matrice.
  3. Ultimul este utilizarea funcției dot(), care realizează produsul punctual a două matrice.

Exemplul 1: Înmulțirea matricei în funcție de elemente

 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 

În codul de mai sus

  • Am importat numpy cu numele de alias np.
  • Am creat un array1 și un array2 folosind funcția numpy.array() cu dimensiunea 3.
  • Am creat un rezultat variabil și am atribuit valoarea returnată a funcției np.multiply().
  • Am trecut atât matricea array1 cât și matricea2 în np.multiply().
  • În cele din urmă, am încercat să tipărim valoarea rezultatului.

În rezultat, a fost prezentată o matrice tridimensională ale cărei elemente sunt rezultatul înmulțirii elementelor atât a elementelor matrice1, cât și a matricei2.

Ieșire:

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

Exemplul 2: Produs Matrix

 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 

Ieșire:

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

În codul de mai sus

metoda equals în java
  • Am importat numpy cu numele de alias np.
  • Am creat array1 și array2 folosind funcția numpy.array() cu dimensiunea 3.
  • Am creat un rezultat variabil și am atribuit valoarea returnată a funcției np.matmul().
  • Am trecut atât tabloul array1 cât și array2 în np.matmul().
  • În cele din urmă, am încercat să tipărim valoarea rezultatului.

În rezultat, a fost prezentată o matrice tridimensională ale cărei elemente sunt produsul ambelor elemente ale matricei1 și ale matricei2.

iterați harta în java

Exemplul 3: produs punctual

Acestea sunt următoarele specificații pentru numpy.dot:

  • Când ambele a și b sunt matrice 1-D (unidimensionale) -> Produsul interior al doi vectori (fără conjugare complexă)
  • Când ambele a și b sunt tablouri 2-D (două dimensiuni) -> Înmulțire matrice
  • Când a sau b este 0-D (cunoscut și ca scalar) -> Înmulțiți folosind numpy.multiply(a, b) sau a * b.
  • Când a este o matrice N-D și b este o matrice 1-D -> Suma produs pe ultima axă a lui a și b.
  • Când a este o matrice N-D și b este o matrice M-D, cu condiția ca M>=2 -> Suma produs pe ultima axă a lui a și penultima axă a lui b:
    De asemenea, punct(a, b)[i,j,k,m] = suma(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 

În codul de mai sus

  • Am importat numpy cu numele de alias np.
  • Am creat array1 și array2 folosind funcția numpy.array() cu dimensiunea 3.
  • Am creat un rezultat variabil și am atribuit valoarea returnată a funcției np.dot().
  • Am trecut atât tabloul array1 cât și array2 în np.dot().
  • În cele din urmă, am încercat să tipărim valoarea rezultatului.

În rezultat, a fost arătată o matrice tridimensională ale cărei elemente sunt produsul punctual al elementelor matrice1 și matrice2.

Ieșire:

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