Konvertieren zwischen Matrixmultiplikation und Tensorkontraktion

Wenn ich habe EIN a β B β γ dann sollte dies der folgenden Matrixmultiplikation entsprechen: EIN B da wir über die Spalten von summieren EIN und die Reihen von B . Nach der gleichen Logik, wenn ich habe EIN a β B γ a dann ist das B EIN in Matrixschreibweise. Aber was wäre, wenn ich es täte EIN a β B a γ ? Wäre das gleichbedeutend mit EIN T B oder B T EIN in Matrixschreibweise oder etwas ganz anderes? Außerdem, wie würde meine Indexnotation für das Ergebnis aussehen? Würde es so aussehen C γ β , oder wäre ein Index weiter links als der andere?

Tensoren sind keine Matrizen. IMHO sollten wir nicht versuchen, zwischen diesen Objekten zu konvertieren. Davon abgesehen nur ( 1 , 1 ) Tensoren verhalten sich wie Matrizen, und daher EIN a b B b c kann geschrieben werden als EIN B . Jedes andere Produkt ist nur ein Missbrauch der Notation.
Warum sollte ein (2,0)-Tensor multipliziert mit einem (0,2)-Tensor wie im ersten Beispiel nicht als Matrix multipliziert werden? Wenn diese nicht als Matrizen zu betrachten sind, was ist der praktischste Weg, um tatsächliche Berechnungen mit den Komponenten dieser Art von Dingen durchzuführen? Kurbeln Sie einfach jeden Index von Hand durch? Und wie stellen Sie diese Dinge für Ihre endgültige Antwort dar? Wenn nicht als Matrix, wäre die einzige Möglichkeit, die ich mir vorstellen könnte, jede Komponente des Ergebnisses buchstäblich Zeile für Zeile aufzulisten, aber das scheint irgendwie hässlich zu sein.
@Dargscisyhp Nur aus Neugier, wenn Sie es als Matrixmultiplikation definieren würden, wie würden Sie eine Berechnung durchführen, außer um die Indizierung von Hand durchzudrehen? Ist nicht jede tatsächliche Berechnung einer Matrixmultiplikation, bei der wir die ganze Sache "Zeile für Spalte" immer und immer wieder machen, nur das Durchdrehen der Indizes?
@ tgp2114 Sicher, aber wenn man es in Zeilen und Spalten betrachtet, ist es auf eine Art "mnemonische" Weise, die sehr schnell erledigt ist. Von Hand scheint es viel einfacher zu sein, dies mit der Matrixnotation zu tun, wenn dies überhaupt möglich ist. Ansonsten fällt mir nur ein, die 00-Komponente von Tensor 1 aus einer Liste zu finden, die 00-Komponente von Tensor 2 zu finden und mit ihr zu multiplizieren und dann das Produkt der 01-Komponente von Tensor 1 und der 10-Komponente von Tensor zu finden und zu addieren 2 und so weiter. Ich verstehe Ihren Standpunkt, aber aus praktischer Sicht scheint die Matrixmultiplikation einfacher zu sein. Vielleicht liegt es daran, dass ich noch keine Übung habe.
es kommt nur darauf an, ob du an diesem Tag auf dem Kopf stehst. Der einzige Unterschied zwischen den beiden besteht darin, dass die Matrix transponiert ist. EIN T B = ( EIN B T ) T

Antworten (3)

Slogan: Matrizen sind ein Werkzeug, um Summen zu berechnen; Tensoren sagen Ihnen, welche Summen sinnvoll sind.

Wenn Sie zwischen Rang-2-Tensoren und Matrizen konvertieren, ist die Entscheidung, welcher Index des Tensors die Zeilen und welcher die Spalten beschriftet, rein konventionell. Die Matrixmultiplikation ist nicht mehr als eine bequeme Möglichkeit, Produkte der Form zu schreiben

K ( ich , k ) = j M ( ich , j ) N ( j , k ) ,

wobei ich bewusst darauf verzichtet habe, Indizes zur Kennzeichnung von Matrixelementen zu verwenden; stattdessen beschriftet das erste Argument Zeilen und das zweite Argument Spalten.

Stellen Sie sich zum Beispiel vor, Sie möchten die Kontraktion berechnen EIN ich j B j k . Definiere die Matrix M durch M ( ich , j ) = EIN ich j , die Matrix N durch N ( j , k ) = B j k und die Matrix K durch K ( ich , k ) = EIN ich j B j k . Vergleichen Sie dann die Definitionen der Tensorkontraktion* und der Matrixmultiplikation, um das zu sehen

K = M N .
Führen Sie die Multiplikation durch und lesen Sie die Komponenten der Kontraktion mit der Definition von ab K .

Jetzt definieren M ~ ( j , ich ) = EIN ich j , N ~ ( j , k ) = B ich j , K ~ ( k , ich ) = EIN ich j B j k . Die Komponenten der Kontraktion, die Sie wollen, und die Tensoren, die Sie kennen, sind immer noch alle darin enthalten K ~ , M ~ und N ~ , aber anders . Das erneute Anpassen der Definitionen von Multiplikation und Kontraktion (und Transponieren) ergibt jetzt

