Skip to main content

Klausur

Anleitung Prüfung TP1

Wie in der VL besprochen wird es zwei Prüfungsformate geben:

  • Eine elekronische Klausur,
  • Eine mündliche Prüfung im Video-Format.

Beide Prüfungsarten werden gleichzeitig online stattfinden, zu der in KLIPS angegebenen Zeit. Der Fairness halber werden die Nachprüfungen werden gleiche Format haben.

Die Klausur

Sie benötigen:

  • ...einen Laptop / Tablet / ein Telefon das zuverlässig ein Kamerabild von Ihnen per Zoom übertragen kann.
  • ...eine Möglichkeit, Ihre Rechnungen am Ende der Zeit abzufotografieren, zu scannen oder sonstwie digital zu erfassen und als einzelnes PDF per Email zu verschicken.
  • ...einen ruhigen Raum, den Sie in der Zeit der Klausur alleine und ungestört nutzen können.
  • ...Studierendenausweis und einen Ausweis mit Foto.

Vor der Klausur:

  • Melden Sie sich wie gewohnt zur Klausur an. Wenn Sie sich nicht anmelden können (z.B. Schülerstudierende), melden Sie sich per Email beim Übungsleiter.
  • Wenn Sie Probleme bei der KLIPS-Anmeldung hatten: Bitte per Email beim Übungsleiter melden.
  • Öffnen Sie 10 Minuten vor der Klausur den Zoom-Raum. Link gibt es auf der Homepage.
  • Es gibt zwei Breakout-Räume: den Hauptraum und einen Raum für Fragen+Antworten. Wir werden Sie den jeweiligen Räumen zuweisen.

  • Notfall-Telefonnummern: 0221 470 - 89202, 89207 (English), 1037.

    Am besten aufschreiben. Bei akuten und ernsten Internetproblemen rufen Sie bitte umgehend an!

Während der Klausur:

  • Zu Beginn der Klausur veröffentlichen wir auf der Kursseite einen Link über den Sie die Klausur als PDF abrufen können. Es wird eine individuelle Klausur pro Matrikelnummer geben. Die Matrikelnummer wird auch im PDF selbst promiment dargestellt sein. Überprüfen Sie unbedingt, dass Sie die richtige Klausur bearbeiten!
  • Bitte lassen Sie die Kamera während der Prüfung so auf sich gerichtet, dass wir Sie beim Schreiben beobachten können.
  • Behalten Sie das Chat-Fenster im Auge. Dort werden wir Ankündigungen machen, die Antworten auf Fragen für alle sichtbar veröffentlichen, und sie auch individuell ansprechen, wenn wir Ihren Ausweis prüfen wollen oder es Probleme mit Ihrer Übertragung gibt.
  • Wenn Sie eine Frage haben, nutzen Sie bitte die Zoom-Funktion "Hand heben", oder schreiben Sie per Zoom-Chat an einen der Tutoren. Bitte keine Nachrichten an "Alle" schicken!
  • Schreiben Sie ihre Matrikelnummer auf die Zettel.

Nach der Klausur:

  • Erstellen Sie ein PDF-Dokument und schicken Sie es an exams-gross@uni-koeln.de.
  • Wir werden jede erfolgreich eingegangen Email zügig bestätigen. Bitte halten Sie sich verfügbar, bis Sie die Bestätigung erhalten haben. Kontaktieren Sie uns im Zoom-Chat, wenn Sie nach einigen Minuten keine Bestätigung bekommen haben.
  • Bewahren Sie ihre Unterlagen auf! Z.B. für den Fall, dass wir etwas nicht lesen können.

Erlaubt:

  • Die Klausur ist "Open Book". Sie können beliebige Notizen oder Bücher verwenden. Sie dürfen auch elektronische Dokumente (PDF o.Ä.) verwenden. Bitte nicht online ("Google") oder in elektronischen Dokumenten nach Stichworten suchen - nicht weil wir prinzipiell etwas dagegen haben, sondern weil wir es nicht von Chatten unterscheiden können. Siehe unten. (Hinweis: Zu viel Material wird sie mehr ablenken als Ihnen helfen. Wir empfehlen das VL-Skript, ihre Übungszettel und vielleicht ein Lehrbuch das Sie gut kennen).
  • Toilettengang. Bitte wie in Präsenz auch üblich per "Hand heben" Tutor kontaktieren. Dann entlassen wir Sie kurz.

Nicht gestattet

  • Jede Form der Kommunikation während der Prüfung! Ernsthaft!

Fragen und Antworten (wird laufend aktualisiert werden)

  • Mir fehlen technische Geräte / ein ruhiger Ort / Kinderbetreuung o.Ä. Was nun?
    • Bitte versuchen Sie zunächst im persönlichen Umfeld Hilfe zu bekommen. Wenn das nicht möglich ist, wenden Sie sich an uns. Im begrenzten Maß können wir z.B. Geräte oder Einzelbüros zur Verfügung stellen.
  • Kann ich auf einem Tablet statt auf Papier schreiben?
    • Ja.
  • Mein Internet ist meistens OK, wackelt aber manchmal.
    • Schon OK. Rufen Sie uns per Telefon an, wenn es zu unstabil wird. Im schlimmsten Fall müssen wir die Prüfung wiederholen.
  • Es gibt viele neue Regeln! Wird jeder Verstoß (wackliges Internet, Kamera ist mal falsch ausgerichtet, o.Ä.) als Täuschung gewertet?
    • Nein. Wenn wir uns nicht sicher sind, dass alles mit rechten Dingen zugegangen ist, dann werden wir die Prüfung später auf geeignete Art wiederholen. (In eindeutigen Fällen ist das natürlich anders! Also wer z.B. eine Lösung einer anderen personalisierten Klausur abgibt, hat ein echtes Problem!)
  • Muss das PDF angehängt sein, oder geht auch ein Link auf einen Cloud-Anbieter (FileShare, Google Drive o.Ä.)?
    • Geht auch. Hauptsache, wir können das abrufen.
  • Ich habe nur eine Kamera. Mit der kann ich mich filmen, muss sie aber auch verwenden, um hinterher die Klausur zu fotografieren. Dazu muss ich dann Zoom beenden.
    • Ist OK. Bitte zügig arbeiten. Bitte im Anschluss noch mal im Zoom einloggen, falls wir Rückfragen haben.
  • Welche Software soll ich verwenden um ein PDF zu erstellen?
    • Es gibt viele Lösungen. Office Lens funktioniert ganz gut. Bitte vorher mal testen. Auch bitte testen, ob Ihr Email-Anbieter das Versenden großer Dateien erlaubt.

Die mündliche Prüfung

Dies ist ein experimentelles Format, bei dem wir mehr inhaltliches Verständnis prüfen wollen, als die Fähigkeit fehlerfrei zu rechnen.

Im Vorfeld

  • Die mündliche Prüfung findet zur gleichen Zeit wie die schriftliche statt. Melden Sie sich wie zur Klausur auch zur Prüfung an.
  • Sie müssen uns vorher nicht im Vorfeld darüber informieren, welches Format sie wählen. Im Zoom-Raum wird es einen weiteren Breakout-Room "Mündliche Prüfung" geben -- treten Sie in den Minuten vor der Prüfung einfach diesem Raum bei.
  • Schauen Sie sich die Liste der Themen auf der Kurs-Webseite an!

Während der Prüfung

  • Zu Beginn der Prüfung werden wir drei Fragenkomplexe stellen. Sie können zwei davon auswählen.
  • Wir erwarten, dass Sie zu jeder der ausgewählten Frage je ein 15-Minuten-Video aufnehmen.
  • Sie haben 20 Minuten Zeit, sich vorzubereiten. Bleiben Sie in dieser Zeit bitte im Zoom. Es gelten die gleichen Regeln wie auch in der Klausur. Insbesondere dürfen Sie Ihre Materialien einsehen. Bei Fragen stehen wir per Zoom-Chat zur Verfügung.
  • Dann haben Sie 40 Minuten Zeit, die beiden Videos aufzunehmen. Also 2 x 15 Minuten, plus etwas Buffer. In diese Zeit müssen Sie nicht auch per Zoom online sein (wir gehen also nicht davon aus, dass Sie zwei Geräte besitzen).
  • Reden Sie einfach drauf los! Sie haben keine Zeit, noch einmal neu anzufangen oder die Videos zu bearbeiten. Das Modell sollte "ein aufgenommenes Gespräch" sein, nicht ein perfektes Erklärvideo, dass man veröffentlichen könnte. Wir bewerten nicht die Performance, ob Sie Stottern oder sich oft korrigieren. Nur der Inhalt zählt.
  • Sollte ein Video länger als 15 Minuten sein, werden wir den Rest nicht unbedingt ansehen. Kürzere Videos sind natürlich kein Problem - und auch kein Malus, wenn sie genug Inhalt haben.
  • Zum Aufnehmen können Sie ein beliebges Computer-Programm verwenden (z.B. Zoom oder OBS Studio). Testen Sie aber bitte unbedingt vorher das System.
  • Richten Sie die Kamera auf ein Blatt Papier / eine Tafel o.Ä., so dass Sie ihre Erklärungen durch ein paar Notizen unterstützen können. Starten Sie mit einem leeren Blatt - also bitte keine Notizen vorbereiten und dann nur erklären.

