Wie man Matrizen in Python ohne Numpy berechnet

Wie man Matrizen in Python ohne Numpy berechnet
Die vertikale Reihe von Objekten in einer Python -Matrix ist allgemein als „Spalten“ bekannt, während die horizontale Reihe von Dingen als „Zeilen“ bezeichnet wird.”Wie eine verschachtelte Liste wurden die Zeilen und Säulen übereinander platziert. Wenn eine Matrix Zeilen und "M" -Säulen enthält und "k" und "m" positive Ganzzahlen sind, wird die Reihenfolge eines solchen Matrixobjekts durch "k-by-m" bestimmt.

Eine Matrix kann Zeichenfolgen, Zahlen und andere Datenarten von Objekten enthalten. In einer Matrix sind die Daten in beiden Spalten und Zeilen gestapelt. Eine Schlüsseldatenstruktur, die Berechnungen in Naturwissenschaften und Mathematik unterstützt, ist die Matrix. Da Python keinen integrierten Typ für ein Matrixobjekt bereitstellt, behandeln wir entweder die Liste unter Listen oder sogar eine verschachtelte Liste als Matrix.

Wie Matrizen in Python funktionieren

Die Daten werden in einem zweidimensionalen Array geschrieben, um eine Matrix zu generieren. Das Verfahren ist wie folgt:

[[1 3 5 7 9]
[2 4 6 8 10]
[0 8 7 4]]

Es hat eine 3 x 5 Matrix als Anzeige. Daher beträgt seine Größe 3 mal 5. Die Daten in dieser Matrix bestehen aus Objekten der beiden Datentyp -Integer. Die obere Reihe, Row1, enthält die Werte 1, 3, 5, 7 und 9, während Row2 zusammen mit Row3 die Werte (2, 4, 6, 8) bzw. 0, 8, 7, 4) enthält. Spalte1 enthält Werte von (1, 2, 0) sowie Spalte2 hat Werte von (3, 4, 8) und so weiter.

Mit Python können wir alle Daten in einer Matrix mit zwei Dimensionen speichern. Wir können Matrizen hinzufügen, sie multiplizieren, transponieren und andere Vorgänge auf einer Matrix ausführen. Mit Arrays können wir eine Python -Matrix bauen und sie ähnlich verwenden. Sprechen wir über verschiedene Beispiele für Python -Matrizen.

Python -Matrix -Addition

Wir werden die beiden Matrizen nehmen und sie hinzufügen, um sie mit einem verschachtelten für die Schleife durch sie zu iterieren.

matrix1 = [[2, 4, 1],
[4, 1, 5],
[3, 6, 7]]
matrix2 = [4, 2, -1],
[5, 6, -3],
[0, -4, 3]]
matrix3 = [0,1,0],
[1,0,0],
[0,0,1]]
matrix4 = [0,0,1],
[0,1,0],
[1,0,0]]
matrices_length = len (matrix1)
Für Reichweite (Len (Matrix1)):
Für die Spalte im Bereich (Len (Matrix2 [0])):
Matrix4 [Zeile] [Spalte] = Matrix1 [Zeile] [Spalte] + Matrix2 [Zeile] [Spalte] + Matrix3 [Zeile] [Spalte]
print ("Die Summe der Matrizen ist =", matrix4)

Anstatt Numpy zu verwenden, haben wir anfänglich drei Matrizen mit 3-mal-3-Bestellung gebaut. Wir haben die Reihenfolge oder Länge der Matrix 1 als Len () -Funktion bzw. andere angegeben. Mit verschachtelten Schleifen wurden zuerst die drei Matrizen hinzugefügt. Die Gesamtsumme der drei Matrizen wurde dann als Matrix 4 angegeben, und wir haben die Funktion print () verwendet, um die Ergebnisse anzuzeigen.

Transponieren Sie eine Matrix in Python

Indem wir die Elemente der Säulen und Zeilen der Matrix tauschen, konnten wir sie übertragen. Unter Verwendung verschiedener Beispiele zeigen wir, wie eine Transponierung einer Matrix mit Python ohne Numpy erhalten wird.

Die Transposition einer Matrix wird durch das Symbol bei dargestellt. Angenommen, wir haben eine Matrix "A" mit der Reihenfolge von:

3-mal-2

Dann ist die Transponierung von a:

2-mal-3-Matrix

Berechnung der Transponierung einer Matrix mit Hilfe einer verschachtelten Schleife

Die verschachtelte Schleife kann verwendet werden, um wiederholt durch die Säulen und die Reihen einer verschachtelten Liste durchzusetzen. Fügen Sie das Element in der Spalte "Ith" und in der Spalte "JTH" von Matrix F zusammen mit der Spalte "JTH" und "Ith" der Matrix "f^t" ein, um die Transponierung der Matrix zu erhalten. "F^t" wird eine 2-mal-3-Matrix sein, von der angenommen wird, dass "f" eine 3-mal-2.

F = [[2, 3],
[5, 7],
[8, 1]]
F_t = [[0, 0, 0],
[0, 0, 0]]
für Q in Reichweite (Len (f)):
für W in Reichweite (Len (f [0])):
F_t [w] [q] = f [q] [w]
für q in f_t:
Druck (q)

Eine Transponierungsmatrix der ursprünglichen Matrix und eine Matrix „F“ mit einer 3-mal-2-Bestellung wird zuerst erstellt. Das vorherige Programm verwendet verschachtelte „für“ Loops, die kontinuierlich über jede Zeile und anschließend jede Spalte iterisch iterisch iterisch sind. Bei jeder Iteration fügen wir ein Element aus "f [q] [w]" in "ft [w] [q]" hinzu. Schließlich führen wir die Print () -Methode aus, um die Transponierung darzustellen.

