maximaを起動したらまず以下のコマンドでGF.macを読み込みます。

In [1]:
load(GF);
Out[1]:
\[\tag{${\it \%o}_{0}$}\mbox{ /opt/homebrew/Cellar/maxima/5.46.0\_10/share/maxima/5.46.0/share/contrib/gf/GF.mac }\]

まず$F_5$には$\sqrt{2}$は存在しないことを確認しておきます。

In [2]:
jacobi(2,5);
Out[2]:
\[\tag{${\it \%o}_{1}$}-1\]

$F_5(\sqrt{2})$を構成します。gf_xxxコマンドはこの体の上で動作します。

In [3]:
gf_set_data(5,x^2-2);
Out[3]:
\[\tag{${\it \%o}_{2}$}\mbox{ Structure [GF-DATA] }\]

これで$F_5(\sqrt{2})$が構成できました。以下で登場する$x$は$\sqrt{2}$を指すと考えてください。例えば$x$に$x$をかけると$2$になるはずです。乗算にはgf_multを使います。

In [4]:
gf_mult(x,x);
Out[4]:
\[\tag{${\it \%o}_{3}$}2\]

$F_5(\sqrt{2})^{\times}$は巡回群になるのですが、gf_primitiveを使ってその生成元を求めることもできます。

In [5]:
a:gf_primitive();
Out[5]:
\[\tag{${\it \%o}_{4}$}x+2\]

これは$\sqrt{2}+2$が生成元だということです。実際に$x+2$の冪乗をいくつか求めてみます。

In [6]:
map(lambda([i],gf_exp(x+2,i)),[0,1,2,3,4,5,19,20,21,22,23,24]);
Out[6]:
\[\tag{${\it \%o}_{5}$}\left[ 1 , x+2 , 4\,x+1 , 4\,x , 3\,x+3 , 4\,x+2 , 3\,x+1 , 2\,x+3 , 2\,x , 4\,x+4 , 2\,x+1 , 1 \right] \]

命題3.34の公式 $(a+b)^p=a^p+b^p$を実際の値を入れて試してみます。$F_5(\sqrt{2})$で$(a+b)^5=a^5+b^5$を試してみましょう。適当に$a=\sqrt{2}+3,\, b=3\sqrt{2}+1$とおいてみます。

In [7]:
a:x+3;b:3*x+1;
Out[7]:
\[\tag{${\it \%o}_{6}$}x+3\]
Out[7]:
\[\tag{${\it \%o}_{7}$}3\,x+1\]

まず$(a+b)^5$を計算します。gf_addで加算、gf_expで冪乗を計算します。

In [8]:
gf_exp(gf_add(a,b),5);
Out[8]:
\[\tag{${\it \%o}_{8}$}x+4\]

結果は$\sqrt{2}+4$です。 今度は$a^5+b^5$を計算してみます。先にgf_expで冪乗を求めてからgf_addで加算します。

In [9]:
gf_add(gf_exp(a,5),gf_exp(b,5));
Out[9]:
\[\tag{${\it \%o}_{9}$}x+4\]

結果は$\sqrt{2}+4$で同じ値になりました。

次は命題3.48が$F_p$で成り立つこと、つまり$a\in F_p \iff a^p=a$を値を入れて試してみます。まず任意の$F_5$の元$c$について$c^5=c$が成り立つことを確認します。

In [10]:
map(lambda([c],[c,gf_exp(c,5)]),[1,2,3,4]);
Out[10]:
\[\tag{${\it \%o}_{10}$}\left[ \left[ 1 , 1 \right] , \left[ 2 , 2 \right] , \left[ 3 , 3 \right] , \left[ 4 , 4 \right] \right] \]

$F_5$の元ではない場合についても確認します。先ほど定義した$a,b$はいずれも$F_5$の元ではありませんから、$a^5\neq a,\, b^5\neq b$のはずです。やってみましょう。

In [11]:
[a,gf_exp(a,5)];
[b,gf_exp(b,5)];
Out[11]:
\[\tag{${\it \%o}_{11}$}\left[ x+3 , 4\,x+3 \right] \]
Out[11]:
\[\tag{${\it \%o}_{12}$}\left[ 3\,x+1 , 2\,x+1 \right] \]

命題3.48が$F_{p^f}$で成り立つこと、つまり$a\in F_{p^f} \iff a^{p^f}=a$を値を入れて試してみます。$F_{5^2}=F_{25}$なので$F_5(\sqrt{2})$の任意の要素$x$で$x^{25}=x$が成り立ちます。先ほど定義した$a,b$でも成り立つことを見ましょう。

In [12]:
[a,gf_exp(a,25)];
Out[12]:
\[\tag{${\it \%o}_{13}$}\left[ x+3 , x+3 \right] \]
In [13]:
[b,gf_exp(b,25)];
Out[13]:
\[\tag{${\it \%o}_{14}$}\left[ 3\,x+1 , 3\,x+1 \right] \]
In [ ]: