SlideShare a Scribd company logo
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
証明は整数論の教科書を参照

More Related Content

What's hot

DDPC 2016 予選 解説
DDPC 2016 予選 解説DDPC 2016 予選 解説
DDPC 2016 予選 解説
AtCoder Inc.
 
公開鍵暗号(2): 有限体
公開鍵暗号(2): 有限体公開鍵暗号(2): 有限体
公開鍵暗号(2): 有限体
Joe Suzuki
 
相対位相
相対位相相対位相
相対位相
政孝 鍋島
 
高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換
AtCoder Inc.
 
Estimating Mutual Information for Discrete‐Continuous Mixtures 離散・連続混合の相互情報量の推定
Estimating Mutual Information for Discrete‐Continuous Mixtures 離散・連続混合の相互情報量の推定Estimating Mutual Information for Discrete‐Continuous Mixtures 離散・連続混合の相互情報量の推定
Estimating Mutual Information for Discrete‐Continuous Mixtures 離散・連続混合の相互情報量の推定
Yuya Takashina
 
凸角形全体の位相の性質
凸角形全体の位相の性質凸角形全体の位相の性質
凸角形全体の位相の性質
nabeshimamasataka
 
アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法
nitoyon
 
凸角形全体の位相の性質
凸角形全体の位相の性質 凸角形全体の位相の性質
凸角形全体の位相の性質
政孝 鍋島
 
画像からの倍率色収差の自動推定補正
画像からの倍率色収差の自動推定補正画像からの倍率色収差の自動推定補正
画像からの倍率色収差の自動推定補正
doboncho
 
purely functional data structures 5.3 日本語での説明
purely functional data structures 5.3 日本語での説明purely functional data structures 5.3 日本語での説明
purely functional data structures 5.3 日本語での説明
Tetsuro Nagae
 
ロマ数16 simizut
ロマ数16 simizutロマ数16 simizut
ロマ数16 simizut
Tatsuki SHIMIZU
 
PRML_titech 8.1 - 8.2
PRML_titech 8.1 - 8.2PRML_titech 8.1 - 8.2
PRML_titech 8.1 - 8.2
Takafumi Sakakibara
 
UTPC2012 - K
UTPC2012 - KUTPC2012 - K
UTPC2012 - Komeometo
 
Pool
PoolPool
Pool
Ken Ogura
 
Cvim tutorial2 03_06_wk77_110220-0546
Cvim tutorial2 03_06_wk77_110220-0546Cvim tutorial2 03_06_wk77_110220-0546
Cvim tutorial2 03_06_wk77_110220-0546Wataru Kishimoto
 
複素数・四元数と図形の回転
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転
Yoshihiro Mizoguchi
 
AtCoder Regular Contest 030 解説
AtCoder Regular Contest 030 解説AtCoder Regular Contest 030 解説
AtCoder Regular Contest 030 解説
AtCoder Inc.
 
第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)
RCCSRENKEI
 
Stochastic complexities of reduced rank regression証明概略
 Stochastic complexities of reduced rank regression証明概略 Stochastic complexities of reduced rank regression証明概略
Stochastic complexities of reduced rank regression証明概略
Xiangze
 
introductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysisintroductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysis
Tatsuki SHIMIZU
 

What's hot (20)

DDPC 2016 予選 解説
DDPC 2016 予選 解説DDPC 2016 予選 解説
DDPC 2016 予選 解説
 
公開鍵暗号(2): 有限体
公開鍵暗号(2): 有限体公開鍵暗号(2): 有限体
公開鍵暗号(2): 有限体
 
相対位相
相対位相相対位相
相対位相
 
高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換
 
Estimating Mutual Information for Discrete‐Continuous Mixtures 離散・連続混合の相互情報量の推定
Estimating Mutual Information for Discrete‐Continuous Mixtures 離散・連続混合の相互情報量の推定Estimating Mutual Information for Discrete‐Continuous Mixtures 離散・連続混合の相互情報量の推定
Estimating Mutual Information for Discrete‐Continuous Mixtures 離散・連続混合の相互情報量の推定
 
凸角形全体の位相の性質
凸角形全体の位相の性質凸角形全体の位相の性質
凸角形全体の位相の性質
 
アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法
 
凸角形全体の位相の性質
凸角形全体の位相の性質 凸角形全体の位相の性質
凸角形全体の位相の性質
 
画像からの倍率色収差の自動推定補正
画像からの倍率色収差の自動推定補正画像からの倍率色収差の自動推定補正
画像からの倍率色収差の自動推定補正
 