Verwenden eines verschachtelten Listenverständnisses, um die Transponierung der Matrix zu finden

Eine verschachtelte Liste wird erstellt, wenn ein Listenverständnis innerhalb eines anderen Listenverständnisses durchgeführt wird. Das Folgende ist die Syntax zum Verständnis verschachtelter Listen:

new_list = [[exprr. Für einen Listenelement] für ein Listenelement]

Ebenso können wir die Transponierung einer Matrix unter Verwendung eines verschachtelten Listenverständnisses in einem so verschachtelten Schleifenansatz erhalten.

J = [[1, 3],
[4, 6],
[9, 2]]
J_t = [[j [v] [c] für V in Bereich (len (j)] für c in Bereich (Len (j [0])]]
für c in j_t:
drucken (c)

Wir beginnen mit der Erstellung von Matrix „J“ und haben die Bestellung 3-mal-2. Das verschachtelte Listenverständnis im Code, das die Mitglieder der Matrix vor dem anderen nacheinander den Schleifen vor den Schleifen hat, und die Elemente von „J [v]“ irgendwo am Ort „j_t [v]“ fügt. Die Spalten der Matrix werden während des ersten Teils eines solchen Verständnisses des Listen iteriert, während die Zeilen in der zweiten Spalte wiederholt werden.

Multiplikation von zwei Matrizen in Python

Der binäre Prozess der Multiplikation von Matrizen erzeugt die Matrix mit zwei Matrizen. Mithilfe verschachtelter Schleifen und Listenverständnis können wir Matrizen in Python multiplizieren.

Die Spalte und die Anzahl der ersten Matrix-Zählungen der ersten Matrix müssen übereinstimmen, um die Matrix-Multiplikation zu erreichen. Die Matrix, die wir am Ende aufgrund einer Matrixmultiplikation erhalten haben, besteht aus derselben Reihenfolge wie die ursprüngliche Matrix. Eine Abbildung der Matrixmultiplikation ist unten gezeigt.

Verwenden einer verschachtelten Liste, um eine Multiplikation von Matrix zu finden

Eine Matrix kann in Python als mehr als nur eine verschachtelte Liste erstellt werden, eine Art Liste in einer Liste. Eine Reihe einer Matrix entspricht jedem Wert einer verschachtelten Liste. Lassen Sie uns eine Instanz einer verschachtelten Schleife sehen, die verwendet wird, um zwei Matrizen zu multiplizieren.

N = [[9, 1, 7],
[3, 5, 6],
[4, 7, 8]]
M = [2, 3, 5, 6],
[8, 9, 1, 2],
[4, 5, 9, 3]]
Ergebnis = [[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]]
für u in Reichweite (Len (n)):
für o im Bereich (Len (M [0])):
für P in Reichweite (Len (m)):
Ergebnis [u] [o] += n [u] [p] * m [p] [o]
für d im Ergebnis:
drucken (d)

In diesem Beispiel werden wir verschachtelte Schleifen verwenden, um ein Programm auszuführen, das zwei Matrizen multipliziert, aber bevor wir dies tun, generieren wir zwei Matrizen, „N“ und „M“, die 3-mal-3 und 3- und 3- BY-4 in Ordnung sowie eine dritte Matrix, die 3-mal-4 bestellt. Als nächstes gehen wir einen Iterationsprozess durch, bei dem wir die Elemente der Zeilen in „N“, die Spalten in „M“ und die Reihen in „M“ verwenden, und die Zeilen "m". Wir haben die Druckanweisung angewendet, um die Multiplikation der definierten Matrizen anzuzeigen.

Verwendung verschachtelter Listenverständnisse, um eine Multiplikation von Matrizen zu finden

Verschachtelte Listenverständnis ist der Prozess der gemeinsamen Ausführung eines Listenverständnisses im Listenverständnis, was zu einer Art verschachtelte Liste führt

Syntax:

new_list = [[exprr. Für einen Listenelement] für ein Listenelement]

Ebenso können wir mit demselben verschachtelten Schleifenansatz auch die Multiplikation von zwei Matrizen durchführen, indem wir die Methode des verschachtelten Listenverständnisses leicht verwenden.

E = [[8, 1, 3],
[8, 7, 3],
[7, 3, 5]]
R = [[2, 3, 6, 8],
[9, 8, 5, 3],
[1, 3, 8, 9]]
result = [[sum (f*g für f, g in ZIP (e_row, r_col))
für r_col in ZIP (*r)] für e_row in e]
Für Z im Ergebnis:
Druck (z)

Um die Gesamtzahl der Produkte jeder Zeilen-von-Säuerungs-Multiplikation zu erhalten. Um die Säulen der Matrix „R“ zu erhalten, verwenden wir die ZIP () -Methode. Wir benötigen die Elemente der Zeile in der „E“ -Matrix als zweite Komponente eines verschachtelten Listenverständnisses, um die Produktsumme für jede Zeile in dieser verschachtelten Liste zu berechnen. Am Ende wird die Druckerklärung verwendet.

Abschluss

In diesem Leitfaden haben wir einige alternative Möglichkeiten gesehen, um die Matrixzusatz, die Multiplikation und die Transposition eher als Numpy zu berechnen. Diese Ansätze umfassen verschachtelte Listen sowie Verständnis von verschachtelten Listen. Darüber hinaus werden mehrere Programme vorgestellt, um zu demonstrieren, wie diese Ansätze verwendet werden können, und funktionieren unterschiedlich mit Addition, Multiplikation und Transposition einer Matrix.