Am Ende

  • Laden Sie Ihr Video auf eine Online-Plattform Ihrer Wahl hoch (z.B. Dropbox / Google Drive / OneDrive / ihre persönliche Webseite). Schicken Sie dann einen Link an exams-gross@uni-koeln.de.
  • Bitte schicken Sie keine Videos per Email-Anhang!
  • Wir werden die Adresse die ganze Zeit über beobachten, die Einsendungen runterladen, kurz öffnen, und dann unmittelbar bestätigen, wenn alles OK ist. Bitte bleiben Sie online, bis Sie die Bestätigung erhalten haben.

Allgemeines

  • Das Format ist ein Experiment. Wir werden es wohlwollend bewerten und über kleinere Probleme gerne hinwegsehen. Für eine gute Note ist aber natürlich Substanz nötig!
  • Bei technischen Schwierigkeiten werden wir nach Möglichkeiten Lösungen finden. Bitte kontaktieren Sie uns umgehend, wenn etwas schief läuft.
  • Wenn sich ein technisches Problem nicht lösen läßt, werden wir im schlimmsten Fall die Prüfung wiederholen, vielleicht auf eine andere Art.
  • Beispiel-Fragen finden Sie auf der Homepage der Vorlesung.

Klausur

Anleitung Prüfung TP2

Wie in der VL besprochen wird es zwei Prüfungsformate geben:

  • Eine elekronische Klausur,
  • Eine mündliche Prüfung im Video-Format.

Beide Prüfungsarten werden gleichzeitig online stattfinden (10.8. von 9.00 - 12.00 Uhr, Nachklausur: 21.9., 13.00 - 16.00 Uhr). Die Nachprüfungen werden das gleiche Format haben.

Für diejenigen, die die TP1-Klausur im letzten Semester geschrieben haben: Für die E-Klausur werden wir das gleiche Format verwenden wie letztes Mal.

Die Klausur

Sie benötigen:

  • ...einen Laptop / Tablet / ein Telefon das zuverlässig ein Kamerabild von Ihnen per Zoom übertragen kann.
  • ...eine Möglichkeit, Ihre Rechnungen am Ende der Zeit abzufotografieren, zu scannen oder sonstwie digital zu erfassen und als einzelnes PDF per Email zu verschicken.
  • ...einen ruhigen Raum, den Sie in der Zeit der Klausur alleine und ungestört nutzen können.
  • ...eine Kölner Matrikelnummer, mit der Sie sich zur Klausur angemeldet haben.
  • ...Studierendenausweis und einen Ausweis mit Foto.

Vor der Klausur:

  • Melden Sie sich wie gewohnt zur Klausur an. Wenn Sie sich nicht anmelden können (z.B. Schülerstudierende), melden Sie sich per Email bei Mariami Gachechiladze.
  • Wenn Sie Probleme bei der KLIPS-Anmeldung hatten: Bitte per Email bei Frau Gachechiladze melden.
  • Öffnen Sie 10 Minuten vor der Klausur den üblichen Zoom-Raum der Vorlesung.
  • Es gibt zwei Breakout-Räume: den Hauptraum und einen Raum für Fragen+Antworten. Wir werden Sie den jeweiligen Räumen zuweisen.

  • Notfall-Telefonnummern: 0221 470 - 89239, 89207 (English), 1037.

    Am besten aufschreiben. Bei akuten und ernsten Internetproblemen rufen Sie bitte umgehend an!

Während der Klausur:

  • Zu Beginn der Klausur veröffentlichen wir auf der Kursseite einen Link über den Sie die Klausur als PDF abrufen können. Es wird eine individuelle Klausur pro Matrikelnummer geben. Die Matrikelnummer wird auch im PDF selbst promiment dargestellt sein. Überprüfen Sie unbedingt, dass Sie die richtige Klausur bearbeiten!
  • Bitte lassen Sie die Kamera während der Prüfung so auf sich gerichtet, dass wir Sie beim Schreiben beobachten können.
  • Behalten Sie das Chat-Fenster im Auge. Dort werden wir Ankündigungen machen, die Antworten auf Fragen für alle sichtbar veröffentlichen, und sie auch individuell ansprechen, wenn wir Ihren Ausweis prüfen wollen oder es Probleme mit Ihrer Übertragung gibt.
  • Wenn Sie eine Frage haben, nutzen Sie bitte die Zoom-Funktion "Hand heben", oder schreiben Sie per Zoom-Chat an einen der Tutoren. Bitte keine Nachrichten an "Alle" schicken!
  • Schreiben Sie ihre Matrikelnummer auf die Zettel (aber nach Möglichkeit bitte nicht Ihren Namen oder andere personenbezogene Daten - damit der Datenschutz uns nicht ins Gefängnis schickt wenn wir die Klausuren in der "Cloud" korrigieren).

Nach der Klausur:

  • Erstellen Sie ein PDF-Dokument und schicken Sie es an exams-gross@uni-koeln.de.
  • Wir werden jede erfolgreich eingegangen Email zügig bestätigen. Bitte halten Sie sich verfügbar, bis Sie die Bestätigung erhalten haben. Kontaktieren Sie uns im Zoom-Chat, wenn Sie nach einigen Minuten keine Bestätigung bekommen haben.
  • Bewahren Sie ihre Unterlagen auf! Z.B. für den Fall, dass wir etwas nicht lesen können.

Erlaubt:

  • Die Klausur ist "Open Book". Sie können beliebige Notizen oder Bücher verwenden. Sie dürfen auch elektronische Dokumente (PDF o.Ä.) verwenden. Bitte nicht online ("Google") oder in elektronischen Dokumenten nach Stichworten suchen - nicht weil wir prinzipiell etwas dagegen haben, sondern weil wir es nicht von Chatten unterscheiden können. Siehe unten. (Hinweis: Zu viel Material wird sie mehr ablenken als Ihnen helfen. Wir empfehlen das VL-Skript, ihre Übungszettel und vielleicht ein Lehrbuch das Sie gut kennen).
  • Toilettengang. Bitte wie in Präsenz auch üblich per "Hand heben" Tutor kontaktieren. Dann entlassen wir Sie kurz.

Nicht gestattet

  • Jede Form der Kommunikation während der Prüfung! Ernsthaft!

Fragen und Antworten (wird laufend aktualisiert werden)

  • Mir fehlen technische Geräte / ein ruhiger Ort / Kinderbetreuung o.Ä. Was nun?
    • Bitte versuchen Sie zunächst im persönlichen Umfeld Hilfe zu bekommen. Wenn das nicht möglich ist, wenden Sie sich an uns. Im begrenzten Maß können wir z.B. Geräte oder Einzelbüros zur Verfügung stellen.
  • Kann ich auf einem Tablet statt auf Papier schreiben?
    • Ja.
  • Mein Internet ist meistens OK, wackelt aber manchmal.
    • Schon OK. Rufen Sie uns per Telefon an, wenn es zu unstabil wird. Im schlimmsten Fall müssen wir die Prüfung wiederholen.
  • Es gibt viele neue Regeln! Wird jeder Verstoß (wackliges Internet, Kamera ist mal falsch ausgerichtet, o.Ä.) als Täuschung gewertet?
    • Nein. Wenn wir uns nicht sicher sind, dass alles mit rechten Dingen zugegangen ist, dann werden wir die Prüfung später auf geeignete Art wiederholen. (In eindeutigen Fällen ist das natürlich anders! Also wer z.B. eine Lösung einer anderen personalisierten Klausur abgibt, hat ein echtes Problem!)
  • Muss das PDF angehängt sein, oder geht auch ein Link auf einen Cloud-Anbieter (FileShare, Google Drive o.Ä.)?
    • Geht auch. Hauptsache, wir können das abrufen.
  • Ich habe nur eine Kamera. Mit der kann ich mich filmen, muss sie aber auch verwenden, um hinterher die Klausur zu fotografieren. Dazu muss ich dann Zoom beenden.
    • Ist OK. Bitte zügig arbeiten. Bitte im Anschluss noch mal im Zoom einloggen, falls wir Rückfragen haben.
  • Welche Software soll ich verwenden um ein PDF zu erstellen?
    • Es gibt viele Lösungen. Office Lens funktioniert ganz gut. Bitte vorher mal testen. Auch bitte testen, ob Ihr Email-Anbieter das Versenden großer Dateien erlaubt.

Die mündliche Prüfung

Dies ist ein experimentelles Format, bei dem wir mehr inhaltliches Verständnis prüfen wollen, als die Fähigkeit fehlerfrei zu rechnen.

Im Vorfeld

  • Die mündliche Prüfung findet zur gleichen Zeit wie die schriftliche statt. Melden Sie sich wie zur Klausur auch zur Prüfung an.
  • Sie müssen uns vorher nicht im Vorfeld darüber informieren, welches Format sie wählen. Im Zoom-Raum wird es einen weiteren Breakout-Room "Mündliche Prüfung" geben -- treten Sie in den Minuten vor der Prüfung einfach diesem Raum bei.
  • Schauen Sie sich die Liste der Themen auf der Kurs-Webseite an!

Während der Prüfung

  • Zu Beginn der Prüfung werden wir drei Fragenkomplexe stellen. Sie können zwei davon auswählen.
  • Wir erwarten, dass Sie zu jeder der ausgewählten Frage je ein 15-Minuten-Video produzieren.
  • Sie haben 20 Minuten Zeit, sich vorzubereiten. Bleiben Sie in dieser Zeit bitte im Zoom. Es gelten die gleichen Regeln wie auch in der Klausur. Insbesondere dürfen Sie Ihre Materialien einsehen. Bei Fragen stehen wir per Zoom-Chat zur Verfügung.
  • Dann haben Sie 40 Minuten Zeit, die beiden Videos aufzunehmen. Also 2 x 15 Minuten, plus etwas Buffer. In diese Zeit müssen Sie nicht auch per Zoom online sein (wir gehen also nicht davon aus, dass Sie zwei Geräte besitzen).
  • Reden Sie einfach drauf los! Sie haben keine Zeit, noch einmal neu anzufangen oder die Videos zu bearbeiten. Das Modell sollte "ein aufgenommenes Gespräch" sein, nicht ein perfektes Erklärvideo, dass man veröffentlichen könnte. Wir bewerten nicht die Performance, ob Sie Stottern oder sich oft korrigieren. Nur der Inhalt zählt.
  • Sollte ein Video länger als 15 Minuten sein, werden wir den Rest nicht unbedingt ansehen. Kürzere Videos sind natürlich kein Problem - und auch kein Malus, wenn sie genug Inhalt haben.
  • Zum Aufnehmen können Sie ein beliebges Computer-Programm verwenden (z.B. Zoom oder OBS Studio). Testen Sie aber bitte unbedingt vorher das System.
  • Richten Sie die Kamera auf ein Blatt Papier / eine Tafel o.Ä., so dass Sie ihre Erklärungen durch ein paar Notizen unterstützen können. Starten Sie mit einem leeren Blatt - also bitte keine Notizen vorbereiten und dann nur erklären.

Am Ende

  • Laden Sie Ihr Video auf eine Online-Plattform Ihrer Wahl hoch (z.B. Dropbox / Google Drive / OneDrive / ihre persönliche Webseite). Schicken Sie dann einen Link an exams-gross@uni-koeln.de.
  • Bitte schicken Sie keine Videos per Email-Anhang!
  • Wir werden die Adresse die ganze Zeit über beobachten, die Einsendungen runterladen, kurz öffnen, und dann unmittelbar bestätigen, wenn alles OK ist. Bitte bleiben Sie online, bis Sie die Bestätigung erhalten haben.

Allgemeines

  • Das Format ist ein Experiment. Wir werden es wohlwollend bewerten und über kleinere Probleme gerne hinwegsehen. Für eine gute Note ist aber natürlich Substanz nötig!
  • Bei technischen Schwierigkeiten werden wir nach Möglichkeiten Lösungen finden. Bitte kontaktieren Sie uns umgehend, wenn etwas schief läuft.
  • Wenn sich ein technisches Problem nicht lösen läßt, werden wir im schlimmsten Fall die Prüfung wiederholen, vielleicht auf eine andere Art.

Beispiel

Hier ist eine Beispiel-Aufgabe:

Quantenmechanischer Drehimpuls

Grundlagen:

  • Was ist die Definition eines quantenmechanischen Drehimpulses?
  • Wie ist $L^2$ definiert? Warum ist dieser Operator wichtig?
  • Sei $\mathcal{H}$ ein Hilbertraum auf dem die Drehimpulsoperatoren wirken. Welche Quantenzahlen nutzt man, um die Elemente einer Basis zu benennen? Wie hängen die Quantenzahlen zusammen?
  • Wie sehen die Drehimpulsoperatoren für eine Spin-$1/2$-Darstellung aus?
  • Welche Operatoren definieren den Bahndrehimpuls?

Für eine gute Note:

  • Erklären Sie, wie man mit Hilfe von Leiteroperatoren sehen kann, dass der Drehimpuls quantisiert ist.

Für eine exzellente Note:

  • Erklären Sie: Woher kommen die Vertauschungsrelationen? Was ist ihre Rolle? Was hat das Ganze mit Drehungen zu tun?

Tensoren

In [39]:
import matplotlib.pyplot as plt
from IPython.display import set_matplotlib_formats
set_matplotlib_formats('svg') 
plt.rcParams['figure.figsize'] = (9,6)

Tensoren kommen in allen Bereichen der Mathematik und den Naturwissenschaften vor. Das Thema ist nicht an sich schwierig - kann aber verwirrend wirken, da es so viele unterschiedliche Zugäng gibt. Wenn man in Lehrbüchern nach dem Satz "Ein Tensor ist..." sucht, findet man schnell ein halbes Dutzend verschiedener Definitionen, die auf den ersten Blick nichts miteinandern zu tun haben. Hier versuche ich, etwas Ordnung in das Chaos zu bringen.

Sammlung wenig hilfreicher Definitionen

Um das Problem zu demonstrieren, habe ich mit der deutschen Wikipediaseite zum Begriff Tensor angefangen, und die Definition von der Seite und von dort verlinkten Referenzen zusammengestellt. Ich glaube nicht, dass man da schlau draus werden kann. (Der englische Artikel ist als Einstieg hilfreicher).

Ein Tensor ist eine multilineare Abbildung, die eine bestimmte Anzahl von Vektoren auf einen Vektor abbildet und eine universelle Eigenschaft erfüllt.

Aha. Eine universelle Eigenschaft. Das hilft ja weiter, als erste Definition. (Ganz abgesehen davon, dass das Quatsch ist. Die "universelle Eigenschaft" gilt für Tensorprodukträume, nicht für einzelne Tensoren).

Tensoren sind dadurch definiert, dass sich ihre Komponenten auf bestimmte Weise transformieren.

Dadurch sind Tensoren definiert. Durch eine bestimmte Weise. Alles klar?

  • Lineare Algebra und Analytische Geometrie -- Ein Lehrbuch für Physiker und Mathematiker von Theodor Bröcker

Mmh. Die Definition erstreckt sich über zwei Seiten, die sich an eine Einführung in die Kategorientheorie anschließt. Dann wird das Tensorprodukt zwischen Vektorräume mittels eines kommutativen Diagrams über eine Universalitätseigenschaft bezügliche der Realisierbarkeit bilinear Abbildungen eingeführt. Dann wird erst mal die Existenz bewiesen.

Ein Lehrbuch für Physiker? Na gut.

  • Angewandte Tensorrechnung von Prof. Dr. rer. nat. Dr. mont. h.c. (ja, wirklich) Horst Lippmann

Ein Tensor $m$-ter Stufe ist eine lineare Abbildung der Vektor-$m$-Tupel des $n$-dimensionalen metrischen Raumes auf Skalare.

OK, schon besser. Aber was soll das mit dem "metrischen Raum"?

Tensoren als Anordnung von Zahlen

