Seminar on QCQI
@UsrNameu1
|19
Topics for today
D 整数論
D.1 基礎
D.2 剰余算とEuclidアルゴリズム
D.1 整数論の基礎
: 整数 {…, -2, -1, 0, 1, 2, …}Z
Z 0 : 負でない整数 {0, 1, 2, …}
Z>0 : 正の整数 {1, 2, …}
n 2 Z に対して n = dkk 2 Z が存在し
となる時、dはnを整除するといい、d|n と書き
dがnを整除しないとき、d - n と書く
dはnの因数または約数という
素数は自身と1 のみを因数にもつ正の整数:
2, 3, 5, 7, 11, 13, 17,…
Z は割り切れるという関係 ¦ について推移性を満たす
→演習 D.1
Z は割り切れるという関係 ¦ について線形性を満たす
→演習 D.2
Z は割り切れるという関係 ¦ について
→演習 D.3a|b かつ b|a a = b
整数論の基礎
定理 D.1 数論の基本定理
a 2 Z>0 は、次の形の素因数分解を有する
a = pa1
1 pa2
2 . . . pan
n
p1, . . . , pn :異なる素数 a1, . . . , an 2 Z>0ここで
• 小さい数に対して素因数分解を見出すのは容易
• 大きな数に対して古典コンピュータで素因数分解     
を見出すには膨大な時間計算量が必要
証明は数論の教科書を参照
D.2 剰余算とEuclidのアルゴリズム
に対して、x, n Z>0 k Z 0 r Z, 0 r n 1
が存在し、一意に次の形に書ける
x = kn + r
rを剰余といい、この関係は以下のようにも書く
x = r (mod n)
a, b Z の最大公約数 (Greatest common divisor: gcd)
はa, bの両方の約数のうち、最大の整数をいい
最大公約数
gcd(a, b)
と書く
定理 D.2 gcdの表現定理
は、gcd(a, b)
ax + by(x, y Z)
の形で書ける最小の正の整数である
証明要約:
演習D.2, D.3より gcd(a, b) s
の形の最小の s Z>0ax + by をsとする
sがaの約数でないとすると a = ks + r(1 r s 1)
r = a(1 kx) + b( ky)このとき
sの定義に矛盾するからsはaの約数 同様にsはbの約数
s| gcd(a, b) s gcd(a, b) s = gcd(a, b)
互いに素 逆数
のとき a, bは互いに素であるという
gcd(a, b) = 1
aは ab = 1 (mod n) b Zなる
があるとき、nを法とする乗算の逆数を持つという
系 D.4
gcd(a, n) = 1 a は n を法とする乗算の逆数をもつ
証明要約: ⇚ aのnを法とする逆数を a 1
とし
k Zに対してある aa 1
= 1 + kn aa 1
+ ( k)n = 1
定理D.2から
gcd(a, b) = 1
⇛ 定理D.2より aa 1
+ bn = 1 なる a 1
b, が存在
定理 D.5
a, b Z r をaをbで割った時の剰余として
gcd(a, b) = gcd(b, r)
証明要約: 定理D.2よりgcd(a, b)¦a, b, r (= a - kb)
gcd(b,r)はbとrの線形結合だから gcd(a, b)| gcd(b, r)
同様にgcd(b, r)¦b, r, a (= kb + r)
gcd(a,b)はaとbの線形結合だから gcd(b, r)| gcd(a, b)
演習D.3より
gcd(a, b) = gcd(b, r)
Euclidのアルゴリズム
1. a, bを a > b の順に並べる
2. aをbで割り、結果を , 剰余を とする:
3. bを で割り、結果を , 剰余を とする:
4. このステップを続ける
5. 剰余が0になった時、アルゴリズムを停止する
6. 最後の0でない剰余をgcdとして得る
a, b Z>0 の最大公約数を求める
k1 r1 a = k1b + r1
r1 k2 r2 b = k2r1 + r2
Euclidのアルゴリズム
a, b Z>0 a, bは高々L-bit長の列
ri について ri+2 ri/2 より、除算と剰余の演算を高々
2 [log a] = O(L)
回行う。各除算や剰余の計算は O(L2
) 回の演算を行う
全体のコストは O(L3
)
定理 D.6 中国剰余定理
m1, . . . , mn Z>0 gcd(mi, mj) = 1(i = j) で連立方程式
x = a1 (mod m1)
x = a2 (mod m2)
. . . . . . . . . . . . . . .
x = an (mod mn)
は解を持ち、任意の2つの解は M m1m2 . . . mn
を法として等しい
証明要約: Mi M/mi =
n
j=i
mj gcd(Mi, mi) = 1として
系 D.4より Mi miの を法とする逆数を Ni とし
x
n
i
aiMiNi
を定義して
MiNi = 1 (mod mi)
MiNi = 0 (mod mj) (j i に対して)
からこのxは連立方程式の解
x, x が連立方程式の解であるとき
x x = 0 (mod mi)
各 mi は互いに素だから
M = m1 . . . mn|x x x = x (mod M)
Fermatの小定理
補題 D.7 p: 素数 k Z, 1 k p 1 のとき
p|pCk
p(p 1) . . . (p k + 1) = pCkk(k 1) . . . 1証明要約:
の左辺はpで割れ、右辺の k(k 1) . . . 1 はpで割れない
定理 D.8  Fermatの小定理
p: 素数 のときa Z
ap
= a (mod p)
p a ap 1
= 1 (mod p)
証明要約: についての帰納法による
a = 1 ap
= 1 = a (mod p)
a Z>0
の仮定のもとa = k ap
= a (mod p)
a = k + 1 のとき
ap
= (1 + k)p
=
p
i=0
pCiki
= 1 + kp
(mod p) ( 補題 D.7)
= 1 + k (mod p) ( 仮定より)
= a
a Z 0 について a = 0 のときは自明 a < 0 のとき
( a)p
= a (mod p) ap
= ( 1)p+1
a (mod p)
より1 = p 1 (mod p)
ap
= (p 1)p+1
a (mod p)
= (p 1)2
a (mod p)
= a (mod p)
aがpで整除できないとき
gcd(a, p) = 1 ap 1
= a 1
ap
= a 1
a = 1 (mod p)
前半部分は示せた
後半部分は示せた
Euler の 関数
(n) = |{x|x Z, 0 < x < n, gcd(n, x) = 1}|
( ¦A¦ は集合Aの要素数)
nより小さくnと互いに素な正の整数の個数を
とする。
例:素数pについて
(p) = p 1
(p ) = p 1
(p 1)
Euler の 関数
中国剰余定理からa, bが互いに素なとき連立方程式
の任意の2つの解xはabを法として等しい
x = 1 (mod a)
x = 1 (mod b)
これはさらに自明な解 x = 1をもつから任意の解は
x = 1 (mod ab)
をみたす 
A = {x|x Z, 0 < x < a, gcd(a, x) = 1}
B = {x|x Z, 0 < x < b, gcd(b, x) = 1}
Euler の 関数
の要素のペアの集合
A B = {(xa, xb)|xa, xb Z, 0 < xa < a, 0 < xb < b,
gcd(a, xa) = 1, gcd(b, xb) = 1}
については以下の集合が一対一対応する
X = {x|x Z, 0 < x < ab, gcd(x, ab) = 1}
Euler の 関数
(n) = |{x|x Z, 0 < x < n, gcd(n, x) = 1}|
一対一対応する集合の要素数は等しいから
より
|X| = |A B|
(ab) = (a) (b)
nの素因数分解 n = p 1
1 . . . p k
k について p 1
1 , . . . , p k
k
は互いに素だから
(n) =
k
j=1
(p j
j ) =
k
j=1
p j 1
j (pj 1)
定理 D.9
gcd(a, n) = 1 a (n)
= 1 (mod n)
n = p としてαについて帰納法をつかう証明要約:
= 1 のときはFermatの小定理より示せる
1 に対して成立を仮定し k Z>0a (p )
= 1 + kp
a (p +1
)
= ap (p 1)
= ap (p )
= (1 + kp )p
= 1 +
p
j=1
pCjkj
pj
= 1 (mod p +1
) ( 補題 D.7)
を用い
n = p 1
1 . . . p m
m のときも    (ab) = (a) (b)
を用いて
a (n)
= a (p 1
1 )... (p m
m )
= (a (p 1
1 )
) (p 2
2 )... (p m
m )
= 1 (mod p 1
1 )
同様に
a (n)
= 1 (mod p 2
2 )
. . . . . . . . . . . . . . . . . .
a (n)
= 1 (mod p m
m )
中国剰余定理から、この連立方程式の解は自明な解
a (n)
= 1 n = p 1
1 . . . p k
k を法として等しいに
Zn = {x|x Z, 0 < x < n, gcd(n, x) = 1}
と定義すると、これはnを法とする乗算の元で群をなし
サイズは
剰余と群論
(n)
n = p (p:奇数 α>0) のとき Zp は巡回群をなす
定理 D.10
証明は整数論の教科書を参照

Seminar on Quantum Computation & Quantum Information part19

  • 1.
  • 2.
    Topics for today D整数論 D.1 基礎 D.2 剰余算とEuclidアルゴリズム
  • 3.
    D.1 整数論の基礎 : 整数{…, -2, -1, 0, 1, 2, …}Z Z 0 : 負でない整数 {0, 1, 2, …} Z>0 : 正の整数 {1, 2, …} n 2 Z に対して n = dkk 2 Z が存在し となる時、dはnを整除するといい、d|n と書き dがnを整除しないとき、d - n と書く dはnの因数または約数という
  • 4.
    素数は自身と1 のみを因数にもつ正の整数: 2, 3,5, 7, 11, 13, 17,… Z は割り切れるという関係 ¦ について推移性を満たす →演習 D.1 Z は割り切れるという関係 ¦ について線形性を満たす →演習 D.2 Z は割り切れるという関係 ¦ について →演習 D.3a|b かつ b|a a = b 整数論の基礎
  • 5.
    定理 D.1 数論の基本定理 a 2Z>0 は、次の形の素因数分解を有する a = pa1 1 pa2 2 . . . pan n p1, . . . , pn :異なる素数 a1, . . . , an 2 Z>0ここで • 小さい数に対して素因数分解を見出すのは容易 • 大きな数に対して古典コンピュータで素因数分解      を見出すには膨大な時間計算量が必要 証明は数論の教科書を参照
  • 6.
    D.2 剰余算とEuclidのアルゴリズム に対して、x, nZ>0 k Z 0 r Z, 0 r n 1 が存在し、一意に次の形に書ける x = kn + r rを剰余といい、この関係は以下のようにも書く x = r (mod n)
  • 7.
    a, b Zの最大公約数 (Greatest common divisor: gcd) はa, bの両方の約数のうち、最大の整数をいい 最大公約数 gcd(a, b) と書く
  • 8.
    定理 D.2 gcdの表現定理 は、gcd(a, b) ax+ by(x, y Z) の形で書ける最小の正の整数である 証明要約: 演習D.2, D.3より gcd(a, b) s の形の最小の s Z>0ax + by をsとする sがaの約数でないとすると a = ks + r(1 r s 1) r = a(1 kx) + b( ky)このとき sの定義に矛盾するからsはaの約数 同様にsはbの約数 s| gcd(a, b) s gcd(a, b) s = gcd(a, b)
  • 9.
    互いに素 逆数 のとき a, bは互いに素であるという gcd(a,b) = 1 aは ab = 1 (mod n) b Zなる があるとき、nを法とする乗算の逆数を持つという 系 D.4 gcd(a, n) = 1 a は n を法とする乗算の逆数をもつ 証明要約: ⇚ aのnを法とする逆数を a 1 とし k Zに対してある aa 1 = 1 + kn aa 1 + ( k)n = 1 定理D.2から gcd(a, b) = 1 ⇛ 定理D.2より aa 1 + bn = 1 なる a 1 b, が存在
  • 10.
    定理 D.5 a, bZ r をaをbで割った時の剰余として gcd(a, b) = gcd(b, r) 証明要約: 定理D.2よりgcd(a, b)¦a, b, r (= a - kb) gcd(b,r)はbとrの線形結合だから gcd(a, b)| gcd(b, r) 同様にgcd(b, r)¦b, r, a (= kb + r) gcd(a,b)はaとbの線形結合だから gcd(b, r)| gcd(a, b) 演習D.3より gcd(a, b) = gcd(b, r)
  • 11.
    Euclidのアルゴリズム 1. a, bをa > b の順に並べる 2. aをbで割り、結果を , 剰余を とする: 3. bを で割り、結果を , 剰余を とする: 4. このステップを続ける 5. 剰余が0になった時、アルゴリズムを停止する 6. 最後の0でない剰余をgcdとして得る a, b Z>0 の最大公約数を求める k1 r1 a = k1b + r1 r1 k2 r2 b = k2r1 + r2
  • 12.
    Euclidのアルゴリズム a, b Z>0a, bは高々L-bit長の列 ri について ri+2 ri/2 より、除算と剰余の演算を高々 2 [log a] = O(L) 回行う。各除算や剰余の計算は O(L2 ) 回の演算を行う 全体のコストは O(L3 )
  • 13.
    定理 D.6 中国剰余定理 m1, .. . , mn Z>0 gcd(mi, mj) = 1(i = j) で連立方程式 x = a1 (mod m1) x = a2 (mod m2) . . . . . . . . . . . . . . . x = an (mod mn) は解を持ち、任意の2つの解は M m1m2 . . . mn を法として等しい 証明要約: Mi M/mi = n j=i mj gcd(Mi, mi) = 1として 系 D.4より Mi miの を法とする逆数を Ni とし
  • 14.
    x n i aiMiNi を定義して MiNi = 1(mod mi) MiNi = 0 (mod mj) (j i に対して) からこのxは連立方程式の解 x, x が連立方程式の解であるとき x x = 0 (mod mi) 各 mi は互いに素だから M = m1 . . . mn|x x x = x (mod M)
  • 15.
    Fermatの小定理 補題 D.7 p:素数 k Z, 1 k p 1 のとき p|pCk p(p 1) . . . (p k + 1) = pCkk(k 1) . . . 1証明要約: の左辺はpで割れ、右辺の k(k 1) . . . 1 はpで割れない 定理 D.8  Fermatの小定理 p: 素数 のときa Z ap = a (mod p) p a ap 1 = 1 (mod p)
  • 16.
    証明要約: についての帰納法による a =1 ap = 1 = a (mod p) a Z>0 の仮定のもとa = k ap = a (mod p) a = k + 1 のとき ap = (1 + k)p = p i=0 pCiki = 1 + kp (mod p) ( 補題 D.7) = 1 + k (mod p) ( 仮定より) = a
  • 17.
    a Z 0について a = 0 のときは自明 a < 0 のとき ( a)p = a (mod p) ap = ( 1)p+1 a (mod p) より1 = p 1 (mod p) ap = (p 1)p+1 a (mod p) = (p 1)2 a (mod p) = a (mod p) aがpで整除できないとき gcd(a, p) = 1 ap 1 = a 1 ap = a 1 a = 1 (mod p) 前半部分は示せた 後半部分は示せた
  • 18.
    Euler の 関数 (n)= |{x|x Z, 0 < x < n, gcd(n, x) = 1}| ( ¦A¦ は集合Aの要素数) nより小さくnと互いに素な正の整数の個数を とする。 例:素数pについて (p) = p 1 (p ) = p 1 (p 1)
  • 19.
    Euler の 関数 中国剰余定理からa,bが互いに素なとき連立方程式 の任意の2つの解xはabを法として等しい x = 1 (mod a) x = 1 (mod b) これはさらに自明な解 x = 1をもつから任意の解は x = 1 (mod ab) をみたす 
  • 20.
    A = {x|xZ, 0 < x < a, gcd(a, x) = 1} B = {x|x Z, 0 < x < b, gcd(b, x) = 1} Euler の 関数 の要素のペアの集合 A B = {(xa, xb)|xa, xb Z, 0 < xa < a, 0 < xb < b, gcd(a, xa) = 1, gcd(b, xb) = 1} については以下の集合が一対一対応する X = {x|x Z, 0 < x < ab, gcd(x, ab) = 1}
  • 21.
    Euler の 関数 (n)= |{x|x Z, 0 < x < n, gcd(n, x) = 1}| 一対一対応する集合の要素数は等しいから より |X| = |A B| (ab) = (a) (b) nの素因数分解 n = p 1 1 . . . p k k について p 1 1 , . . . , p k k は互いに素だから (n) = k j=1 (p j j ) = k j=1 p j 1 j (pj 1)
  • 22.
    定理 D.9 gcd(a, n)= 1 a (n) = 1 (mod n) n = p としてαについて帰納法をつかう証明要約: = 1 のときはFermatの小定理より示せる 1 に対して成立を仮定し k Z>0a (p ) = 1 + kp a (p +1 ) = ap (p 1) = ap (p ) = (1 + kp )p = 1 + p j=1 pCjkj pj = 1 (mod p +1 ) ( 補題 D.7) を用い
  • 23.
    n = p1 1 . . . p m m のときも    (ab) = (a) (b) を用いて a (n) = a (p 1 1 )... (p m m ) = (a (p 1 1 ) ) (p 2 2 )... (p m m ) = 1 (mod p 1 1 ) 同様に a (n) = 1 (mod p 2 2 ) . . . . . . . . . . . . . . . . . . a (n) = 1 (mod p m m ) 中国剰余定理から、この連立方程式の解は自明な解 a (n) = 1 n = p 1 1 . . . p k k を法として等しいに
  • 24.
    Zn = {x|xZ, 0 < x < n, gcd(n, x) = 1} と定義すると、これはnを法とする乗算の元で群をなし サイズは 剰余と群論 (n) n = p (p:奇数 α>0) のとき Zp は巡回群をなす 定理 D.10 証明は整数論の教科書を参照