purely functional data structures 5.3 日本語での説明
purely functional data structures 5.3 日本語での説明purely functional data structures 5.3 日本語での説明
purely functional data structures 5.3 日本語での説明
 
ロマ数16 simizut
ロマ数16 simizutロマ数16 simizut
ロマ数16 simizut
 
PRML_titech 8.1 - 8.2
PRML_titech 8.1 - 8.2PRML_titech 8.1 - 8.2
PRML_titech 8.1 - 8.2
 
UTPC2012 - K
UTPC2012 - KUTPC2012 - K
UTPC2012 - K
 
Pool
PoolPool
Pool
 
Cvim tutorial2 03_06_wk77_110220-0546
Cvim tutorial2 03_06_wk77_110220-0546Cvim tutorial2 03_06_wk77_110220-0546
Cvim tutorial2 03_06_wk77_110220-0546
 
複素数・四元数と図形の回転
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転
 
AtCoder Regular Contest 030 解説
AtCoder Regular Contest 030 解説AtCoder Regular Contest 030 解説
AtCoder Regular Contest 030 解説
 
第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)
 
Stochastic complexities of reduced rank regression証明概略
 Stochastic complexities of reduced rank regression証明概略 Stochastic complexities of reduced rank regression証明概略
Stochastic complexities of reduced rank regression証明概略
 
introductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysisintroductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysis
 

Similar to Seminar on Quantum Computation & Quantum Information part19

Nonparametric Factor Analysis with Beta Process Priors の式解説
Nonparametric Factor Analysis with Beta Process Priors の式解説Nonparametric Factor Analysis with Beta Process Priors の式解説
Nonparametric Factor Analysis with Beta Process Priors の式解説Tomonari Masada
 
topology of musical data
topology of musical datatopology of musical data
topology of musical data
Tatsuki SHIMIZU
 
Sec15 dynamic programming
Sec15 dynamic programmingSec15 dynamic programming
Sec15 dynamic programming
Keisuke OTAKI
 
Introduction to Categorical Programming
Introduction to Categorical ProgrammingIntroduction to Categorical Programming
Introduction to Categorical Programming
Masahiro Sakai
 
2022年度秋学期 応用数学(解析) 第13回 複素関数論ダイジェスト(2) 孤立特異点と留数 (2022. 12. 22)
2022年度秋学期 応用数学(解析) 第13回 複素関数論ダイジェスト(2) 孤立特異点と留数 (2022. 12. 22) 2022年度秋学期 応用数学(解析) 第13回 複素関数論ダイジェスト(2) 孤立特異点と留数 (2022. 12. 22)
2022年度秋学期 応用数学(解析) 第13回 複素関数論ダイジェスト(2) 孤立特異点と留数 (2022. 12. 22)
Akira Asano
 
Similarity functions in Lucene 4.0
Similarity functions in Lucene 4.0Similarity functions in Lucene 4.0
Similarity functions in Lucene 4.0Koji Sekiguchi
 
Gcd
GcdGcd
Gcdoupc
 
050 確率と確率分布
050 確率と確率分布050 確率と確率分布
050 確率と確率分布t2tarumi
 
Sparse estimation tutorial 2014
Sparse estimation tutorial 2014Sparse estimation tutorial 2014
Sparse estimation tutorial 2014
Taiji Suzuki
 
Deep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___informationDeep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___information
takutori
 
公開鍵暗号7: 楕円曲線の数理
公開鍵暗号7: 楕円曲線の数理公開鍵暗号7: 楕円曲線の数理
公開鍵暗号7: 楕円曲線の数理Joe Suzuki
 
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知
Chika Inoshita
 
Coq関係計算ライブラリの開発と写像の性質の証明
Coq関係計算ライブラリの開発と写像の性質の証明Coq関係計算ライブラリの開発と写像の性質の証明
Coq関係計算ライブラリの開発と写像の性質の証明
Yoshihiro Mizoguchi
 
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
Masahiro Sakai
 
情報検索の基礎(11章)
情報検索の基礎(11章)情報検索の基礎(11章)
情報検索の基礎(11章)Katsuki Tanaka
 
Donutsプロコンチャレンジ 2015 解説
Donutsプロコンチャレンジ 2015 解説Donutsプロコンチャレンジ 2015 解説
Donutsプロコンチャレンジ 2015 解説
kuno4n
 
El text.tokuron a(2019).yamamoto190620
El text.tokuron a(2019).yamamoto190620El text.tokuron a(2019).yamamoto190620
El text.tokuron a(2019).yamamoto190620
RCCSRENKEI
 
Rsa暗号で彼女が出来るらしい
Rsa暗号で彼女が出来るらしいRsa暗号で彼女が出来るらしい
Rsa暗号で彼女が出来るらしいYosuke Onoue
 
Sparse models
Sparse modelsSparse models
Sparse models
Daisuke Yoneoka
 
ガウス積分の問題
ガウス積分の問題ガウス積分の問題
ガウス積分の問題
nabeshimamasataka
 

Similar to Seminar on Quantum Computation & Quantum Information part19 (20)

Nonparametric Factor Analysis with Beta Process Priors の式解説
Nonparametric Factor Analysis with Beta Process Priors の式解説Nonparametric Factor Analysis with Beta Process Priors の式解説
Nonparametric Factor Analysis with Beta Process Priors の式解説
 
topology of musical data
topology of musical datatopology of musical data
topology of musical data
 
Sec15 dynamic programming
Sec15 dynamic programmingSec15 dynamic programming
Sec15 dynamic programming
 
Introduction to Categorical Programming
Introduction to Categorical ProgrammingIntroduction to Categorical Programming
Introduction to Categorical Programming
 
2022年度秋学期 応用数学(解析) 第13回 複素関数論ダイジェスト(2) 孤立特異点と留数 (2022. 12. 22)
2022年度秋学期 応用数学(解析) 第13回 複素関数論ダイジェスト(2) 孤立特異点と留数 (2022. 12. 22) 2022年度秋学期 応用数学(解析) 第13回 複素関数論ダイジェスト(2) 孤立特異点と留数 (2022. 12. 22)
2022年度秋学期 応用数学(解析) 第13回 複素関数論ダイジェスト(2) 孤立特異点と留数 (2022. 12. 22)
 
Similarity functions in Lucene 4.0
Similarity functions in Lucene 4.0Similarity functions in Lucene 4.0
Similarity functions in Lucene 4.0
 
Gcd
GcdGcd
Gcd
 
050 確率と確率分布
050 確率と確率分布050 確率と確率分布
050 確率と確率分布
 
Sparse estimation tutorial 2014
Sparse estimation tutorial 2014Sparse estimation tutorial 2014
Sparse estimation tutorial 2014
 
Deep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___informationDeep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___information
 
公開鍵暗号7: 楕円曲線の数理
公開鍵暗号7: 楕円曲線の数理公開鍵暗号7: 楕円曲線の数理
公開鍵暗号7: 楕円曲線の数理
 
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知
 
Coq関係計算ライブラリの開発と写像の性質の証明
Coq関係計算ライブラリの開発と写像の性質の証明Coq関係計算ライブラリの開発と写像の性質の証明
Coq関係計算ライブラリの開発と写像の性質の証明
 
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
 
情報検索の基礎(11章)
情報検索の基礎(11章)情報検索の基礎(11章)
情報検索の基礎(11章)
 
Donutsプロコンチャレンジ 2015 解説
Donutsプロコンチャレンジ 2015 解説Donutsプロコンチャレンジ 2015 解説
Donutsプロコンチャレンジ 2015 解説
 
El text.tokuron a(2019).yamamoto190620
El text.tokuron a(2019).yamamoto190620El text.tokuron a(2019).yamamoto190620
El text.tokuron a(2019).yamamoto190620
 
Rsa暗号で彼女が出来るらしい
Rsa暗号で彼女が出来るらしいRsa暗号で彼女が出来るらしい
Rsa暗号で彼女が出来るらしい
 
Sparse models
Sparse modelsSparse models
Sparse models
 
ガウス積分の問題
ガウス積分の問題ガウス積分の問題
ガウス積分の問題
 

More from Yuichi Adachi

Seminar on Quantum Computation & Quantum Information part28
Seminar on Quantum Computation & Quantum Information part28Seminar on Quantum Computation & Quantum Information part28
Seminar on Quantum Computation & Quantum Information part28
Yuichi Adachi
 
Swift2.x を Scala からみる
Swift2.x を Scala からみるSwift2.x を Scala からみる
Swift2.x を Scala からみる
Yuichi Adachi
 
Swift2 の新機能 Protocol Extension
Swift2 の新機能 Protocol ExtensionSwift2 の新機能 Protocol Extension
Swift2 の新機能 Protocol Extension
Yuichi Adachi
 
続・ゲンバのSwift
続・ゲンバのSwift続・ゲンバのSwift
続・ゲンバのSwift
Yuichi Adachi
 