Ein Vektor ist eine Anordnung (Englisch: array) von Zahlen entlang einer Achse.

Eine Matrix ist eine Anordnung von Zahlen entlang zweier Achsen.

Ein Tensor ist eine Anordnung von Zahlen entlang $n$ Achsen. Die Zahl $n$ heißt die Stufe des Tensors.

Vektoren sind also Tensoren erster Stufe und Matrizen Tensoren zweiter Stufe. (Einzelne Zahlen nennt man auch Tensoren nullter Stufe oder Skalare).

In [38]:
# Beispiel für einen Tensor dritter Stufe in numpy

import numpy as np

T = np.array([[[1,2],[3,4]],[[5,6],[7,8]]])
Out[38]:
array([[[1, 2],
        [3, 4]],

       [[5, 6],
        [7, 8]]])

Um auf ein Element zuzugreifen, muss man $n$ Indizes angeben. Auf dem Papier schreibt man die Indizes meistens als Subskripte $T_{i_1, i_2, \dots, i_n}$, am Computer meistens in Klammern $T[i_1, i_2, \dots, i_n]$.

In [3]:
# Achtung: In einigen Computersprachen laufen die Indizes ab 0 (python, C), in anderen ab 1 (Mathematica)

print(T[0,0,0], " ", T[0,0,1], " ", T[0,1,0], "...", T[1,1,1])
1   2   3 ... 8

Die Anzahl der Enträge eines Vektors nennt man seine Dimension. Um die Form eines Tensors festzulegen, muss für jede seiner Achsen eine Dimension festlegen.

In [4]:
# Tensoren verschiedener Form (Englisch 'shape')

print("Form von T:", T.shape, "\n\n")

S = np.ones((2,2,3))

print("Tensor S:\n", S)
print("\nForm von S:", S.shape)
Form von T: (2, 2, 2) 


Tensor S:
 [[[1. 1. 1.]
  [1. 1. 1.]]

 [[1. 1. 1.]
  [1. 1. 1.]]]

Form von S: (2, 2, 3)

Operationen auf Tensoren

Die vier wichtigsten Operationen auf Tensoren sind: Skalarenmultiplikation, Addition, Tensorprodukte und Kontraktionen.

Addition und Skalarenmultiplikation

Das Produkt einer Zahl mit einem Tensor ist elementweise definiert (Skalarenmultiplikation, nicht zu verwechseln mit Skalarpodukt!). Ebenso ist die Summe zweier Tensoren gleicher Form elementweise definiert. \begin{align*} (\lambda T)_{i_1, \dots, i_n} = \lambda T_{i_1, \dots, i_n}, \qquad (U + V)_{i_1, \dots, i_n} = U_{i_1, \dots, i_n} + V_{i_1, \dots, i_n}. \end{align*} Skalarenmultiplikation und Summen funktionieren für allgemeine Tensoren also genau so, wie Sie das für Vektoren und Matrizen schon kennen.

In [40]:
2*S
Out[40]:
array([[[2., 2., 2.],
        [2., 2., 2.]],

       [[2., 2., 2.],
        [2., 2., 2.]]])
In [25]:
# Tensoren unterschiedlicher Form kann man nicht addieren.
S+T
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-25-141ffb34651c> in <module>
      1 # Tensoren unterschiedlicher Form kann man nicht addieren.
----> 2 S+T

ValueError: operands could not be broadcast together with shapes (2,2,3) (2,2,2) 

In anderen Worten: Die Menge der Tensoren gegebener Form bilden einen Vektorraum. Wenn die Einträge reell sind, nennt man den Vektorraum der Tensoren mit Form $(d_1, \dots, d_n)$ auch das Tensorprodukt $\mathbb{R}^{d_1} \otimes \cdots \otimes \mathbb{R}^{d_n}$. Analoges gilt für den Fall, dass die Einträge aus einem beliebgen Zahlenkörper $\mathbb{F}$ kommen. In der Quantenphysik ist der komplexe Fall $\mathbb{F}=\mathbb{C}$ besonders wichtig.

Produkte von Tensoren

Jetzt wird es interessanter.

Das Tensorprodukt zwischen Tensoren der Stufe $n$ und $m$ ist ein Tensor der Stufe $n+m$ dessen Elemente Produkte sind: \begin{align*}\tag{TP} (U\otimes V)_{i_1, \dots, i_{m+n}} = U_{i_1, \dots, i_n} V_{i_{n+1}, ..., i_{n+m}}. \end{align*}

Achtung: Das Produktsymbol "$\otimes$" wird hier verwendet, um Tensoren miteinander zu verknüpfen -- nicht, wie zuvor, Vektorräume!

Beispiele

  • Gemeinsame Wahrscheinlichkeitsverteilungen

Betrachten Sie einen Würfel dessen Wahrscheinlichkeit $i$ Augen zu zeigen $p_i$ ist. Die Wahrscheinlichkeitsverteilung wird also durch einen Tensor erster Stufe der Dimension $6$ beschrieben. Nehmen wir nun einen zweiten Würfel mit Wahrschnlichkeitsverteilung $q_j$ hinzu. Wenn man beide Würfel nacheinander wirft, ist die Wahrscheinlichkeit das Ergebnispaar $(i,j)$ zu bekommen durch die gemeinsame Verteilung $P_{i,j}$ gegeben. Die gemeinsame Verteilung ist also ein Tensor zweiter Stufe. Wennn die Würfel unabhängig voneinandern sind, dann gilt \begin{align*} P_{i, j} := p_i q_j, \end{align*} also $P=p\otimes q$.

Nicht alle gemeinsamen Verteilungen sind Produkte. Nehmen wir z.B. an, dass die beiden Würfel nicht nur die gleiche Verteilung $p=q$ haben, sondern durch geschickt angebrachte Magnete dergestalt gekoppelt sind, dass sie bei jedem gemeinsamen Wurf die gleiche Zahl zeigen. Dann ist $P_{i,j} = \delta_{i,j} p_i \neq p_i q_j$. In Tensorsprache: $P\neq p\otimes q$; probabilistisch ausgedrückt: die beiden Prozesse sind nicht unabhängig.

  • Funktionen mehrerer Argumente

Wir haben bisher Indizes betrachtet, die eine endliche Anzahl von Werten annehmen können. Man kann die Definition leicht auf unendliche Indizes verallgemeinern, oder sogar beliebige reelle Zahlen als Indizes zulassen. Dann ist ein Tensor $n$-ter Stufe einfach eine Funktion auf $\mathbb{R}^n$ und das Tensorprodukt ist \begin{align*} (f\otimes g)(x_1, \dots, x_n, x_{n+1}, \dots, x_{n+m}) = f(x_1, \dots, x_n) g(x_{n+1}, \dots, x_{n+m}) \end{align*}

Anmerkungen

  • Zeigen Sie: Ein Tensor $T$ zweiter Stufe ist genau dann ein Produkt $T=v \otimes w$, wenn die Matrix $T_{ij}$ Rang eins hat.
  • Die "meisten" Tensoren haben keine Produktform. Das kann man durch Parameterzählen einsehen. Z.B. für Tensoren der Form $(d_1, d_2)$ (also $d_1 \times d_2$-Matrizen) wird ein Produkt $v\otimes w$ durch $d_1+d_2 -1$ Parameter beschrieben (Übung: Woher kommt die $-1$?), das sind viel weniger als die $d_1 d_2$ Paramter einer allgemeinen Matrix.
  • Produkttensoren heißen auch einfache Tensoren.
  • In der Quantenmechanik heißen Tensoren die keine Produktform haben verschränkt.
  • Ein Tensor der Form $(d_1, \dots, d_n)$ hat $d_1 \cdots d_n$ Paramter. Das sind exponentiell viele in $n$. Wer unvorsichtig am Computer Tensorprodukte bildet, verbraucht schnell den gesamten Speicher. Übringes: Die Rechenleistung von Quantencomputern beruht darauf, dass quantenmechanische Systeme durch sehr hochdimensionale Tensoren beschrieben werden, die klassische Computer in ihrem Speicher nicht mehr abbilden können.
  • Nach (TP) ist das Tensorprodukt ist offenbar linear in jedem Eingang:
\begin{align*} (U^{(1)}+U^{(2)})\otimes V &= U^{(1)} \otimes V +U^{(2)} \otimes V, \\ U\otimes (V^{(1)}+V^{(2)}) &= U\otimes V^{(1)} + U\otimes V^{(2)}. \end{align*}
In [26]:
# Zufälliger Tensor der Form (2,2)
A = np.random.randint(0,10,(2,2)) 
print("A: \n", A, "\n")

