seminar on quantum computation & quantum information part19
TRANSCRIPT
Seminar on QCQI
@UsrNameu1
|19�
Topics for todayD 整数論 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 = pa11 pa2
2 . . . pann
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.4gcd(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.5a, 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+1a (mod p)
より�1 = p � 1 (mod p)
ap = (p � 1)p+1a (mod p)
= (p � 1)2a (mod p)
= a (mod p)
aがpで整除できないときgcd(a, p) = 1 � ap�1 = a�1ap = a�1a = 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�11 . . . p�k
k について p�11 , . . . , p�k
k
は互いに素だから
�(n) =k�
j=1
�(p�j
j ) =k�
j=1
p�j�1j (pj � 1)
定理 D.9gcd(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
pCjkjpj�
= 1 (mod p�+1) (� 補題 D.7)
を用い
n = p�11 . . . p�m
m のときも �(ab) = �(a)�(b)
を用いてa�(n) = a�(p
�11 )...�(p�m
m )
= (a�(p�11 ))�(p
�22 )...�(p�m
m )
= 1 (mod p�11 )
同様にa�(n) = 1 (mod p�2
2 )
. . . . . . . . . . . . . . . . . .
a�(n) = 1 (mod p�mm )
中国剰余定理から、この連立方程式の解は自明な解a�(n) = 1 n = p�1
1 . . . p�kk を法として等しいに
Z�n = {x|x � Z, 0 < x < n, gcd(n, x) = 1}
と定義すると、これはnを法とする乗算の元で群をなし サイズは
剰余と群論
�(n)
n = p� (p:奇数 α>0) のとき Z�p� は巡回群をなす
定理 D.10
証明は整数論の教科書を参照