Nächste: Paket ITENSOR, Vorige: Tensoren, Nach oben: Tensoren [Inhalt][Index]
Maxima hat drei verschiedene Pakete, um mit Tensoren zu rechnen. Das Paket
ctensor
implementiert das Rechnen mit Tensoren in der
Koordinatendarstellung und das Paket itensor
das Rechnen in einer
Indexnotation. Das Paket atensor
erlaubt die algebraische Manipulation
von Tensoren in verschiedenen Algebren.
Beim Rechnen in einer Koordinatendarstellung mit dem Paket ctensor
werden
Tensoren als Arrays oder Matrizen dargestellt. Operationen mit Tensoren wie die
Tensorverjüngung oder die kovariante Ableitung werden ausgeführt als
Operationen mit den Komponenten des Tensors, die in einem Array oder einer
Matrix gespeichert sind.
Beim Rechnen in der Indexnotation mit dem Paket itensor
werden Tensoren
als Funktionen ihrer kovarianten und kontravarianten Indizes sowie den
Ableitungen nach den Komponenten dargestellt. Operationen wie die
Tensorverjüngung oder die kovariante Ableitung werden ausgeführt, in dem die
Indizes manipuliert werden.
Die beiden genannten Pakete itensor
und ctensor
für die
Behandlung von mathematischen Problemen im Zusammenhang mit der Riemannschen
Geometrie haben verschiedene Vor- und Nachteile, die sich erst anhand des zu
behandelnden Problems und dessen Schwierigkeitsgrad zeigen. Folgenden
Eigenschaften der beiden Implementierungen sollten beachtet werden:
Die Darstellung von Tensoren und Tensoroperationen in einer expliziten
Koordinatendarstellung vereinfacht die Nutzung des Paketes ctensor
. Die
Spezifikation der Metrik und die Ableitung von Tensoren sowie von Invarianten
ist unkompliziert. Trotz Maximas Methoden für die Vereinfachung von
Ausdrücken kann jedoch eine komplexe Metrik mit komplizierten funktionalen
Abhängigkeiten der Koordinaten leicht zu sehr großen Ausdrücken
führen, die die Struktur eines Ergebnisses verbergen. Weiterhin können
Rechnungen zu sehr großen Zwischenergebnisse führen, die zu einem
Programmabbruch führen, bevor die Rechnung beendet werden kann. Jedoch kann
der Nutzer mit einiger Erfahrung viele dieser Probleme vermeiden.
Aufgrund der besonderen Weise, wie Tensoren und Tensoroperationen als
symbolische Operationen ihrer Indizes dargestellt werden, können Ausdrücke,
die in einer Koordinatendarstellung sehr unhandlich sind, mit Hilfe spezieller
Routinen für symmetrische Objekte in itensor
manchmal erheblich
vereinfacht werden. Auf diese Weise kann die Struktur großer Ausdrücke
transparenter sein. Auf der anderen Seite kann die Spezifikation einer Metrik,
die Definition von Funktionen und die Auswertung von abgeleiteten indizierten
Objekten für den Nutzer schwierig sein.
Mit dem Paket itensor
können Ableitungen nach einer indizierten
Variablen ausgeführt werden, wodurch es möglich ist, itensor
auch
für Probleme im Zusammenhang mit dem Lagrange- oder Hamiltonian-Formalismus
einzusetzen. Da es möglich ist, die Lagrangeschen Feldgleichungen nach einer
indizierten Variablen abzuleiten, können zum Beispiel die
Euler-Lagrange-Gleichungen in einer Indexnotation aufgestellt werden. Werden
die Gleichungen mit der Funktion ic_convert
in eine
Komponentendarstellung für das Paket ctensor
transformiert, können
die Feldgleichungen in einer bestimmten Koordinatendarstellung gelöst werden.
Siehe dazu die ausführlichen Beispiele in einhil.dem
und
bradic.dem
.
Nächste: Paket ITENSOR, Vorige: Tensoren, Nach oben: Tensoren [Inhalt][Index]