Previous: Einführung in atensor, Nach oben: Paket atensor [Inhalt][Index]
Initialisiert das Paket atensor mit der angegebenen Algebra
alg_type. Das Argument alg_type kann einen der folgenden
Werte haben:
universalEine allgemeine Algebra, für die keine Vertauschungsregeln definiert sind.
grassmannEine Graßmann-Algebra, für die die Vertauschungsregel u.v + v.u = 0
definiert ist.
cliffordEine Clifford-Algebra, die durch die Vertauschungsregel u.v + v.u =
-2*sf(u,v) definiert ist. Die Bilinearform sf ist eine symmetrische
Funktion, die einen skalaren Wert als Ergebnis hat. Das Argument opt_dims
kann bis zu drei positive ganze Zahlen sein, die die positiven,
entarteten und negativen Dimensionen der Algebra bezeichnen. Die Dimension
adim und die Matrix aform werden entsprechend der angegebenen
Argumente opt_dims initialisiert. Sind keine Argumente opt_dims
vorhanden, wird die Dimension adim zu Null initialisiert und keine
Matrix aform definiert.
symmetricEine symmetrische Algebra, die durch die Vertauschungsregel u.v - v.u = 0
definiert ist.
symplecticEine symplektische Algebra, die durch die Vertauschungsregel
u.v - v.u = 2*af(u,v) definiert ist. Die Bilinearform af ist
eine antisymmetrische Funktion, die einen skalaren Wert als Ergebnis hat. Das
Argument opt_dims kann bis zu zwei positive ganze Zahlen enthalten,
die die nicht-degenerierten und degenerierten Dimensionen der Algebra
bezeichnen. Die Dimension adim und die Matrix aform
werden entsprechend der angegebenen Argumente opt_dims initialisiert.
Sind keine Argumente opt_dims vorhanden, wird die Dimension adim
zu Null initialisiert und keine Matrix aform definiert.
lie_envelopEine einhüllende Lie-Algebra, die durch die Vertauschungsregel
u.v - v.u = 2*av(u,v) definiert ist, wobei die Bilinearform av
eine antisymmetrische Funktion ist. Das Argument opt_dims kann eine
positive ganze Zahl sein, welche die Dimension der Lie-Algebra angibt. Die
Dimension adim und die Matrix aform werden entsprechend des
Argumentes opt_dims initialisiert. Ist kein Argument opt_dims
vorhanden, wird die Dimension adim zu Null initialisiert und keine Matrix
aform definiert.
Die Funktion init_atensor kennt weiterhin einige vordefinierte
Algebren:
complexDie Algebra der komplexen Zahlen, die als eine Clifford-Algebra Cl(0,1)
definiert wird. Das Kommando init_atensor(complex) ist äquivalent zum
Kommando init_atensor(clifford, 0, 0, 1).
quaternionDie Algebra der Quaternionen, die als eine Clifford-Algebra vom Typ Cl(0,2)
definiert wird. Das Kommando init_atensor(quaternion)
ist äquivalent zum Kommando init_atensor(clifford, 0, 0, 2).
pauliDie Algebra der Pauli-Matrizen, die als eine Clifford-Algebra Cl(3,0)
definiert wird. Das Kommando init_atensor(pauli) ist äquivalent
zum Kommando init_atensor(clifford, 3).
diracDie Algebra der Dirac-Matrizen, die als eine Clifford-Algebra Cl(3,0,1)
definiert wird. Das Kommando init_atensor(dirac) ist äquivalent zum
Kommando init_atensor(clifford, 3, 0, 1).
Vereinfacht einen Ausdruck expr entsprechend der Regeln für die Algebra,
die mit der Funktion init_atensor festgelegt ist. Die Regeln werden
rekursiv auf den Ausdruck angewendet. Dabei werden auch Bilinearformen
sf, af und av ausgewertet.
Beispiele:
Die folgenden Beispiele zeigen das Rechnen mit der Algebra der Quaternionen.
(%i1) load("atensor")$
(%i2) init_atensor(quaternion);
(%o2) done
(%i3) atensimp(v[1].v[1]);
(%o3) - 1
(%i4) atensimp(v[2].v[2]);
(%o4) - 1
(%i5) atensimp((v[1].v[2]) . (v[1].v[2]));
(%o5) - 1
(%i6) expand((2*v[1]+3*v[2])^^2);
(%o6) 9 (v . v ) + 6 (v . v ) + 6 (v . v ) + 4 (v . v )
2 2 2 1 1 2 1 1
(%i7) atensimp(%);
(%o7) - 13
Standardwert: universal
Der Typ der Algebra, die bei der Vereinfachung von Ausdrücken mit der
Funktion atensimp angewendet wird. Die Algebra wird von der Funktion
init_atensor initialisiert. Mögliche Algebren sind universal,
grassmann, clifford, symmetric, symplectic und
lie_envelop. Siehe für eine ausführliche Erläuterung der Algebren
die Funktion init_atensor.
Standardwert: 0
Die Dimension der Algebra, die bei der Vereinfachung von Ausdrücken mit der
Funktion atensimp angewendet wird. Die Dimension wird von der Funktion
init_atensor initialisiert. Ein indiziertes Symbol mit dem Bezeichner
asymbol ist dann ein Basisvektor, wenn der Index kleiner oder gleich
der Dimension adim ist.
Beispiel:
Die Dirac-Algebra hat die Dimension 4 und v[4] ist ein
Basisvektor.
(%i1) load("atensor")$
(%i2) init_atensor(dirac);
(%o2) done
(%i3) adim;
(%o3) 4
(%i4) abasep(v[4]);
(%o4) true
Standardwert: ident(3)
Matrix mit den Werten der Bilinearformen sf, af und
av. Der Standardwert ist die dreidimensionale Einheitsmatrix.
Beispiel:
Das Beispiel zeigt die Matrix aform für eine Lie-Algebra mit drei
Dimensionen und die Ergebnisse der Bilinearform av für diese Algebra.
(%i1) load("atensor")$
(%i2) init_atensor(lie_envelop, 3);
(%o2) done
(%i3) aform;
[ 0 3 - 2 ]
[ ]
(%o3) [ - 3 0 1 ]
[ ]
[ 2 - 1 0 ]
(%i4) av(v[1], v[2]);
(%o4) v
3
(%i5) av(v[1], v[3]);
(%o5) - v
2
Standardwert: v
Enthält das Symbol, das einen Basisvektor des Paketes atensor
bezeichnet. Mit der Funktion abasep kann getestet werde, ob ein
indiziertes Symbol einen Basisvektor der Algebra bezeichnet.
Beispiel:
In diesem Beispiel wird asymbol auf den Wert x gesetzt.
(%i1) load("atensor")$
(%i2) init_atensor(symmetric, 2);
(%o2) done
(%i3) asymbol;
(%o3) v
(%i4) abasep(v[2]);
(%o4) true
(%i5) asymbol: x;
(%o5) x
(%i6) abasep(x[2]);
(%o6) true
Eine symmetrische Bilinearform, die bei der Vereinfachung von Ausdrücken
mit der Funktion atensimp angewendet wird. Die Funktion kann vom Nutzer
durch eine neue Funktion ersetzt werden. Die Standardimplementation prüft
mit der Funktion abasep, ob die Argumente u und v
Basisvektoren sind und setzt für diesen Fall den entsprechen Wert der Matrix
aform ein.
Eine antisymmetrische Bilinearform, die bei der Vereinfachung von Ausdrücken
mit der Funktion atensimp angewendet wird. Die Funktion kann vom Nutzer
durch eine neue Funktion ersetzt werden. Die Standardimplementation prüft
mit der Funktion abasep, ob die Argumente u und v
Basisvektoren sind und setzt für diesen Fall den entsprechenden Wert der
Matrix aform ein.
Eine antisymmetrische Bilinearform, die bei der Vereinfachung von Ausdrücken
mit der Funktion atensimp angewendet wird. Die Funktion kann vom Nutzer
durch eine neue Funktion ersetzt werden. Die Standardimplementation prüft
mit der Funktion abasep, ob die Argumente u und v
Basisvektoren sind und setzt für diesen Fall den entsprechenden Wert
v[aform[i,j]] der Matrix aform ein.
Beispiel:
(%i1) load("atensor")$
(%i2) adim: 3;
(%o2) 3
(%i3) aform:matrix([0,3,-2],[-3,0,1],[2,-1,0]);
[ 0 3 - 2 ]
[ ]
(%o3) [ - 3 0 1 ]
[ ]
[ 2 - 1 0 ]
(%i4) asymbol: x;
(%o4) x
(%i5) av(x[1], x[2]);
(%o5) x
3
(%i6) av(x[1], x[3]);
(%o6) - x
2
Prüft, ob das Argument v ein Basisvektor ist. Ein Basisvektor ist ein
indiziertes Symbol mit dem Symbol asymbol als Bezeichner und einem
Index im Bereich von 1 bis adim.
Beispiel:
(%i1) load("atensor")$
(%i2) asymbol: x$
(%i3) adim:3$
(%i4) abasep(x[1]);
(%o4) true
(%i5) abasep(x[3]);
(%o5) true
(%i6) abasep(x[4]);
(%o6) false
Previous: Einführung in atensor, Nach oben: Paket atensor [Inhalt][Index]