Nächste: Tensoranalysis, Vorige: Behandlung indizierter Größen, Nach oben: Funktionen und Variablen für ITENSOR [Inhalt][Index]
Standardwert: false
Hat die Optionsvariable allsym
den Wert true
, werden alle
indizierten Größen als symmetrisch in ihren kovarianten und
kontravarianten Indizes angenommen. Ist der Wert false
, werden keine
Symmetrien für die Indizes angenommen. Die Indizes von Ableitungen werden
immer als symmetrisch angenommen, außer wenn die Optionsvariable
iframe_flag
den Wert true
hat.
Definiert Symmetrieeigenschaften für den Tensor tensor mit m
kovarianten und n kontravarianten Indizes. Die Argumente cov_i und
contr_i geben Symmetrieeigenschaften zwischen den kontravarianten und
kontravarianten Indizes an. Die Argumente haben die Form
symoper(index_1, index_2, ...
. symoper
ist einer der
Symmetrieeigenschaften sym
für symmetrisch, anti
für
antisymmetrisch oder cyc
für zyklisch und die Argumente index_i
sind ganze Zahlen, die die Position des Index im Tensor tensor angegeben.
Weiterhin ist die Form symoper(all)
möglich. In diesem Fall wird
die entsprechende Symmetrieeigenschaft für alle Indizes angenommen.
Ist zum Beispiel b
ein Tensor mit 5 kovarianten Indizes, dann wird mit
decsym(b, 5, 3, [sym(1,2), anti(3,4)], [cyc(all)])
definiert, dass
b
symmetrisch in den Indizes 1
und 2
, antisymmetrisch in
den Indizes 3
und 4
sowie zyklisch in allen kontravarianten
Indizes ist.
Symmetrieeigenschaften, die mit der Funktion decsym
definiert werden,
werden von der Funktion canform
angewendet.
Beispiele:
(%i1) load("itensor"); (%o1) /share/tensor/itensor.lisp (%i2) expr:contract( expand( a([i1, j1, k1], []) *kdels([i, j, k], [i1, j1, k1])))$ (%i3) ishow(expr)$ (%t3) a + a + a + a + a + a k j i k i j j k i j i k i k j i j k (%i4) decsym(a,3,0,[sym(all)],[]); (%o4) done (%i5) ishow(canform(expr))$ (%t5) 6 a i j k (%i6) remsym(a,3,0); (%o6) done (%i7) decsym(a,3,0,[anti(all)],[]); (%o7) done (%i8) ishow(canform(expr))$ (%t8) 0 (%i9) remsym(a,3,0); (%o9) done (%i10) decsym(a,3,0,[cyc(all)],[]); (%o10) done (%i11) ishow(canform(expr))$
(%t11) 3 a + 3 a i k j i j k
(%i12) dispsym(a,3,0); (%o12) [[cyc, [[1, 2, 3]], []]]
Entfernt die Symmetrieeigenschaften des Tensors tensor, der m kovariante und n kontravariante Indizes hat.
Vereinfacht den Ausdruck expr indem alle Dummy-Indizes umbenannt und
umgeordnet werden, wobei vorhandene Symmetrieeigenschaften angewendet werden.
Hat die Optionsvariable allsym
den Wert true
, werden alle Indizes
als symmetrisch angenommen. Ansonsten werden Symmetrieeigenschaften angewendet,
die mit der Funktion decsym
definiert sind. Die Dummy-Indizes werden
auf gleiche Weise umbenannt wie von der Funktion rename
. Wird
canform
auf einen großen Ausdruck angewendet, kann die Ausführung
eine lange Zeit beanspruchen. Die Rechenzeit kann verkürzt werden, indem
zuerst die Funktion rename
auf den Ausdruck angewendet wird.
canform
kann einen Ausdruck nicht immer in die einfachste Form bringen,
jedoch ist das Ergebnis immer mathematisch korrekt.
Erhält das optionale zweite Argument rename den Wert false
, wird
die Umbenennung mit der Funktion rename
nicht ausgeführt.
Für ein Beispiel siehe die Funktion decsym
.
Nächste: Tensoranalysis, Vorige: Behandlung indizierter Größen, Nach oben: Funktionen und Variablen für ITENSOR [Inhalt][Index]