# Zufälliger Vektor
B = np.random.randint(0,10,2)
print("B: \n", B, "\n")

# Tensorprodukt in numpy
AB = np.multiply.outer(A,B);

print("A⊗B: \n", AB)
A: 
 [[8 6]
 [6 6]] 

B: 
 [3 8] 

A⊗B: 
 [[[24 64]
  [18 48]]

 [[18 48]
  [18 48]]]

Produktbasen

Sei $e^{(i)}$ der Vektor mit Komponenten $e^{(i)}_j = \delta_{i,j}$. Die Vektoren $\{e^{(1)}, \dots, e^{(d)}\}$ bilden eine Basis für $\mathbb{R}^d$.

Man kann leicht sehen, dass die Menge der Tensorprodukte \begin{align}\tag{*} e^{(i_1)} \otimes \dots \otimes e^{(i_n)}\qquad i_1 = 1, \dots, d_1, \quad i_2 = 1, \dots, d_2, \dots \end{align} eine Basis des Vektorraums der Tensoren der Form $(d_1, \dots, d_n)$ ist.

Für solche Produkte gibt es (leider...) sehr viele verschiedene Schreibweisen: \begin{align*} e^{(i_1)} \otimes \dots \otimes e^{(i_n)} = e^{(i_1)} \cdots e^{(i_n)} = e^{(i_1, \dots, i_n)}. \end{align*}

Übung: Statt mit der Standardbasis $e^{(1)}, \dots, e^{(d)}$ kann man mit jeder beliebigen Basis $b^{(1)}, \dots, b^{(d)}$ des $d$-dimensionalen Raumes beginnen, und daraus wie in (*) $n$-fache Tensorprodukte formen. Zeigen Sie, dass auf diese Art immer eine Basis im Raum der Tensoren $n$-ter Stufe entsteht.

In [28]:
def basisVector(i,d):
    return([1 if i==j else 0 for j in range(d)])

print("Basis für Vektoren (Stufe 1)")
for i in range(2):
    print(basisVector(i,2),"\n")
    
print("\nProduktbasis für Matrizen (Stufe 2)")
for i in range(2):
    for j in range(2): 
        print(np.multiply.outer(basisVector(i,2), basisVector(j,2)),"\n")
        
print("\nProduktbasis für Tensoren der Stufe 3")
for i in range(2):
    for j in range(2):  
        for k in range(2):  
            print(np.multiply.outer(np.multiply.outer(basisVector(i,2), basisVector(j,2)), basisVector(k,2)),"\n\n")
Basis für Vektoren (Stufe 1)
[1, 0] 

[0, 1] 


Produktbasis für Matrizen (Stufe 2)
[[1 0]
 [0 0]] 

[[0 1]
 [0 0]] 

[[0 0]
 [1 0]] 

[[0 0]
 [0 1]] 


Produktbasis für Tensoren der Stufe 3
[[[1 0]
  [0 0]]

 [[0 0]
  [0 0]]] 


[[[0 1]
  [0 0]]

 [[0 0]
  [0 0]]] 


[[[0 0]
  [1 0]]

 [[0 0]
  [0 0]]] 


[[[0 0]
  [0 1]]

 [[0 0]
  [0 0]]] 


[[[0 0]
  [0 0]]

 [[1 0]
  [0 0]]] 


[[[0 0]
  [0 0]]

 [[0 1]
  [0 0]]] 


[[[0 0]
  [0 0]]

 [[0 0]
  [1 0]]] 


[[[0 0]
  [0 0]]

 [[0 0]
  [0 1]]] 


Brak-Ket-Notation

In der Quantenmechanik nutzt man die Dirac oder Bra-Ket-Notation für Vektoren: \begin{align*} e^{(i)} = |e^{(i)}\rangle. \end{align*} Wenn (zumindest dem Autor...) klar ist, auf welche Basis sich der Index bezieht, läßt man das Symbol für die Basis oft einfach weg: \begin{align*} e^{(i)} = |e^{(i)}\rangle = |i\rangle. \end{align*} Es ergeben sich noch mehr Schreibweisen für Tensorprodukte: \begin{align*} e^{(i_1)} \otimes \cdots \otimes e^{(i_n)} = |e^{(i_1)}\rangle \otimes \dots \otimes |e^{(i_n)}\rangle = |e^{(i_1)}\rangle \cdots |e^{(i_n)}\rangle = |i_1\rangle \cdots |i_n\rangle = |i_1, \dots, i_n\rangle = |i_1 \cdots i_n\rangle = \dots \end{align*}

Trivial Bemerkung: Da die Produkte $|i_1 \cdots i_n\rangle$ eine Basis bilden, kann man den Raum der Tensoren $n$-ter Stufe auch als Linearkombination der $|i_1 \cdots i_n\rangle$ definieren. Diese Sichtweise passt gut zu den Konventionen der Quantenmechanik. Dort werden Vektorräume oft als Raum der Linearkombinationen (auch: Superpositionen) einer Basis eingeführt -- zum Beispiel der Hilbertraum eines Spin-$l$-Systems als \begin{align*} \mathcal{H}_{l} = \left\{ \sum_m c_m |m\rangle \,\Big|\, m \in -l, \dots , l \right\}. % \simeq % \mathbb{C}^{2l + 1}. \end{align*} Konsequenterweise definiert man dann das Tensorprodukt zweier Hilberträume $\mathcal{H}_A = \{ \sum_i \alpha_i |i\rangle \}$, $\mathcal{H}_B = \{ \sum_j \beta_i |j\rangle \}$, als \begin{align*} \mathcal{H}_A \otimes \mathcal{H}_B = \left\{ \sum_{ij} c_{ij} |i, j \rangle \right\} \end{align*} wobei man für \begin{align*} |\alpha\rangle = \sum_i \alpha_i |i\rangle, \qquad |\beta\rangle = \sum_j \beta_j |j\rangle \end{align*} fordert, dass \begin{align}\tag{*} |\alpha\rangle\otimes|\beta\rangle = \sum_{ij} \alpha_i \beta_j |ij\rangle. \end{align}

Ich betone, dass das keine neue Definition ist, sondern nur eine andere Schreibweise für die zuvor eingeführten Konzepte. Wenn man die "kets" mit ihren Koeffizientenvektoren bezüglich der definierenden Basen der jeweiligen Hilberträume gleichsetzt, dann ist (*) nichts als

\begin{align*} (\alpha\otimes \beta)_{ij} = \alpha_i \beta_j, \end{align*}

also die Definition des Tensorprodukts (TP).

Ausblick: Basisfreie Definitionen

Anmerkung für Liebhaber der Mathematik: Man kann ein Tensorprodukt auch zwischen Vektorräumen $V, W$ definieren, in denen keine Basis ausgezeichnet ist. Dafür gibt es verschiedenen Herangehensweisen:

  1. Man führt einfach irgendeine Basis ein, definiert das Tensorprodukt wie oben beschrieben, und zeigt am Ende, dass das Resultat nicht von der Basis abhängt.
  2. Man definiert $V\otimes W$ als Dualraum des Vektorraums der bilinearen Funktionale auf $V$ und $W$. Dazu später mehr.
  3. Man definiert $V\otimes W$ in zwei Schritten. Zunächst führt man den Vektorraum $G$ aller Linearkombinationen von Objekten der Form $v\otimes w, v\in V, w\in W$ ein, wobei "$\otimes$" hier nur ein Symbol ist. Der Name $G$ steht für "gigantisch" - Sie sehen gleich, warum. In $G$ definiert man den Unterraum $R$ aller Linearkombinationen der Form $v\otimes (w^{(1)} + w^{(2)}) - v\otimes w^{(1)} - v\otimes w^{(2)}, v\otimes (\lambda w) - \lambda (v\otimes w)$ und analog. Das Tensorprodukt $V\otimes W$ ist dann der Quotientenvektorraum $G/R$. Sie mögen als Übung gerne die Details ergänzen und zeigen, dass man das gleiche Ergebnis erhält wie bei den anderen Ansätzen. Der Vorteil der Konstruktion ist, dass sie manifest basisunabhängig ist. Der Nachteil ist, dass man Kopfschmerzen bekommt und dass, selbst wenn $V$ und $W$ und daher $V\otimes W$ endlichdimensional sind, man zwischenzeitlich mit $G$ einen überabzählbar-undendlich-dimensionalen Raum konstruiert hat, nur um dann, mit $R$, die allermeisten Dimensionen wieder herauszudividieren. Eine konzeptionelle Achterbahnfahrt!

