simplify/siderels - 副関係式に関する簡単化
使い方
simplify(expr, eqns)
simplify(expr, eqns, vars)
パラメータ
expr - 式
eqns - 等式の集合またはリスト(式 e は等式 e=0 と解釈される)
vars - (オプション)eqns に現れる変数の集合またはリスト
|
説明
|
|
•
|
expr の副関係式 eqns に関する簡単化が行われます。結果は expr と数学的に同値な式ですが、指定された副関係式に関して「正規形」になっています。
|
•
|
「正規形」の明確な意味はグレブナ基底の概念により決定されます。eqns (の vars に関する)グレブナ基底が計算され、返された値は expr に手続き Groebner[normalf] を適用することにより計算されます。あるいはもし expr が多項式でないなら、Groebner[normalf] は normal(expr) の分子と分母に別々に適用されます。
|
•
|
型 'ratpoly' を持たない任意の式に対しては、正規化を多項式の部分式に対して適用するように繰り返します。
|
•
|
vars が指定されないと、等式の左辺にある不定元はすべて右辺にある不定元のすべてよりも前にくるようなリストとして指定されます。これは簡約の順序を制御するために必要だからです。
|
•
|
vars を事前に指定する主な理由は2つあります。
|
|
(i) 多分、ある不定元は変数というよりむしろパラメータと見なされることを意味している。
|
|
(ii) 行うべき簡単化の正確な形は vars を指定することにより制御される(下を参照)。
|
•
|
グレブナ基底の定義は vars の順序付けの取り方によって変わります。
|
|
(i) vars が集合として与えられると「全次数」順序が用いられる。
|
|
(ii) vars がリストとして指定される(かまたは指定されずデフォルトのリストが上で述べたように指定されている)と、リストにおける変数の特定の並びに関する(もっとも主な変数が最初に来る)「純辞書式」順序が用いられる。
|
|
|
例
|
|
>
|
equ := {sin(x)^2 + cos(x)^2 = 1}:
e := sin(x)^3 - 11*sin(x)^2*cos(x) + 3*cos(x)^3 - sin(x)*cos(x) + 2:
simplify(e, equ);
|
| (2.1) |
>
|
simplify(e, equ, [cos(x),sin(x)]);
|
| (2.2) |
>
|
simplify(e, equ, {cos(x),sin(x)});
|
| (2.3) |
>
|
f := sin(x)^7 + sin(x)^5*cos(x)^2 - sin(x)^5*cos(x) - sin(x)^3*cos(x)^3:
simplify(f, equ, [cos(x),sin(x)]);
|
| (2.4) |
>
|
g := 8*sin(x)^4*cos(x) + 15*sin(x)^2*cos(x)^3 - 15*sin(x)^2*cos(x)
+ 7*cos(x)^5 - 14*cos(x)^3 + 7*cos(x):
simplify(g, equ);
|
| (2.5) |
>
|
siderels := {z^3 - z^2 - z*y + 2*y^2 = 1, z^3 + y^2 = 1,
z^2 + z*y - y^2 = 0, x + y = z}:
h1 := 36*z^4*y^2+36*z*y^4-36*z*y^2-1/2*z^2+z*y-1/2*y^2+1/2*x*z-1/2*x*y
+2/3*z^4+4/3*z^3*y-2/3*z^2*y^2-4/3*z*y^3+2/3*y^4:
simplify(h1, siderels);
|
| (2.6) |
>
|
h2 := z*y^2+z^3*y^3-3*z^2*y+23/3+5/6*z^2+7/3*z*y-11/6*y^2+1/2*x*z-1/2*x*y
+2/3*z^4+4/3*z^3*y-2/3*z^2*y^2-4/3*z*y^3+2/3*y^4:
simplify(h2, siderels);
|
| (2.7) |
>
|
simplify(h2, siderels, {x,y,z});
|
| (2.8) |
|
|
Download Help Document
Was this information helpful?