PDEtools[SymmetryGauge] - 対称変換のジェネレータを、指定されたゲージに変換
|
使い方
|
|
SymmetryGauge(S, DepVars, options=value)
|
|
パラメータ
|
|
S
|
-
|
対称変換の infinitesimal のリスト、または対応する infinitesimal generator 微分作用素
|
DepVars
|
-
|
問題の従属変数を表す関数またはそのリスト
|
differentialorder = ...
|
-
|
(オプション)SymmetryGauge により導入される任意関数の依存関係の微分階数を指定。デフォルト値が prolongation となります
|
expanded = ...
|
-
|
(オプション) true または false (デフォルト)。output = operator に関係し、infinitesimal の prolongation を、それを計算するテーブルプロシージャのみを返すのではなく、作用素内で展開すべきかを指定
|
jetnotation = ...
|
-
|
(オプション) true (デフォルト。S の記法)、false、jetnumbers、jetvariables、jetvariableswithbrackets、jetODE。それぞれの jet 記法 で値を返すかどうか
|
output = ...
|
-
|
(オプション) list または operator。infinitesimal の リスト を出力するか、対応する infinitesimal ジェネレータ微分作用素を出力するかを指定
|
prolongation = ...
|
-
|
(オプション)コミュテータの所望の prolongation 次数を示す正の整数。デフォルトは与えられた S における prolongation 次数
|
xi = ...
|
-
|
(オプション)(独立の) infinitesimal に対する所望の代数値を示す代数的表現またはそのリスト
|
eta = ...
|
-
|
(オプション)(従属の) infinitesimal に対する所望の代数値を示す代数的表現またはそのリスト
|
|
|
|
|
説明
|
|
•
|
SymmetryGauge コマンドは対称変換を受け取り、独立変数の数と同数の任意関数を導入することによりそれを最も一般的な形に書き換えて返します。問題の独立変数は、関数または関数のリストとして指定しなければなりません。
|
•
|
戻る前に、 や などにより所望のゲージが指定(オプション)されているとき、その指定を満足するため、その対称変換の最も一般的な形式における任意関数の値を調節することで、その対称変換をゲージします。
|
•
|
対称変換は、対称 infinitesimal のリストとして、またはそれと等価なものである infinitesimal ジェネレータ 作用素として渡すことができます。それに対応して、出力もリストか作用素になります。この挙動をオーバーライドするには、オプション引数 output = ... を用い、その右辺を list または operator とします。
|
•
|
入力の対称変換が infinitesimal ジェネレータ作用素として渡されるとき、またはオプション引数 output = operator が使われているとき、返される作用素内のフォーミュラは展開されません(詳細は InfinitesimalGenerator の説明をご覧ください)。展開された形式で受け取るには、オプション引数 expanded を使用してください。
|
•
|
返される対称変換の prolongation 値は、オプション prolongation = k (k は非負整数)で別途指定されていない限り、入力される対称変換の prolongation 値となります。
|
•
|
SymmetryGauge により導入される任意関数の依存関係は、独立変数と従属変数と、その 階までの偏微分を含みます。ただし は、オプション引数 differentialorder = N (N は非負整数)により別途指定されていない限り、prolongation を表します。
|
•
|
出力で使用する jet 記法は、オプション jetnotation = ... (ここで、右辺は jetnumbers、jetODE、jetvariables、jetvariableswithbrackets のいずれか)により別途指定されていない限り入力対称変換 S の記法となります。利用できる jet 記法に関する詳細は ToJet をご覧ください。
|
•
|
オプションのキーワードを記憶しておかなくても良いように、キーワードのスペルの入力を誤った場合、または、キーワードの一部しか入力しなかった場合でも、正しいキーワードに対する一致検索が実施されます。一致候補が 1 つだけの場合、入力は自動的に修正されます。
|
|
|
互換性
|
|
•
|
PDEtools[SymmetryGauge] コマンドは Maple 15 より導入されました。
|
|
|
例
|
|
2 つの独立変数と 1 つの従属変数 を持つ 対称変換 に対する infinitesimals のリストを考えます。
>
|
S := [_xi[x] = 1, _xi[t] = t, _eta[u] = u];
|
| (5.1) |
この対称変換を許容する 2 次の PDE (偏微分方程式)の一般系を InvariantEquation で計算します。
>
|
PDE := InvariantEquation(S, u(x,t), order = 2, name = Lambda);
|
| (5.2) |
以下、説明のため PDE の形を特殊化します。
>
|
pde := isolate(op(-1, PDE) = subsop(-1 = NULL, PDE), diff(u(x,t), x,x));
|
| (5.3) |
対称変換 S の一般形は SymmetryGauge を用いて次のように計算されます。
>
|
S1 := SymmetryGauge(S, u(x,t));
|
| (5.4) |
S1 も pde の対称変換であることを確認します。
| (5.5) |
S1 に任意関数が含まれていることに着目してください。その数は、独立変数と同数となっています。SymmetryGauge は、与えられた対称変換に、常に許容できる(いわゆる自明な)対称変換を加えます。自明な対称変換は、それ自体では解を求めるのに役立ちませんが、有用な対称変換と組み合わせることでその対称変換を様々な方法で書き換えることを可能にします。加えられる自明な対称変換を見るには、対応する Library コマンドを使用してください。
>
|
PDEtools:-Library:-ConstructTrivialSymmetry([_F1, _F2], [u], [x, t], jetnotation = jetvariables);
|
| (5.6) |
SymmetryGauge の入力は、S に対応する infinitesimal ジェネレータ作用素であることも可能です。この場合、SymmetryGauge の出力もまた作用素となります。
>
|
G := InfinitesimalGenerator(S, u(x,t));
|
| (5.7) |
>
|
SymmetryGauge(G, u(x,t));
|
| (5.8) |
この出力の展開形を求めるには expanded のオプションを使用します。
>
|
SymmetryGauge(G, u(x,t), expanded);
|
| (5.9) |
SymmetryGauge の出力は、入力(ここでは G)が作用素のとき微分演算子となり、入力がリストのとき出力もリストとなります。output = ... オプションを使用すれば、このデフォルトの動作をオーバーライドすることができます。
>
|
SymmetryGauge(G, u(x,t), output = list);
|
| (5.10) |
返される対称変換の prolongation 次数は、デフォルトとして与えられた対称変換のそれに等しくなります。オプション引数 prolongation = n (ただし n は正の整数)を用いて違う次数にすることもできます。
>
|
SymmetryGauge(G, u(x,t), expanded, prolongation = 1);
|
| (5.11) |
例えば jetnumbers (ToJet 参照)など、出力を別記法にしたい場合、オプション引数 jetnotation = ... を使用します。また、オプション引数の左辺をキーワードの一部で指定すると、 SymmetryGauge に知られているキーワードに対し一致検索が実行されます。この入力はその両方の例を表します。
>
|
SymmetryGauge(G, u(x,t), expanded, prolongation = 1, notation = jetnumbers);
|
| (5.12) |
任意関数の依存関係と prolongation 値が異なるようにする要求は、オプション引数 differentialorder = ... を使用します。
>
|
SymmetryGauge(G, u(x,t), expanded, prolongation = 1, order = 0);
|
| (5.13) |
対称変換を evolutionary 形式に書き換えるには、オプション引数 _xi = 0 を使用します。
>
|
S0_xi := SymmetryGauge(S, u(x,t), xi = 0);
|
| (5.14) |
S0_xi が pde の対称変換であることを確認します。
>
|
SymmetryTest(S0_xi, pde);
|
| (5.15) |
_eta = 0 のときゲージと比較
>
|
S0_eta := SymmetryGauge(S, u(x,t), eta = 0);
|
| (5.16) |
>
|
SymmetryTest(S0_eta, pde);
|
| (5.17) |
定義式の右辺をリストとして渡し、各 infinitesimal の値を指定することができます。
>
|
SymmetryGauge(S, u(x,t), xi = [0, 1]);
|
| (5.18) |
リスト内で infinitesimal が 1 つだけ指定されているとき、他は任意となります。
>
|
SymmetryGauge(S, u(x,t), xi = [0]);
|
| (5.19) |
次のようにすれば、2 つめだけがゲージされ、1 つめはゲージされないように指定できます。
>
|
SymmetryGauge(S, u(x,t), xi = [arbitrary, 0]);
|
| (5.20) |
|
|