1 名前:132人目の素数さん [2006/11/23(木) 21:57:04 ] Kummer ◆g2BU0D6YN2氏が代数的整数論を語るスレです。 前スレ science4.2ch.net/test/read.cgi/math/1141019088/
830 名前:Kummer ◆g2BU0D6YN2 [2007/03/04(日) 11:02:16 ] 補題 n ≧ 3 を有理整数とする。 5^(2^(n-3)) ≡ 1 + 2^(n-1) (mod 2^n) である。 証明 n に関する帰納法を使う。 n = 3 のときは正しい。 ある n ≧ 3 に対して 5^(2^(n-3)) ≡ 1 + 2^(n-1) (mod 2^n) が正しいとする。 >>829 より、 5^(2^(n-2)) ≡ (1 + 2^(n-1))^2 (mod 2^(n+1)) ここで (1 + 2^(n-1))^2 = 1 + 2^n + 2^(2n - 2) 2n - 2 ≧ n + 1 だから 5^(2^(n-2)) ≡ 1 + 2^n (mod 2^(n+1)) 証明終
831 名前:Kummer ◆g2BU0D6YN2 [2007/03/04(日) 11:18:47 ] 補題 n ≧ 3 を有理整数とする。 a を任意の奇数とすると、 a^(2^(n-2)) ≡ 1 (mod 2^n) である。 証明 n に関する帰納法を使う。 n = 3 のときは正しい。 ある n ≧ 3 に対して a^(2^(n-2)) ≡ 1 (mod 2^n) が正しいとする。 >>829 より a^(2^(n-1)) ≡ 1 (mod 2^(n+1)) 証明終
832 名前:Kummer ◆g2BU0D6YN2 [2007/03/04(日) 11:23:16 ] 補題 n ≧ 3 を有理整数とする。 5 mod 2^n の (Z/2^nZ)^* における位数は 2^(n-2) である。 証明 >>830 と >>831 より明らかである。
833 名前:Kummer ◆g2BU0D6YN2 [2007/03/04(日) 11:38:03 ] 補題 n ≧ 3 を有理整数とする。 任意の有理整数 k ≧ 0 に対して 5^k ≡ -1 (mod 2^n) とはならない。 証明 5^k ≡ -1 (mod 2^n) と仮定する。 5^k ≡ -1 (mod 4) である。 一方 5 ≡ 1 (mod 4) だから 1 ≡ -1 (mod 4) となって矛盾である。 証明終
834 名前:Kummer ◆g2BU0D6YN2 [2007/03/04(日) 11:44:34 ] 命題 n ≧ 3 を有理整数とする。 G = (Z/2^nZ)^* とおく。 a と b をそれぞれ mod 2^n における -1 と 5 の剰余類とする。 a で生成される G の部分群を K とし、 b で生成される G の部分群を H とする。 |K| = 2 |H| = 2^(n-2) であり G = K × H (直積)である。 証明 |G| = 2^(n-1) と >>832 と >>833 より明らかである。
835 名前:Kummer ◆g2BU0D6YN2 [2007/03/04(日) 11:58:05 ] >>800 の証明は以下のようにしたほうが明快だろう。 >>789 より N が素数 p のベキ p^m の場合に証明すればよい。 G における x^(p^(m-1)) = 1 の解の個数は p^(m-1) 以下である。 よって g^(p^(m-1)) ≠ 1 となる g ∈ G がある。 g が G の生成元である。 証明終
836 名前:132人目の素数さん mailto:sage [2007/03/05(月) 16:04:00 ] 23
837 名前:132人目の素数さん mailto:sage [2007/03/05(月) 16:05:00 ] 22
838 名前:132人目の素数さん mailto:sage [2007/03/05(月) 16:06:00 ] 21
839 名前:132人目の素数さん mailto:sage [2007/03/05(月) 16:07:00 ] 20
840 名前:132人目の素数さん mailto:sage [2007/03/05(月) 16:08:00 ] 19
841 名前:132人目の素数さん mailto:sage [2007/03/05(月) 16:09:00 ] 18
842 名前:132人目の素数さん [2007/03/06(火) 10:42:57 ] modular form no ii hon oshiete!!!
843 名前:Kummer ◆g2BU0D6YN2 [2007/03/06(火) 13:08:24 ] >>795 の >>789 を使わない証明を思いついた。 命題 G を有限アーベル群とする。 p を |G| を割る素数とすると G は位数 p の元をもつ。 証明 G の位数に関する帰納法を使う。 G の元 x ≠ 1 の位数 m が p で割れるとする。 m = pt とする。x^t の位数は p だから、この場合は命題は 証明された。 G の元 x ≠ 1 の位数 m が p で割れないとする。 x で生成される部分群を H とする。 G/H の位数は p で割れるから帰納法の仮定より G/H は位数 p の元を もつ。その元の任意の代表を y とする。 y^p ∈ H だから (y^p)^m = 1 である。よって y の位数は pm の 約数である。 よって、y の位数が p で割れないとすると、y^m = 1 となる。 このとき y mod H の位数は m の約数となり p で割れない。 これは矛盾である。 よって y の位数は p で割れる。 よって y の適当なべきの位数は p である。 証明終
844 名前:Kummer ◆g2BU0D6YN2 [2007/03/06(火) 20:29:06 ] 補題 H と K をそれぞれ位数 n と位数 m の巡回群とする。 G = H × K を直積とする。 gcd(n, m) ≠ 1 なら G は巡回群ではない。 証明 gcd(n, m) ≠ 1 だから、n と m はある素数 p で割れる。 >>795 より H と K はそれぞれ位数 p の部分群をもつ。 これらは明らかに異なる。 一方、G が巡回群なら位数 p の部分群はただ一つである。 よって G は巡回群ではない。 証明終
845 名前:Kummer ◆g2BU0D6YN2 [2007/03/06(火) 20:31:41 ] >>844 は間違いではないが、次のように訂正する。 補題 H と K をそれぞれ位数 n と位数 m のアーベル群とする。 G = H × K を直積とする。 gcd(n, m) ≠ 1 なら G は巡回群ではない。 証明 gcd(n, m) ≠ 1 だから、n と m はある素数 p で割れる。 >>795 より H と K はそれぞれ位数 p の部分群をもつ。 これらは明らかに異なる。 一方、G が巡回群なら位数 p の部分群はただ一つである。 よって G は巡回群ではない。 証明終
846 名前:Kummer ◆g2BU0D6YN2 [2007/03/06(火) 20:35:27 ] 命題 H と K をそれぞれ位数 n と位数 m の巡回群とする。 G = H × K を直積とする。 G が巡回群であるためには gcd(n, m) = 1 が必要十分である。 証明 >>805 と >>845 より明らかである。
847 名前:Kummer ◆g2BU0D6YN2 [2007/03/06(火) 20:39:11 ] 補題 p を素数とし、n ≧ 1 を有理整数とする。 (Z/p^nZ)^* の位数は p = 2 で n = 1 を除いて偶数である。 証明 |(Z/p^nZ)^*| = (p^(n - 1))(p - 1) より明らかである。
848 名前:Kummer ◆g2BU0D6YN2 [2007/03/06(火) 20:58:06 ] 命題 N ≧ 2 を有理整数とする。 (Z/NZ)^* が巡回群となるのは、以下の場合のみである。 N = 2, 4, p^n, 2p^n ここで p は奇素数で n ≧ 1 である。 証明 N の素因数分解を N = Π q^r とする。 中国式剰余定理(前スレ1の341)より Z/NZ = Π Z/(q^r)/Z である。 よって >>612 より (Z/NZ)^* = Π (Z/(q^r)/Z)^* である。 >>820 より p が奇素数で n ≧ 1 のとき (Z/p^nZ)^* は巡回群である。 >>834 より (Z/2^nZ)^* は n ≧ 3 のときは巡回群でない。 一方、 (Z/2Z)^* と (Z/4Z)^* 明らかに巡回群である。 以上の事実と >>847 と >>845 より本命題の主張は明らかである。 証明終
849 名前:Kummer ◆g2BU0D6YN2 [2007/03/06(火) 21:19:02 ] アーベル群の基本定理と >>845 から >>800 の別証明が得られる。 この証明は高木の「代数的整数論」にある証明(p.34)と同じである。 >>800 の別証明 アーベル群の基本定理から G は巡回群の直積である。 G が巡回群でないとすると >>846 よりある素数 p があり、 G は位数 p の部分群2個 の直積を部分群として含む。 すると x^p = 1 の G における解の個数は p^2 以上となり 仮定に反する。 証明終
850 名前:Kummer ◆g2BU0D6YN2 [2007/03/07(水) 21:12:09 ] 補題 n ≧ 1 と m ≧ 1 を有理整数とする。 d = gcd(n, m) とおく。 a を有理整数とする。 合同方程式 nx ≡ a (mod m) に解があるためには a が d で割れる ことが必要十分である。 このとき x^n = a 解の個数は d である。 証明 nb ≡ a (mod m) となる b ∈ Z があるとする。 nb - a = mk となる k ∈ Z がある。 a = nb - mk である. よって a ≡ 0 (mod d) である。 逆に a ≡ 0 (mod d) とする。 a = d(a ') と書ける。 n と m は d で割れるから n = d(n ') m = d(m ') と書ける。 よって nx ≡ a (mod m) は (n ')x ≡ a ' (mod m ') と同値である。 gcd(n ', m ') = 1 だから (n ')x ≡ a ' (mod m ') は mod m ' で唯一の解 b ' を持つ。 nx ≡ ny (mod m) なら、n(x - y) ≡ 0 (mod m) よって n '(x - y) ≡ 0 (mod m ') よって x ≡ y (mod m ') これから nx ≡ a (mod m) の解は b ', b ' + m ', ..., b ' + (d - 1)m ' の d 個である。 証明終
851 名前:Kummer ◆g2BU0D6YN2 [2007/03/07(水) 22:14:54 ] 命題 G を位数 m の巡回群とする。 n ≧ 1 を有理整数、 a を G の元とする。 d = gcd(n, m) とする。 x^n = a に解があるためには a^(m/d) = 1 が必要十分である。 このとき、この解の個数は d である。 証明 G の生成元を g とする。 a = g^i とかける。 x を G の元とし x^n = a とする。 x = g^y とすると g^(ny) = g^i となる。 よって x^n = a に解があるためには ny ≡ i (mod m) に解 y が あることが必要十分である。 >>850 より、これは i ≡ 0 (mod d) と同値である。 容易にわかるように、これは a^(m/d) = 1 と同意である。 x^n = a に解があるとき、この解の個数は >>850 より d である。 証明終
852 名前:132人目の素数さん mailto:sage [2007/03/07(水) 22:15:33 ] ., .| . 、・ ゙; 、′ . . . .′ . . ._.t~´ .’ ゙, .l・^´ . ’ . . .1 . .._.・ ̄\_ . ; . . .._>~ . ., , ...→_ .l 、’゙_、.‐ ._.・/< . . . .’ . 、, ..._.¨` ’ .|、。・`.、’_ .,・¨¨“÷ ,._、-・ヘ´ . /゛ ..′ . . .! 、,。・′・ 、1 }・ . . ..’ .、, ゙カ ゙,^ ’_ .ソ” .、.. . .} ;′ . ..’_ . 、’ . ...1 、} ′ ゙ヅ| . 、, .’_ . 、,・ / .`、..../ .; . ’ . 、} . ...l! . . .| . ...\・~ . | . ., ’_ ,’ . `._ ....}_ノ` , . . .’ ゙! . 、’ .’ 、, ′ . 、’、- . . . .`¨¨′ . . .i ゙’ 、| . . .l  ̄ ̄ . . .._ . . .i ゙, . . .-_ . 、; ,・ナ・_ . `、 ./ 、, .) .`j.´ 、l 、.-’ . . ./ . . .l } 、============- . . .| . 、 . ..| . . .’ . 、| ゙’ . .}.-‐………………………, 、| . |==・ . . . .・ 、’ .’._、.」 . ./ ´ . . . .,¨¨TTナナナ, ゙______|
853 名前:KingOfUniverse ◆667la1PjK2 [2007/03/07(水) 22:21:19 ] talk:>>852 お前に何が分かるというのか?
854 名前:132人目の素数さん mailto:sage [2007/03/07(水) 22:45:08 ] ., .| . 、・ ゙; 、′ . . . .′ . . ._.t~´ .’ ゙, .l・^´ . ’ . . .1 . .._.・ ̄\_ . ; . . .._>~ . ., , ...→_ .l 、’゙_、.‐ ._.・/< . . . .’ . 、, ..._.¨` ’ .|、。・`.、’_ .,・¨¨“÷ ,._、-・ヘ´ . /゛ ..′ . . .! 、,。・′・ 、1 }・ . . ..’ .、, ゙カ ゙,^ ’_ .ソ” .、.. . .} ;′ . ..’_ . 、’ . ...1 、} ′ ゙ヅ| . 、, .’_ . 、,・ / .`、..../ .; . ’ . 、} . ...l! . . .| . ...\・~ . | . ., ’_ ,’ . `._ ....}_ノ` , . . .’ ゙! . 、’ .’ 、, ′ . 、’、- . . . .`¨¨′ . . .i ゙’ 、| . . .l  ̄ ̄ . . .._ . . .i ゙, . . .-_ . 、; ,・ナ・_ . `、 ./ 、, .) .`j.´ 、l 、.-’ . . ./ . . .l } 、============- . . .| . 、 . ..| . . .’ . 、| ゙’ . .}.-‐………………………, 、| . |==・ . . . .・ 、’ .’._、.」 . ./ ´ . . . .,¨¨TTナナナ, ゙______|
855 名前:KingOfUniverse ◆667la1PjK2 [2007/03/07(水) 22:57:44 ] talk:>>854 お前に何が分かるというのか?
856 名前:132人目の素数さん mailto:sage [2007/03/09(金) 10:24:00 ] 25
857 名前:132人目の素数さん mailto:sage [2007/03/09(金) 10:25:00 ] 26
858 名前:132人目の素数さん mailto:sage [2007/03/09(金) 10:26:00 ] 25
859 名前:132人目の素数さん mailto:sage [2007/03/09(金) 10:27:00 ] 24
860 名前:Kummer ◆g2BU0D6YN2 [2007/03/09(金) 21:49:34 ] 命題 m ≧ 1 を有理整数とし、(Z/mZ)^* は巡回群とする。 n ≧ 1 を有理整数、 a を 有理整数で gcd(a, m) = 1 とする。 このとき x^n ≡ a (mod m) に解があるためには a^(φ(m)/d) ≡ 1 (mod m) が必要十分である。 ここで φ(m) は Euler の関数である。 つまり、φ(m) = |(Z/mZ)^*| である。 さらに、d = (n, φ(m)) である。 証明 >>851 より明らかである。
861 名前:Kummer ◆g2BU0D6YN2 [2007/03/10(土) 05:49:28 ] >>860 の命題と同じ条件で、x^n ≡ a (mod m) に解があるとき、 その解の個数は d = (n, φ(m)) である。 これも >>851 より明らかである。
862 名前:Kummer ◆g2BU0D6YN2 [2007/03/10(土) 06:46:03 ] 命題 p を有理素数とする。 n ≧ 1 と a を 有理整数でそれぞれ p で割れないとする。 x^n ≡ a (mod p) が解 b を持つとする。 このとき、任意の e ≧ 1 に対して x^n ≡ a (mod p^e) が c ≡ b (mod p) となる根 c を持つ。 このような c は mod p^e で一意に決まる。 証明 x^n ≡ a (mod p) の解を b とする。 f(X) = X^n - a とおく。 仮定より f '(b) = nb^(n-1) は p で割れない。 よって本命題は >>99 から得られる。 証明終
863 名前:Kummer ◆g2BU0D6YN2 [2007/03/10(土) 07:49:46 ] 命題 p を奇素数とする。 a を 有理整数で a は p で割れないとする。 n ≧ 1、e ≧ 1 に対して x^n ≡ a (mod p^e) が解を持つためには a^(φ(p^e)/d) ≡ 1 (mod p^e) が必要十分である。 ここで、d = gcd(n, φ(p^e)) である。 x^n ≡ a (mod p^e) が解を持つなら、その個数は d である。 証明 >>820 より (Z/p^eZ)^* は巡回群である。 よって本命題は >>860 と >>861 から出る。
864 名前:Kummer ◆g2BU0D6YN2 [2007/03/10(土) 08:02:49 ] >>863 において n が p で割れないときはもっと良い結果が得られる。 命題 p を奇素数とする。 n ≧ 1 と a を 有理整数でそれぞれ p で割れないとする。 x^n ≡ a (mod p) が解を持つためには a^((p - 1)/d) ≡ 1 (mod p) が必要十分である。 ここで、d = gcd(n, p - 1) である。 x^n ≡ a (mod p) が解を持たないとする。 このとき、任意の e ≧ 1 に対して x^n ≡ a (mod p^e) も 解を持たない。 x^n ≡ a (mod p) が解を持つなら、 任意の e ≧ 1 に対して x^n ≡ a (mod p^e) も解を持ち、 その個数は d = gcd(n, p - 1) である。 証明 最初の主張は >>863 より出る。 残りの主張は >>862 より出る。
865 名前:Kummer ◆g2BU0D6YN2 [2007/03/10(土) 09:05:48 ] >>862 は p = 2 でも成り立つから >>864 も p = 2 で成り立つ。 従って、n ≧ 1 と a が奇数のとき 任意の e ≧ 1 に対して x^n ≡ a (mod 2^e) は 唯一の解を持つ。
866 名前:Kummer ◆g2BU0D6YN2 [2007/03/10(土) 10:05:06 ] >>864 より次の命題が直ちに得られる。 命題 p を奇素数とする。 a を 有理整数で a は p で割れないとする。 (a/p) = 1 なら、任意の e ≧ 1 に対して x^2 ≡ a (mod p^e) が 解を持つ。このとき、解の個数は2である。 ここで (a/p) は Legendre の記号(前スレ3の746)である。 逆に、ある e ≧ 1 に対して x^2 ≡ a (mod p^e) が解を持つなら (a/p) = 1 である。
867 名前:132人目の素数さん mailto:sage [2007/03/10(土) 13:50:22 ] 解析的整数論ってなんかかっこいいよね
868 名前:132人目の素数さん mailto:sage [2007/03/10(土) 18:57:17 ] ζ関数、多重ゼータ値、保型形式など
869 名前:132人目の素数さん mailto:sage [2007/03/10(土) 20:04:00 ] 22
870 名前:132人目の素数さん mailto:sage [2007/03/10(土) 20:05:00 ] 21
871 名前:132人目の素数さん mailto:sage [2007/03/10(土) 20:06:00 ] 20
872 名前:132人目の素数さん mailto:sage [2007/03/10(土) 20:07:00 ] 19
873 名前:132人目の素数さん mailto:sage [2007/03/10(土) 20:08:00 ] 18
874 名前:Kummer ◆g2BU0D6YN2 [2007/03/10(土) 20:08:33 ] [Gauss: Disquisitiones, art.102] 今度は p を奇素数として a が p で割れるときに x^2 ≡ a (mod p^n) を考える。 a = (p^k)b, gcd(b, p) = 1 とする。 1) k ≧ n のとき a ≡ 0 (mod p^n) であるから x^2 ≡ a (mod p^n) は解 x = 0 を持つ。 2) 1≦ k < n で k が奇数のとき x^2 ≡ a (mod p^n) は解を持たない。 証明 x^2 ≡ a (mod p^n) が解 x = c を持つとする。 c^2 ≡ (p^k)b (mod p^n) より c^2 は p^k で割れる。 c = (p^s)d, gcd(d, p) = 1 とする。 k = 2t + 1 とすると、2s ≧ 2t + 1 だから s ≧ t + 1 よって c^2 は 2t + 2 で割れる。 c^2 ≡ (p^k)b (mod p^n) で 2t + 2 ≦ n だから (p^(2t + 1))b ≡ 0 (mod p^(2t + 2)) よって b ≡ 0 (mod p) となり矛盾である。 3) 1≦ k < n で k が偶数のとき x^2 ≡ a (mod p^n) が解を持つためには、(b/p) = 1 が 必要十分である。 証明 k = 2s とする。 x^2 ≡ (p^(2s))b (mod p^n) x = (p^s)y とおくと y^2 ≡ b (mod p^(n - k)) これと >>866 より上記の主張が出る。
875 名前:132人目の素数さん mailto:sage [2007/03/10(土) 20:09:00 ] 17
876 名前:132人目の素数さん mailto:sage [2007/03/10(土) 20:10:00 ] 17
877 名前:Kummer ◆g2BU0D6YN2 [2007/03/10(土) 20:16:13 ] >>874 は簡単だが、あまり他では言及されてない。
878 名前:Kummer ◆g2BU0D6YN2 [2007/03/10(土) 21:17:02 ] [Gauss: Disquisitiones, art.104] >>874 の 1) と 3) における(互いに合同でない)解の個数を求める。 条件を再度述べる。 p を奇素数として a が p で割れるときに x^2 ≡ a (mod p^n) を考える。 a = (p^k)b, gcd(b, p) = 1 とする。 1) k ≧ n のとき n が偶数のとき n = 2m n が奇数のとき n = 2m - 1 とおく。 x^2 ≡ a (mod p^n) より x^2 ≡ 0 (mod p^n) となる。 よって x ≡ 0 (mod p^m) となる。 0, p^m, 2p^m, ..., (p^(n - m) - 1)p^m の p^(n - m) 個が解である。 3) 1≦ k < n で k が偶数で、(b/p) = 1 のとき。 k = 2s とする。 x^2 ≡ (p^(2s))b (mod p^n) x = (p^s)y とおくと y^2 ≡ b (mod p^(n - 2s)) この解の一つを v とする。 v(p^s), (v + p^(n - 2s))(p^s) = v(p^s) + p^(n - s), ... , (v + (p^s - 1)p^(n - 2s))(p^s) = v(p^s) + (p^s - 1)p^(n - s) の p^s 個が v から得られる解である。 y^2 ≡ b (mod p^(n - 2s)) のもう一つの解 v' も同様であるから、 合計 2(p^s) 個 の解が得られる。
879 名前:Kummer ◆g2BU0D6YN2 [2007/03/10(土) 23:07:15 ] a を奇数として合同方程式 x^2 ≡ a (mod 2^n) を考える。 まず x^2 ≡ a (mod 2) は唯一つの解 x ≡ 1 (mod 2) を持つ。 次に x^2 ≡ a (mod 4) を考える。 a が奇数だから x も奇数である。 x = 2k + 1 とすると x^2 = 4k^2 + 4k + 1 だから x^2 ≡ 1 (mod 4) である。 よって a ≡ 1 (mod 4) である。 よって x^2 ≡ a (mod 4) に解があるためには a ≡ 1 (mod 4) が 必要十分である。 このとき解は x ≡ 1 (mod 4) と x ≡ 3 (mod 4) の2個である。 次に x^2 ≡ a (mod 8) を考える。 a が奇数だから x も奇数である。 x = 4k ± 1 とすると、 x^2 = 16k^2 ± 8k + 1 だから x^2 ≡ 1 (mod 8) である。 よって x^2 ≡ a (mod 8) に解があるためには a ≡ 1 (mod 8) が 必要十分である。 このとき解は x ≡ 1 (mod 8) と x ≡ 3 (mod 8) x ≡ 5 (mod 8), x ≡ 7 (mod 8) の4個である。
880 名前:Kummer ◆g2BU0D6YN2 [2007/03/10(土) 23:23:47 ] [Dirichlet の整数論講義より] 今度は n ≧ 3 のとき a を奇数として合同方程式 x^2 ≡ a (mod 2^n) を考える。 x^2 ≡ a (mod 2^n) に解 c があるとする。 c^2 - a = (2^n)h とする。 x = c + (2^(n-1))y とおく。 x^2 = c^2 + (2^n)cy + (2^(2n-2))y^2 x^2 - a = (2^n)h + (2^n)cy + (2^(2n-2))y^2 n ≧ 3 だから 2n - 2 ≧ n + 1 よって x^2 - a ≡ (2^n)(h + cy) (mod 2^(n+1)) よって h + cy ≡ 0 (mod 2) なら x^2 ≡ a (mod 2^(n+1)) である。 c が奇数だから h + cy ≡ 0 (mod 2) となる y は存在する。 以上から x^2 ≡ a (mod 2^n) に解があれば、 x^2 ≡ a (mod 2^(n+1)) に解があることがわかった。
881 名前:Kummer ◆g2BU0D6YN2 [2007/03/10(土) 23:41:34 ] 命題 n ≧ 3 で a を奇数とする。 x^2 ≡ a (mod 2^n) に解があるためには、 a ≡ 1 (mod 8) が必要十分である。 証明 >>879 と >>880 より明らかである。
882 名前:Kummer ◆g2BU0D6YN2 [2007/03/10(土) 23:56:30 ] 命題 n ≧ 3 で a を奇数とする。 a ≡ 1 (mod 8) のとき x^2 ≡ a (mod 2^n) には4個の解がある。 証明(Dirichlet の整数論講義) x^2 ≡ a (mod 2^n) の解の一つを c とする。 x をこの方程式の任意の解とする。 (x - c)(x + c) ≡ 0 (mod 2^n) である。 x も c も奇数であるから x - c と x + c は偶数である。 よって ((x - c)/2)((x + c)/2) ≡ 0 (mod 2^(n-2)) である。 (x + c)/2 - (x - c)/2 = c は奇数だから (x - c)/2 と (x + c)/2 のどちらか一方は奇数である。 よって (x - c)/2 ≡ 0 (mod 2^(n-2)) または (x + c)/2 ≡ 0 (mod 2^(n-2)) である。 つまり x ≡ c (mod 2^(n-1)) または x ≡ -c (mod 2^(n-1)) よって x ≡ c (mod 2^n) または x ≡ c + 2^(n-1) (mod 2^n) x ≡ -c (mod 2^n) または x ≡ -c + 2^(n-1) (mod 2^n) 証明終
883 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 00:27:05 ] 今度は a が偶数のときに x^2 ≡ a (mod 2^n) を考える。 命題 a を偶数で a = (2^k)b, gcd(b, 2) = 1 とする。 n が偶数のとき n = 2m n が奇数のとき n = 2m - 1 とおく。 k ≧ n のとき x^2 ≡ a (mod 2^n) は 2^(n - m) 個の解をもつ。 証明 k ≧ n だから a ≡ 0 (mod 2^n) である。 よって x^2 ≡ 0 (mod 2^n) となる。 よって x ≡ 0 (mod 2^m) となる。 0, 2^m, 2(2^m), ..., (2^(n - m) - 1)2^m の 2^(n - m) 個が解である。 証明終
884 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 00:37:31 ] 命題 a を偶数で a = (2^k)b, gcd(b, 2) = 1 とする。 1≦ k < n で k が奇数のとき x^2 ≡ a (mod 2^n) は解を持たない。 証明 >>874 と同様だが一応証明する。 x^2 ≡ a (mod 2^n) が解 x = c を持つとする。 c^2 ≡ (2^k)b (mod 2^n) より c^2 は 2^k で割れる。 c = (2^s)d, gcd(d, 2) = 1 とする。 k = 2t + 1 とすると、2s ≧ 2t + 1 だから s ≧ t + 1 よって c^2 は 2t + 2 で割れる。 c^2 ≡ (2^k)b (mod 2^n) で 2t + 2 ≦ n だから (2^(2t + 1))b ≡ 0 (mod 2^(2t + 2)) よって b ≡ 0 (mod 2) となり矛盾である。 証明終
885 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 00:49:27 ] 命題 a を偶数で a = (2^k)b, gcd(b, 2) = 1 とする。 1 ≦ k < n で k が偶数のとき x^2 ≡ a (mod 2^n) が解を持つためには、 n = k + 1 のときは無条件 n = k + 2 のとき b ≡ 1 (mod 4) n ≧ k + 3 のとき b ≡ 1 (mod 8) が必要十分である。 証明 k = 2s とする。 x^2 ≡ (2^(2s))b (mod 2^n) x = (2^s)y とおくと y^2 ≡ b (mod 2^(n - k)) これと >>879 より上記の主張が出る。 証明
886 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 00:57:22 ] 命題 a を偶数で a = (2^k)b, gcd(b, 2) = 1 とする。 1 ≦ k < n で k = 2s が偶数とする。 x^2 ≡ a (mod 2^n) が解を持つとき、その個数は n = k + 1 のときは 2^s 個 n = k + 2 のとき 2^(s+1) 個 n ≧ k + 3 のとき 2^(s+2) 個 である。 証明 >>885 より >>878 の 3) と同様にすればよい。
887 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 01:06:23 ] 以上で合同方程式 x^2 ≡ a (mod p^n) の解の様子はわかった。 a が p で割れる場合と p = 2 の場合も扱うと(難しくはないが)煩雑である。
888 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 02:07:07 ] p を奇素数とし gcd(a, p) = 1 のとき x^2 ≡ a (mod p) に解があるかどうかを決定するには、 Legendre の記号(前スレ3の746) (a/p) を計算すればよい。 (a/p) を計算する一つの方法は、 (a/p) ≡ a^((p - 1)/2) (mod p) (前スレ3の747) を使う。 p が大きいとき、この方法は効率が悪いように見えるが 実はそうでもない。 後で述べるが a^((p - 1)/2) を計算機で計算するのに効率のよい アルゴリズムがある。 (a/p) を計算する別の方法としては、a の素因数分解と 平方剰余の相互律(前スレ3の751)を使うものがある。 この方法は具体例で示したほうが分かりやすい。 p = 997 として (588/997) を計算してみよう。 588 = (7^2)・3・2^2 だから (588/997) = (7^2/997)(3/997)(2^2/997) = (3/997) 997 ≡ 1 (mod 4) だから平方剰余の相互律より (3/997) = (997/3) = (1/3) = 1 である。 よって (588/997) = 1 実際 183^2 ≡ 588 (mod 997) しかし、この方法は a の素因数分解が必要なので、大きい数の 計算には不向きである。 この不都合は次にのべる Jacobi の記号により解消される。
889 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 09:32:19 ] a を任意の有理整数とする。 >>100 を f(X) = X^2 - a に適用することにより、 x^2 ≡ a (mod m) の解は 各 x^2 ≡ a (mod (p_i)^(k_i)) の解が分かればよい。 しかし、この形の合同方程式の解の個数とその解法は原理的には 解決済みである(>>887 )。 よって x^2 ≡ a (mod m) の解の個数と解法(中国式剰余定理を使う)も 解決されたとみてよい。
890 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 09:37:35 ] n > 1 を奇数で n = (p_1)(p_2)... をその素因数分解とする。 m を gcd(m, n) = 1 となる任意の有理整数としたとき (m/n) を (m/n) = (m/p_1)(m/p_2)... と定義する。 (m/n) を Jacobi の記号という。 n が素数のときは (m/n) は Legendre の記号である。 よって Jacobi の記号は Legendre の記号の拡張になっている。 x^2 ≡ m (mod n) に解があるのは n の各素因数 p に対して (m/p) = 1 となることが必要十分である(>>866 , >>889 )。 ところが、(m/p) = -1 となる p が偶数個あっても (m/n) = 1 となる。 よって、(m/n) = 1 であっても x^2 ≡ m (mod n) に解があるとは 限らない。
891 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 09:48:36 ] 命題 a ≡ b (mod n) なら (a/n) = (b/n) である。 証明 n = Π p を n の素因数分解とする。 a ≡ b (mod p) だから (a/p) = (b/p) である。 よって Π (a/p) = Π (b/p) 即ち (a/n) = (b/n) である。 証明終
892 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 09:53:29 ] 命題 (ab/n) = (a/n)(b/n) である。 証明 n = Π p を n の素因数分解とする。 前スレ3の756より各 p に対して (ab/p) = (a/p)(b/p) である。 よって Π (ab/p) = Π (a/p)(b/p) = Π (a/p)Π (b/p) 即ち (ab/n) = (a/n)(b/n) である。 証明終
893 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 10:05:10 ] 補題 a, b を奇数とすれば (ab - 1)/2 ≡ (a - 1)/2 + (b - 1)/2 (mod 2) 証明 a - 1 と b - 1 は偶数だから (a - 1)(b - 1) ≡ 0 (mod 4) よって ab - a - b + 1 ≡ 0 (mod 4) ab - 1 ≡ (a - 1) + (b - 1) (mod 4) よって (ab - 1)/2 ≡ (a - 1)/2 + (b - 1)/2 (mod 2) 証明終
894 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 10:09:31 ] 補題 a, b を奇数とすれば (a^2b^2 - 1)/8 ≡ (a^2 - 1)/8 + (b^2 - 1)/8 (mod 2) 証明 a^2 - 1 ≡ 0 (mod 4) b^2 - 1 ≡ 0 (mod 4) よって (a^2 - 1)(b^2 - 1) ≡ 0 (mod 16) よって a^2b^2 - a^2 - b^2 + 1 ≡ 0 (mod 16) a^2b^2 - 1 ≡ (a^2 - 1) + (b^2 - 1) (mod 16) よって (a^2b^2 - 1)/8 ≡ (a^2 - 1)/8 + (b^2 - 1)/8 (mod 2) 証明終
895 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 10:16:27 ] 命題 m > 1 と n > 1 が奇数で gcd(m, n) = 1 のとき (m/n)(n/m) = (-1)^((m-1)/2)((n-1)/2) 証明 平方剰余の相互律(前スレ3の751)と >>893 より明らかである。
896 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 10:20:07 ] 命題 n > 1 が奇数のとき (-1/n) = (-1)^((n-1)/2) 証明 平方剰余の第一補充法則(>>163 )と >>893 より明らかである。
897 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 10:22:41 ] 命題 n > 1 が奇数のとき (2/n) = (-1)^((n^2 - 1)/8) 証明 平方剰余の第2補充法則(>>53 )と >>894 より明らかである。
898 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 11:04:32 ] Jacobi の記号(>>890 )をつかうと a の素因数分解を使わずに (a/p) が 計算できる。 例として (365/1847) を計算する(Dirichletの例)。 1847 は素数である。 365 ≡ 1 (mod 4) だから >>895 より (365/1847) = (1847/365) 1847 ≡ 22 (mod 365) だから >>895 より (1847/365) = (22/365) >>892 より (22/365) = (2/365)(11/365) >>897 より (2/365) = -1 よって (365/1847) = -(11/365) >>895 より (11/365) = (365/11) = (2/11) = -1 よって (365/1847) = 1 実際 496^2 ≡ 365 (mod 1847)
899 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 11:35:11 ] Legendre の記号 (a/p) を計算するために Jacobi の記号を使う方法は 相互律と素因数分解を使う方法より遥かに早い。 高木は「初等整数論講義」(第2版)の p.85 で 「このように Jacobi の記号を用いて Legendre の記号 (a/p) の値の計算 の手続きをいくぶん節約することができるのであるが、ただそれだけを 目標にして、 Jacobi の記号を掲出したのではない。 それはあまりにことごとしいであろう。」 と書いている。 理論的観点からはその通りかもしれない。 しかし、計算アルゴリズムという観点から見ると「いくぶん節約」 どころではなく遥かに早い。 大きい数の素因数分解は非常に遅いのである。
900 名前:132人目の素数さん mailto:sage [2007/03/11(日) 12:20:00 ] 21
901 名前:132人目の素数さん mailto:sage [2007/03/11(日) 12:21:00 ] 20
902 名前:132人目の素数さん mailto:sage [2007/03/11(日) 12:22:00 ] 19
903 名前:132人目の素数さん mailto:sage [2007/03/11(日) 12:23:00 ] 18
904 名前:132人目の素数さん mailto:sage [2007/03/11(日) 12:24:00 ] 17
905 名前:132人目の素数さん mailto:sage [2007/03/11(日) 12:25:00 ] 16
906 名前:132人目の素数さん mailto:sage [2007/03/11(日) 13:31:00 ] 15
907 名前:132人目の素数さん mailto:sage [2007/03/11(日) 13:32:00 ] 14
908 名前:132人目の素数さん mailto:sage [2007/03/11(日) 13:33:00 ] 13
909 名前:132人目の素数さん mailto:sage [2007/03/11(日) 13:34:00 ] 12
910 名前:132人目の素数さん mailto:sage [2007/03/11(日) 13:35:00 ] 11
911 名前:132人目の素数さん mailto:sage [2007/03/11(日) 13:36:00 ] 10
912 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 20:20:31 ] >>888 で述べた a^((p - 1)/2) (mod p) を効率よく計算する アルゴリズムを紹介する。 Cohen の A course in computational algebraic number theory に 述べられている方法である。 問題を一般にして、G を群とし、G の元 g と n > 0 に対して g^n を計算する方法を考える。 n を2進数で表示して n = Σ(ε_i)2^i とする。 ε_i は 0 または 1 である。 g^n = Π g^(2^i) である。ここで i は ε_i = 1 となる i を動く。 各 g^(2^i) は、最初に z = g として z = z・z を繰り返せばよい。 ここで = は右辺を左辺に代入することを表す。 各 g^(2^i) を計算したら順次、前に計算した結果に掛けていく。 これで終わりである。 このアルゴリズムを擬似コードで書くと次のようになる。
913 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 20:24:46 ] N = n z = g y = 1 do while(true) if N is odd then y = yz end if N = [N/2] if N = 0 then exit else z = zz end if end do [N/2] は N/2 の整数部分を表す。 コンピュータ言語のPascal風の擬似コ-ドの説明は不要だろう。
914 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 21:01:37 ] p を奇素数、 a を有理整数で gcd(a, p) = 1 とする。 (a/p) = 1 のときに x^2 ≡ a (mod p) を解く方法を考える。 x = 1 から順番に x^2 ≡ a (mod p) を確かめていくのは p が大きい ときにはコンピュータを使ったとしても実用的ではない。 ここでも Cohen 本から効率的なアルゴリズムを紹介する。 p が特殊な場合は解はすぐ得られる。 p ≡ 3 (mod 4) のときは x = a^((p + 1)/4) が解である(これを計算するのは>>912 を使う)。 何故なら x^2 = a^((p + 1)/2) = aa^((p - 1)/2) (a/p) = 1 だから a^((p - 1)/2) ≡ 1 (mod p) よって x^2 ≡ a (mod p)
915 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 21:15:14 ] 命題 p を奇素数で p ≡ 5 (mod 8) とする。 a を有理整数で gcd(a, p) = 1、(a/p) = 1 とする。 a^((p - 1)/2) ≡ 1 (mod p) だから a^((p - 1)/4) ≡ ±1 (mod p) である。 このとき a^((p - 1)/4) ≡ 1 (mod p) なら x = a^((p + 3)/8) は x^2 ≡ a (mod p) の解である。 a^((p - 1)/4) ≡ -1 (mod p) なら x = 2a(4a)^((p - 5)/8) は x^2 ≡ a (mod p) の解である。 証明 a^((p - 1)/4) ≡ 1 (mod p) なら x^2 = a^((p + 3)/4) = aa^((p - 1)/4) ≡ 1 (mod p) p ≡ 5 (mod 8) と、平方剰余の第2補充法則より (2/p) = (-1)^((p^2 - 1)/8) = -1 よって 2^((p - 1)/2) ≡ -1 (mod p) だから x^2 = 4a^2(4a)^((p - 5)/4) = a(4a)^((p - 1)/4) = a(2^((p - 1)/2))a^((p - 1)/4) ≡ a (mod p) 証明終
916 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 22:01:44 ] >>914 と >>915 より p ≡ 3 (mod 4) と p ≡ 5 (mod 8) のときは x^2 ≡ a (mod p) の解は求まった。 残るのは p ≡ 1 (mod 8) の場合である。 p - 1 = (2^e)r, r は奇数とする。 (Z/pZ)^* は位数 p - 1 の巡回群だから、その 2-Sylow 部分群(>>790 ) P は位数 2^e の巡回群である。 a^(p - 1)/2 = (a^r)^(2^(e-1)) ≡ 1 (mod p) よって b = a^r (mod p) とおくと b^(2^(e-1)) = 1 である。 P の生成元を z とする。 b = z^s とすると z^(s2^(e-1)) = 1 より s は偶数である。 -s ≡ k (mod 2^e) で 0 ≦ k < 2^e となるものがある。 k も偶数である。 bz^k = 1 である。 x = (a^(r + 1)/2)z^k/2 とおく。 x^2 = (a^(r + 1))z^k = abz^k ≡ a (mod p) よって問題は z と k を求めることに帰着する。 n を p と素な有理整数とする。 z = n^r (mod p) とおく。 z^(2^e) = (n^r)^(2^e) = n^(p - 1) ≡ 1 (mod p) z^(2^(e-1)) = (n^r)^(2^(e-1)) = n^(p - 1)/2 よって (n/p) = -1 なら z は P の生成元である。 n をランダムに選べば 50% の確率で (n/p) = -1 となるから z は簡単に求まる。
917 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 23:11:38 ] 今度は k を求める方法を考える。 b = a^r (mod p) とおいた。b^(2^(e-1)) = 1 である。 b^2^m = 1 となる最小の m ≧ 1 を求める。 b_1 = bz^2^(e-m) とおく。 (b_1)^2^(m-1) = (b^2^(m-1))(z^2^(e-1)) = (-1)^2 = 1 よって b_1 の位数は 2^(m-1) 以下である。 以上の処理を繰り返せば bz^k = 1 となる k が求まる。
918 名前:Kummer ◆g2BU0D6YN2 [2007/03/11(日) 23:18:29 ] >>616 と >>617 のアルゴリズムは Tonelli と Shanks による。
919 名前:132人目の素数さん mailto:sage [2007/03/12(月) 09:06:00 ] 12
920 名前:132人目の素数さん mailto:sage [2007/03/12(月) 09:07:00 ] 11
921 名前:132人目の素数さん mailto:sage [2007/03/12(月) 09:08:00 ] 10
922 名前:132人目の素数さん mailto:sage [2007/03/12(月) 09:09:00 ] 11
923 名前:132人目の素数さん mailto:sage [2007/03/12(月) 12:14:00 ] 10
924 名前:132人目の素数さん mailto:sage [2007/03/12(月) 12:15:00 ] 9
925 名前:132人目の素数さん mailto:sage [2007/03/12(月) 12:16:00 ] 8
926 名前:132人目の素数さん mailto:sage [2007/03/12(月) 12:17:00 ] 7
927 名前:132人目の素数さん mailto:sage [2007/03/12(月) 12:18:00 ] 6
928 名前:132人目の素数さん mailto:sage [2007/03/12(月) 12:19:00 ] 5
929 名前:Kummer ◆g2BU0D6YN2 [2007/03/12(月) 21:02:02 ] >>616 と >>617 のアルゴリズムがどこから来たのかがやや分かりにくい。 これを私の想像で説明して見よう。 >>916 の記号を使う。 b = a^r (mod p) とおくと b^(2^(e-1)) = 1 である。 よって b ∈ P である。 この観察が最初のキーポイントだと思われる。 y = a^(r + 1)/2 (mod p) とおく。 y^2 = a^(r + 1) = ab である。 w^2 = b となる w が求まれば y^2 = aw^2 よって x = yw^(-1) おくと、 x^2 = (y^2)(w^(-2)) = abb^(-1) = a となって x^2 ≡ a (mod p) が解ける。 従って、w^2 = b となる w を求めればよい。 これには P の生成元 z と b = z^s となる s を求めればよい。 以上が Tonelli と Shanks の基本アイデアだと思われる。
930 名前:Kummer ◆g2BU0D6YN2 [2007/03/12(月) 21:11:51 ] 訂正 >>929 >w^2 = b となる w が求まれば >y^2 = aw^2 >よって x = yw^(-1) おくと、 >x^2 = (y^2)(w^(-2)) = abb^(-1) = a >となって x^2 ≡ a (mod p) が解ける。 w^2 = b となる w が求まれば y^2 = aw^2 よって (yw^(-1))^2 = a よって x = yw^(-1) おけば x^2 = a となって x^2 ≡ a (mod p) が解ける。