Aufzählung von Elementen einer Produktbasis

Wir betrachten den wichtigen Spezialfall $d_1 = \dots = d_n = d$. Die Elemente $e^{(i_1)}\otimes \dots \otimes e^{(i_n)}$ einer Produktbasis werden durch $n$ Indizes $(i_1, \dots, i_n)$ bezeichnet. Insgesamt enthält sie also $d^n$ Elemente. Wenn man die Indizes jeweils von $0$ bis $d-1$ laufen läßt, dann ist $(i_1, \dots, i_n)$ die $d$-adyische Darstellung einer ganzen Zahl zwischen $0$ und $d^n-1$. Auf diese Art kann man einen Tensor der Form $(d, d, \dots)$ als Vektor der Dimension $d^n$ schreiben. Man nennt diesen Prozess Vektorisierung oder flattening.

In [30]:
S.flatten()
Out[30]:
array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])

Kontraktionen

Erinnern Sie sich, dass die Spur (Englisch: trace) einer Matrix die Summer der Diagonalelemente ist: \begin{align*} \mathrm{tr} M = \sum_i M_{i,i}. \end{align*} Ebenso kann man bei Tensoren höherer Stufe zwei Indizes gleicher Dimension gleichsetzen und aufsummieren. Das nennt man eine Kontraktion (auch: Verjüngung). Es ergibt sich ein Tensor, dessen Stufe um zwei verringert ist.

Beispiele

  • Betrachten Sie zwei Vektoren $u, v$. Ihr Tensorprodukt $u\otimes v$ ist ein Tensor zweiter Stufe mit Komponenten $u_i v_j$. Die Kontraktion $\sum_i u_i v_i$ ist einfach das euklidische Skalarprodukt.

  • Betrachten Sie zwei Matrizen $A, B$. Das Tensorprodukt $A\otimes B$ ist ein Tensor vierter Stufe mit Komponenten $(A\otimes B)_{i, j, k, l} = A_{i, j} B_{k,l}$. Kontrahiert man die mittleren beiden Indizes erhält man \begin{align*} \sum_{j} A_{i,j} B_{j,l} = (AB)_{i,l}, \end{align*} also das Matrixprodukt von $A$ und $B$. Kontrahiert man zusätzlich die beiden verbleibenden Indizes ergibt sich \begin{align*} \sum_{i,j} A_{i,j} B_{j,i} = \mathrm{tr} A B. \end{align*}

Graphische Notation

Für Tensoren hoher Stufe gibt es viele Möglichkeiten, Indizes zu kontrahieren. Um den Überblick zu behalten, hat sich eine graphische Notation eingebürgert:

  • Für jeden Tensor malt man ein Kästchen.
  • Für jeden Index erhält das Kästchen ein "Bein"
  • Kontrahierte Indizes werden verbunden

So kann man graphisch Beweise führen.

  • TBD: Zyklische Invarianz

Kroneckerprodukte

Betrachte eine $d\times d$-Matrix $M$. Sie definiert eine lineare Abbildung die einen Vektor $x$ der Dimension $d$ auf $\sum_j M_{ij} x_j$ abbildet.

Sei nun $T$ ein Tensor der $n$-ten Stufe, dessen Achsen jeweils die Dimension $d$ haben. Man kann nun $M$ mit jedem der $n$ Indizes kontrahieren.

TBD: Bild.

Auf diese Art entstehen $n$ lineare Abbildungen. Sei $M^{(k)}$ die Abbildung, bei der $M$ mit dem $k$-ten Index kontrahiert wird.

Allgemeiner: Wähle $n$ Matrizen $A, B, C, ...$. Das Tensorprodukt $A\otimes B\otimes C \otimes \dots$ definiert eine lineare Abbildung auf Tensoren der Stufe $n$ auf offensichtliche Art:

TBD: Bild

Die erste Konstruktion ist tatsächlich ein Spezialfall: \begin{align*} M^{(1)} &= M \otimes \mathbb{1} \otimes \mathbb{1}\otimes \dots \otimes \mathbb{1}, \\ M^{(2)} &= \mathbb{1} \otimes M \otimes \mathbb{1} \otimes \dots \otimes \mathbb{1}, \\ \vdots &= \vdots \end{align*} oder, allgemein, \begin{align*} M^{(k)} &= \mathbb{1}^{\otimes (k-1)} \otimes M \otimes \mathbb{1}^{\otimes (n-k-1)}. \end{align*}

Beispiel

  • Wir betrachten einen Münzwurf: $p_0$ ist die Wahrscheinlichkeit von "Kopf" und $p_1$ die von "Zahl". Die physikalische Aktion "drehe die Münze um" wird mathematisch durch die Matrix \begin{align*} M = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \end{align*} beschrieben. Die Wahrscheinlichkeitsverteilung des Prozesses "werfe die Münze und drehe sie dann" ist also $\sum_{j} M_{i,j} p_j$. Betrachte nun $n$ Münzen, mit gemeinsamer Verteilung $P_{i_1, \dots, i_n}$. Die Abbildung $M^{(k)}$ beschreibt also einfach die Aktion "$k$-te Münze Umdrehen". In der Praxis haben Tensorproduktkonstruktionen häufig eine intuitive Interpretation, die den Umgang mit diesen Objekten erleichtert.

Das Kroneckerprodukt

Man kann die lineare Abbilldung bezüglich einer Produktbasis als $d^n \times d^n$-Matrix darstellen: \begin{align*} {K^{(i_1, \dots, i_n)}}_{(j_1, \dots, j_n)} = A_{i_1, j_1} B_{i_2, j_2} C_{i_3, j_3} \dots. \end{align*} Die resultierende Matrix heißt das Kroneckerprodukt der $A, B, C, \dots$.

Beispiel
  • Betrachte die "Pauli-$z$-Matrix" \begin{align*} \sigma_z= \begin{pmatrix}
    1 & 0  \\ 
    0 & -1 
    
    \end{pmatrix} \end{align} In der quantenmechanischen Theorie der "Kopplung zweier Spin-$1/2$-Systeme" spielt die $z$-Komponente des Gesamtdrehimpuls \begin{align} L_z:=\frac{\hbar}{2} (\sigma_z\otimes\mathbb{1} + \mathbb{1}\otimes\sigma_z) \end{align*} eine wichtige Rolle. Bezüglich der Produktbasis ist $L_z$ also als die Summe von zwei Kroneckerprodukten dargestellt.
In [36]:
sigmaz = np.array(
    [[1,  0],
     [0, -1]]
)

# Das Kroneckeckerprodukt ist numpy.kron()

np.kron(sigmaz,np.eye(2))
Out[36]:
array([[ 1.,  0.,  0.,  0.],
       [ 0.,  1.,  0.,  0.],
       [ 0.,  0., -1., -0.],
       [ 0.,  0., -0., -1.]])
In [37]:
.5*(
    np.kron(sigmaz,np.eye(2))
    +
    np.kron(np.eye(2),sigmaz)
)
Out[37]:
array([[ 1.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.],
       [ 0.,  0.,  0., -1.]])
  • Eine Hadamard-Matrix ist eine Matrix mit Einträgen $\pm 1$, deren Spalten orthogonal aufeinander stehen. Zeigen Sie: Das Kroneckerprodukt von zwei Hadamard-Matrizen ist wieder eine Hadamard-Matrix
In [32]:
# Eine Hadamard-Matrix

H = np.array(
    [[1,  1],
     [1, -1]]
)

np.kron(H, H)
Out[32]:
array([[ 1,  1,  1,  1],
       [ 1, -1,  1, -1],
       [ 1,  1, -1, -1],
       [ 1, -1, -1,  1]])

In der Quanteninformation verwendet man die graphische Notation für Quantenschaltkreise, die die Funktion eines Quantencomputers beschreiben.

Geometrische Bedeutung von Tensoren

Bisher haben wir Tensoren lediglich als Anordnung von Zahlen interpretiert. Meist haben sie jedoch darüber hinaus eine geometrische Bedeutung. Um das zu erklären, schauen wir uns zunächst den Fall von Vektoren an, der Ihnen geläufiger sein wird.

Beispiel

