next up previous
Next: グレブナ基底 Up: 環・体 Previous: トレース(conjtrace)

例:最小分解体の計算

ここでは $ \mathbb{Q}$ 上の既約多項式 $ p=X^3+5X+1$ の最小分解体を MuPAD に計算させてみましょう。 まず、$ p$ $ \mathbb{Q}$ 上既約であることを確認します。
p:=poly(X^3+5*X+1,Dom::Rational):
irreducible(p);


                                   TRUE

$ p$ の根の一つ $ a$ $ \mathbb{Q}$ に追加して新しい体 $ k=\mathbb{Q}[a]$ を作ります。

k:=Dom::AlgebraicExtension(Dom::Rational, subs(p,X=a),a):

                                                      3
        Dom::AlgebraicExtension(Dom::Rational, 5 a + a  + 1 = 0, a)

今度は $ k[X]$ のなかで $ p$ を因数分解します。

p1:=poly(p,k):
S:=factor(p1);

[1, poly(X - a, [X], Dom::AlgebraicExtension(Dom::Rational,

          3                        2           2
   5 a + a  + 1 = 0, a)), 1, poly(X  + a X + (a  + 5), [X],

                                                 3
   Dom::AlgebraicExtension(Dom::Rational, 5 a + a  + 1 = 0, a)), 1]

q:=S[4]; // S の第4成分を取り出す。

      2           2
poly(X  + a X + (a  + 5), [X], Dom::AlgebraicExtension(Dom::Rational,

          3
   5 a + a  + 1 = 0, a))


irreducible(q);


                                   TRUE

最後の行でわかるように $ q$ は既約なので、 上と同様の操作で $ q$ の根 $ b$$ k$ に付け加えて $ L=k[b]$ を作ります。

 L:=Dom::AlgebraicExtension(k,subs(q,X=b),b);

Dom::AlgebraicExtension(Dom::AlgebraicExtension(Dom::Rational,

          3                     2    2
   5 a + a  + 1 = 0, a), a b + a  + b  + 5 = 0, b)

これで $ p$$ L$ 内で因数分解できるはずです。

p2:=poly(p,L):

factor(p2);

[1, poly(X + (a + b), [X], Dom::AlgebraicExtension(

                                                 3
   Dom::AlgebraicExtension(Dom::Rational, 5 a + a  + 1 = 0, a),

          2    2
   a b + a  + b  + 5 = 0, b)), 1, poly(X - a, [X], Dom::AlgebraicExtension(

                                                 3
   Dom::AlgebraicExtension(Dom::Rational, 5 a + a  + 1 = 0, a),

          2    2
   a b + a  + b  + 5 = 0, b)), 1, poly(X - b, [X], Dom::AlgebraicExtension(

                                                 3
   Dom::AlgebraicExtension(Dom::Rational, 5 a + a  + 1 = 0, a),

          2    2
   a b + a  + b  + 5 = 0, b)), 1]



2008-11-15