Zum Inhalt springen

Maxima CAS/Matrixmultiplikation

Aus Wikiversity

Implementation von Matrizen und Matrixoperationen

[Bearbeiten]

Die Lernressource zur Implementation gliedert sichsich in die folgenden Schritte

  • Unterschiede - Matrixmultiplikation und komponentenweise Multiplikation
  • Operation A.B Matrixmultiplikation
  • Operation A*B komponentenweise Multiplikation von Matrizen.
  • Transposition einer Matrix transpose(A)

Matrixmultiplikation

[Bearbeiten]

Eine Matrixmultiplikation in Maxima kann auf verschiedene Weise durchgeführt werden.

Definition von Matrizen in Maxima

[Bearbeiten]

Im Folgenden werden zwei 2×2-Matrizen definiert.

A: matrix([1, 2], [3, 4]);
B: matrix([5, 6], [7, 8]);

Befehl 1 - Matrixmultiplikation matrix_mult()

[Bearbeiten]

Maxima bietet eine Funktion matrix_mult an, die die Matrixmultiplikation durchführt.

A: matrix([1, 2], [3, 4],[1, -1]);
B: matrix([5, 6, 7], [8, 9,10]);
A.B
C: A.B;

In dem obigen Beispiel wird eine 3×2-Matrix A mit einer 2×3-Matrix B multipliziert. A=(123411)B=(5678910) Als Produkt entsteht eine 3×3-Matrix C=AB.

C=AB=(212427475461333)

Zwei Matrizen A und B können mit der Matrixmultiplikation aus der Linearen Algebra multipliziert werden, wenn die Anzahl der Spalten der Matrix A mit der Anzahl der Zeilen der B übereinstimmt.

Befehl 2 - Komponentenweise Matrixmultiplikation

[Bearbeiten]

Zwei Matrizen können direkt komponentenweise (analog zu Addition von Matrizen mit dem Operator * multiplizieren. A*B liefert also nicht die Matrixmultiplikation, sondern komponentenweise Multiplikation von Matrizen

A: matrix([1, 2], [3, 4]);
B: matrix([5, 6], [7, 8]);
C: A * B;

Formal in einer mathematischen Schreibweise liefert die komponentenweise Multiplikation die folgenden Matrix C. A=(121341)B=(562782)C=(512221322) Matrizen können komponentenweise multipliziert werden, wenn diese die gleiche Anzahl von Zeilen und Spalten besitzen

Befehl 3 - Funktion transpose()

[Bearbeiten]

Wenn Sie die Transponierte einer Matrix benötigen (Vertauschung von Spalten- und Zeilenindex), können Sie die Funktion transpose() verwenden.

A: matrix([1, 2], [3, 4], [5,6);
transpose(A);

Anwendungen

[Bearbeiten]

Siehe auch

[Bearbeiten]

Kurse

[Bearbeiten]