Also sehr konkretes Beispiel betrachten wir eine Windturbine. Wir sind an der Drehzahl $\omega$ interessiert, die sich einstellt, wenn Wind mit Geschwindigkeitsvektor $\vec v$ auf die trifft. Nehmen wir an, dass die Turbine fest verschraubt ist und sich nicht nach der Windrichtung ausrichten kann. Dann ist es plausibel, dass es einen Vektor $\vec w$ gibt, so dass \begin{align*} \omega = (\vec w, \vec v). \end{align*}

Eine wichtige Realisierung ist nun, dass $\vec v$ und $\vec w$ zwar beide durch 2-dimensionale Vektoren beschrieben werden, mathematische aber komplett unterschiedliche Aufgaben haben:

  • Der Vektor $\vec v$ beschreibt eine "gerichtete Länge"
  • Der Vektor $\vec w$ beschreibt eine Funktion die gerichtete Längen auf Zahlen abbildet.

Die Unterscheidung ist nicht nur mathematische Pendanterie, sondern hat handfeste Auswirkungen darauf, wie man mit den Größen rechnet. Nehmen wir z.B. an, dass wir zunächst das Imperialen System verwenden, die Windgeschwindigkeit also in Füßen pro Sekunde angeben (wir leben demnach in den USA oder in Zimbabwe). Endlich sind wir zur Besinnung gekommen, und wechseln zu $m/s$. Dazu müssen wir die Einträge von $\vec v$ mit $0.305$ multiplizieren. Um weiterhin die gleiche Winkelgeschwindigkeit zu erhalten, muss dann $\vec w$ durch $0.305$ geteilt werden.

Also: Unter Wechsel des Bezugssystems werden Vektoren-die-gerichtete-Längen beschreiben und Vektoren-die-lineare-Funktionen-beschreiben gegenläufig transformiert!

Geometrische Vektoren

Um das präziser ausdrücken zu können, brauchen wir neue Begriffe.

Machen Sie sich dazu klar, dass der Wind schon geblasen hat, ehe wir Maßbänder und Füße und Meter oder auch nur die reellen Zahlen erfunden hatten. Man kann also zwischen der "gerichteten Größe an sich" und ihrer Darstellung als "numerischen Vektor" unterscheiden.

Erinnern Sie sich dazu an die mathematische Begriffsbildung aus der linearen Algebra:

  • Ein Vektorraum ist eine Menge $V$ auf der Addition und Skalarenmultiplikation definiert sind und die üblichen Eigenschaften erfüllen.
  • Ein geometrischer Vektor ist ein Element eines Vektorraums.
  • Eine Basis ist eine Menge $\{ e^{(i)} \}_i \subset V$ so dass jeder geometrische Vektor $v$ als eindeutige Linearkombiantion \begin{align*} v = \sum_i c_i e^{(i)} \end{align*} mit Entwicklungskoeffizienten $c_i$ dargestellt werden kann. Wir nennen die Liste der Entwicklungskoeffizienten $c_i$ einen numerischen Vektor.
  • Ein geometrischer Kovektor $\alpha$ ist eine lineare Abbildung von $V$ in die Skalare. Linearität heißt natürlich $\alpha(v_1 + \lambda v_2) = \alpha(v_1) + \lambda \alpha(v_2)$.
  • Ein geometrischer Kovektor ist durch seine Werte $d_i := \alpha(e^{(i)})$ auf einer Basis definiert: \begin{align*} \alpha(v) = \alpha\Big(\sum_i c_i e^{(i)}\Big) = \sum_i c_i \alpha (e^{(i)}) = \sum_i c_i d_i. \end{align*}

Die "Anordnung von Zahlen" mit denen wir bisher gearbeitet haben, sind also numerische Vektoren, die einen geometrischen Vektor oder einen geometrischen Kovektor (oder vielleicht ein ganz anderes Objekt) darstellen können.

Insbesondere hängt die Darstellung von der Basiswahl ab! Für konkrete Rechnungen ist es wichtig, festzuhalten, wie sich die Darstellung unter einem Basiswechsel ändert.

Betrachte dazu eine andere Basis $\{ f^{(i)} \}_i$ von $V$.

Jedes Element der alten Basis kann in der neuen Basis entwickelt werden -- und umgekehrt. Es gibt also zwei Sätze von Entwicklungskoeffizienten $A_{i,j}$ und $B_{i,j}$ so dass \begin{align*} f^{(i)} = \sum_{j} A_{i,j} e^{(j)} \qquad e^{(j)} = \sum_{j} B_{i,j} f^{(j)}. \end{align*} Durch Einsetzen der zweiten Gleichung in die erste, sieht man, dass $B=A^{-1}$: \begin{align*} f^{(i)} = \sum_{j} A_{i,j} e^{(j)} = \sum_{ij} A_{i,j} B_{j,k} f^{(k)} \qquad \Rightarrow \qquad \sum_{j} A_{i,j} B_{j,k} = \delta_{i,k} \qquad \Rightarrow \qquad A B = \mathbb{1}. \end{align*}

Die Werte $d_i'=\alpha(f^{(i)})$ die den Kovektor bezüglich der neuen Basis darstellen ergeben sich direkt aus den alten durch Matrixmultiplikation mit $A$: \begin{align*} d_i' = \alpha(f^{(i)}) = \alpha\Big( \sum_{j} A_{i,j} e^{(j)} \Big) = \sum_{j} A_{i,j} \alpha( e^{(j)}) = \sum_j A_{i,j} d_j. \end{align*} Man nennt dies eine kovariante Transformation.

Für die Koeffizienten $c_i$ erhält man: \begin{align*} v = \sum_i c_i e^{(i)} = \sum_{ij} c_i (A^{-1})_{i,j} f^{(j)} = \sum_j c_j' f^{(j)} \qquad \Rightarrow \qquad c_j' = \sum_i c_i (A^{-1})_{i,j} = \sum_i (A^{-T})_{j,i} c_i, \end{align*} wobei $A^{-T}$ die Transponierte der Inversen von $A$ ist. Dies ist eine kontravariante Transformation.

Konsistenzcheck: \begin{align*} \sum_i c_i' d_i' = \sum_{i,j,k} c_j (A^{-1})_{j,i} A_{i,k} c_k = \sum_{j,k} c_j \delta_{j,k} c_k = \sum_j c_j d_j. \end{align*} Mit diesen Transformationsgesetzen ist die Kontraktion zwischen einem sich kovariant und einem sich kontravariant transformierenden numerischen Vektor also von der Basiswahl unabhängig. (Das wussten wir schon vorher, da die Kontraktion ja einfach nur $\alpha(v)$ in Koordinaten ausrechnent, und $\alpha$ und $v$ koordinatenunabhängig sind -- trotzdem gut zu sehen, dass alles aufgeht).

Anmerkungen:

  • Geometrische Kovektoren heißen auch lineare Funktionale oder Dualvektoren. Die Menge aller geometrischen Kovektoren bilden selbst einen Vektorraum, den Dualraum $V^*$.
  • Da geometrische Kovektoren einen Vektorraum bilden, sind sie selbst, nun, geometrische Vektoren. Wenn $\alpha\in V^*$, dann definiert $v\in V$ ein lineares Funktional, das durch $v(\alpha)= \alpha(v)$ definiert ist. Tatsächlich gilt (zumindest in endlichen Dimensionen), dass alle Funktionale auf geometrischen Kovektoren so entstehen, also dass $V=(V^*)^*$.
  • Sie haben die Ausdrücke "geometrische" und "numerische" Vektoren noch nie gehört? Nun, das liegt daran, dass beide Konzepte gemeinhin einfach nur "Vektor" heißen. Zur Klarheit trägt das nicht bei. In seinem sehr empfehlenswerten Lehrbuch "Vektoranalysis" macht sich der Autor (und Mathematiker) Jänich über die verworrene Begriffsbildung der Physik lustig, die er als "Ein Vektor ist ein Vektor der sich wie ein Vektor transformiert" zusammenfasst. Wir können das nun entwirren: Physiker wollen sagen "Ein numerischer Vektor stellt einen geometrischen Vektor dar, wenn der numerische Vektor sich kontravariant transformiert".

Zurück zu Tensoren

OK, jetzt wissen wir, dass numerische Vektoren (mindestens) zwei verschiedene geometrische Objekte darstellen können. Welche basisunabhängig definierten Objekte können mit Tensoren in Verbindung gebracht werden?

Wir sehen uns einige Beispiele an.

Multilineare Abbildungen

Eine wichtige verallgemeinerung von geometrischen Kovektoren sind multilineare Abbildung.

Eine multilineare Abbildung $L$ der Stufe $n$ auf dem $d$-dimensionalen Raum bildet Vektoren $\vec v_1, \dots, \vec v_n$ auf eine Zahl $L(\vec v_1, \dots, \vec v_n)$ ab und ist linear in jedem Eingang: \begin{align*}

L(\vec v_1 + \vec w_1, \vec v_2, \dots, \vec v_n)

L(\vec v_1 , \vec v_2, \dots, \vec v_n) + L(\vec w_1 , \vec v_2, \dots, \vec v_n), \qquad

L(\vec v_1, \vec v_2 + \vec w_2, \dots, \vec v_n)

L(\vec v_1 , \vec v_2, \dots, \vec v_n) + L(\vec v_1 , \vec w_2, \dots, \vec v_n), \qquad \dots \qquad \end{align*}

Beispiele: Ein inneres Produkt $\vec v_1, \vec v_2 \mapsto (\vec v_1, \vec v_2)$ ist eine Multilinearform der Stufe $n=2$ (auch: Bilinearform). Die Determinante ist eine Multilinearform, die auf $n$ Vektoren der Dimension $d=n$ agiert.

Eine Multilinearform $n$-ter Stufe auf dem $d$-dimensionalen Raum kann man durch einen Tensor $n$-ter Stufe mit Form $(d, \dots, d)$ charakterisieren. Das geht so: Sei $e^{(i)}$ der $i$-te Basisvektor, also $(e^{(i)}_j = \delta_{ij}$. Dann gilt unter Ausnutzung von Multilinearität: \begin{align*}

L(\vec v_1, \dots, \vec v_n)

L\left( \sum_{i_1=1}^d (v1){i_1} e^{(i1)}, \dots, \sum{i_n=1}^d (vn){i_n} e^{(i_n)},

\right)

\sum_{i_1, \dots, i_n=1}^d (v1){i_1} \dots (vn){i_n} \, L( e^{(i_1)}, \dots, e^{(i_n)}. \end{align*} Der Tensor mit Komponenten $L( e^{(i_1)}, \dots, e^{(i_n)})$ beschreibt also die Wirkung von $L$ auf beliebigen Argumenten.

Für das euklische innere Produkt gilt \begin{align*} (e^{(i, e^{(j) = \delta_{i,j}, \end{align*} für das Minkowski-Produkt der Relativitätstheorie: \begin{align*} (e^{(i, e^{(j) = \left\{ \begin{array}{ll} -1\quad& i=j=0,\\ 1\quad& 1 \leq i=j \leq 3 \end{array} \right., \end{align*} und für die Determinanten ist $\det(e_{i_1}, \dots, e_{i_n}) = \epsilon_{i_1, \dots, i_n}$ das Levi-Civita-Symbol.

Störtheorie

In [71]:
import matplotlib.pyplot as plt
from IPython.display import set_matplotlib_formats
set_matplotlib_formats('svg') 
plt.rcParams['figure.figsize'] = (9,6)
In [72]:
import numpy as np
import matplotlib.pyplot as plt
In [73]:
H0 = np.diag([0,1,2,3])
Out[73]:
array([[0, 0, 0, 0],
       [0, 1, 0, 0],
       [0, 0, 2, 0],
       [0, 0, 0, 3]])
In [91]:
# Generiere symmetrische Gaussche Zufallsmatrix als Störterm

W = np.random.normal(size = (4,4))
W = .5*(W+W.transpose())
Out[91]:
array([[ 0.35982066,  0.20140203,  0.43857725,  0.19851373],
       [ 0.20140203, -0.68418449, -0.76545864, -0.15734327],
       [ 0.43857725, -0.76545864, -0.37740174, -0.69583564],
       [ 0.19851373, -0.15734327, -0.69583564,  0.44617356]])
In [92]:
# Plotte Eigenwerte als Funktion des Störparameters lambda

N = 500
lambdamax = 1.0

lam = np.linspace(0, lambdamax, N)
lamrepeated = np.kron(lam, [1,1,1,1])

# Hier werden die Eigenwerte berechnet
Es = np.array([np.sort(np.linalg.eigvals(H0 + l*W)) for l in lam]).flatten()

plt.plot(lamrepeated, Es, ',k')
plt.xlabel("$\lambda$")
plt.ylabel("$E$");
2021-07-01T10:52:31.337243image/svg+xmlMatplotlib v3.3.4, https://matplotlib.org/
In [93]:
# Vergleich mit erster Ordnung Störtheorie

plt.plot(lamrepeated, Es, ',k') 

for i in range(4): 
    plt.plot(lam, i + W[i,i]*lam) 
    
plt.xlabel("$\lambda$")
plt.ylabel("$E$");
2021-07-01T10:52:31.764068image/svg+xmlMatplotlib v3.3.4, https://matplotlib.org/
In [94]:
# Vergleich mit zweiter Ordnung Störtheorie

plt.plot(lamrepeated, Es, ',k') 

for i in range(4): 
    plt.plot(lam, i + W[i,i]*lam - sum([0 if i==j else W[j,i]**2/(j - i)*lam**2 for j in range(4)])) 
    
plt.xlabel("$\lambda$")
plt.ylabel("$E$");
2021-07-01T10:52:35.235153image/svg+xmlMatplotlib v3.3.4, https://matplotlib.org/

Am $E(0)=1$-Eigenwert (orangene Linie) sieht man, dass für endliche Werte des Störparameters, die Qualität der Näherung nicht monoton mit der Ordnung besser wird. Für $\lambda \gtrsim .5$ liegt die Kurve erster Ordnung näher an dem wahren Eigenwert als die Kurve zweiter Ordnung. Für reale Probleme benutzt man Störtheorie natürlich immer dann, wenn die wahren Eigenwerte zu schwer zu berechnen sind. Man befindet sich dann in der unangenehmen Situation, dass man a) die Qualität der Näherung nicht streng abschätzen kann, und, schlimmer, b) sich die Qualität nicht einmal sicher verbessert, wenn man mit viel Arbeit höhere Ordnungen ausrechnet. Eine gute allgemeine Lösung für dieses Problem gibt es leider nicht.

QM eines Teilchens in einer Dimension

In [174]:
import matplotlib.pyplot as plt
from IPython.display import set_matplotlib_formats
set_matplotlib_formats('svg') 
plt.rcParams['figure.figsize'] = (9,6)


# Helpful for animations
# https://stackoverflow.com/questions/35532498/animation-in-ipython-notebook/46878531#46878531
In [185]:
# disable automatic display of plots
%matplotlib

def animateqm(psi,H,T,N,online=True):
    plt.rcParams['figure.figsize'] = (6,4)
    plt.rcParams['figure.dpi']=100
    plt.rcParams['animation.bitrate']=4000

    fig, ax = plt.subplots()
    ax.set_ylim((0,1))
    x = np.arange(0, len(psi))
    line, = ax.plot(x, np.abs(psi)**2)
    ts = np.linspace(0,T,N)

    def animate(t):
        evolved = np.abs(linalg.expm(-1j*t*H) @ psi)**2
        line.set_ydata(evolved)

    # Show individual frames while rendering.
    # Good for online demonstration, not suitable for web export
    if online:
        for t in ts:
            animate(t)
            display(fig)
            clear_output(wait = True)
    else: 
        anim = animation.FuncAnimation(fig, animate,
                                   frames=ts, interval=50, 
                                   blit=False) 
        return(HTML(anim.to_html5_video()))
Using matplotlib backend: agg
In [176]:
def laplace(n):
    return(
        np.array(
            [[ 1 if np.abs(np.mod(i-j,n)) in (1,n-1) else (-2 if i==j else 0) for i in range(n) ] for j in range(n) ]
        )
    )

# Center mu, variance s, momentum k
def wavePacket(mu,s,k,n):
    return(np.array([np.exp(-(x-mu)**2 / (2*s) + (2*np.pi*1j/n) * k * x) for x in range(n)]))
In [186]:
# free particle

n = 200;

V = np.array([0 for x in range(n)])

H = laplace(n) + np.diag(V);

psi = wavePacket(n/4,n/2,-10,n)

display(animateqm(psi, H, 300, 100, False))
In [187]:
# scattering at potential barrier 

n=500;

V=np.array([0 if x <= n/2  else .05 for x in range(n)])

H=laplace(n) + np.diag(V);

psi=wavePacket(n/2-60,30,-20,n);

display(animateqm(psi,H,300,100,False))