logo

NumPy-Matrixmultiplikation in Python

Die Multiplikation einer Matrix ist eine Operation, die eine einzelne Matrix erzeugt, indem sie zwei Matrizen als Eingabe verwendet und Zeilen der ersten Matrix mit der Spalte der zweiten Matrix multipliziert. Beachten Sie, dass wir sicherstellen müssen, dass die Anzahl der Zeilen in der ersten Matrix gleich der Anzahl der Spalten in der zweiten Matrix sein sollte.

NumPy-Matrixmultiplikation in Python

In Python ist der Prozess der Matrixmultiplikation mit NumPy bekannt als Vektorisierung . Das Hauptziel der Vektorisierung besteht darin, das zu entfernen oder zu reduzieren für Schleifen was wir explizit verwendet haben. Durch die Reduzierung der „for“-Schleifen von Programmen werden Berechnungen beschleunigt. Das eingebaute Paket NumPy wird zur Manipulation und Array-Verarbeitung verwendet.

So greifen Sie auf iCloud-Fotos zu

Dies sind drei Methoden, mit denen wir eine Numpy-Matrixmultiplikation durchführen können.

  1. Erstens wird die Funktion multiply() verwendet, die eine elementweise Multiplikation der Matrix durchführt.
  2. Zweitens wird die Funktion matmul() verwendet, die das Matrixprodukt zweier Arrays berechnet.
  3. Zuletzt wird die Funktion dot() verwendet, die das Skalarprodukt zweier Arrays berechnet.

Beispiel 1: Elementweise Matrixmultiplikation

 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 

Im obigen Code

  • Wir haben numpy mit dem Aliasnamen np importiert.
  • Wir haben ein Array1 und ein Array2 mit der Funktion numpy.array() mit Dimension 3 erstellt.
  • Wir haben eine Variable result erstellt und den zurückgegebenen Wert der Funktion np.multiply() zugewiesen.
  • Wir haben sowohl das Array array1 als auch array2 in np.multiply() übergeben.
  • Zuletzt haben wir versucht, den Wert des Ergebnisses auszudrucken.

In der Ausgabe wurde eine dreidimensionale Matrix angezeigt, deren Elemente das Ergebnis der elementweisen Multiplikation der Elemente array1 und array2 sind.

Ausgabe:

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

Beispiel 2: Matrixprodukt

 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 

Ausgabe:

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

Im obigen Code

  • Wir haben numpy mit dem Aliasnamen np importiert.
  • Wir haben Array1 und Array2 mit der Funktion numpy.array() mit Dimension 3 erstellt.
  • Wir haben eine Variable result erstellt und den zurückgegebenen Wert der Funktion np.matmul() zugewiesen.
  • Wir haben sowohl das Array array1 als auch array2 in np.matmul() übergeben.
  • Zuletzt haben wir versucht, den Wert des Ergebnisses auszudrucken.

In der Ausgabe wurde eine dreidimensionale Matrix angezeigt, deren Elemente das Produkt der Elemente array1 und array2 sind.

Beispiel 3: Punktprodukt

Dies sind die folgenden Spezifikationen für numpy.dot:

  • Wenn sowohl a als auch b eindimensionale (eindimensionale) Arrays sind -> Inneres Produkt zweier Vektoren (ohne komplexe Konjugation)
  • Wenn sowohl a als auch b zweidimensionale (zweidimensionale) Arrays sind -> Matrixmultiplikation
  • Wenn entweder a oder b 0-D ist (auch als Skalar bekannt) -> Multiplizieren Sie mit numpy.multiply(a, b) oder a * b.
  • Wenn a ein N-D-Array und b ein 1-D-Array ist -> Summenprodukt über der letzten Achse von a und b.
  • Wenn a ein N-D-Array und b ein M-D-Array ist, vorausgesetzt, dass M>=2 -> Summenprodukt über die letzte Achse von a und die vorletzte Achse von b:
    Außerdem ist dot(a, b)[i,j,k,m] = sum(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 

Im obigen Code

  • Wir haben numpy mit dem Aliasnamen np importiert.
  • Wir haben Array1 und Array2 mit der Funktion numpy.array() mit Dimension 3 erstellt.
  • Wir haben eine Variable result erstellt und den zurückgegebenen Wert der Funktion np.dot() zugewiesen.
  • Wir haben in np.dot() sowohl das Array array1 als auch array2 übergeben.
  • Zuletzt haben wir versucht, den Wert des Ergebnisses auszudrucken.

In der Ausgabe wurde eine dreidimensionale Matrix angezeigt, deren Elemente das Skalarprodukt der Elemente array1 und array2 sind.

Konvertieren einer Ganzzahl in eine Zeichenfolge

Ausgabe:

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