Code
import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
Matrizen sind ein Schlüsselkonzept der linearen Algebra und tauchen in fast allen Gebieten der Mathematik auf. Zudem lassen sich Rechnungen mit Matrizen sehr effizient auf Computern durchführen.
Typische Anwendungen: lineare Gleichungssysteme, lineare Abbildungen, Eigenwertprobleme, Optimierung, Datenanalyse, Bildverarbeitung, Künstliche Intelligenz, …
Eine Matrix ist ein rechteckige Anordnung (Tabelle) von Zahlen. Eine \(m\times n\)-Matrix \(A\) hat \(m\) Zeilen und \(n\) Spalten. Man sagt: Die Matrix hat die Dimension \(m\times n\). Oder: Sie ist vom Typ \(m\times n\). Die Einträge der Matrix \(A\) sind die Zahlen \(A_{ij}\), die in der \(i\)-ten Zeile und \(j\)-ten Spalte stehen. Die Menge aller \(m\times n\)-Matrizen wird mit \(\mathbb{R}^{m\times n}\) bezeichnet. \[ A = \begin{pmatrix} A_{11} & A_{12} & \cdots & A_{1n} \\ A_{21} & A_{22} & \cdots & A_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ A_{m1} & A_{m2} & \cdots & A_{mn} \end{pmatrix} \]
Gleichheit von Matrizen: Zwei Matrizen sind genau dann gleich, wenn sie dieselben Dimensionen haben und alle ihre Einträge gleich sind. Vergleiche die Gleichheit von Vektoren.
Visualisierung:
Spalten- und Zeilenansicht von Matrizen: Eine Matrix kann auf folgende Arten gesehen werden:
Die Matrixmultiplikation einer \(n\times m\)-Matrix mit einer \(m\times p\)-Matrix liefert eine \(n\times p\)-Matrix. Die innere Dimension muß übereinstimmen, hier ist sie \(m\). Das Ergebnis hat die äußeren Dimensionen, hier \(n\) und \(p\). Die Ergebnismatrix \(C = AB\) der Matrixmultiplikation von \(A\) mit \(B\) hat die Einträge \(C_{ij} = \sum_{k=1}^m A_{ik}B_{kj}\). Das heißt, der Eintrag in der \(i\)-ten Zeile und \(j\)-ten Spalte von \(C\) ist das Skalarprodukt des \(i\)-ten Zeilenvektors von \(A\) mit dem \(j\)-ten Spaltenvektor von \(B\). Hier ein Beispiel für eine \(2\times 3\)-Matrix \(A\) und eine \(3\times 2\)-Matrix \(B\): \[ \begin{aligned} &\begin{pmatrix} A_{11} & A_{12} & A_{13} \\ A_{21} & A_{22} & A_{23} \end{pmatrix} \begin{pmatrix} B_{11} & B_{12} \\ B_{21} & B_{22} \\ B_{31} & B_{32} \end{pmatrix} = \\ &\begin{pmatrix} A_{11}B_{11} + A_{12}B_{21} + A_{13}B_{31} & A_{11}B_{12} + A_{12}B_{22} + A_{13}B_{32} \\ A_{21}B_{11} + A_{22}B_{21} + A_{23}B_{31} & A_{21}B_{12} + A_{22}B_{22} + A_{23}B_{32} \end{pmatrix} \end{aligned} \]
Ansichten der Matrixmultiplikation:
Produkttypen:
Wir betrachten zuerst das allgemeine, quadratische \(2\times 2\)-LGS \[ \begin{aligned} A_{11} x_1 + A_{12} x_2 & = b_1 \\ A_{21} x_1 + A_{22} x_2 & = b_2 \end{aligned} \] das die folgende Matrix-Vektor-Form \(Ax = b\) hat: \[ A = \begin{pmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{pmatrix}, \quad x = \begin{pmatrix} x_1 \\ x_2 \end{pmatrix}, \quad b = \begin{pmatrix} b_1 \\ b_2 \end{pmatrix}. \] Die Koeffizientenmatrix \(A\) ist eine quadratische \(2\times 2\)-Matrix. Mit dem Gaußschen Eliminationsverfahren erhält man die Lösungsformel: \[ \begin{aligned} x_1 & = \frac{b_1 A_{22} - b_2 A_{12}}{A_{11} A_{22} - A_{12} A_{21}} \\ x_2 & = \frac{b_2 A_{11} - b_1 A_{21}}{A_{11} A_{22} - A_{12} A_{21}} \end{aligned} \] Schlussfolgerungen:
Die Zahl \(A_{11} A_{22} - A_{12} A_{21}\), die die Fallunterteilung bestimmt (determiniert), heißt Determinante der Koeffizientenmatrix \(A\) und wird mit \(\det(A)\) oder \(\lvert A \rvert\) notiert. Die Determinante kann nur für quadratische Matrizen (gleich viele Zeilen wie Spalten) berechnet werden kann.
Beispiel: \(A = \begin{pmatrix} 3 & 2 \\ -1 & 4\end{pmatrix}\) hat die Determinante \(\det(A) = 3\cdot 4 - (-1)\cdot 2 = 14\). Vergleiche das Kreuzprodukt \(a \times b\) der zwei räumlichen Vektoren \(a = \begin{pmatrix} 3 \\ -1 \\ 0 \end{pmatrix}\) und \(b = \begin{pmatrix} 2 \\ 4 \\ 0 \end{pmatrix}\), dessen Länge die Fläche des von \(a\) und \(b\) aufgespannten Parallelogramms ist: \(a \times b = \begin{pmatrix} 0 \\ 0 \\ 14 \end{pmatrix}\), \(\lVert a \times b \rVert = \sqrt{14^2} = 14\).
Geometrie: Der Betrag der Determinante ist gleich dem Flächeninhalt (allg. dem Volumen) des von den Spaltenvektoren der Matrix aufgespannten Parallelepipeds.
Formeln:
Zu einer quadratischen Matrix \(A\) kann (muss aber nicht) eine inverse Matrix, geschrieben als \(A^{-1}\), existieren. Sie entspricht dem Kehrwert für Matrizen und hat die definierenden Eigenschaften: \(A^{-1}A = I = AA^{-1}\). Falls eine inverse Matrix existiert, dann ist sie eindeutig. Für eine \(2\times 2\)-Matrix \(A = \begin{pmatrix} a & b \\ c & d\end{pmatrix}\) ist die inverse Matrix, falls \(\det(A)\neq 0\), durch \(A^{-1} = \frac{1}{\det(A)} \begin{pmatrix} d & -b \\ -c & a\end{pmatrix}\) gegeben. Eine quadratische Matrix, die eine Inverse besitzt, heißt reguläre, invertierbare oder nicht singuläre Matrix, andernfalls heißt sie singuläre Matrix.
Falls für ein quadratisches LGS \(Ax = b\) die inverse Matrix \(A^{-1}\) existiert, liefert die Multiplikation von \(Ax = b\) von links mit \(A^{-1}\) die eindeutige Lösung \(x = A^{-1}b\). Die inverse Matrix von \(A\) existiert genau dann, wenn die Determinante von \(A\) nicht Null ist. Falls \(A^{-1}\) nicht existiert, also \(\det(A) = 0\), dann gibt es ein \(\tilde{b}\), sodass \(Ax = \tilde{b}\) keine Lösung hat, und falls eine Lösung zu \(Ax = b\) existiert, dann ist sie nicht eindeutig.
Wir betrachten ein quadratisches \(n\times n\)-LGS \(Ax = b\) mit \(n\) Gleichungen und \(n\) Variablen. Dann gilt:
Für ein homogenes quadratisches LGS \(Ax = 0\) gilt zudem:
Notation: Zahl \(\alpha\), Matrizen \(A\), \(B\) und \(C\)
Eine lineare Abbildung (=Funktion) \(f\) zwischen den Vektorräumen \(\mathbb{R}^n \rightarrow \mathbb{R}^m\) ordnet jedem Inputvektor \(x\) des Inputraums \(\mathbb{R}^n\) genau einen Outputvektor \(f(x)\) des Outputraums \(\mathbb{R}^m\) derart zu, sodass die Linearitätseigenschaft \[ f(\alpha x + \beta y) = \alpha f(x) + \beta f(y) \] für alle Zahlen \(\alpha\) und \(\beta\) und alle Inputvektoren \(x\) und \(y\) erfüllt ist.
Aufgrund dieser Eigenschaften kann eine lineare Abbildungen mit ihrer Matrix, genannt Abbildungsmatrix, gleichgesetzt werden.
Eine Basis des Vektorraumes \(\mathbb{R}^n\) ist eine Liste von \(n\) Vektoren \(b_i, i=1,\ldots n\) des \(\mathbb{R}^n\), mit der sich jeder Vektor \(x\) des Vektorraumes eindeutig als Linearkombination der Basisvektoren \(b_i\) darstellen lässt: \[ x = \sum_{i=1}^n c_i b_i. \] Die Koeffizienten \(c_i\) heißen Koordinaten von \(x\) bezüglich der Basis \(b_i\). Schreibt man die Basisvektoren als Spalten in einen Matrix \(B\) und die Koordinaten als Spalten in einen Vektor \(c\), dann gilt \[ x = Bc. \] Die Matrix \(B\) ist regulär, da die Basisvektoren linear unabhängig sind und den ganzen \(\mathbb{R}^n\) aufspannen. Die Standardbasis des \(\mathbb{R}^n\) besteht aus den Vektoren \(e_i\) mit \(1\) an der \(i\)-ten Stelle und sonst Nullen. Bezüglich der Standardbasis sind die Koordinaten eines Vektors \(x\) die Einträge vom \(x\), also \(x = \sum_{i=1}^n x_i e_i.\) Die Matrix der Standardbasisvektoren ist die Einheitsmatrix \(I\), und es gilt \(x = Ix\). Beispiel für \(n=2\): \(x = x_1 e_1 + x_2 e_2 = x_1 \begin{pmatrix} 1 \\ 0\end{pmatrix} + x_2 \begin{pmatrix} 0 \\ 1\end{pmatrix} = \begin{pmatrix} x_1 \\ x_2\end{pmatrix}.\)
Wenn man Vektoren mittels zwei verschiedenen Basen beschreibt, spricht man von einer Koordinatentransformation: \[ x = Bc = \tilde{B}\tilde{c} \] Durch Multiplikation der letzten Gleichung mit der inversen Matrix \(B^{-1}\) bzw. \(\tilde{B}^{-1}\) erhalten wir Formeln für die Umrechnung der Koordinaten: \(c = B^{-1}\tilde{B}\tilde{c}\) und \(\tilde{c} = \tilde{B}^{-1}Bc.\)
Oft ist es sinnvoll, eine Basis zu wählen, die dem betrachteten Problem angepasst ist, siehe Kapitel Eigenwerte und -vektoren. Wir betrachten eine lineare Abbildung \(y = Ax\) und stellen \(x\) und \(y\) in anderen Basen dar: \(x = Bc\) und \(y = Cd\). Dann erhält man durch Einsetzen: \[ Cd = ABc \iff d = C^{-1}ABc. \] Bezüglich den Koordinaten \(c\) und \(d\) ist die Abbildung also durch die Matrix \(C^{-1}AB\) gegeben.
Wenn man den Output von mehreren Inputvektoren unter einmal berechnen möchte, schreibt man die Inputvektoren als Spalten in eine Matrix \(X\) und erhält den Output als \(AX\). Die Spalten von \(AX\) sind die Bilder der Spalten von \(X\).
Wenn \(f(x) = Ax\) und \(g(y) = By\), dann entspricht der Hintereinanderausführung der linearen Abbildungen \(g\circ f\) das Matrixprodukt \(BA\), also \(g(f(x)) = BAx\).
Beispiel: Drehen eines Punktes der Ebene zuerst um den Winkel \(\alpha\) und anschließend Spiegeln an der 1-Achse entspricht dem Matrixprodukt \(SR\). Achtung: Die andere Reihenfolge liefert nicht dasselbe!
Ein LGS \(Ax = b\) kann mithilfe der linearen Abbildung \(A\) so interpretiert werden: Gesucht werden alle Inputvektoren \(x\), die via \(A\) auf den Outputvektor \(b\) abgebildet werden.
Die Menge der Outputvektoren einer linearen Abbildung mit \(m\times n\)-Matrix \(A\) heißt Bild (engl. image, range) von \(A\) und wird mit \(\text{im}(A)\) bezeichnet. Die Dimension des Bildes ist der Rang der Matrix \(A\): \[ \text{rank}(A) = \text{dim}(\text{im}(A)) \] Ein LGS ist genau dann lösbar, wenn \(b\) im Bild von \(A\) liegt. Die Lösungsmenge des LGS \(Ax = b\) ist dann die Menge aller Inputvektoren \(x\), die auf \(b\) abgebildet werden. Wenn der Rang von \(A\) gleich der Dimension \(m\) des Outputraums ist, dann ist das Bild von \(A\) der ganze Outputraum, und das LGS hat für jeden Outputvektor \(b\) eine Lösung.
Die Menge der Inputvektoren, die auf den Nullvektor abgebildet werden, ist die Lösungsmenge des homogenen LGS \(Ax = 0\) und heißt Kern oder Nullraum (engl. null space) der Matrix \(A\) und wird mit \(\text{ker}(A)\) bezeichnet. Falls ein LGS \(Ax = b\) eine Lösung \(x_0\) hat, kann man zu \(x_0\) jeden Vektor \(x_h\) des Nullraums addieren und erhält wieder eine Lösung, denn \(A(x_0 + x_h) = Ax_0 + Ax_h = b + 0 = b\). Die Lösung eines LGS ist also genau dann eindeutig, wenn der Nullraum nur den Nullvektor enthält. Der Nullvektor ist immer enthalten.
Der Rangsatz besagt, dass für jede \(m\times n\)-Matrix die Dimension des Nullraums plus die Dimension des Bilds gleich die Dimension \(n\) des Inputraums ist: \[ \text{dim}(\text{ker}(A)) + \text{dim}(\text{im}(A)) = n. \] Der Rangsatz kann als Erhaltung der Dimensionen/Freiheitsgrade interpretiert werden: Die Dimension des Inputraums wird auf die Dimension des Bildes und des Nullraums aufgeteilt. Wenn der Rang von \(A\) gleich der Dimension \(n\) des Inputraums ist, also \(\text{dim}(\text{im}(A)) = n\), dann ist wegen des Rangsatzes der Nullraum \(0\)-dimensional und besteht daher nur aus dem Nullvektor. Daher ist eine Lösung des LGS unter diesen Umständen eindeutig.
Die Beispiele und Aufgaben verwenden folgende Python-Bibliotheken, siehe Kapitel Python Tutorial:
import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
Die zentralen Python-Funktionen sind:
@
verwendet werden.T
erzeugt werden.np.zeros
erzeugt Nullmatrizennp.eye
erzeugt die Einheitsmatrizennp.ones
Matrizen mit lauter Einsen als Einträgen.np.diag
zum Extrahieren der Diagonale einer Matrix und zum Erzeugen einer Diagonalmatrixnp.linalg.det(A)
: Gibt die Determinante der Matrix \(A\) zurück.np.linalg.inv
berechnet die inverse Matrix.sp.linalg.null_space(A)
berechnet eine Orthonormalbasis des Nullraums (Kerns) der Matrix \(A\). Die Spalten der zurückgegebenen Matrix sind die Orthonormalbasisvektoren.sp.linalg.orth(A)
berechnet eine Orthonormalbasis des Bildes der Matrix \(A\). Die Spalten der zurückgegebenen Matrix sind die Orthonormalbasisvektoren.Drehen eines Vektors, der als Pfeil interpretiert wird:
= np.pi/4 # 45°
alpha = np.array([[np.cos(alpha), -np.sin(alpha)],
R
[np.sin(alpha), np.cos(alpha)]])= np.array([1, 1])
x = R@x
y
=(4,4))
plt.figure(figsize0, 0, x[0], x[1], head_width=.1, color='green')
plt.arrow(0, 0, y[0], y[1], head_width=.1, color='blue')
plt.arrow(-1, 2)
plt.xlim(-1, 2)
plt.ylim(True) plt.grid(
Drehen vieler Vektoren, die als Punkte interpretiert werden:
# Matrix der Eckpunkte einer Fläche, Eckpunkte als Spaltenvektoren der Matrix:
= np.array([[0, 1, 2, 1,-1],
ecken_orig 0,-1, 1, 2, 2]])
[= R@ecken_orig
ecken_dreh
= plt.figure(figsize=(4, 4))
fig = fig.add_subplot()
ax =True, color='green', alpha=0.3))
ax.add_patch(plt.Polygon(ecken_orig.T, closed=True, color='blue', alpha=0.3))
ax.add_patch(plt.Polygon(ecken_dreh.T, closed-2, 3)
plt.xlim(-2, 3)
plt.ylim(True) plt.grid(
Wir wollen den Vektor \(v = \begin{pmatrix} 2 \\ 3 \\-1 \end{pmatrix}\) in der Basis \(b_1 = \begin{pmatrix} -1 \\ 3 \\ 2 \end{pmatrix}\), \(b_2 = \begin{pmatrix} 2 \\ 1 \\ 5 \end{pmatrix}\), \(b_3 = \begin{pmatrix} 4 \\ -2 \\ 1 \end{pmatrix}\) darstellen. Dazu lösen wir das LGS \(Bc = v\) mit der Basismatrix \(B = \begin{pmatrix} b_1 & b_2 & b_3 \end{pmatrix}\):
= np.array([[ 2],
v 3],
[ -1]])
[= np.array([[-1, 2, 4],
B 3, 1, -2],
[ 2, 5, 1]])
[ # Check der Basiseigenschaft: B ist regulär <=> det(B) not 0 <=> Rang von B = 3
print("Rang von B =", np.linalg.matrix_rank(B))
print("Determinante von B =", np.linalg.det(B))
= np.linalg.solve(B, v)
c print("Koordinaten von v in Basis B: c= \n", c)
Rang von B = 3
Determinante von B = 27.0
Koordinaten von v in Basis B: c=
[[ 3.11111111]
[-1.88888889]
[ 2.22222222]]
Nicht-quadratisches, homogenes LGS mit unendlich vielen Lösungen:
= np.array([[ 1,-3, 1],
A -2, 0, 5]])
[= np.array([[0],
b 0]])
[= np.hstack((A, b))
Ab print("Rang von A =", np.linalg.matrix_rank(A))
print("Rang von Ab =", np.linalg.matrix_rank(Ab))
print("Anzahl der Variablen =", np.shape(A)[1])
print("Daher: unendlich viele Lösungen.")
# Der Nullvektor ist die triviale Lsg.
= np.zeros((3, 1))
x print("Ax =\n", A@x)
# Alle Lösungen = Nullraum N:
= sp.linalg.null_space(A)
N # Check, dass die Spalten von N mit A multipliziert Null ergeben:
print("AN =\n", A@N)
Rang von A = 2
Rang von Ab = 2
Anzahl der Variablen = 3
Daher: unendlich viele Lösungen.
Ax =
[[0.]
[0.]]
AN =
[[3.33066907e-16]
[4.44089210e-16]]
Wir betrachten das quadratische LGS \[
\begin{aligned}
x_1 - x_2 & = 1 \\
2x_1 + 3x_2 & = -3
\end{aligned}
\] Determinante der Koeffizientenmatrix ist nicht Null, daher gibt es eine eindeutige Lösung, die solve
und die Multiplikation mit der inversen Matrix liefert:
= np.array([[ 1,-1],
A 2, 3]])
[ = np.array([[ 1],
b -3]])
[print(f"Determinante von A = {np.linalg.det(A):.2f}")
print("Daher: genau eine Lösung.")
print("Rückgabe von solve(A, b):\n", np.linalg.solve(A, b))
print("Rückgabe von inv(A):\n", np.linalg.inv(A))
print("Rückgabe von inv(A)@b:\n", np.linalg.inv(A)@b)
Determinante von A = 5.00
Daher: genau eine Lösung.
Rückgabe von solve(A, b):
[[ 0.]
[-1.]]
Rückgabe von inv(A):
[[ 0.6 0.2]
[-0.4 0.2]]
Rückgabe von inv(A)@b:
[[ 2.22044605e-16]
[-1.00000000e+00]]
Wir betrachten das quadratische LGS \[
\begin{aligned}
x_1 - 2x_2 & = 1 \\
-2x_1 + 4x_2 & = 3
\end{aligned}
\] Die Determinante der Koeffizientenmatrix ist Null, daher gibt es keine oder unendlich viele Lösungen. Der Befehl solve
liefert die Fehlermeldung LinAlgError: Singular matrix
.
= np.array([[ 1, -2],
A -2, 4]])
[= np.array([[ 1],
b -3]])
[print("Determinante von A =", np.linalg.det(A))
print("Daher: keine oder unendlich viele Lösungen.")
# print("Rückgabe von solve(A,b):\n", np.linalg.solve(A,b)) # -> LinAlgError: Singular matrix
Determinante von A = 0.0
Daher: keine oder unendlich viele Lösungen.
Um in Python zu bestimmen, ob das LGS keine oder unendlich viele Lösungen hat, bestimmen wir den Rang der Koeffizientenmatrix und der erweiterten Koeffizientenmatrix:
print("Rang von A =", np.linalg.matrix_rank(A))
= np.hstack((A, b))
Ab print("Rang von Ab =", np.linalg.matrix_rank(Ab))
Rang von A = 1
Rang von Ab = 2
Das LGS hat also keine Lösung.
Ergebnisse:
Ergebnis:
Gegeben sind die Matrizen \[ A = \begin{pmatrix} 2 & 4 & 1 \\ 1 & 3 & 5 \end{pmatrix}, B = \begin{pmatrix} 3 & 1 & 1\\ 0 & 2 & 1\\ -1 & 5 & 1 \end{pmatrix}, \text{ und } C = \begin{pmatrix} -2 & 0 & 3\\ 2 & 5 & 1\\ -1 & 1 & 1 \end{pmatrix}. \] Berechnen Sie von Hand und mit Python \(ABC\).
Ergebnis: \(ABC = \begin{pmatrix} 13 & 82 & 37 \\ 59 & 169 & 35 \end{pmatrix}\)
Gegeben sind folgende zwei Matrizen und ein Vektor: \[ A = \begin{pmatrix} 1 & -2 & 3 \\ 0 & -5 & 4 \\ 4 & -3 & 8 \end{pmatrix}, B = \begin{pmatrix} 1 & 2 \\ 0 & 4 \\ 3 & 7 \end{pmatrix}\text{ und } c = \begin{pmatrix} 1 \\ 2 \\ 3 \end{pmatrix} \] Berechnen Sie folgende Ausdrücke per Hand und überprüfen Sie die Ergebnisse mittels Python:
Ergebnisse: \(AB = \begin{pmatrix} 10 & 15 \\ 12 & 8 \\ 28 & 52 \end{pmatrix}\), \(BA\) ist nicht wohldefiniert, \(B^T A = \begin{pmatrix} 13 & -11 & 27 \\ 30 & -45 & 78 \end{pmatrix}\), \(c^T B = \begin{pmatrix} 10 & 31 \end{pmatrix}\), \(c^T(BB^T + A)c = 1137\)
Eine Fluglinie fliegt fünf verschiedene Stationen an. Die möglichen Verbindungen sind nachfolgend dargestellt.
Erstellen Sie in Python die Adjazenz-Matrix \(C\) für die Fluglinie. Dabei gilt \[ C_{ij} = \begin{cases} 1 \text{ wenn es einen Direktflug von i nach j gibt} \\ 0 \text{ sonst} \end{cases} \] Um zu bestimmen, wie viele mögliche Flugrouten es zwischen 2 Stationen gibt, kann die Matrixpotenz, also \(C^k = C \cdot C \cdot \ldots\) verwendet werden, siehe z. B. Wikipedia. Das heißt, die Anzahl der möglichen Flugrouten mit genau einem Umstieg zwischen zwei beliebigen Stationen sind die Einträge in der Matrix \(C^2\).
Bestimmen Sie in Python die Anzahl der Flugrouten zwischen zwei beliebigen Stationen mit (a) genau einem Umstieg und (b) mit genau zwei Umstiegen. (c) Wie viele Routen gibt es vom Startort A zum Zielort B mit maximal zwei Umstiegen?
Ergebnis: (a) \(C^2\), (b) \(C^3\), (c) entsprechendes Element aus \(C + C^2 + C^3\)
Gegeben sind die Matrizen \(A = \begin{pmatrix} 0 & -1 & 0 \\ 0 & 0 & -1 \\ 0 & 0 & 0 \end{pmatrix}\) und \(B = \begin{pmatrix} 1 & 2 \\ 2 & 1 \\ 3 & 3 \end{pmatrix}\). Bestimmen Sie in Python die Matrix \(X\), die die Bedingung \(X = AX + B\) erfüllt, falls es eine solche Matrix gibt.
Ergebnis: \(X = \begin{pmatrix} 2 & 4 \\ -1 & -2 \\ 3 & 3 \end{pmatrix}\)
Zeichnen Sie von Hand die Konturlinien (Höhenlinien, Isolinien) der linearen Abbildung \(f(x) = a^T x\) für den Vektor \(a = \begin{pmatrix} -1 \\ 2 \end{pmatrix}\).
Ergebnis: Die Konturlinien sind Geraden, die durch den Nullpunkt gehen und den Vektor \(a\) als Normalenvektor haben.
Gegeben ist der Vektor \(v = \begin{pmatrix} 1 \\ 2 \end{pmatrix}\) und die Basis \(B = \begin{pmatrix} 3 & 1 \\ 1 & -2 \end{pmatrix}\).
Ergebnis: Die Basisvektoren sind linear unabhängig und spannen den \(\mathbb{R}^2\) auf. \(v = Bc = 2\cdot b_1 - 1\cdot b_2\)
Bestimmen Sie die orthogonale Projektion des Punktes \(a = \begin{pmatrix} 1 \\ 2 \end{pmatrix}\) auf die Gerade, die vom Vektor \(v = \begin{pmatrix} -3 \\ 4 \end{pmatrix}\) aufgespannt wird.
Ergebnis: Die Projektion von \(a\) auf die von \(v\) aufgespannte Gerade ist \(\begin{pmatrix} -0.6 \\ 0.8 \end{pmatrix}\).
Die ebenen Module einer Photovoltaikanlage werden so ausgerichtet, dass sie eine Normalvektor \(n = \begin{pmatrix} 5 \\ -5 \\ 7 \end{pmatrix}\) haben. Die Sonne strahlt entlang des Vektors \(s = \begin{pmatrix} -10 \\ 1 \\ -5 \end{pmatrix}\). Die Länge des Vektors \(s\) gibt die Intensität der Sonneneinstrahlung in \(\frac{\text{kW}}{\text{m}^2}\) an. Wie viel der Strahlungsleistung wird von den Modulen pro Quadratmeter aufgenommen? Bearbeiten Sie die folgenden Aufgaben am Computer:
Ergebnis: Der Anteil der Strahlungsleistung, die von den Modulen aufgenommen wird, ist ca. \(0.8058 = 80.58\ \%\).
Ergebnis:
Berechnen Sie mit dem Multiplikationstheorem für Determinanten \(\det(A \cdot B) = \det(A) \cdot \det(B)\) die Determinante des Matrizenproduktes \(C = A \cdot B\) von Hand und am Computer für \[ A = \begin{pmatrix} -2 & 3 & 9\\ 7 & 0 & 1\\ 1 & 1 & 0 \end{pmatrix} \text{ und } B = \begin{pmatrix} -1 & 1 & 3\\ 2 & 5 & 9\\ 0 & 6 & 1 \end{pmatrix}. \]
Ergebnis: \(\det(A) \cdot \det(B) = 68 \cdot 83 = 5644\)
Zeigen Sie von Hand, dass \(A = \begin{pmatrix} 1 & 2 \\ 0.5 & 3 \end{pmatrix}\) eine reguläre Matrix ist, und bestimmen Sie von Hand die inverse Matrix \(A^{-1}\). Überprüfen Sie das Ergebnis, indem Sie \(A A^{-1}\) und \(A^{-1} A\) berechnen.
Ergebnis: \(\det(A) = 2 \neq 0\), \(A^{-1} = \begin{pmatrix} 1.5 & -1 \\ -0.25 & 0.5 \end{pmatrix}\)
Wir betrachten das folgende quadratische LGS: \[ \begin{aligned} 2x_1 - 5x_2 + 8x_3 & = 0 \\ -2x_1 - 7x_2 + x_3 & = 0 \\ 4x_1 + 2x_2 + 7x_3 & = 0 \end{aligned} \] Bestimmen Sie in Python die Lösungsstruktur des LGS, d. h. ob es keine, eine oder unendlich viele Lösungen hat.
Ergebnis: Das LGS hat unendlich viele Lösungen.
Ergebnis:
Betrachten Sie die Rotationsmatrix \[ R(\alpha) = \begin{pmatrix} \cos(\alpha) & -\sin(\alpha) \\ \sin(\alpha) & \cos(\alpha) \end{pmatrix}. \]
Ergebnisse:
Gegeben ist das lineare Gleichungssystem: \[ \begin{aligned} 2x_1 - 4x_2 - 2x_3 & = b_1 \\ -5x_1 + x_2 + x_3 & = b_2 \\ 7x_1 - 5x_2 - 3x_3 & = b_3 \end{aligned} \] Bestimmen Sie von Hand und am Computer mittels der Determinante der Koeffizientenmatrix, ob das lineare Gleichungssystem für alle Vektoren \(b\) eine eindeutige Lösung hat.
Ergebnis: Das LGS hat nicht für alle Vektoren \(b\) eine eindeutige Lösung.
Bestimmen Sie von Hand, ohne das folgende, quadratische LGS zu lösen, ob es eindeutig lösbar ist. \[ \begin{pmatrix} -10 & 3 \\ -5 & 4 \end{pmatrix}\begin{pmatrix} x_1 \\ x_2 \end{pmatrix} = \begin{pmatrix} -3.5 \\ 9.2 \end{pmatrix} \]
Ergebnis: Das LGS hat eine eindeutige Lösung.
Nehmen Sie an, ein Staat ist Standort für drei verschiedene Industriesektoren: Chemische Industrie, Nahrungsmittelindustrie und Ölindustrie. Die Produktion einer Einheit Chemikalien benötigt 0.2 Einheiten von Chemikalien, 0.4 Einheiten Nahrungsmittel und 0.5 Einheiten Öl. Diese Größen werden in die erste Spalte der Verbrauchsmatrix \(A\) ein, die den Verbrauch während der Produktion wiedergibt: \[ \begin{pmatrix} \text{Chemie Verbrauch} \\ \text{Nahrungsmittel Verbrauch} \\ \text{Öl Verbrauch} \end{pmatrix} = \begin{pmatrix} 0.2 & 0.3 & 0.4 \\ 0.4 & 0.4 & 0.1 \\ 0.5 & 0.1 & 0.3 \end{pmatrix} \begin{pmatrix} \text{Chemische Produktion} \\ \text{Nahrungsmittel Produktion} \\ \text{Öl Produktion} \end{pmatrix} \]
Bemerkung: Die Verbrauchsmatrix der USA im Jahr 1958 enthielt 83 industrielle Sektoren, heutige Modelle sind bei weitem umfangreicher.
Es stellt sich die Frage, ob die so beschriebene Volkswirtschaft einen Bedarf \(d = \begin{pmatrix} d_1\\ d_2 \\ d_3 \end{pmatrix}\) für chemische Produkte, Nahrungsmittel und Öl decken kann? Dazu muss neben dem Produktionsplan \(p = \begin{pmatrix} p_1\\ p_2 \\ p_3 \end{pmatrix}\) der Verbrauch \(Ap\) während der Produktion berücksichtigt werden. Die Netto-Produktion von \(p - Ap\) soll daher den Bedarf \(d\) decken. Damit gilt es für einen gegebenen Bedarf \(d\) einen Produktionsplan \(p\) zu finden, so dass folgendes erfüllt ist: \[ \begin{aligned} p - Ap =& d \text{ bzw. }\\ p =& (I - A)^{-1}d \end{aligned} \] Der Bedarfsvektor \(d\) und die Verbrauchsmatrix \(A\) dürfen keine negativen Einträge haben, um wirtschaftlich sinnvoll interpretiert werden zu können. Ebenso der Produktionsplan \(p = (I - A)^{-1}d\). Daher lautet die Frage: Wann ist \((I - A)^{-1}\) eine nicht-negative Matrix, d. h. jeder der Einträge ist nicht-negativ.
solve
.inv
den Ausdruck \((I - A)^{-1}\). Ist die Matrix nicht-negativ?Bemerkung: Die Matrix \(I - A\) wird Technologiematrix genannt. Sie führt einen Produktionsplan in einen Vektor über, der angibt, welcher Bedarf erfüllt werden kann.
Ergebnisse: