Nächste: Reservierte Bezeichner, Vorige: Exportiere als TeX, Nach oben: Funktionen und Variablen für ITENSOR [Inhalt][Index]
Das Paket itensor
ermöglicht die Generierung von Maxima-Code, der im
Kontext des Paketes ctensor
ausgeführt werden kann. Die Funktion
ic_convert
erzeugt den Maxima-Code.
Konvertiert eine itensor
-Gleichung eqn in einen
ctensor
-Ausdruck. Implizite Summen über Dummy-Indizes werden explizit
ausgeführt und indizierte Größen werden in Arrays umgewandelt. Die
Indizes der Arrays sind in der Reihenfolge der kovarianten und dann der
kontravarianten Indizes der indizierte Größe. Die Ableitung einer
indizierten Größe wird durch die Substantivform der Ableitung
diff
nach der Variablen ct_coords
ersetzt, die den Index der
Ableitung erhält. Die Christoffel-Symbole ichr1
und ichr2
werden zu den Funktionen lcs
und mcs
transformiert. Hat
metricconvert
den Wert true
, dann wird der Metriktensor mit zwei
kovarianten Indizes durch lg
und mit zwei kontravarianten Indizes durch
ug
ersetzt. Weiterhin werden do
-Schleifen für die Summation
über die freien Indizes eingeführt.
Beispiele:
(%i1) load("itensor"); (%o1) /share/tensor/itensor.lisp (%i2) eqn:ishow(t([i,j],[k])=f([],[])*g([l,m],[])*a([],[m],j) *b([i],[l,k]))$ k m l k (%t2) t = f a b g i j ,j i l m (%i3) ic_convert(eqn);
(%o3) for i thru dim do (for j thru dim do ( for k thru dim do t : f sum(sum(diff(a , ct_coords ) b i, j, k m j i, l, k g , l, 1, dim), m, 1, dim))) l, m
(%i4) imetric(g); (%o4) done (%i5) metricconvert:true; (%o5) true (%i6) ic_convert(eqn);
(%o6) for i thru dim do (for j thru dim do ( for k thru dim do t : f sum(sum(diff(a , ct_coords ) b i, j, k m j i, l, k lg , l, 1, dim), m, 1, dim))) l, m
Nächste: Reservierte Bezeichner, Vorige: Exportiere als TeX, Nach oben: Funktionen und Variablen für ITENSOR [Inhalt][Index]