Kursinhalt
Mathematik für Datenanalyse und Modellierung
Mathematik für Datenanalyse und Modellierung
Skalierungsfaktor der Linearen Transformation
Im Kontext von Matrizen bezieht sich eine lineare Transformation auf eine mathematische Operation, die einen Vektor oder eine Matrix als Eingabe nimmt und einen transformierten Vektor oder eine transformierte Matrix als Ausgabe erzeugt. Eine Transformationsmatrix repräsentiert diese Transformation. Um die Transformation anzuwenden, multiplizieren wir die Transformationsmatrix mit dem Vektor oder der Matrix, die transformiert werden muss.
Wir haben bereits im vorherigen Kapitel erwähnt, dass der Determinant der Transformationsmatrix den Maßstab des resultierenden Vektors beeinflusst. Betrachten wir ein Beispiel, um dies zu verstehen.
Lassen Sie uns mehrere Diagramme erstellen, um den Unterschied zwischen linearen Transformationen mit Matrizen von unterschiedlichen Determinanten zu demonstrieren. Wir werden uns darauf konzentrieren, wie der Determinant die Skalierung der Transformation beeinflusst.
Erste Transformation (Hoher Determinant):
import numpy as np import matplotlib.pyplot as plt # Matrix with a high determinant A = np.array([[2, 0], [0, 3]]) # Vector to be transformed v = np.array([1, 1]) # Apply the transformation result_A = np.dot(A, v) # Plot the graph plt.quiver(0, 0, v[0], v[1], angles='xy', scale_units='xy', scale=1, color='blue', label='Original Vector') plt.quiver(0, 0, result_A[0], result_A[1], angles='xy', scale_units='xy', scale=1, color='red', label='Transformed Vector (High Determinant)') # Set the graph limits plt.xlim(-5, 5) plt.ylim(-5, 5) # Add labels and legend plt.xlabel('x') plt.ylabel('y') plt.title(f'Determinant is {np.linalg.det(A)}') plt.legend() # Show the graph plt.show()
Zweite Transformation (Niedrige Determinante):
import numpy as np import matplotlib.pyplot as plt # Matrix with a low determinant B = np.array([[0.5, 0.1], [0.3, 0.5]]) # Vector to be transformed v = np.array([1, 1]) # Apply the transformation result_B = np.dot(B, v) # Plot the graph plt.quiver(0, 0, v[0], v[1], angles='xy', scale_units='xy', scale=1, color='blue', label='Original Vector') plt.quiver(0, 0, result_B[0], result_B[1], angles='xy', scale_units='xy', scale=1, color='red', label='Transformed Vector (Low Determinant)') # Set the graph limits plt.xlim(-1, 3) plt.ylim(-1, 3) # Add labels and legend plt.xlabel('x') plt.ylabel('y') plt.title(f'Determinant is {np.linalg.det(B)}') plt.legend() # Show the graph plt.show()
Skalierungsfaktor der Transformation
Skalierung repräsentiert die Änderung der Länge des Vektors nach der Transformation. Eine höhere Determinante führt zu einem größeren Skalierungsfaktor, wodurch der transformierte Vektor stärker gestreckt wird als der Originalvektor. Umgekehrt führt eine niedrigere Determinante zu einem kleineren Skalierungsfaktor, was zu weniger Streckung des transformierten Vektors führt.
Hinweis
Es ist notwendig zuzugeben, dass im Fall, wenn
det(A) = 0
oderdet(A) = 1
, wir keine Schlussfolgerungen über den Skalierungsfaktor der Matrix ohne zusätzliche Analyse der Matrixstruktur ziehen können.
Danke für Ihr Feedback!