DifferentialAlgebra[NormalForm] - regular differential chain を法とした標準形の計算
|
使い方
|
|
NormalForm (p, ideal, opts)
NormalForm (L, ideal, opts)
|
|
パラメータ
|
|
p
|
-
|
微分有理分数(differential rational fraction)
|
ideal
|
-
|
微分多項式イデアルまたは微分多項式環
|
L
|
-
|
微分有理分数のリストまたは集合
|
opts (optional)
|
-
|
オプションの並び
|
|
|
|
|
モデルの説明
|
|
•
|
関数の呼び出し NormalForm (L, ideal) は、ideal に関する L の要素の標準形のリストまたは集合を返します。
|
•
|
ideal が regular differential chain のリストの場合、関数の呼び出し NormalForm (p, ideal) はすべての微分鎖に関する p の標準形のリストを返し、関数の呼び出し NormalForm (L, ideal) はすべての微分鎖に関する L の標準形のリストを返します。
|
•
|
ideal が微分多項式環の場合、関数の呼び出し NormalForm (p, ideal) は p を返し、関数の呼び出し NormalForm (L, ideal) は L を返します。
|
•
|
有理微分分数の場合、関数にエラーが発生して計算が失敗する可能性があります。こうしたケースは、以下に記述される casesplit=true オプションを使用して完全に処理することができます。
|
•
|
このコマンドは DifferentialAlgebra パッケージの一部です。with(DifferentialAlgebra) コマンドの実行後に NormalForm(...) の形式を使用して呼び出すことができます。また、DifferentialAlgebra[NormalForm](...) の形式を使用して直接呼び出すことも可能です。
|
|
|
分割の処理
|
|
•
|
オプション casesplit = true はエラーが発生するケースの処理を可能にします。このケースの場合、関数の引数に関していくつかの制限があります。
|
–
|
1 番目の引数 p は、単一の有理微分分数に制限されます(リストや集合は使用できません)。
|
–
|
2 番目の引数 ideal は、単一の regular differential chain に制限されます(リストや集合は使用できません)。
|
–
|
p の分母 は、, ..., の鎖で定義されるイデアルを法としたゼロあり、このケースは標準形が存在しないケースに対応します。
|
|
|
オプション
|
|
•
|
notation = jet, tjet, diff または Diff:関数の呼び出し結果に使用される表記を指定します。指定されない場合、1 番目の引数 p または L の表記が使用されます。
|
•
|
memout = nonnegative:計算に使用されるメモリの制限をMB単位で指定します。デフォルトはゼロです(メモリアウトは発生しません)。
|
|
|
アプリケーションと例題
|
|
>
|
with(DifferentialAlgebra):
|
>
|
R := DifferentialRing(derivations = [t], blocks = [u]);
|
| (6.1) |
微分環に関する標準形
>
|
NormalForm((u-1)*(u+1), R);
|
| (6.2) |
>
|
ideal := RosenfeldGroebner([u[t]^2-4*u], R);
|
| (6.3) |
| (6.4) |
各 regular differential chain に関する の標準形
>
|
NormalForm(u[t], ideal);
|
| (6.5) |
この例は、関数を使用して有理微分分数の標準形を計算することが可能であり、したがって、 regular differential chain によって定義される微分イデアルを法とする有理微分分数の代数的逆を計算することも可能であることを示しています。
| (6.6) |
>
|
nf_F := NormalForm(F, ideal[1]);
|
| (6.7) |
>
|
nf_one_over_F := NormalForm(1/F, ideal[1]);
|
| (6.8) |
>
|
one := normal(nf_F * nf_one_over_F);
|
| (6.9) |
>
|
NormalForm(one, ideal[1]);
|
| (6.10) |
この例は casesplit = true オプションを説明しています。
>
|
ideal := Tools:-PretendRegularDifferentialChain([u[t]^2-u^2], R);
|
| (6.11) |
入力された有理微分分数の分母は、ideal を法とするゼロです。2 番目のリストに regular differential chain が 1 つだけ返されます。
>
|
res := NormalForm(1/(u[t]^2-u^2), ideal, casesplit=true);
|
| (6.12) |
| (6.13) |
入力された有理微分分数の分母は、ideal を法とする零因子です。したがって、入力された鎖は 2 つの regular differential chain に分割されます。標準形は 1 番目の微分鎖で定義される微分イデアルを法として計算することができます。入力された有理微分分数の分母は、2 番目の微分鎖で定義される微分イデアルを法とするゼロです。
>
|
res := NormalForm(1/(u[t]-u), ideal, casesplit=true);
|
| (6.14) |
>
|
Equations(res [1, 1, 2]);
|
| (6.15) |
| (6.16) |
|
|