K ~ T = M ~ T N ~ oder gleichwertig, K ~ = N ~ T M ~ .

Sehen Sie sich das alles noch einmal an. Sie haben dieselbe Tensorkontraktion zweimal berechnet, indem Sie verschiedene Produkte verschiedener Matrizen verwendet haben. (Natürlich in der Tat M ~ = M T , N ~ = N und K ~ = K T .) In Wirklichkeit würden Sie Buchstaben sparen, so meine M würde auch angerufen EIN , aber das ist nichts weiter als ein Schreibfehler. Das Rechnen ist alles, wofür Matrixprodukte gut sind. Die Bedeutung der Summen muss an anderer Stelle ermittelt werden, normalerweise aus den Tensorkontraktionen, die sie darstellen. Eine „Matrix“ ist kein geometrisches Objekt (und kann somit auch kein physikalisches Objekt sein).

Andererseits ist ein Tensor ein geometrisches Objekt. Ich werde nicht versuchen zu beschreiben, was Tensoren wirklich sind (es sei denn, Sie fragen in den Kommentaren danach), aber versuchen Sie als Vorspeise, über den Unterschied zwischen nachzudenken

  • Vektoren u , v v und skalare lineare Funktionen ϕ , ψ : v R , da ϕ ( u ) und ψ ( v ) macht aber Sinn u ( v ) und ϕ ( ψ ) nicht; Denken Sie jetzt daran, dass Dinge wie ϕ ich u ich sind gut definiert, aber solche wie u ich v ich sind nicht;
  • lineare Karten EIN , B : v v wie Drehungen und bilineare Funktionen f , g : v × v R , da EIN ( u ) ist ein Vektor, f ( u , v ) ist ein Skalar, EIN B ist eine lineare Karte, aber EIN ( u , v ) und f g sind bedeutungslos; Denken Sie jetzt daran, dass Sie sich zusammenziehen können EIN j ich u j , f ich j u ich v j und EIN j ich B k j (und schauen Sie sich die Anordnung der freien Indizes an), aber auch nicht EIN j ich u ich v j Noch f ich j g j k .

* Ich gehe davon aus, dass Ihre Tensoren und ihre Kontraktionen in der Tradition der Physiker als Sammlungen von Koordinaten mit unverständlichen Eigenschaften definiert sind, die große Summen beinhalten. Diese Definition ist entschieden nicht die am leichtesten verständliche; Versuchen Sie, bei MathOverflow nach demjenigen zu suchen oder zu fragen, der universelle Eigenschaften verwendet .

Wie @AccidentalFourierTransform sagte, ist es ein Fehler, Tensoren als Matrizen zu betrachten, da Sie schnell verrückt werden, wenn Sie rechnen müssen EIN a β γ δ B β δ oder so. Das gesagt EIN a β B a γ 'sieht aus wie' EIN T B .

Die richtige Art, sich Tensoren vorzustellen, ist als multilineare Funktionen, denn das sind sie tatsächlich. In der Indexschreibweise entspricht dann jeder Index einem Slot in der Funktion. Also ein ( 2 , 2 ) Tensor T ist eine Funktion T ( _ , _ ; _ , _ ) wobei die ersten beiden Argumente Einsformen wollen und die zweiten zwei Vektoren. Dieser sagt Ihnen dann, wie Sie die Indizes der Komponenten schreiben: nicht übereinander, sondern in der Reihenfolge der Argumente, also T a β γ δ , und nicht T γ δ a β , was hinsichtlich der Argumentreihenfolge mehrdeutig ist.

Es ist wirklich wichtig, sich daran zu erinnern, dass Tensoren multilineare Funktionen sind , denn wenn Sie das nicht tun, werden Sie unweigerlich in die schreckliche Grube der Index-Gymnastik fallen und auf die vergifteten Stacheln der Kontravarianz und Kovarianz aufgespießt werden, von denen nur wenige jemals Flucht. Denken Sie daran, dass es Geometrie gibt, nicht nur Indizes und Transformationsregeln.

Eine Möglichkeit, diese Falle zu umgehen und dennoch in einer bequemen Notation zu arbeiten, ist die Verwendung der Abstract-Index-Notation von Penrose. Das bequemste von allem ist, dass Sie nichts ändern müssen, um es zu verwenden, obwohl Sie vielleicht die Symbole ändern möchten, aus denen Sie Indizes auswählen.

+1 Ich möchte darauf hinweisen, dass in der Praxis niemand jemals rechnet EIN a β γ δ B β δ von Hand: Wir verwenden Computer. Ich habe irgendwo gelesen, dass Tensorkontraktionen eine der Motivationen für Turings Arbeit waren. Leibnitz hatte ein mechanisches Gerät, das Tensorausdrücke vereinfachte. Es gibt Hieroglyphen, die zeigen, wie verrückte Ägypter versuchen, die Komponenten des Riemann-Tensors zu berechnen. Wissenschaftsgeschichte, Leute :-)
Es ist ein bisschen beunruhigend für mich zu hören, dass es unangemessen ist, diese Dinge als Matrizen darzustellen, da dies der Text ist, den ich verwende (Carrolls Spacetime and Geometry). Warum ist es zum Zwecke der Multiplikation oder Addition von Komponenten von Tensoren unpassend, einen (2,0)- oder (0,2)-Tensor als Matrix zu betrachten? Es ist ein bisschen schwierig für mich, dies noch als Geometrie zu begreifen. Ich hoffe, dass das Verständnis durch die Bearbeitung der Probleme zustande kommt. Ich wünschte auch, es gäbe ein Lösungshandbuch zu diesem Buch, da dies ein Selbststudium ist.
@AccidentalFourierTransform: Ich meinte wirklich, dass diese Kontraktion als Matrixmultiplikation überhaupt keinen Sinn macht. Sie haben Recht mit dem Computerzeug: Als eines der ersten Algebrasysteme wurde LAM verwendet, um die Krümmung (glaube ich) der LTM-Metrik zu berechnen. Dies war zuvor von einem Doktoranden (ich glaube, es war ihr Doktor) in ein paar Monaten erledigt worden. LAM hat es in ein paar Minuten geschafft und Fehler in der manuellen Berechnung gefunden (einige Details hier können falsch sein: Mir wurde es vor 25 Jahren von der Person gesagt, die LAM 25 Jahre zuvor geschrieben hat).
@Dargscisyhp: Wenn Sie Rang-2-Tensoren wirklich als Matrizen betrachten möchten, lassen Sie sich nicht von der traditionellen linearen Algebra-Notation verwirren, da es tatsächlich die (1,1) -Tensoren sind, für die es am besten funktioniert: Sie können z. B. eine Matrix abbilden Produkt EIN B C zu einer Kontraktion EIN j ich B k j C k . Sie können (0,2)-Tensoren auf diese Weise nicht kontrahieren: Sie sollten dann gewissermaßen als „Matrizen mit Spalten und Spalten“ betrachtet werden. (Sie sehen, wie schnell es verwirrend wird.)
@Dargscisyhp: Für eine gut motivierte Erklärung der Geometrie hinter Tensoren ist dpmms.cam.ac.uk/~wtg10/tensors3.html die beste Ressource, die ich kenne.
@Dargscisyhp Der Schlüssel ist das Wort represent . Es gibt eine wohldefinierte, richtige und richtige Darstellung von Rang-2-Tensoren als Matrizen. Das Problem ist, dass Matrizen nicht ausreichend reichhaltige Objekte sind, um Rang-(1,1), Rang-(0,2) und Rang-(2,0)-Tensoren gleichzeitig auf konsistente Weise darzustellen. Eine Analogie könnten Stromlinien sein, die entweder elektrische oder magnetische Felder darstellen, aber wenn Sie beide gleichzeitig haben, werden Ihre Diagramme schnell unordentlich, da Stromlinien die Beziehung zwischen ihnen nicht erfassen E und B .
@Dargscisyhp: Die praktische Antwort ist, dass Sie Tensoren nicht auf einfache Weise als Matrizen darstellen können: Sie können damit davonkommen ( 2 , 0 ) , ( 0 , 2 ) und ( 1 , 1 ) Tensoren, aber was macht man mit an ( n , m ) Tensor?. Noch wichtiger ist, dass ein Vektor keine Ansammlung von Zahlen ist, sondern ein kleiner Pfeil, der in gewisser Weise als Ansammlung von Zahlen dargestellt wird, aber es sind nicht die Zahlen : Es ist ein geometrisches Objekt. Also ist also ein Tensor. MTW ist jetzt 46 Jahre alt, und Physiker müssen anfangen, es zu lesen! (Entschuldigung, das ist vielleicht umstritten und für SE sowieso nicht zum Thema: Ich höre auf.)
@tfb Vor einigen Monaten bin ich darauf gestoßen , was mich an deine Geschichte erinnert.

Als Mathematiker möchte ich auf die folgende Formalität hinweisen:

Was wir als Matrix darstellen (können) sind Tensoren mit einem Index nach oben und einem Index nach unten , also Elemente von v v (wo v ist ein Vektorraum oder ein Vektorbündel über einer Mannigfaltigkeit). Ein Tensor mit zwei Indizes nach oben ist eine bilineare Form an v , und eine mit zwei Indizes nach unten in bilinearer Form auf v , und daher gibt es keine (natürliche) Art der Kontraktion, und hier kommt die Metrik ins Spiel: Sie verwenden sie, um eine bilineare Form in eine Karte umzuwandeln v v (also ein Element von v v ) oder v v . Symplektische Formen können in verschiedenen Situationen ähnliche Rollen spielen.

Natürlich, wenn Sie zwei Tensoren haben EIN v μ , B θ η , die als Matrizen dargestellt werden können EIN , B Wenn Sie eine Basis Ihres Vektorraums festlegen , dann die Kontraktion EIN ich μ B v ich wird durch die Matrixmultiplikation dargestellt EIN B .