Groebner[SPolynomial] - S-多項式の計算
|
使い方
|
|
SPolynomial(f, g, T, characteristic=p)
|
|
パラメータ
|
|
f, g
|
-
|
多項式
|
T
|
-
|
単項式順序かその短い記述
|
p
|
-
|
(オプション) 標数
|
|
|
|
|
説明
|
|
•
|
SPolynomial(f, g, T) は f と g の、単項式順序 T に関する S-多項式を計算します。S-多項式はシジジーです。結果は最小の掛け算によって f と g の頭項を打ち消します。
|
•
|
可換なドメインでは、f と g の S-多項式は次で与えられます , ただし LT(f) は f の T に関する頭項。Ore 代数の場合、S-多項式は同様に与えられますが、単項式による割り算がないため f と g の S-多項式は次で定義されます c'[f]*t'[f]*f - c'[g]*t'[g]*g ただし
|
–
|
t'[f]*LM(f) = t'[g]*LM(g) = lcm(LM(f), LM(g)) ただし LM(f) は f の頭項
|
–
|
t'[f]*LC(f) = c''[f]*t'[f] + lower order terms ただし LC(f) は f の頭係数
|
–
|
t'[g]*LC(g) = c''[g]*t'[g] + lower order terms
|
–
|
c'[f]*c''[f] = c'[g]*c''[g] = c''[f]*c''[g] / gcd(c''[f], c''[g])
|
•
|
オプションの引数 characteristic=p は T が単項式順序の短い記述であった場合、その環の標数を指定します。特に指定しなければ値は 0 として扱われます。
|
•
|
spoly コマンドは同様の働きをしますが、今後リリースされる Maple ではサポートされない可能性がありますのでご注意ください。
|
|
|
例
|
|
| (4.1) |
| (4.2) |
>
|
SPolynomial(f, g, plex(x,y,z)); # x*f - g
|
| (4.3) |
>
|
SPolynomial(f, g, tdeg(x,y,z)); # x^2*f + 12*z^3*g
|
| (4.4) |
Weyl 代数における計算
>
|
A := diff_algebra([Dx,x], [Dy,y], polynom={x,y}):
|
>
|
T := MonomialOrder(A, tdeg(Dx,Dy,x,y)):
|
>
|
SPolynomial(Dx+y, Dy-x, T);
|
| (4.5) |
q-微分代数における計算
>
|
A := skew_algebra(comm=q, qdilat=[Sx,x,q]):
|
>
|
T := MonomialOrder(A, tdeg(Sx)):
|
>
|
SPolynomial(Sx^2-x, x*Sx, T);
|
| (4.6) |
素数を標数にもつ Weyl 代数上の計算
>
|
A := diff_algebra([Dx,x], characteristic=2):
|
>
|
T := MonomialOrder(A,tdeg(Dx)):
|
| (4.7) |
代数的数を係数にもつ場合
>
|
s := SPolynomial((2-3*i)*x^2-x, x^2+(1+i)*x, tdeg(x));
|
| (4.8) |
| (4.9) |
>
|
SPolynomial((2-3*I)*x^2-x, x^2+(1+I)*x, tdeg(x));
|
| (4.10) |
|
|