この 章の 目標
F 16 \mathbb{F}_{16} F 16 などで 具体的に 計算でき、 x q n − x x^{q^n} - x x q n − x の 既約分解から 既約多項式・原始多項式の 個数を 求められる
トレースと ノルムの 全射性と ヒルベルトの 定理 90 を、有限体の 場合に 証明できる
有限体上の 多項式の 因数分解アルゴリズム(無平方分解・次数別分解・カントール–ザッセンハウス法)の 正しさを 説明できる
シュヴァレー–ワーニングの 定理を 証明し、有限体上の 二次曲線の 点を 数えられる
CRC・AES・リード–ソロモン符号で 有限体が どう 使われるかを 説明できる
前提 :第8章 (有限体の 基本定理)、 第9章 (有限体の ガロア群)。11.9 節では 第1章の ルジャンドル記号を 使う。
第8章で、有限体は 元の 個数 q = p n q = p^n q = p n で 決まり、乗法群は 巡回群である ことを 示した。第9章では、その ガロア群が フロベニウス写像で 生成される 巡回群である ことを 見た。本章では これらを 道具と して、有限体の 上で 具体的に 計算する 方法を 整える。既約多項式は いくつあるか、多項式を どう 因数分解するか、方程式の 解は いくつあるか、と いった 問いに、有限体では きれいな 答えが ある。
有限体は 計算機の 中で 最も よく 使われる 体でもある。誤り検出の CRC、共通鍵暗号 AES、リード–ソロモン符号、楕円曲線暗号は、いずれも 有限体の 算術の 上に 作られている。最後の 節で それらへの 橋渡しを する。
本章では p p p は 素数、 q q q は p p p の べきとし、 Fr q ( a ) = a q \operatorname{Fr}_q(a) = a^q Fr q ( a ) = a q と 書く。
11.1 有限体の 復習と 具体的な 構成
第8章・第9章の 結果を まとめて おく。
元の 個数が q q q の 体 F q \mathbb{F}_q F q は x q − x x^q - x x q − x の 分解体と して 同型を 除いて 一意に 存在し、 F p n \mathbb{F}_{p^n} F p n が F p m \mathbb{F}_{p^m} F p m を 含む ⟺ \iff ⟺ m ∣ n m \mid n m ∣ n (第8章 定理 8.41)。F q × \mathbb{F}_q^\times F q × は 位数 q − 1 q - 1 q − 1 の 巡回群(第8章 定理 8.40)。
F q n / F q \mathbb{F}_{q^n}/\mathbb{F}_q F q n / F q は ガロア拡大で、ガロア群は Fr q \operatorname{Fr}_q Fr q で 生成される 位数 n n n の 巡回群(第9章 定理 9.14 と その後の 注意)。 F q \mathbb{F}_q F q 上の 既約多項式の 根の 1 つを α \alpha α と すると、根全体は α , α q , α q 2 , … \alpha, \alpha^q, \alpha^{q^2}, \dots α , α q , α q 2 , … である(第9章 例 9.15(2) と 同様)。
F q n \mathbb{F}_{q^n} F q n を 具体的に 作るには、 F q \mathbb{F}_q F q 上の n n n 次既約多項式 f f f を とって F q [ x ] / ( f ) \mathbb{F}_q[x]/(f) F q [ x ] / ( f ) を 考えればよい(第8章 定理 8.8)。元は n − 1 n - 1 n − 1 次以下の 多項式で 表され、和は 係数ごと、積は f f f で 割った 余りである。
例 11.1
F 4 = F 2 [ x ] / ( x 2 + x + 1 ) = { 0 , 1 , ω , ω 2 = ω + 1 } \mathbb{F}_4 = \mathbb{F}_2[x]/(x^2 + x + 1) = \lbrace 0, 1, \omega, \omega^2 = \omega + 1 \rbrace F 4 = F 2 [ x ] / ( x 2 + x + 1 ) = { 0 , 1 , ω , ω 2 = ω + 1 } (第8章 例 8.22)と F 8 = F 2 [ x ] / ( x 3 + x + 1 ) \mathbb{F}_8 = \mathbb{F}_2[x]/(x^3 + x + 1) F 8 = F 2 [ x ] / ( x 3 + x + 1 ) (例 8.42(1))は 第8章で 見た。 F 9 = F 3 [ x ] / ( x 2 + 1 ) = F 3 ( i ) \mathbb{F}_9 = \mathbb{F}_3[x]/(x^2 + 1) = \mathbb{F}_3(i) F 9 = F 3 [ x ] / ( x 2 + 1 ) = F 3 ( i ) では、1 + i 1 + i 1 + i の べきが 1 , 1 + i , 2 i , 1 + 2 i , 2 , 2 + 2 i , i , 2 + i 1, 1 + i, 2i, 1 + 2i, 2, 2 + 2i, i, 2 + i 1 , 1 + i , 2 i , 1 + 2 i , 2 , 2 + 2 i , i , 2 + i と F 9 × \mathbb{F}_9^\times F 9 × を 一巡する(例 8.42(2))。
F 16 = F 2 [ x ] / ( x 4 + x + 1 ) \mathbb{F}_{16} = \mathbb{F}_2[x]/(x^4 + x + 1) F 16 = F 2 [ x ] / ( x 4 + x + 1 ) (既約性は 第6章 例 6.28(2))。 α = x ‾ \alpha = \overline{x} α = x と すると α 4 = α + 1 \alpha^4 = \alpha + 1 α 4 = α + 1 。α k \alpha^k α k を α 3 , α 2 , α , 1 \alpha^3, \alpha^2, \alpha, 1 α 3 , α 2 , α , 1 の 係数を 並べた 4 桁の 2 進数で 表すと 次のようになる。 α 3 ≠ 1 \alpha^3 \neq 1 α 3 = 1 , α 5 ≠ 1 \alpha^5 \neq 1 α 5 = 1 なので α \alpha α の 位数は 15 で、 α \alpha α は F 16 × \mathbb{F}_{16}^\times F 16 × の 生成元である。
k k k
0
1
2
3
4
5
6
7
α k \alpha^k α k
0001
0010
0100
1000
0011
0110
1100
1011
k k k
8
9
10
11
12
13
14
α k \alpha^k α k
0101
1010
0111
1110
1111
1101
1001
たとえば α 3 + α + 1 = α 7 \alpha^3 + \alpha + 1 = \alpha^7 α 3 + α + 1 = α 7 なので ( α 3 + α + 1 ) − 1 = α 8 = α 2 + 1 (\alpha^3 + \alpha + 1)^{-1} = \alpha^8 = \alpha^2 + 1 ( α 3 + α + 1 ) − 1 = α 8 = α 2 + 1 。部分体 F 4 \mathbb{F}_4 F 4 は a 4 = a a^4 = a a 4 = a を みたす元全体 { 0 , 1 , α 5 , α 10 } \lbrace 0, 1, \alpha^5, \alpha^{10} \rbrace { 0 , 1 , α 5 , α 10 } で、ω = α 5 = α 2 + α \omega = \alpha^5 = \alpha^2 + \alpha ω = α 5 = α 2 + α は ω 2 + ω + 1 = 0 \omega^2 + \omega + 1 = 0 ω 2 + ω + 1 = 0 を みたす。
11.2 x q n − x x^{q^n} - x x q n − x の 分解と 既約多項式の 個数
定理 11.2 F q [ x ] \mathbb{F}_q[x] F q [ x ] に おいて、 x q n − x x^{q^n} - x x q n − x は、次数が n n n の 約数である モニックな 既約多項式すべての(1 回ずつの)積である。
証明. ( x q n − x ) ′ = − 1 (x^{q^n} - x)' = -1 ( x q n − x ) ′ = − 1 なので x q n − x x^{q^n} - x x q n − x は 重根を もたず(第8章 命題 8.36)、相異なる モニック既約多項式の 積である。 f f f を d d d 次の モニック既約多項式、 E = F q [ x ] / ( f ) = F q ( α ) E = \mathbb{F}_q[x]/(f) = \mathbb{F}_q(\alpha) E = F q [ x ] / ( f ) = F q ( α ) (α = x ‾ \alpha = \overline{x} α = x )と すると、 f f f は α \alpha α の 最小多項式なので、 f ∣ x q n − x f \mid x^{q^n} - x f ∣ x q n − x ⟺ \iff ⟺ Fr q n ( α ) = α \operatorname{Fr}_q^n(\alpha) = \alpha Fr q n ( α ) = α ⟺ \iff ⟺ Fr q n = i d E \operatorname{Fr}_q^n = \mathrm{id}_E Fr q n = id E (自己同型は α \alpha α の 像で 決まる) ⟺ \iff ⟺ d ∣ n d \mid n d ∣ n (Gal ( E / F q ) \operatorname{Gal}(E/\mathbb{F}_q) Gal ( E / F q ) は Fr q \operatorname{Fr}_q Fr q で 生成される 位数 d d d の 巡回群)。 □ \square □
d d d 次の モニック既約多項式の 個数を N q ( d ) N_q(d) N q ( d ) とし、次数を 比べると
q n = ∑ d ∣ n d N q ( d ) (1) q^n = \sum_{d \mid n} dN_q(d) \tag{1} q n = d ∣ n ∑ d N q ( d ) ( 1 )
これを N q ( n ) N_q(n) N q ( n ) に ついて 解く。 メビウス関数 (Möbius function) μ \mu μ を、μ ( 1 ) = 1 \mu(1) = 1 μ ( 1 ) = 1 、n n n が 相異なる k k k 個の 素数の 積なら μ ( n ) = ( − 1 ) k \mu(n) = (-1)^k μ ( n ) = ( − 1 ) k 、n n n が ある 素数の 平方で 割り切れるなら μ ( n ) = 0 \mu(n) = 0 μ ( n ) = 0 と 定める。 n > 1 n > 1 n > 1 なら ∑ d ∣ n μ ( d ) = 0 \sum_{d \mid n}\mu(d) = 0 ∑ d ∣ n μ ( d ) = 0 である(n n n の 相異なる 素因数を k ≥ 1 k \geq 1 k ≥ 1 個と すると、和は ∑ j ( k j ) ( − 1 ) j = ( 1 − 1 ) k \sum_j \binom{k}{j}(-1)^j = (1 - 1)^k ∑ j ( j k ) ( − 1 ) j = ( 1 − 1 ) k )。
定理 11.3 (メビウスの 反転公式, Möbius inversion formula) F , G : N → Z F, G\colon \mathbb{N} \to \mathbb{Z} F , G : N → Z が すべての n n n で F ( n ) = ∑ d ∣ n G ( d ) F(n) = \sum_{d \mid n} G(d) F ( n ) = ∑ d ∣ n G ( d ) を みたせば、 G ( n ) = ∑ d ∣ n μ ( d ) F ( n / d ) G(n) = \sum_{d \mid n}\mu(d)F(n/d) G ( n ) = ∑ d ∣ n μ ( d ) F ( n / d ) 。
証明. d e ∣ n de \mid n d e ∣ n と なる 組 ( d , e ) (d, e) ( d , e ) に ついての 和の 順序を 入れかえると ∑ d ∣ n μ ( d ) ∑ e ∣ n / d G ( e ) = ∑ e ∣ n G ( e ) ∑ d ∣ n / e μ ( d ) \sum_{d \mid n}\mu(d)\sum_{e \mid n/d}G(e) = \sum_{e \mid n}G(e)\sum_{d \mid n/e}\mu(d) ∑ d ∣ n μ ( d ) ∑ e ∣ n / d G ( e ) = ∑ e ∣ n G ( e ) ∑ d ∣ n / e μ ( d ) で、内側の 和は e = n e = n e = n の とき 1 1 1 、それ以外は 0 0 0 。□ \square □
系 11.4 (ガウスの 公式) N q ( n ) = 1 n ∑ d ∣ n μ ( d ) q n / d N_q(n) = \dfrac{1}{n}\sum_{d \mid n}\mu(d)q^{n/d} N q ( n ) = n 1 ∑ d ∣ n μ ( d ) q n / d 。また 1 ≤ N q ( n ) ≤ q n / n 1 \leq N_q(n) \leq q^n/n 1 ≤ N q ( n ) ≤ q n / n 。
証明. (1) に 定理 11.3 を F ( n ) = q n F(n) = q^n F ( n ) = q n , G ( d ) = d N q ( d ) G(d) = dN_q(d) G ( d ) = d N q ( d ) と して 使う。上からの 評価は (1) から、 N q ( n ) ≥ 1 N_q(n) \geq 1 N q ( n ) ≥ 1 は F q n × \mathbb{F}_{q^n}^\times F q n × の 生成元の 最小多項式が n n n 次である ことから わかる。 □ \square □
q = 2 q = 2 q = 2 では 次のようになる( n ≤ 8 n \leq 8 n ≤ 8 の すべての 多項式を 調べ尽くす計算でも 確かめた。3 行目は 定理 11.6)。
n n n
1
2
3
4
5
6
7
8
N 2 ( n ) N_2(n) N 2 ( n )
2
1
2
3
6
9
18
30
原始多項式の 個数
1
1
2
2
6
6
18
16
たとえば N 2 ( 8 ) = ( 2 8 − 2 4 ) / 8 = 30 N_2(8) = (2^8 - 2^4)/8 = 30 N 2 ( 8 ) = ( 2 8 − 2 4 ) /8 = 30 , N 2 ( 6 ) = ( 2 6 − 2 3 − 2 2 + 2 ) / 6 = 9 N_2(6) = (2^6 - 2^3 - 2^2 + 2)/6 = 9 N 2 ( 6 ) = ( 2 6 − 2 3 − 2 2 + 2 ) /6 = 9 。N q ( n ) ≈ q n / n N_q(n) \approx q^n/n N q ( n ) ≈ q n / n (問題 11.5)なので、n n n 次の モニック多項式を ランダムに 選ぶと およそ 1 / n 1/n 1/ n の 確率で 既約である。既約多項式を 探すアルゴリズムは これに 基づく。
11.3 原始元と 原始多項式
定義 11.5 (原始元・ 原始多項式) F q n × \mathbb{F}_{q^n}^\times F q n × の 生成元を F q n \mathbb{F}_{q^n} F q n の 原始元 (primitive element) と いい、その F q \mathbb{F}_q F q 上の 最小多項式を 原始多項式 (primitive polynomial) と いう。
注意
同じ 名前で 別の 概念を 指すので 注意する。第8章 定理 8.43 の「原始元」は L = K ( γ ) L = K(\gamma) L = K ( γ ) と なる γ \gamma γ の ことで、上の 意味の 原始元は それより 強い 条件である(例 11.8 の x 4 + x 3 + x 2 + x + 1 x^4 + x^3 + x^2 + x + 1 x 4 + x 3 + x 2 + x + 1 の 根は、前者の 意味では F 16 / F 2 \mathbb{F}_{16}/\mathbb{F}_2 F 16 / F 2 の 原始元だが、後者の 意味では 原始元で ない)。第6章 定義 6.17 の「原始多項式」は 係数の 最大公約数(内容)が 単元である 多項式の ことで、体上の 0 0 0 でない 多項式は すべて この 意味で 原始的なので、本章では 定義 11.5 の 意味でだけ 使う。な お F p \mathbb{F}_p F p の 原始元とは、法 p p p の 原始根(第1章 定義 1.41)の ことである。
定理 11.6 F q n \mathbb{F}_{q^n} F q n の 原始元は ちょうど φ ( q n − 1 ) \varphi(q^n - 1) φ ( q n − 1 ) 個あり、F q \mathbb{F}_q F q 上の n n n 次の 原始多項式は ちょうど φ ( q n − 1 ) / n \varphi(q^n - 1)/n φ ( q n − 1 ) / n 個ある。
証明. 前半は 位数 q n − 1 q^n - 1 q n − 1 の 巡回群の 生成元の 個数である(第2章 系 2.25)。原始元 γ \gamma γ の べきは F q n × \mathbb{F}_{q^n}^\times F q n × を 尽くすので F q ( γ ) = F q n \mathbb{F}_q(\gamma) = \mathbb{F}_{q^n} F q ( γ ) = F q n で、最小多項式は n n n 次、その 根は 相異なる n n n 個の γ q i \gamma^{q^i} γ q i (0 ≤ i < n 0 \leq i < n 0 ≤ i < n )である(第9章 例 9.15(2) と 同様)。これらは 自己同型 Fr q i \operatorname{Fr}_q^i Fr q i に よる 像なので 位数は γ \gamma γ と 等しく、すべて 原始元である。よって 原始元全体は 各原始多項式の 根 n n n 個ずつに 分かれる。 □ \square □
命題 11.7 f ∈ F q [ x ] f \in \mathbb{F}_q[x] f ∈ F q [ x ] を n n n 次の モニック既約多項式( f ≠ x f \neq x f = x )と する。 f f f が 原始多項式 ⟺ \iff ⟺ q n − 1 q^n - 1 q n − 1 の 各素因数 ℓ \ell ℓ に ついて x ( q n − 1 ) / ℓ ≢ 1 ( m o d f ) x^{(q^n-1)/\ell} \not\equiv 1 \pmod f x ( q n − 1 ) / ℓ ≡ 1 ( mod f ) 。
証明. f f f の 根は すべて 同じ 位数を もつので、 f f f が 原始的 ⟺ \iff ⟺ x ‾ ∈ ( F q [ x ] / ( f ) ) × ≅ F q n × \overline{x} \in (\mathbb{F}_q[x]/(f))^\times \cong \mathbb{F}_{q^n}^\times x ∈ ( F q [ x ] / ( f ) ) × ≅ F q n × の 位数が q n − 1 q^n - 1 q n − 1 。その 位数は q n − 1 q^n - 1 q n − 1 を 割り、 q n − 1 q^n - 1 q n − 1 でなければ ある ( q n − 1 ) / ℓ (q^n - 1)/\ell ( q n − 1 ) / ℓ を 割る。 □ \square □
例 11.8 q = 2 q = 2 q = 2 , n = 4 n = 4 n = 4 の 原始多項式は φ ( 15 ) / 4 = 2 \varphi(15)/4 = 2 φ ( 15 ) /4 = 2 個で、x 4 + x + 1 x^4 + x + 1 x 4 + x + 1 と x 4 + x 3 + 1 x^4 + x^3 + 1 x 4 + x 3 + 1 。x 4 + x 3 + x 2 + x + 1 x^4 + x^3 + x^2 + x + 1 x 4 + x 3 + x 2 + x + 1 も 既約だが、 ( x − 1 ) ( x 4 + x 3 + x 2 + x + 1 ) = x 5 − 1 (x - 1)(x^4 + x^3 + x^2 + x + 1) = x^5 - 1 ( x − 1 ) ( x 4 + x 3 + x 2 + x + 1 ) = x 5 − 1 より その 根の 位数は 5 で、原始的で ない。 n = 8 n = 8 n = 8 では 既約多項式 30 個の うち φ ( 255 ) / 8 = 16 \varphi(255)/8 = 16 φ ( 255 ) /8 = 16 個が 原始的である。 2 n − 1 2^n - 1 2 n − 1 が 素数( n = 2 , 3 , 5 , 7 n = 2, 3, 5, 7 n = 2 , 3 , 5 , 7 など)なら、F 2 \mathbb{F}_2 F 2 に 属さない 元の 位数は すべて 2 n − 1 2^n - 1 2 n − 1 なので、n n n 次既約多項式は すべて 原始的である。
11.4 代数閉包 F ‾ p \overline{\mathbb{F}}_p F p
F ‾ p \overline{\mathbb{F}}_p F p を F p \mathbb{F}_p F p の 代数閉包と する(第8章 定理 8.31)。各 n n n に ついて F p n : = { a ∈ F ‾ p ∣ a p n = a } \mathbb{F}_{p^n} := \lbrace a \in \overline{\mathbb{F}}_p \mid a^{p^n} = a \rbrace F p n := { a ∈ F p ∣ a p n = a } は p n p^n p n 個の 元からなる 部分体で、 p n p^n p n 元の 部分体は これに 限る(第8章 定理 8.41 の 証明)。 a ∈ F ‾ p a \in \overline{\mathbb{F}}_p a ∈ F p は F p \mathbb{F}_p F p 上代数的なので F p ( a ) \mathbb{F}_p(a) F p ( a ) は 有限体で、ある F p n \mathbb{F}_{p^n} F p n に 含まれる。よって
F ‾ p = ⋃ n ≥ 1 F p n , F p m ⊂ F p n ⟺ m ∣ n \overline{\mathbb{F}}_p = \bigcup_{n \geq 1}\mathbb{F}_{p^n}, \qquad \mathbb{F}_{p^m} \subset \mathbb{F}_{p^n} \iff m \mid n F p = n ≥ 1 ⋃ F p n , F p m ⊂ F p n ⟺ m ∣ n
であり、標数 p p p の 有限体は すべて この 1 つの 体の 中で 考えられる。 F ‾ p / F p \overline{\mathbb{F}}_p/\mathbb{F}_p F p / F p は 無限次ガロア拡大で、その ガロア群は 射有限群 Z ^ \widehat{\mathbb{Z}} Z と 同型に なる( 第13章 定理 13.17)。
11.5 トレースと ノルム
以下 K = F q K = \mathbb{F}_q K = F q , L = F q n L = \mathbb{F}_{q^n} L = F q n , σ = Fr q \sigma = \operatorname{Fr}_q σ = Fr q と する。
定義 11.9 (トレース・ノルム)a ∈ L a \in L a ∈ L に 対し、 Tr L / K ( a ) = ∑ i = 0 n − 1 a q i \operatorname{Tr}_{L/K}(a) = \sum_{i=0}^{n-1} a^{q^i} Tr L / K ( a ) = ∑ i = 0 n − 1 a q i を トレース (trace)、N L / K ( a ) = ∏ i = 0 n − 1 a q i = a ( q n − 1 ) / ( q − 1 ) N_{L/K}(a) = \prod_{i=0}^{n-1} a^{q^i} = a^{(q^n-1)/(q-1)} N L / K ( a ) = ∏ i = 0 n − 1 a q i = a ( q n − 1 ) / ( q − 1 ) を ノルム (norm) と いう。
σ \sigma σ は これらを 保つので 値は L ⟨ σ ⟩ = K L^{\langle\sigma\rangle} = K L ⟨ σ ⟩ = K に 属し、 Tr \operatorname{Tr} Tr は K K K 線形写像(c ∈ K c \in K c ∈ K は c q = c c^q = c c q = c )、N N N は 乗法的である。 a a a が L L L を 生成し、最小多項式が x n + c n − 1 x n − 1 + ⋯ + c 0 x^n + c_{n-1}x^{n-1} + \cdots + c_0 x n + c n − 1 x n − 1 + ⋯ + c 0 なら、根は a q i a^{q^i} a q i なので Tr ( a ) = − c n − 1 \operatorname{Tr}(a) = -c_{n-1} Tr ( a ) = − c n − 1 , N ( a ) = ( − 1 ) n c 0 N(a) = (-1)^nc_0 N ( a ) = ( − 1 ) n c 0 。
定理 11.10
Tr L / K : L → K \operatorname{Tr}_{L/K}\colon L \to K Tr L / K : L → K は 全射で、その 核の 元の 個数は q n − 1 q^{n-1} q n − 1 。
N L / K : L × → K × N_{L/K}\colon L^\times \to K^\times N L / K : L × → K × は 全射準同型で、その 核の 元の 個数は ( q n − 1 ) / ( q − 1 ) (q^n - 1)/(q - 1) ( q n − 1 ) / ( q − 1 ) 。
(推移律)K ⊂ M ⊂ L K \subset M \subset L K ⊂ M ⊂ L に ついて Tr L / K = Tr M / K ∘ Tr L / M \operatorname{Tr}_{L/K} = \operatorname{Tr}_{M/K} \circ \operatorname{Tr}_{L/M} Tr L / K = Tr M / K ∘ Tr L / M , N L / K = N M / K ∘ N L / M N_{L/K} = N_{M/K} \circ N_{L/M} N L / K = N M / K ∘ N L / M 。
証明. (1) Tr ( a ) \operatorname{Tr}(a) Tr ( a ) は a a a の q n − 1 q^{n-1} q n − 1 次の 多項式なので、 Tr ( a ) = 0 \operatorname{Tr}(a) = 0 Tr ( a ) = 0 と なる a a a は 高々 q n − 1 < q n q^{n-1} < q^n q n − 1 < q n 個で(第5章 系 5.30)、Tr ≠ 0 \operatorname{Tr} \neq 0 Tr = 0 。1 1 1 次元の K K K への 0 0 0 でない K K K 線形写像なので 全射で、核は n − 1 n - 1 n − 1 次元。(2) L × L^\times L × の 生成元 γ \gamma γ に ついて N ( γ ) = γ ( q n − 1 ) / ( q − 1 ) N(\gamma) = \gamma^{(q^n-1)/(q-1)} N ( γ ) = γ ( q n − 1 ) / ( q − 1 ) の 位数は q − 1 q - 1 q − 1 なので、像は K × K^\times K × 全体。(3) M = F q m M = \mathbb{F}_{q^m} M = F q m , n = m k n = mk n = mk と すると、 Fr q \operatorname{Fr}_q Fr q は 加法を 保つので
Tr M / K ( Tr L / M ( a ) ) = ∑ i = 0 m − 1 ( ∑ j = 0 k − 1 a q m j ) q i = ∑ i = 0 m − 1 ∑ j = 0 k − 1 a q m j + i \operatorname{Tr}_{M/K}(\operatorname{Tr}_{L/M}(a)) = \sum_{i=0}^{m-1}\Bigl(\sum_{j=0}^{k-1} a^{q^{mj}}\Bigr)^{q^i} = \sum_{i=0}^{m-1}\sum_{j=0}^{k-1} a^{q^{mj+i}} Tr M / K ( Tr L / M ( a )) = i = 0 ∑ m − 1 ( j = 0 ∑ k − 1 a q mj ) q i = i = 0 ∑ m − 1 j = 0 ∑ k − 1 a q mj + i
で、m j + i mj + i mj + i は 0 , … , n − 1 0, \dots, n - 1 0 , … , n − 1 を ちょうど 1 回ず つ動く。ノルムも 同様。 □ \square □
例 11.11 例 11.1(2) の F 16 / F 2 \mathbb{F}_{16}/\mathbb{F}_2 F 16 / F 2 では、最小多項式 x 4 + x + 1 x^4 + x + 1 x 4 + x + 1 より Tr ( α ) = 0 \operatorname{Tr}(\alpha) = 0 Tr ( α ) = 0 , N ( α ) = 1 N(\alpha) = 1 N ( α ) = 1 。表から 計算すると、トレースが 0 0 0 の 元は 0 , 1 , α , α 2 , α 4 , α 5 , α 8 , α 10 0, 1, \alpha, \alpha^2, \alpha^4, \alpha^5, \alpha^8, \alpha^{10} 0 , 1 , α , α 2 , α 4 , α 5 , α 8 , α 10 の 8 = 2 3 8 = 2^3 8 = 2 3 個である。F 9 / F 3 \mathbb{F}_9/\mathbb{F}_3 F 9 / F 3 では ( a + b i ) 3 = a − b i (a + bi)^3 = a - bi ( a + bi ) 3 = a − bi なので N ( a + b i ) = a 2 + b 2 N(a + bi) = a^2 + b^2 N ( a + bi ) = a 2 + b 2 , Tr ( a + b i ) = 2 a \operatorname{Tr}(a + bi) = 2a Tr ( a + bi ) = 2 a で、N ( 1 ) = 1 N(1) = 1 N ( 1 ) = 1 , N ( 1 + i ) = 2 N(1 + i) = 2 N ( 1 + i ) = 2 から ノルムの 全射性が わかる。
11.6 ヒルベルトの 定理 90
定理 11.12 (ヒルベルトの 定理 90, Hilbert's Theorem 90。有限体の 場合)
(乗法版)a ∈ L × a \in L^\times a ∈ L × に ついて、 N L / K ( a ) = 1 N_{L/K}(a) = 1 N L / K ( a ) = 1 ⟺ \iff ⟺ a = b / σ ( b ) = b 1 − q a = b/\sigma(b) = b^{1-q} a = b / σ ( b ) = b 1 − q と なる b ∈ L × b \in L^\times b ∈ L × が ある。
(加法版)a ∈ L a \in L a ∈ L に ついて、 Tr L / K ( a ) = 0 \operatorname{Tr}_{L/K}(a) = 0 Tr L / K ( a ) = 0 ⟺ \iff ⟺ a = b − σ ( b ) = b − b q a = b - \sigma(b) = b - b^q a = b − σ ( b ) = b − b q と なる b ∈ L b \in L b ∈ L が ある。
証明. (1) N ∘ σ = N N \circ \sigma = N N ∘ σ = N より N ( b / σ ( b ) ) = 1 N(b/\sigma(b)) = 1 N ( b / σ ( b )) = 1 。逆に、準同型 b ↦ b 1 − q b \mapsto b^{1-q} b ↦ b 1 − q の 核は b q − 1 = 1 b^{q-1} = 1 b q − 1 = 1 と なる 元全体 K × K^\times K × なので、像は ( q n − 1 ) / ( q − 1 ) (q^n - 1)/(q - 1) ( q n − 1 ) / ( q − 1 ) 個の 元からなる。像は Ker N \operatorname{Ker} N Ker N に 含まれ、定理 11.10(2) より 元の 個数が 等しいので 一致する。(2) 同様に、 K K K 線形写像 b ↦ b − b q b \mapsto b - b^q b ↦ b − b q の 核は K K K なので 像は q n − 1 q^{n-1} q n − 1 個の 元からなり、 Tr ∘ σ = Tr \operatorname{Tr} \circ \sigma = \operatorname{Tr} Tr ∘ σ = Tr より Ker Tr \operatorname{Ker}\operatorname{Tr} Ker Tr に 含まれ、定理 11.10(1) より 一致する。 □ \square □
一般の 巡回拡大でも 同じ 主張が 成り立つ(第9章 補題 9.20 の デデキントの 補題を 使う。証明は 省略する)。加法版は 標数 2 の 2 次方程式に 応用できる。標数 2 では 解の 公式が 使えないので、これは 実用上も 重要である。
系 11.13 L = F 2 n L = \mathbb{F}_{2^n} L = F 2 n , a ∈ L a \in L a ∈ L と する。 x 2 + x + a = 0 x^2 + x + a = 0 x 2 + x + a = 0 が L L L に 根を もつ ⟺ \iff ⟺ Tr L / F 2 ( a ) = 0 \operatorname{Tr}_{L/\mathbb{F}_2}(a) = 0 Tr L / F 2 ( a ) = 0 。
証明. 標数 2 では b 2 + b = b − Fr 2 ( b ) b^2 + b = b - \operatorname{Fr}_2(b) b 2 + b = b − Fr 2 ( b ) なので、定理 11.12(2)(K = F 2 K = \mathbb{F}_2 K = F 2 )に よる。 □ \square □
11.7 有限体上の 多項式の 因数分解
f ∈ F q [ x ] f \in \mathbb{F}_q[x] f ∈ F q [ x ] の 因数分解は、(i) 重複する 因子を 分ける 無平方分解 (squarefree factorization)、(ii) 既約因子を 次数ごとに まとめる 次数別分解、(iii) 同じ 次数の 因子を 分ける 等次数分解 (equal-degree factorization) の 順に 行うのが 標準的である。
命題 11.14 モニックな f ∈ F q [ x ] f \in \mathbb{F}_q[x] f ∈ F q [ x ] を f = ∏ i π i e i f = \prod_i \pi_i^{e_i} f = ∏ i π i e i (π i \pi_i π i は 相異なる モニック既約多項式)と 分解する。
gcd ( f , f ′ ) = ∏ p ∤ e i π i e i − 1 ∏ p ∣ e i π i e i \gcd(f, f') = \prod_{p \nmid e_i}\pi_i^{e_i - 1}\prod_{p \mid e_i}\pi_i^{e_i} g cd( f , f ′ ) = ∏ p ∤ e i π i e i − 1 ∏ p ∣ e i π i e i 。特に f / gcd ( f , f ′ ) = ∏ p ∤ e i π i f/\gcd(f, f') = \prod_{p \nmid e_i}\pi_i f / g cd( f , f ′ ) = ∏ p ∤ e i π i は 無平方(重複する 既約因子を もたない)である。
f ′ = 0 f' = 0 f ′ = 0 ⟺ \iff ⟺ すべての e i e_i e i が p p p の 倍数 ⟺ \iff ⟺ f = g p f = g^p f = g p と なる g ∈ F q [ x ] g \in \mathbb{F}_q[x] g ∈ F q [ x ] が ある。
証明. (1) f ′ = ∑ i e i π i ′ π i e i − 1 ∏ j ≠ i π j e j f' = \sum_i e_i\pi_i'\pi_i^{e_i - 1}\prod_{j \neq i}\pi_j^{e_j} f ′ = ∑ i e i π i ′ π i e i − 1 ∏ j = i π j e j 。F q \mathbb{F}_q F q は 完全体なので π i \pi_i π i は 分離的で(第8章 定理 8.39)、 π i ∤ π i ′ \pi_i \nmid \pi_i' π i ∤ π i ′ 。よって π i e i − 1 \pi_i^{e_i - 1} π i e i − 1 は f ′ f' f ′ を 割り、 π i e i \pi_i^{e_i} π i e i が f ′ f' f ′ を 割るのは 第 i i i 項が 0 0 0 、すな わち p ∣ e i p \mid e_i p ∣ e i の ときに 限る。(2) 前半は (1) から( f ′ = 0 f' = 0 f ′ = 0 ⟺ \iff ⟺ gcd ( f , f ′ ) = f \gcd(f, f') = f g cd( f , f ′ ) = f )。f = ∑ j c j x p j f = \sum_j c_jx^{pj} f = ∑ j c j x p j なら(第8章 命題 8.36(3))、F q \mathbb{F}_q F q で フロベニウスは 全単射なので c j = d j p c_j = d_j^p c j = d j p と 書け、 f = ( ∑ j d j x j ) p f = (\sum_j d_jx^j)^p f = ( ∑ j d j x j ) p 。逆は ( g p ) ′ = p g p − 1 g ′ = 0 (g^p)' = pg^{p-1}g' = 0 ( g p ) ′ = p g p − 1 g ′ = 0 。□ \square □
命題 11.14 に より、因数分解は 無平方な 多項式の 場合に 帰着する。 g k = ∏ e i = k π i g_k = \prod_{e_i = k}\pi_i g k = ∏ e i = k π i (該当する i i i が なければ 1 1 1 )と おくと、 g k g_k g k は 無平方で 互いに 素で、 f = ∏ k ≥ 1 g k k f = \prod_{k \geq 1}g_k^k f = ∏ k ≥ 1 g k k と なる。これを f f f の 無平方分解と いい、各 g k g_k g k を 分解すれば f f f が 分解できる。 f f f が 1 次以上の とき、次の 手順で 求めた g k g_k g k は f f f の 無平方分解を 与える。
c = gcd ( f , f ′ ) c = \gcd(f, f') c = g cd( f , f ′ ) , w = f / c w = f/c w = f / c , j = 1 j = 1 j = 1 とし、すべての g k g_k g k を 1 1 1 と しておく( f ′ = 0 f' = 0 f ′ = 0 なら c = f c = f c = f , w = 1 w = 1 w = 1 )。
w ≠ 1 w \neq 1 w = 1 である間、y = gcd ( w , c ) y = \gcd(w, c) y = g cd( w , c ) , g j = w / y g_j = w/y g j = w / y とし、w , c , j w, c, j w , c , j を それぞれ y , c / y , j + 1 y, c/y, j + 1 y , c / y , j + 1 に 置き換える。
手順 2 が 終わった とき c ≠ 1 c \neq 1 c = 1 なら、c = h p c = h^p c = h p と なる h h h を 係数の p p p 乗根から 求め(命題 11.14(2) の 証明)、 h h h の 無平方分解 h = ∏ k h k k h = \prod_k h_k^k h = ∏ k h k k を この 手順で 求めて、 g p k = h k g_{pk} = h_k g p k = h k と する。
証明. 手順 2 の j j j 回目の 初めに
w = ∏ p ∤ e i , e i ≥ j π i , c = ∏ p ∤ e i , e i ≥ j π i e i − j ∏ p ∣ e i π i e i w = \prod_{p \nmid e_i,\ e_i \geq j}\pi_i, \qquad c = \prod_{p \nmid e_i,\ e_i \geq j}\pi_i^{e_i - j}\prod_{p \mid e_i}\pi_i^{e_i} w = p ∤ e i , e i ≥ j ∏ π i , c = p ∤ e i , e i ≥ j ∏ π i e i − j p ∣ e i ∏ π i e i
である ことを j j j に ついての 帰納法で 示す。 j = 1 j = 1 j = 1 では 命題 11.14(1) である。 w w w の 既約因子の うち c c c を 割るのは e i > j e_i > j e i > j の ものだけなので、 y = ∏ p ∤ e i , e i > j π i y = \prod_{p \nmid e_i,\ e_i > j}\pi_i y = ∏ p ∤ e i , e i > j π i , g j = w / y = ∏ p ∤ e i , e i = j π i g_j = w/y = \prod_{p \nmid e_i,\ e_i = j}\pi_i g j = w / y = ∏ p ∤ e i , e i = j π i で(p ∣ j p \mid j p ∣ j なら 1 1 1 )、置き換えた 後の w , c w, c w , c は j + 1 j + 1 j + 1 に ついての 上の 式に なる。 j > max i e i j > \max_i e_i j > max i e i なら w = 1 w = 1 w = 1 なので 手順 2 は 有限回で 終わり、 c = ∏ p ∣ e i π i e i c = \prod_{p \mid e_i}\pi_i^{e_i} c = ∏ p ∣ e i π i e i が 残る。 F q [ x ] \mathbb{F}_q[x] F q [ x ] は 整域なので 環準同型 u ↦ u p u \mapsto u^p u ↦ u p (第5章 命題 5.36)は 単射であり、 h = ∏ p ∣ e i π i e i / p h = \prod_{p \mid e_i}\pi_i^{e_i/p} h = ∏ p ∣ e i π i e i / p である。deg h ≤ deg f / p < deg f \deg h \leq \deg f/p < \deg f deg h ≤ deg f / p < deg f なので、deg f \deg f deg f に ついての 帰納法に より 手順 3 で h k = ∏ e i = p k π i = g p k h_k = \prod_{e_i = pk}\pi_i = g_{pk} h k = ∏ e i = p k π i = g p k が 求まる。 □ \square □
このように、p ∣ e i p \mid e_i p ∣ e i と なる π i \pi_i π i は f / gcd ( f , f ′ ) f/\gcd(f, f') f / g cd( f , f ′ ) に 現れず、 π i e i \pi_i^{e_i} π i e i が そのまま gcd ( f , f ′ ) \gcd(f, f') g cd( f , f ′ ) に 残って 手順 3 で 扱われる。たとえば F 3 \mathbb{F}_3 F 3 上の f = x 3 ( x + 1 ) 2 ( x + 2 ) = x 6 + x 5 + 2 x 4 + 2 x 3 f = x^3(x + 1)^2(x + 2) = x^6 + x^5 + 2x^4 + 2x^3 f = x 3 ( x + 1 ) 2 ( x + 2 ) = x 6 + x 5 + 2 x 4 + 2 x 3 では、f ′ = 2 x 4 + 2 x 3 f' = 2x^4 + 2x^3 f ′ = 2 x 4 + 2 x 3 より c = x 3 ( x + 1 ) c = x^3(x + 1) c = x 3 ( x + 1 ) , w = ( x + 1 ) ( x + 2 ) w = (x + 1)(x + 2) w = ( x + 1 ) ( x + 2 ) である。手順 2 で g 1 = x + 2 g_1 = x + 2 g 1 = x + 2 , g 2 = x + 1 g_2 = x + 1 g 2 = x + 1 が 求まって c = x 3 c = x^3 c = x 3 が 残り、手順 3 で h = x h = x h = x から g 3 = x g_3 = x g 3 = x を 得る。以下 f f f は 無平方と する。
定理 11.15 (次数別分解, distinct-degree factorization)f ∈ F q [ x ] f \in \mathbb{F}_q[x] f ∈ F q [ x ] を モニックで 無平方とし、その d d d 次の 既約因子すべての 積を f d f_d f d と する。 g 0 = f g_0 = f g 0 = f とし、d = 1 , 2 , … d = 1, 2, \dots d = 1 , 2 , … に ついて 順に h d = gcd ( g d − 1 , x q d − x ) h_d = \gcd(g_{d-1}, x^{q^d} - x) h d = g cd( g d − 1 , x q d − x ) , g d = g d − 1 / h d g_d = g_{d-1}/h_d g d = g d − 1 / h d と おくと、 h d = f d h_d = f_d h d = f d である。
証明. d d d に ついての 帰納法で g d − 1 = ∏ e ≥ d f e g_{d-1} = \prod_{e \geq d} f_e g d − 1 = ∏ e ≥ d f e と して よい。定理 11.2 より x q d − x x^{q^d} - x x q d − x は 次数が d d d の 約数である 既約多項式の 積なので、 f f f が 無平方である ことから、 h d h_d h d は g d − 1 g_{d-1} g d − 1 の 既約因子の うち次数が d d d の 約数の もの、すな わち次数 d d d の ものの 積 f d f_d f d である。□ \square □
実際には x q d m o d g d − 1 x^{q^d} \bmod g_{d-1} x q d mod g d − 1 を 前の 段の 値の q q q 乗と して 反復 2 乗法で 計算し、 deg g d < 2 ( d + 1 ) \deg g_d < 2(d + 1) deg g d < 2 ( d + 1 ) と なれば 残りの g d g_d g d は 既約(または 1 1 1 )と して 止める。
定理 11.16 (カントール–ザッセンハウスの 等次数分解, Cantor–Zassenhaus) q q q を 奇数、 f ∈ F q [ x ] f \in \mathbb{F}_q[x] f ∈ F q [ x ] を モニックで 無平方、既約因子は すべて d d d 次で r ≥ 2 r \geq 2 r ≥ 2 個とし、e = ( q d − 1 ) / 2 e = (q^d - 1)/2 e = ( q d − 1 ) /2 と する。 deg a < r d \deg a < rd deg a < r d の a ∈ F q [ x ] a \in \mathbb{F}_q[x] a ∈ F q [ x ] (q r d q^{rd} q r d 個)を 一様に ランダムに 選ぶと、 gcd ( a , f ) \gcd(a, f) g cd( a , f ) または gcd ( a e − 1 , f ) \gcd(a^e - 1, f) g cd( a e − 1 , f ) が f f f の 自明でない 因子( 1 1 1 でも f f f でもない)に なる 確率は 1 / 2 1/2 1/2 以上である。
証明. f = π 1 ⋯ π r f = \pi_1 \cdots \pi_r f = π 1 ⋯ π r と すると、中国剰余定理(第5章 定理 5.23)より F q [ x ] / ( f ) ≅ ∏ i = 1 r F q [ x ] / ( π i ) \mathbb{F}_q[x]/(f) \cong \prod_{i=1}^r \mathbb{F}_q[x]/(\pi_i) F q [ x ] / ( f ) ≅ ∏ i = 1 r F q [ x ] / ( π i ) で、各成分は q d q^d q d 元体である。deg a < r d \deg a < rd deg a < r d の a a a は F q [ x ] / ( f ) \mathbb{F}_q[x]/(f) F q [ x ] / ( f ) の 元と 1 対 1 に 対応するので、 a a a の 成分 ( a 1 , … , a r ) (a_1, \dots, a_r) ( a 1 , … , a r ) は 一様に 分布する。 gcd ( a , f ) = ∏ a i = 0 π i \gcd(a, f) = \prod_{a_i = 0}\pi_i g cd( a , f ) = ∏ a i = 0 π i なので、0 0 0 の 成分と 0 0 0 でない 成分が ともに あれば 成功する。すべて a i ≠ 0 a_i \neq 0 a i = 0 の とき、 ( a i e ) 2 = 1 (a_i^e)^2 = 1 ( a i e ) 2 = 1 より a i e = ± 1 a_i^e = \pm 1 a i e = ± 1 で、巡回群 F q d × \mathbb{F}_{q^d}^\times F q d × (位数 2 e 2e 2 e )では a i e = 1 a_i^e = 1 a i e = 1 と なる 元(平方元)と − 1 -1 − 1 と なる 元が ちょうど e e e 個ずつある。gcd ( a e − 1 , f ) = ∏ a i e = 1 π i \gcd(a^e - 1, f) = \prod_{a_i^e = 1}\pi_i g cd( a e − 1 , f ) = ∏ a i e = 1 π i なので、失敗するのは a = 0 a = 0 a = 0 の ときと、すべての a i e a_i^e a i e が 1 1 1 または すべて − 1 -1 − 1 の ときで、その 確率は Q = q d ≥ 3 Q = q^d \geq 3 Q = q d ≥ 3 と して
1 + 2 e r Q r = 1 + 2 1 − r ( Q − 1 ) r Q r ≤ 1 + ( Q − 1 ) r / 2 Q r ≤ 1 2 \frac{1 + 2e^r}{Q^r} = \frac{1 + 2^{1-r}(Q - 1)^r}{Q^r} \leq \frac{1 + (Q - 1)^r/2}{Q^r} \leq \frac{1}{2} Q r 1 + 2 e r = Q r 1 + 2 1 − r ( Q − 1 ) r ≤ Q r 1 + ( Q − 1 ) r /2 ≤ 2 1
である(最後は Q r − ( Q − 1 ) r = ∑ k = 0 r − 1 Q k ( Q − 1 ) r − 1 − k ≥ r ≥ 2 Q^r - (Q - 1)^r = \sum_{k=0}^{r-1}Q^k(Q - 1)^{r-1-k} \geq r \geq 2 Q r − ( Q − 1 ) r = ∑ k = 0 r − 1 Q k ( Q − 1 ) r − 1 − k ≥ r ≥ 2 に よる)。 □ \square □
1 回の 成功確率は 1 / 2 1/2 1/2 以上なので、成功までの 試行回数の 期待値は 2 以下である。得られた 因子に 再帰的に 適用すれば f f f は 既約因子に 分かれる。 q q q が 偶数の ときは a e − 1 a^e - 1 a e − 1 の 代わりに a + a 2 + a 4 + ⋯ + a 2 k d − 1 a + a^2 + a^4 + \cdots + a^{2^{kd-1}} a + a 2 + a 4 + ⋯ + a 2 k d − 1 (q = 2 k q = 2^k q = 2 k )を 使う(主張のみ)。
例 11.17 f = x 4 + 1 ∈ F 3 [ x ] f = x^4 + 1 \in \mathbb{F}_3[x] f = x 4 + 1 ∈ F 3 [ x ] は f ′ = x 3 f' = x^3 f ′ = x 3 と 互いに 素なので 無平方。 x 4 = − 1 x^4 = -1 x 4 = − 1 の 解は 位数 8 で F 3 × \mathbb{F}_3^\times F 3 × に 属さないので h 1 = 1 h_1 = 1 h 1 = 1 。x 9 = x ( x 4 ) 2 ≡ x ( m o d f ) x^9 = x(x^4)^2 \equiv x \pmod f x 9 = x ( x 4 ) 2 ≡ x ( mod f ) より h 2 = gcd ( f , x 9 − x ) = f h_2 = \gcd(f, x^9 - x) = f h 2 = g cd( f , x 9 − x ) = f で、既約因子は 2 次式 2 個である。等次数分解(d = 2 d = 2 d = 2 , e = 4 e = 4 e = 4 )では、a = x a = x a = x なら a 4 ≡ − 1 a^4 \equiv -1 a 4 ≡ − 1 で 失敗する( x x x は どちらの 成分でも 平方でない)。 a = x + 1 a = x + 1 a = x + 1 なら ( x + 1 ) 4 ≡ x 4 + x 3 + x + 1 ≡ x 3 + x (x + 1)^4 \equiv x^4 + x^3 + x + 1 \equiv x^3 + x ( x + 1 ) 4 ≡ x 4 + x 3 + x + 1 ≡ x 3 + x で、互除法に より gcd ( f , x 3 + x − 1 ) = x 2 + 2 x + 2 \gcd(f, x^3 + x - 1) = x^2 + 2x + 2 g cd( f , x 3 + x − 1 ) = x 2 + 2 x + 2 。よって x 4 + 1 = ( x 2 + 2 x + 2 ) ( x 2 + x + 2 ) x^4 + 1 = (x^2 + 2x + 2)(x^2 + x + 2) x 4 + 1 = ( x 2 + 2 x + 2 ) ( x 2 + x + 2 ) 。
ベルレカンプ法 (Berlekamp's algorithm。紹介):無平方な f f f に ついて B = { a m o d f ∣ a q ≡ a ( m o d f ) } B = \lbrace a \bmod f \mid a^q \equiv a \pmod f \rbrace B = { a mod f ∣ a q ≡ a ( mod f )} は F q [ x ] / ( f ) \mathbb{F}_q[x]/(f) F q [ x ] / ( f ) の 部分 空間で、中国剰余定理の 成分で 見ると「全成分が F q \mathbb{F}_q F q に 属する 元」全体なので、 dim B \dim B dim B は 既約因子の 個数に 等しい。 B B B は a ↦ a q − a a \mapsto a^q - a a ↦ a q − a を 表す 行列の 核と して 計算でき、 a ∈ B ∖ F q a \in B \setminus \mathbb{F}_q a ∈ B ∖ F q を とると a q − a = ∏ c ∈ F q ( a − c ) a^q - a = \prod_{c \in \mathbb{F}_q}(a - c) a q − a = ∏ c ∈ F q ( a − c ) より f = ∏ c ∈ F q gcd ( f , a − c ) f = \prod_{c \in \mathbb{F}_q}\gcd(f, a - c) f = ∏ c ∈ F q g cd( f , a − c ) が 自明でない 分解を 与える。 q q q が 小さい ときに 有効な 決定的アルゴリズムである。
11.8 シュヴァレー–ワーニングの 定理
補題 11.18 整数 k ≥ 0 k \geq 0 k ≥ 0 に ついて( 0 0 = 1 0^0 = 1 0 0 = 1 と する)、 ∑ a ∈ F q a k \sum_{a \in \mathbb{F}_q} a^k ∑ a ∈ F q a k は k ≥ 1 k \geq 1 k ≥ 1 かつ ( q − 1 ) ∣ k (q - 1) \mid k ( q − 1 ) ∣ k なら − 1 -1 − 1 、それ以外なら 0 0 0 である。
証明. k = 0 k = 0 k = 0 なら和は q = 0 q = 0 q = 0 。k ≥ 1 k \geq 1 k ≥ 1 なら S = ∑ a ≠ 0 a k S = \sum_{a \neq 0}a^k S = ∑ a = 0 a k を 考える。 ( q − 1 ) ∣ k (q - 1) \mid k ( q − 1 ) ∣ k なら 各項は 1 1 1 で S = q − 1 = − 1 S = q - 1 = -1 S = q − 1 = − 1 。そうでなければ F q × \mathbb{F}_q^\times F q × の 生成元 g g g に ついて g k ≠ 1 g^k \neq 1 g k = 1 で、a ↦ g a a \mapsto ga a ↦ g a は F q × \mathbb{F}_q^\times F q × の 全単射なので S = g k S S = g^kS S = g k S 、よって S = 0 S = 0 S = 0 。□ \square □
定理 11.19 (シュヴァレー–ワーニングの 定理, Chevalley–Warning theorem) f 1 , … , f r ∈ F q [ x 1 , … , x n ] f_1, \dots, f_r \in \mathbb{F}_q[x_1, \dots, x_n] f 1 , … , f r ∈ F q [ x 1 , … , x n ] が ∑ i deg f i < n \sum_i \deg f_i < n ∑ i deg f i < n を みたせば、共通零点の 集合 V ⊂ F q n V \subset \mathbb{F}_q^n V ⊂ F q n の 元の 個数は p p p で 割り切れる。特に f i f_i f i の 定数項が すべて 0 0 0 なら、V V V は 0 0 0 以外の 点を 含む(シュヴァレーの 定理)。
証明. P = ∏ i = 1 r ( 1 − f i q − 1 ) P = \prod_{i=1}^r(1 - f_i^{q-1}) P = ∏ i = 1 r ( 1 − f i q − 1 ) と おくと、 c ≠ 0 c \neq 0 c = 0 なら c q − 1 = 1 c^{q-1} = 1 c q − 1 = 1 なので、P ( x ) P(x) P ( x ) は x ∈ V x \in V x ∈ V なら 1 1 1 、そうでなければ 0 0 0 。よって F q \mathbb{F}_q F q に おいて ∣ V ∣ ⋅ 1 = ∑ x ∈ F q n P ( x ) \lvert V \rvert \cdot 1 = \sum_{x \in \mathbb{F}_q^n}P(x) ∣ V ∣ ⋅ 1 = ∑ x ∈ F q n P ( x ) 。deg P < ( q − 1 ) n \deg P < (q - 1)n deg P < ( q − 1 ) n なので P P P の 各単項式 x 1 k 1 ⋯ x n k n x_1^{k_1} \cdots x_n^{k_n} x 1 k 1 ⋯ x n k n は ある k j < q − 1 k_j < q - 1 k j < q − 1 を もち、補題 11.18 より
∑ x ∈ F q n x 1 k 1 ⋯ x n k n = ∏ j = 1 n ∑ x j ∈ F q x j k j = 0 \sum_{x \in \mathbb{F}_q^n} x_1^{k_1} \cdots x_n^{k_n} = \prod_{j=1}^{n}\sum_{x_j \in \mathbb{F}_q} x_j^{k_j} = 0 x ∈ F q n ∑ x 1 k 1 ⋯ x n k n = j = 1 ∏ n x j ∈ F q ∑ x j k j = 0
よって ∣ V ∣ ≡ 0 ( m o d p ) \lvert V \rvert \equiv 0 \pmod p ∣ V ∣ ≡ 0 ( mod p ) 。後半は 0 ∈ V 0 \in V 0 ∈ V より ∣ V ∣ ≥ p ≥ 2 \lvert V \rvert \geq p \geq 2 ∣ V ∣ ≥ p ≥ 2 から 従う。 □ \square □
たとえば、F q \mathbb{F}_q F q 上の 3 変数以上の 2 次形式は 自明でない 零点を もつ。 x 2 + y 2 − z 2 = 0 x^2 + y^2 - z^2 = 0 x 2 + y 2 − z 2 = 0 の F p 3 \mathbb{F}_p^3 F p 3 に おける 解は p 2 p^2 p 2 個で(問題 11.8)、確かに p p p で 割り切れる。
11.9 有限体上の 二次曲線の 点の 個数
q q q を 奇数とし、 平方指標 (quadratic character) η : F q → { 0 , ± 1 } \eta\colon \mathbb{F}_q \to \lbrace 0, \pm 1 \rbrace η : F q → { 0 , ± 1 } を η ( 0 ) = 0 \eta(0) = 0 η ( 0 ) = 0 、a a a が F q × \mathbb{F}_q^\times F q × の 元の 平方なら η ( a ) = 1 \eta(a) = 1 η ( a ) = 1 、そうでなければ − 1 -1 − 1 と 定める( q = p q = p q = p ならルジャンドル記号 ( a p ) \left(\frac{a}{p}\right) ( p a ) 。第1章 定義 1.46)。F q × \mathbb{F}_q^\times F q × は 偶数位数の 巡回群なので、平方元は 指数 2 の 部分群を なし、 η \eta η は 乗法的で ∑ a ∈ F q η ( a ) = 0 \sum_{a \in \mathbb{F}_q}\eta(a) = 0 ∑ a ∈ F q η ( a ) = 0 、x 2 = a x^2 = a x 2 = a の 解の 個数は 1 + η ( a ) 1 + \eta(a) 1 + η ( a ) である。
定理 11.20 q q q を 奇数、 a , b , c ∈ F q × a, b, c \in \mathbb{F}_q^\times a , b , c ∈ F q × と すると、 a x 2 + b y 2 = c ax^2 + by^2 = c a x 2 + b y 2 = c の 解 ( x , y ) ∈ F q 2 (x, y) \in \mathbb{F}_q^2 ( x , y ) ∈ F q 2 の 個数は q − η ( − a b ) q - \eta(-ab) q − η ( − ab ) である。特に 奇素数 p p p に ついて、 x 2 + y 2 = 1 x^2 + y^2 = 1 x 2 + y 2 = 1 の F p \mathbb{F}_p F p に おける 解の 個数は p − ( − 1 p ) p - \left(\frac{-1}{p}\right) p − ( p − 1 ) 、すな わち p ≡ 1 ( m o d 4 ) p \equiv 1 \pmod 4 p ≡ 1 ( mod 4 ) なら p − 1 p - 1 p − 1 、p ≡ 3 ( m o d 4 ) p \equiv 3 \pmod 4 p ≡ 3 ( mod 4 ) なら p + 1 p + 1 p + 1 である。
証明. a x 2 = u ax^2 = u a x 2 = u を みたす x x x は 1 + η ( u / a ) = 1 + η ( a u ) 1 + \eta(u/a) = 1 + \eta(au) 1 + η ( u / a ) = 1 + η ( a u ) 個なので、解の 個数は
N = ∑ u + v = c ( 1 + η ( a u ) ) ( 1 + η ( b v ) ) = q + ∑ u η ( a u ) + ∑ v η ( b v ) + η ( a b ) ∑ u ∈ F q η ( u ( c − u ) ) N = \sum_{u + v = c}\bigl(1 + \eta(au)\bigr)\bigl(1 + \eta(bv)\bigr) = q + \sum_u \eta(au) + \sum_v \eta(bv) + \eta(ab)\sum_{u \in \mathbb{F}_q}\eta\bigl(u(c - u)\bigr) N = u + v = c ∑ ( 1 + η ( a u ) ) ( 1 + η ( b v ) ) = q + u ∑ η ( a u ) + v ∑ η ( b v ) + η ( ab ) u ∈ F q ∑ η ( u ( c − u ) )
で、第 2・3 項は 0 0 0 。u ≠ 0 u \neq 0 u = 0 なら η ( u ( c − u ) ) = η ( u 2 ( c / u − 1 ) ) = η ( c / u − 1 ) \eta(u(c - u)) = \eta(u^2(c/u - 1)) = \eta(c/u - 1) η ( u ( c − u )) = η ( u 2 ( c / u − 1 )) = η ( c / u − 1 ) で、u u u が F q × \mathbb{F}_q^\times F q × を 動くと w = c / u − 1 w = c/u - 1 w = c / u − 1 は F q ∖ { − 1 } \mathbb{F}_q \setminus \lbrace -1 \rbrace F q ∖ { − 1 } を 動く。よって 最後の 和は ∑ w ≠ − 1 η ( w ) = − η ( − 1 ) \sum_{w \neq -1}\eta(w) = -\eta(-1) ∑ w = − 1 η ( w ) = − η ( − 1 ) で、N = q − η ( − a b ) N = q - \eta(-ab) N = q − η ( − ab ) 。後半は 第1章 系 1.50(2) に よる。 □ \square □
例 11.21 p = 7 p = 7 p = 7 では x 2 + y 2 = 1 x^2 + y^2 = 1 x 2 + y 2 = 1 の 解は 8 8 8 個:( 0 , ± 1 ) (0, \pm 1) ( 0 , ± 1 ) , ( ± 1 , 0 ) (\pm 1, 0) ( ± 1 , 0 ) , ( ± 2 , ± 2 ) (\pm 2, \pm 2) ( ± 2 , ± 2 ) (4 + 4 = 8 ≡ 1 4 + 4 = 8 \equiv 1 4 + 4 = 8 ≡ 1 )。射影平面の 曲線 x 2 + y 2 = z 2 x^2 + y^2 = z^2 x 2 + y 2 = z 2 で 考えると、無限遠点( z = 0 z = 0 z = 0 )を 合わせて 点の 個数は つねに p + 1 p + 1 p + 1 に なる(問題 11.8)。
楕円曲線 y 2 = f ( x ) y^2 = f(x) y 2 = f ( x ) の(無限遠点以外の)点も 同じように ∑ x ( 1 + ( f ( x ) p ) ) \sum_x\bigl(1 + \left(\frac{f(x)}{p}\right)\bigr) ∑ x ( 1 + ( p f ( x ) ) ) 個と 数えられるが、この 和は 簡単には 求まらず、ハッセの 定理に よる 評価が 要に なる( 21-elliptic-curves 第4章 )。
11.10 応用:CRC・AES・リード–ソロモン符号
CRC. ビット列 b m − 1 ⋯ b 1 b 0 b_{m-1} \cdots b_1b_0 b m − 1 ⋯ b 1 b 0 を 多項式 ∑ b i x i ∈ F 2 [ x ] \sum b_ix^i \in \mathbb{F}_2[x] ∑ b i x i ∈ F 2 [ x ] と 同一視する。 r r r 次の 生成多項式 (generator polynomial) G G G を 決めて おき、送信者は メッセージ M M M に ついて R = x r M m o d G R = x^rM \bmod G R = x r M mod G を 計算し、 T = x r M + R T = x^rM + R T = x r M + R (M M M の 後ろに R R R の r r r ビットを 付けた もの)を 送る。 G ∣ T G \mid T G ∣ T なので、受信者は 受け取った 列が G G G で 割り切れるかを 調べる。誤りの パターンを E E E (反転した ビットの 位置の 多項式)と すると、誤りを 見逃すのは G ∣ E G \mid E G ∣ E の ときに 限る。これが CRC (巡回冗長検査, cyclic redundancy check)である。
命題 11.22 G G G を G ( 0 ) = 1 G(0) = 1 G ( 0 ) = 1 の r r r 次式(r ≥ 1 r \geq 1 r ≥ 1 )と する。
長さ r r r 以下の バースト誤り E = x i B E = x^iB E = x i B (B ( 0 ) = 1 B(0) = 1 B ( 0 ) = 1 , deg B < r \deg B < r deg B < r 。1 ビットの 誤りは B = 1 B = 1 B = 1 )は 検出される。
( x + 1 ) ∣ G (x + 1) \mid G ( x + 1 ) ∣ G なら、奇数個の ビットの 誤りは 検出される。
x ‾ \overline{x} x の ( F 2 [ x ] / ( G ) ) × (\mathbb{F}_2[x]/(G))^\times ( F 2 [ x ] / ( G ) ) × に おける 位数を e e e と すると、 0 < j − i < e 0 < j - i < e 0 < j − i < e の 2 ビットの 誤り x i + x j x^i + x^j x i + x j は 検出される。 G G G が 原始多項式なら e = 2 r − 1 e = 2^r - 1 e = 2 r − 1 。
証明. (1) gcd ( G , x ) = 1 \gcd(G, x) = 1 g cd( G , x ) = 1 なので、G ∣ x i B G \mid x^iB G ∣ x i B なら G ∣ B G \mid B G ∣ B と なり、 B ≠ 0 B \neq 0 B = 0 , deg B < r \deg B < r deg B < r に 反する。(2) E ( 1 ) E(1) E ( 1 ) は 反転した ビット数の 偶奇を 表すので 奇数個なら E ( 1 ) = 1 E(1) = 1 E ( 1 ) = 1 だが、G ∣ E G \mid E G ∣ E なら ( x + 1 ) ∣ E (x + 1) \mid E ( x + 1 ) ∣ E で E ( 1 ) = 0 E(1) = 0 E ( 1 ) = 0 。(3) G ∣ x i ( 1 + x j − i ) G \mid x^i(1 + x^{j-i}) G ∣ x i ( 1 + x j − i ) なら G ∣ x j − i − 1 G \mid x^{j-i} - 1 G ∣ x j − i − 1 で、e ∣ j − i e \mid j - i e ∣ j − i 。□ \square □
例 11.23 G = x 4 + x + 1 G = x^4 + x + 1 G = x 4 + x + 1 (原始多項式、e = 15 e = 15 e = 15 )、M = 1101011011 M = 1101011011 M = 1101011011 と すると、 x 4 M x^4M x 4 M を G G G で 割った 余りは R = 1110 R = 1110 R = 1110 で、送信列は 11010110111110 11010110111110 11010110111110 。この G G G は 長さ 4 以下の バースト誤りと、間隔が 15 未満の 2 ビットの 誤りを 検出する。イーサネット(IEEE 802.3)などで 使われる CRC-32 の 32 次の 生成多項式も F 2 \mathbb{F}_2 F 2 上の 原始多項式である(計算機で 確かめられる)。
AES. 共通鍵暗号 AES(NIST の 規格 FIPS 197。規格は 改訂されうる)では、バイト b 7 ⋯ b 0 b_7 \cdots b_0 b 7 ⋯ b 0 を F 2 8 = F 2 [ x ] / ( m ) \mathbb{F}_{2^8} = \mathbb{F}_2[x]/(m) F 2 8 = F 2 [ x ] / ( m ) , m = x 8 + x 4 + x 3 + x + 1 m = x^8 + x^4 + x^3 + x + 1 m = x 8 + x 4 + x 3 + x + 1 の 元 ∑ b i x i \sum b_ix^i ∑ b i x i と みて、16 進 2 桁で { 57 } \lbrace 57 \rbrace { 57 } のように 書く。 m m m は 既約だが 原始的ではなく、 { 02 } = x \lbrace 02 \rbrace = x { 02 } = x の 位数は 51、 { 03 } = x + 1 \lbrace 03 \rbrace = x + 1 { 03 } = x + 1 が 原始元である(計算で 確かめた)。和は ビットごとの 排他的論理和、 x x x 倍は 1 ビットの 左シフトで、あふれたら x 8 ≡ x 4 + x 3 + x + 1 x^8 \equiv x^4 + x^3 + x + 1 x 8 ≡ x 4 + x 3 + x + 1 ({ 1 b } \lbrace 1b \rbrace { 1 b } )を 加える。積は これを 繰り返して 計算し、逆元は a − 1 = a 254 a^{-1} = a^{254} a − 1 = a 254 (a 255 = 1 a^{255} = 1 a 255 = 1 )で 求まる。
def xtime(a): # x を掛ける
a <<= 1
return a ^ 0x11B if a & 0x100 else a
def gf_mul(a, b): # F_{2^8} での積
r = 0
while b:
if b & 1:
r ^= a
a, b = xtime(a), b >> 1
return r
def gf_inv(a): # a^254 = a^(-1)(a != 0)
r, e = 1, 254
while e:
if e & 1:
r = gf_mul(r, a)
a, e = gf_mul(a, a), e >> 1
return r
print(hex(gf_mul(0x57, 0x83)), hex(gf_mul(0x57, 0x13)), hex(gf_inv(0x53)))
# 0xc1 0xfe 0xca
結果は FIPS 197 の 例 { 57 } ∙ { 83 } = { c 1 } \lbrace 57 \rbrace \bullet \lbrace 83 \rbrace = \lbrace c1 \rbrace { 57 } ∙ { 83 } = { c 1 } , { 57 } ∙ { 13 } = { f e } \lbrace 57 \rbrace \bullet \lbrace 13 \rbrace = \lbrace fe \rbrace { 57 } ∙ { 13 } = { f e } と 一致する。後者は 手でも 計算でき、 { 57 } \lbrace 57 \rbrace { 57 } に x x x を 順に 掛けると { a e } , { 47 } , { 8 e } , { 07 } \lbrace ae \rbrace, \lbrace 47 \rbrace, \lbrace 8e \rbrace, \lbrace 07 \rbrace { a e } , { 47 } , { 8 e } , { 07 } と なるので、 { 13 } = x 4 + x + 1 \lbrace 13 \rbrace = x^4 + x + 1 { 13 } = x 4 + x + 1 より { 57 } ⊕ { a e } ⊕ { 07 } = { f e } \lbrace 57 \rbrace \oplus \lbrace ae \rbrace \oplus \lbrace 07 \rbrace = \lbrace fe \rbrace { 57 } ⊕ { a e } ⊕ { 07 } = { f e } 。AES の S ボックスは a ↦ a − 1 a \mapsto a^{-1} a ↦ a − 1 (0 ↦ 0 0 \mapsto 0 0 ↦ 0 )に F 2 \mathbb{F}_2 F 2 上の アフィン変換を 合成した もので、 { 53 } − 1 = { c a } \lbrace 53 \rbrace^{-1} = \lbrace ca \rbrace { 53 } − 1 = { c a } から FIPS 197 の 例 S ( { 53 } ) = { e d } S(\lbrace 53 \rbrace) = \lbrace ed \rbrace S ({ 53 }) = { e d } が 得られる(アフィン変換の 式は 省略する)。
リード–ソロモン符号. 相異なる α 1 , … , α n ∈ F q \alpha_1, \dots, \alpha_n \in \mathbb{F}_q α 1 , … , α n ∈ F q を とり、 k − 1 k - 1 k − 1 次以下の 多項式 m m m (係数 k k k 個が メッセージ)を ( m ( α 1 ) , … , m ( α n ) ) (m(\alpha_1), \dots, m(\alpha_n)) ( m ( α 1 ) , … , m ( α n )) に 符号化する。相異なる 符号語の 差は 0 0 0 でない k − 1 k - 1 k − 1 次以下の 多項式の 値なので、 0 0 0 に なる 成分は k − 1 k - 1 k − 1 個以下(第5章 系 5.30)で、符号語どうしは n − k + 1 n - k + 1 n − k + 1 箇所以上で 異なる。したがって ⌊ ( n − k ) / 2 ⌋ \lfloor (n - k)/2 \rfloor ⌊( n − k ) /2 ⌋ 個までの 誤りを 訂正できる。QR コードや CD で 使われている。
この 先. リード–ソロモン符号・BCH 符号と CRC の 巡回符号と しての 扱いは 25-cryptography-coding 第6章、有限体上の 楕円曲線の 点の 個数と ハッセの 定理は 21-elliptic-curves 第4章 、Gal ( F ‾ p / F p ) ≅ Z ^ \operatorname{Gal}(\overline{\mathbb{F}}_p/\mathbb{F}_p) \cong \widehat{\mathbb{Z}} Gal ( F p / F p ) ≅ Z は 第13章(定理 13.17)で 扱う。
まとめ
x q n − x x^{q^n} - x x q n − x は 次数が n n n の 約数の モニック既約多項式すべての 積で、メビウスの 反転公式から N q ( n ) = 1 n ∑ d ∣ n μ ( d ) q n / d N_q(n) = \frac{1}{n}\sum_{d \mid n}\mu(d)q^{n/d} N q ( n ) = n 1 ∑ d ∣ n μ ( d ) q n / d (F 2 \mathbb{F}_2 F 2 上 n = 1 , … , 8 n = 1, \dots, 8 n = 1 , … , 8 で 2 , 1 , 2 , 3 , 6 , 9 , 18 , 30 2, 1, 2, 3, 6, 9, 18, 30 2 , 1 , 2 , 3 , 6 , 9 , 18 , 30 )。
原始元は φ ( q n − 1 ) \varphi(q^n - 1) φ ( q n − 1 ) 個、n n n 次の 原始多項式は φ ( q n − 1 ) / n \varphi(q^n - 1)/n φ ( q n − 1 ) / n 個。F ‾ p = ⋃ n F p n \overline{\mathbb{F}}_p = \bigcup_n \mathbb{F}_{p^n} F p = ⋃ n F p n 。
トレースと ノルムは 全射で 推移律を みたす。ヒルベルトの 定理 90: N ( a ) = 1 ⟺ a = b 1 − q N(a) = 1 \iff a = b^{1-q} N ( a ) = 1 ⟺ a = b 1 − q 、Tr ( a ) = 0 ⟺ a = b − b q \operatorname{Tr}(a) = 0 \iff a = b - b^q Tr ( a ) = 0 ⟺ a = b − b q 。
因数分解は 無平方分解( gcd ( f , f ′ ) \gcd(f, f') g cd( f , f ′ ) との gcd \gcd g cd を くり返し、重複度が p p p の 倍数の 因子は p p p 乗根を とって 扱う)・次数別分解( gcd ( f , x q d − x ) \gcd(f, x^{q^d} - x) g cd( f , x q d − x ) )・等次数分解(カントール–ザッセンハウス法。q q q が 奇数なら 1 回の 成功確率は 1 / 2 1/2 1/2 以上)の 順に 行う。
シュヴァレー–ワーニング:次数の 和が 変数の 個数より 小さければ、共通零点の 個数は p p p の 倍数。
a x 2 + b y 2 = c ax^2 + by^2 = c a x 2 + b y 2 = c の 解は q − η ( − a b ) q - \eta(-ab) q − η ( − ab ) 個。x 2 + y 2 = 1 x^2 + y^2 = 1 x 2 + y 2 = 1 の F p \mathbb{F}_p F p 上の 解は p − ( − 1 p ) p - \left(\frac{-1}{p}\right) p − ( p − 1 ) 個。
CRC・AES・リード–ソロモン符号は F 2 [ x ] \mathbb{F}_2[x] F 2 [ x ] や F 2 8 \mathbb{F}_{2^8} F 2 8 の 算術の 上に 作られている。
演習問題
問題 11.1 ★ 例 11.1(2) の F 16 \mathbb{F}_{16} F 16 で、( α 3 + α 2 ) ( α 2 + 1 ) (\alpha^3 + \alpha^2)(\alpha^2 + 1) ( α 3 + α 2 ) ( α 2 + 1 ) と ( α 2 + α + 1 ) − 1 (\alpha^2 + \alpha + 1)^{-1} ( α 2 + α + 1 ) − 1 を 求めよ。また x 2 + x + 1 x^2 + x + 1 x 2 + x + 1 の F 16 \mathbb{F}_{16} F 16 に おける 根を 求めよ。
解答
表より α 3 + α 2 = α 6 \alpha^3 + \alpha^2 = \alpha^6 α 3 + α 2 = α 6 , α 2 + 1 = α 8 \alpha^2 + 1 = \alpha^8 α 2 + 1 = α 8 なので 積は α 14 = α 3 + 1 \alpha^{14} = \alpha^3 + 1 α 14 = α 3 + 1 。α 2 + α + 1 = α 10 \alpha^2 + \alpha + 1 = \alpha^{10} α 2 + α + 1 = α 10 なので 逆元は α 5 = α 2 + α \alpha^5 = \alpha^2 + \alpha α 5 = α 2 + α 。x 2 + x + 1 x^2 + x + 1 x 2 + x + 1 の 根は 位数 3 の 元 α 5 = α 2 + α \alpha^5 = \alpha^2 + \alpha α 5 = α 2 + α と α 10 = α 2 + α + 1 \alpha^{10} = \alpha^2 + \alpha + 1 α 10 = α 2 + α + 1 である。
問題 11.2 ★ F 3 \mathbb{F}_3 F 3 上の 2 次の モニック既約多項式を すべて 求め、系 11.4 と 照合せよ。また N 3 ( 3 ) N_3(3) N 3 ( 3 ) , N 3 ( 4 ) N_3(4) N 3 ( 4 ) を 求めよ。
解答
2 次式は F 3 \mathbb{F}_3 F 3 に 根を もたなければ 既約で、 x 2 + 1 x^2 + 1 x 2 + 1 , x 2 + x + 2 x^2 + x + 2 x 2 + x + 2 , x 2 + 2 x + 2 x^2 + 2x + 2 x 2 + 2 x + 2 の 3 個(0 , 1 , 2 0, 1, 2 0 , 1 , 2 を 代入して 確かめる)。系 11.4 より N 3 ( 2 ) = ( 9 − 3 ) / 2 = 3 N_3(2) = (9 - 3)/2 = 3 N 3 ( 2 ) = ( 9 − 3 ) /2 = 3 で 一致する。 N 3 ( 3 ) = ( 27 − 3 ) / 3 = 8 N_3(3) = (27 - 3)/3 = 8 N 3 ( 3 ) = ( 27 − 3 ) /3 = 8 , N 3 ( 4 ) = ( 81 − 9 ) / 4 = 18 N_3(4) = (81 - 9)/4 = 18 N 3 ( 4 ) = ( 81 − 9 ) /4 = 18 。
問題 11.3 ★ ★ F 2 \mathbb{F}_2 F 2 上の 6 次既約多項式 9 個の うち原始的な ものは 何個か。原始的で ない ものに ついて 根の 位数を 求め、個数が 合う ことを 確かめよ。
解答
定理 11.6 より φ ( 63 ) / 6 = 36 / 6 = 6 \varphi(63)/6 = 36/6 = 6 φ ( 63 ) /6 = 36/6 = 6 個。6 次既約多項式の 根は F 64 \mathbb{F}_{64} F 64 の 元で、 F 8 \mathbb{F}_8 F 8 (a 7 = 1 a^7 = 1 a 7 = 1 )にも F 4 \mathbb{F}_4 F 4 (a 3 = 1 a^3 = 1 a 3 = 1 )にも 属さない。よって 位数は 63 63 63 の 約数の うち 7 7 7 も 3 3 3 も 割らない 9 , 21 , 63 9, 21, 63 9 , 21 , 63 の どれかで、逆に これらの 位数の 元は 6 次である。位数 9 9 9 の 元は φ ( 9 ) = 6 \varphi(9) = 6 φ ( 9 ) = 6 個で 1 個の 多項式( x 9 − 1 = ( x 3 − 1 ) ( x 6 + x 3 + 1 ) x^9 - 1 = (x^3 - 1)(x^6 + x^3 + 1) x 9 − 1 = ( x 3 − 1 ) ( x 6 + x 3 + 1 ) より x 6 + x 3 + 1 x^6 + x^3 + 1 x 6 + x 3 + 1 )、位数 21 21 21 の 元は φ ( 21 ) = 12 \varphi(21) = 12 φ ( 21 ) = 12 個で 2 個の 多項式、位数 63 63 63 は 原始多項式 6 個で、計 1 + 2 + 6 = 9 = N 2 ( 6 ) 1 + 2 + 6 = 9 = N_2(6) 1 + 2 + 6 = 9 = N 2 ( 6 ) 。
問題 11.4 ★ ★ 系 11.13 を 使って、例 11.1(2) の F 16 \mathbb{F}_{16} F 16 で x 2 + x + α = 0 x^2 + x + \alpha = 0 x 2 + x + α = 0 は 解を もち、 x 2 + x + α 3 = 0 x^2 + x + \alpha^3 = 0 x 2 + x + α 3 = 0 は 解を もたない ことを 示し、前者の 解を 求めよ。
解答
Tr ( α ) = 0 \operatorname{Tr}(\alpha) = 0 Tr ( α ) = 0 (例 11.11)。Tr ( α 3 ) = α 3 + α 6 + α 12 + α 24 \operatorname{Tr}(\alpha^3) = \alpha^3 + \alpha^6 + \alpha^{12} + \alpha^{24} Tr ( α 3 ) = α 3 + α 6 + α 12 + α 24 で、α 24 = α 9 \alpha^{24} = \alpha^9 α 24 = α 9 なので、表より 1000 + 1100 + 1111 + 1010 = 0001 1000 + 1100 + 1111 + 1010 = 0001 1000 + 1100 + 1111 + 1010 = 0001 、すな わち Tr ( α 3 ) = 1 \operatorname{Tr}(\alpha^3) = 1 Tr ( α 3 ) = 1 。よって 前者だけが 解を もつ。 b = α 9 = α 3 + α b = \alpha^9 = \alpha^3 + \alpha b = α 9 = α 3 + α と すると b 2 + b = α 18 + α 9 = α 3 + α 3 + α = α b^2 + b = \alpha^{18} + \alpha^9 = \alpha^3 + \alpha^3 + \alpha = \alpha b 2 + b = α 18 + α 9 = α 3 + α 3 + α = α で、解は α 3 + α \alpha^3 + \alpha α 3 + α と α 3 + α + 1 \alpha^3 + \alpha + 1 α 3 + α + 1 。
問題 11.5 ★ ★ n ≥ 2 n \geq 2 n ≥ 2 に ついて ( q n − 2 q n / 2 ) / n < N q ( n ) ≤ q n / n (q^n - 2q^{n/2})/n < N_q(n) \leq q^n/n ( q n − 2 q n /2 ) / n < N q ( n ) ≤ q n / n を 示せ。
解答
上の 不等式は (1) から。(1) より 各 d d d で d N q ( d ) ≤ q d dN_q(d) \leq q^d d N q ( d ) ≤ q d なので、m = ⌊ n / 2 ⌋ m = \lfloor n/2 \rfloor m = ⌊ n /2 ⌋ と すると
n N q ( n ) = q n − ∑ d ∣ n , d < n d N q ( d ) ≥ q n − ∑ d = 1 m q d = q n − q m + 1 − q q − 1 > q n − q q − 1 q m ≥ q n − 2 q n / 2 nN_q(n) = q^n - \sum_{d \mid n,\ d < n} dN_q(d) \geq q^n - \sum_{d=1}^{m} q^d = q^n - \frac{q^{m+1} - q}{q - 1} > q^n - \frac{q}{q - 1}q^m \geq q^n - 2q^{n/2} n N q ( n ) = q n − d ∣ n , d < n ∑ d N q ( d ) ≥ q n − d = 1 ∑ m q d = q n − q − 1 q m + 1 − q > q n − q − 1 q q m ≥ q n − 2 q n /2
(n n n の 真の 約数は n / 2 n/2 n /2 以下で、q / ( q − 1 ) ≤ 2 q/(q - 1) \leq 2 q / ( q − 1 ) ≤ 2 )。
問題 11.6 ★ ★ 次数別分解で x 5 + x 4 + 1 ∈ F 2 [ x ] x^5 + x^4 + 1 \in \mathbb{F}_2[x] x 5 + x 4 + 1 ∈ F 2 [ x ] を 因数分解せよ。
解答
f ′ = 5 x 4 + 4 x 3 = x 4 f' = 5x^4 + 4x^3 = x^4 f ′ = 5 x 4 + 4 x 3 = x 4 で f ( 0 ) = 1 f(0) = 1 f ( 0 ) = 1 より gcd ( f , f ′ ) = 1 \gcd(f, f') = 1 g cd( f , f ′ ) = 1 、f f f は 無平方。 f ( 0 ) = f ( 1 ) = 1 f(0) = f(1) = 1 f ( 0 ) = f ( 1 ) = 1 より h 1 = gcd ( f , x 2 + x ) = 1 h_1 = \gcd(f, x^2 + x) = 1 h 1 = g cd( f , x 2 + x ) = 1 。x 4 + x = x ( x + 1 ) ( x 2 + x + 1 ) x^4 + x = x(x + 1)(x^2 + x + 1) x 4 + x = x ( x + 1 ) ( x 2 + x + 1 ) で、x 3 ≡ 1 ( m o d x 2 + x + 1 ) x^3 \equiv 1 \pmod{x^2 + x + 1} x 3 ≡ 1 ( mod x 2 + x + 1 ) より f ≡ x 2 + x + 1 ≡ 0 f \equiv x^2 + x + 1 \equiv 0 f ≡ x 2 + x + 1 ≡ 0 なので、h 2 = gcd ( f , x 4 + x ) = x 2 + x + 1 h_2 = \gcd(f, x^4 + x) = x^2 + x + 1 h 2 = g cd( f , x 4 + x ) = x 2 + x + 1 。g 2 = f / h 2 = x 3 + x + 1 g_2 = f/h_2 = x^3 + x + 1 g 2 = f / h 2 = x 3 + x + 1 は deg g 2 = 3 < 6 \deg g_2 = 3 < 6 deg g 2 = 3 < 6 なので 既約。よって x 5 + x 4 + 1 = ( x 2 + x + 1 ) ( x 3 + x + 1 ) x^5 + x^4 + 1 = (x^2 + x + 1)(x^3 + x + 1) x 5 + x 4 + 1 = ( x 2 + x + 1 ) ( x 3 + x + 1 ) 。
問題 11.7 ★ ★ ★ p p p を 素数と する。任意の 2 p − 1 2p - 1 2 p − 1 個の 整数 a 1 , … , a 2 p − 1 a_1, \dots, a_{2p-1} a 1 , … , a 2 p − 1 の 中から、和が p p p で 割り切れる p p p 個を 選べる ことを 示せ(エルデシュ–ギンツブルク–ジフの 定理の 素数の 場合。ヒント:定理 11.19 を 2 つの 多項式 ∑ i a i x i p − 1 \sum_i a_ix_i^{p-1} ∑ i a i x i p − 1 , ∑ i x i p − 1 \sum_i x_i^{p-1} ∑ i x i p − 1 に 使う)。
解答
F p \mathbb{F}_p F p 上の 2 p − 1 2p - 1 2 p − 1 変数の 多項式 f 1 = ∑ i a i x i p − 1 f_1 = \sum_i a_ix_i^{p-1} f 1 = ∑ i a i x i p − 1 , f 2 = ∑ i x i p − 1 f_2 = \sum_i x_i^{p-1} f 2 = ∑ i x i p − 1 は 次数の 和 2 p − 2 < 2 p − 1 2p - 2 < 2p - 1 2 p − 2 < 2 p − 1 で、定数項は 0 0 0 。定理 11.19 より 0 0 0 でない 共通零点 x x x が ある。 S = { i ∣ x i ≠ 0 } S = \lbrace i \mid x_i \neq 0 \rbrace S = { i ∣ x i = 0 } と おくと、 i ∈ S i \in S i ∈ S なら x i p − 1 = 1 x_i^{p-1} = 1 x i p − 1 = 1 なので、f 2 ( x ) = 0 f_2(x) = 0 f 2 ( x ) = 0 より ∣ S ∣ ≡ 0 ( m o d p ) \lvert S \rvert \equiv 0 \pmod p ∣ S ∣ ≡ 0 ( mod p ) 。1 ≤ ∣ S ∣ ≤ 2 p − 1 1 \leq \lvert S \rvert \leq 2p - 1 1 ≤ ∣ S ∣ ≤ 2 p − 1 より ∣ S ∣ = p \lvert S \rvert = p ∣ S ∣ = p で、f 1 ( x ) = 0 f_1(x) = 0 f 1 ( x ) = 0 より ∑ i ∈ S a i ≡ 0 ( m o d p ) \sum_{i \in S}a_i \equiv 0 \pmod p ∑ i ∈ S a i ≡ 0 ( mod p ) 。
問題 11.8 ★ ★ p p p を 奇素数と する。(1) 射影平面の 曲線 x 2 + y 2 = z 2 x^2 + y^2 = z^2 x 2 + y 2 = z 2 の F p \mathbb{F}_p F p 有理点(P 2 ( F p ) \mathbb{P}^2(\mathbb{F}_p) P 2 ( F p ) の 点)は p + 1 p + 1 p + 1 個である ことを 示せ。(2) x 2 + y 2 − z 2 = 0 x^2 + y^2 - z^2 = 0 x 2 + y 2 − z 2 = 0 の F p 3 \mathbb{F}_p^3 F p 3 に おける 解は p 2 p^2 p 2 個である ことを 示せ。
解答
(1) z ≠ 0 z \neq 0 z = 0 の 点は z = 1 z = 1 z = 1 と 正規化でき、定理 11.20 より p − ( − 1 p ) p - \left(\frac{-1}{p}\right) p − ( p − 1 ) 個。z = 0 z = 0 z = 0 の 点は x 2 + y 2 = 0 x^2 + y^2 = 0 x 2 + y 2 = 0 , ( x , y ) ≠ ( 0 , 0 ) (x, y) \neq (0, 0) ( x , y ) = ( 0 , 0 ) で、y = 0 y = 0 y = 0 なら x = 0 x = 0 x = 0 と なるので y = 1 y = 1 y = 1 と 正規化でき、 x 2 = − 1 x^2 = -1 x 2 = − 1 の 解 1 + ( − 1 p ) 1 + \left(\frac{-1}{p}\right) 1 + ( p − 1 ) 個。合計 p + 1 p + 1 p + 1 。(2) 0 0 0 以外の 解は 射影平面の 点 1 つに つき p − 1 p - 1 p − 1 個(F p × \mathbb{F}_p^\times F p × 倍)あるので、( p + 1 ) ( p − 1 ) + 1 = p 2 (p + 1)(p - 1) + 1 = p^2 ( p + 1 ) ( p − 1 ) + 1 = p 2 個(+ 1 +1 + 1 は 0 0 0 )。
問題 11.9 ★ ★ p ≡ 3 ( m o d 4 ) p \equiv 3 \pmod 4 p ≡ 3 ( mod 4 ) を 素数と する。(1) F p 2 = F p ( i ) \mathbb{F}_{p^2} = \mathbb{F}_p(i) F p 2 = F p ( i ) (i 2 = − 1 i^2 = -1 i 2 = − 1 )と 書ける ことを 示せ。(2) N F p 2 / F p ( x + y i ) = x 2 + y 2 N_{\mathbb{F}_{p^2}/\mathbb{F}_p}(x + yi) = x^2 + y^2 N F p 2 / F p ( x + y i ) = x 2 + y 2 を 示し、定理 11.10(2) を 使って x 2 + y 2 = 1 x^2 + y^2 = 1 x 2 + y 2 = 1 の F p \mathbb{F}_p F p に おける 解が p + 1 p + 1 p + 1 個である ことを 示せ(定理 11.20 の 別証明)。(3) p = 3 p = 3 p = 3 の とき、ノルムが 1 1 1 の 元を ヒルベルトの 定理 90 の 形 b 1 − 3 b^{1-3} b 1 − 3 で 書け。
解答
(1) 第1章 系 1.50(2) より − 1 -1 − 1 は 法 p p p の 平方非剰余なので、 x 2 + 1 x^2 + 1 x 2 + 1 は F p \mathbb{F}_p F p 上既約で、F p [ x ] / ( x 2 + 1 ) = F p ( i ) \mathbb{F}_p[x]/(x^2 + 1) = \mathbb{F}_p(i) F p [ x ] / ( x 2 + 1 ) = F p ( i ) は p 2 p^2 p 2 元体である。(2) p − 3 p - 3 p − 3 は 4 の 倍数なので i p = ( i 4 ) ( p − 3 ) / 4 i 3 = − i i^p = (i^4)^{(p-3)/4}i^3 = -i i p = ( i 4 ) ( p − 3 ) /4 i 3 = − i 、よって ( x + y i ) p = x − y i (x + yi)^p = x - yi ( x + y i ) p = x − y i で、N ( x + y i ) = ( x + y i ) ( x − y i ) = x 2 + y 2 N(x + yi) = (x + yi)(x - yi) = x^2 + y^2 N ( x + y i ) = ( x + y i ) ( x − y i ) = x 2 + y 2 。定理 11.10(2) より N ( z ) = 1 N(z) = 1 N ( z ) = 1 と なる z z z は ( p 2 − 1 ) / ( p − 1 ) = p + 1 (p^2 - 1)/(p - 1) = p + 1 ( p 2 − 1 ) / ( p − 1 ) = p + 1 個で、これは x 2 + y 2 = 1 x^2 + y^2 = 1 x 2 + y 2 = 1 の 解 ( x , y ) (x, y) ( x , y ) と 1 対 1 に 対応する。(3) ノルム 1 1 1 の 元は 1 , 2 , i , 2 i 1, 2, i, 2i 1 , 2 , i , 2 i の 4 個。g = 1 + i g = 1 + i g = 1 + i の べき(例 11.1(1))を 使うと b 1 − 3 = b − 2 b^{1-3} = b^{-2} b 1 − 3 = b − 2 は b = 1 , g , g 2 , g 3 b = 1, g, g^2, g^3 b = 1 , g , g 2 , g 3 に 対し 1 , g 6 = i , g 4 = 2 , g 2 = 2 i 1, g^6 = i, g^4 = 2, g^2 = 2i 1 , g 6 = i , g 4 = 2 , g 2 = 2 i と なる。