GF(2)とは位数が2である有限体のことである。体とは簡単に言えば四則演算が定義され閉じている集合である。 有名な体には有理数体(分数を含む体)、実数体、複素数体があり、一般的な知名度は無いが代数的数の集合も体となる。 計算機上でも四則演算が出来る体があれば便利であるが、あげた体はいずれも無限集合である(有理数体、代数的数体は可算無限、実数体、複素数体は非可算無限)。 そこで登場してくるのが有限体である。有限の名の通り有限集合であるような体である。
素数位数の有限体も、その拡大体もある可換環の極大イデアルによる剰余環を踏まえると考えやすい。素数位数の体は可換環として有理整数環、極大イデアルとして素数で生成したイデアルを考えればよい。拡大体の場合においては、可換環として体を係数とする一変数多項式環、極大イデアルとして既約多項式で生成したイデアルをとれば良い。特にGF(2)を係数とする多項式環の剰余環を構成すれば都合よく0と1だけで表せるので計算機との相性がよい。そこで今回PythonでGF(2)の拡大体の演算を実装してみた。