Seminar on Quantum Computation & Quantum Information part15
Seminar on Quantum Computation & Quantum Information part15Seminar on Quantum Computation & Quantum Information part15
Seminar on Quantum Computation & Quantum Information part15
Yuichi Adachi
 
ゲンバのSwift
ゲンバのSwiftゲンバのSwift
ゲンバのSwift
Yuichi Adachi
 
Seminar on Quantum Computation & Quantum Information part14
Seminar on Quantum Computation & Quantum Information part14Seminar on Quantum Computation & Quantum Information part14
Seminar on Quantum Computation & Quantum Information part14
Yuichi Adachi
 
VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計
Yuichi Adachi
 
[iOS8] 新たな線形代数ライブラリ Linear Algebra
[iOS8] 新たな線形代数ライブラリ Linear Algebra[iOS8] 新たな線形代数ライブラリ Linear Algebra
[iOS8] 新たな線形代数ライブラリ Linear Algebra
Yuichi Adachi
 
Swiftの新機能 Optional
Swiftの新機能 OptionalSwiftの新機能 Optional
Swiftの新機能 Optional
Yuichi Adachi
 
ユニットテスト初学者がKiwiFramework非同期テストで失敗した
ユニットテスト初学者がKiwiFramework非同期テストで失敗したユニットテスト初学者がKiwiFramework非同期テストで失敗した
ユニットテスト初学者がKiwiFramework非同期テストで失敗した
Yuichi Adachi
 
Applicative functor
Applicative functorApplicative functor
Applicative functor
Yuichi Adachi
 

More from Yuichi Adachi (12)

Seminar on Quantum Computation & Quantum Information part28
Seminar on Quantum Computation & Quantum Information part28Seminar on Quantum Computation & Quantum Information part28
Seminar on Quantum Computation & Quantum Information part28
 
Swift2.x を Scala からみる
Swift2.x を Scala からみるSwift2.x を Scala からみる
Swift2.x を Scala からみる
 
Swift2 の新機能 Protocol Extension
Swift2 の新機能 Protocol ExtensionSwift2 の新機能 Protocol Extension
Swift2 の新機能 Protocol Extension
 
続・ゲンバのSwift
続・ゲンバのSwift続・ゲンバのSwift
続・ゲンバのSwift
 
Seminar on Quantum Computation & Quantum Information part15
Seminar on Quantum Computation & Quantum Information part15Seminar on Quantum Computation & Quantum Information part15
Seminar on Quantum Computation & Quantum Information part15
 
ゲンバのSwift
ゲンバのSwiftゲンバのSwift
ゲンバのSwift
 
Seminar on Quantum Computation & Quantum Information part14
Seminar on Quantum Computation & Quantum Information part14Seminar on Quantum Computation & Quantum Information part14
Seminar on Quantum Computation & Quantum Information part14
 
VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計
 
[iOS8] 新たな線形代数ライブラリ Linear Algebra
[iOS8] 新たな線形代数ライブラリ Linear Algebra[iOS8] 新たな線形代数ライブラリ Linear Algebra
[iOS8] 新たな線形代数ライブラリ Linear Algebra
 
Swiftの新機能 Optional
Swiftの新機能 OptionalSwiftの新機能 Optional
Swiftの新機能 Optional
 
ユニットテスト初学者がKiwiFramework非同期テストで失敗した
ユニットテスト初学者がKiwiFramework非同期テストで失敗したユニットテスト初学者がKiwiFramework非同期テストで失敗した
ユニットテスト初学者がKiwiFramework非同期テストで失敗した
 
Applicative functor
Applicative functorApplicative functor
Applicative functor
 

Seminar on Quantum Computation & Quantum Information part19

  • 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 2 Z>0 は、次の形の素因数分解を有する a = pa1 1 pa2 2 . . . pan n p1, . . . , pn :異なる素数 a1, . . . , an 2 Z>0ここで • 小さい数に対して素因数分解を見出すのは容易 • 大きな数に対して古典コンピュータで素因数分解      を見出すには膨大な時間計算量が必要 証明は数論の教科書を参照
  • 6. D.2 剰余算とEuclidのアルゴリズム に対して、x, n Z>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, 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)
  • 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>0 a, 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|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}
  • 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 = 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 を法として等しいに
  • 24. Zn = {x|x Z, 0 < x < n, gcd(n, x) = 1} と定義すると、これはnを法とする乗算の元で群をなし サイズは 剰余と群論 (n) n = p (p:奇数 α>0) のとき Zp は巡回群をなす 定理 D.10 証明は整数論の教科書を参照