[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 02/14 11:14 / Filesize : 500 KB / Number-of Response : 993
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

代数的整数論 004



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) が解ける。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<500KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef