Previous: Introduction to atensor, Up: atensor   [Contents][Index]

27.2 Functions and Variables for atensor

関数: init_atensor (alg_type, opt_dims)
関数: init_atensor (alg_type)

特定の代数型で atensorパッケージを初期化します。 alg_typeは以下のいずれかであり得ます:

universal: 普遍代数は交換規則を持ちません。

grassmann: Grassman代数は交換関係 u.v+v.u=0で定義されます。

clifford: Clifford代数は 交換関係 u.v+v.u=-2*sf(u,v)で定義されます。 ここで、 sfは対称スカラ値函数です。 この代数では、 opt_dimsは、 代数の正の次元数、縮退次元数、負の次元数をそれぞれ表す3つの非負整数までありえます。 もしいずれかの opt_dims値が供給されたら、 atensoradimaformの値を適切に構成します。 そうでなければ、 adimはデフォルトが0で、 aformは未定義です。

symmetric: 対称代数は交換関係 u.v-v.u=0で定義されます。

symplectic: シンプレクティック代数は 交換関係 u.v-v.u=2*af(u,v)で定義されます。 ここで、 afは反対称スカラ値函数です。 シンプレクティック代数では、 opt_dimsは 非縮退次元数、縮退次元数をそれぞれ表す2つの非負整数までありえます。 もしいずれかの opt_dims値が供給されたら、 atensoradimaformの値を適切に構成します。 そうでなければ、 adimはデフォルトが0で、 aformは未定義です。

lie_envelop: Lie包絡代数は交換関係 u.v-v.u=2*av(u,v)で定義されます。 ここで、 avは反対称函数です。

init_atensor関数はいくつかの予め定義された代数型も認識します:

complexは複素数代数をClifford代数 Cl(0,1)として実装します。 init_atensor(complex)をコールすることは init_atensor(clifford,0,0,1)と同値です。

quaternionは四元数代数を実装します。 init_atensor (quaternion)をコールすることは init_atensor (clifford,0,0,2)と同値です。

pauliはPauliスピノール代数をClifford代数 Cl(3,0)として実装します。 init_atensor(pauli)をコールすることは init_atensor(clifford,3)と同値です。

diracはDiracスピノール代数をClifford代数 Cl(3,1)として実装します。 init_atensor(dirac)をコールすることは init_atensor(clifford,3,0,1)と同値です。

関数: atensimp (expr)

init_atensorのコールで構成された規則に従って、 代数テンソル式 exprを整理します。 整理は、 適用可能な場所への 交換関係の再帰的な適用とsf, af, avのコールの決定を含みます。 複雑な式に関してさえ、 関数がいつでも終了することを確実にするために 保護手段が使われます。

変数: adim

デフォルト値: 0

代数の次元。 atensorは 添字付きオブジェクトが有効な基底ベクトルか決定するのに adimの値を使います。 abasepを参照してください。

変数: aform

デフォルト値: ident(3)

双一次形式sf, af, avのデフォルト値。 デフォルトは、単位行列 ident(3)です。

変数: asymbol

デフォルト値: v

基底ベクトルのシンボル。

関数: sf (u, v)

交換関係で使われる対称スカラ関数。 デフォルトの実装は 両方の引数がabasepを使った基底ベクトルかチェックし、 もしそうなら、行列 aformから対応する値を代入します。

関数: af (u, v)

交換関係で使われる反対称スカラ関数。 デフォルトの実装は 両方の引数がabasepを使った基底ベクトルかチェックし、 もしそうなら、行列 aformから対応する値を代入します。

関数: av (u, v)

交換関係で使われる反対称スカラ関数。 デフォルトの実装は 両方の引数がabasepを使った基底ベクトルかチェックし、 もしそうなら、行列 aformから対応する値を代入します。

例えば:

(%i1) load("atensor");
(%o1)       /share/tensor/atensor.mac
(%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
関数: abasep (v)

引数が atensor基底ベクトルかチェックします。 すなわち、asymbolの値と同じシンボルと 1と adimの間の数値の添字を持つ添字付きシンボルかどうか、チェックします。


Previous: Introduction to atensor, Up: atensor   [Contents][Index]