SlideShare une entreprise Scribd logo
1  sur  104
Télécharger pour lire hors ligne
何もないところから数を作る
2015/07/24 第4回プログラマのための数学勉強会
@taketo1024
今日のテーマ
「数とは何か」
「万物の根源は数である」
ピタゴラス
(BC 582∼496)
ピタゴラス
(BC 582∼496)
「万物の根源は数である」
自然数とその比
無理数などない
ピタゴラス
死刑
ピタゴラス
先生、これ無理数ですけど…
弟子A
1
1
2
ピタゴラス教団のシンボル
1 黄金比 φ 👈 これも無理数ww
ぐぬぬ…
ユークリッド
(BC 300∼?)
『原論』の著者で「幾何学の父」。
「数」はやはり自然数のことになっている。
古代ギリシャの滅亡と共にギリシャ数学は衰退、
イスラム世界に引き継がれ代数学が発展していく。
代数方程式の解としての「無理数」
' : 1 = 1 : ' 1 , '(' 1) = 1
, '2
' 1 = 0
' =
1 ±
p
5
2
13世紀頃、数学はヨーロッパに再輸入され次第に復活。
16世紀のルネッサンス期にはアラビア数字も採用され、
印刷技術の発展と共に急速に発展していく。
17世紀:科学革命の時代
ニュートン、ライプニッツによって微積分学が発明される。
位置や速度など連続的に変化する量を解析する手段が確立される。
アイザック・ニュートン
(1642 ∼ 1727)
ゴットフリート・ヴィルヘルム・ライプニッツ
(1646 ∼ 1716)
連続的に変化する量としての「実数」
t
x
18世紀もさらに物理学への応用として微積分学が発展
していくが、「無限小」「極限」などが曖昧なままで
変な結果が色々と出てきた。
1X
n=0
( 1)n
= 1 1 + 1 1 + 1 1 + 1 1 + ...
= (1 1) + (1 1) + (1 1) + (1 1) + ...
= 0
= 1 (1 1) (1 1) (1 1) (1 1)...
= 1
0 = 1
「解析学に幾何学で要求するような完全な厳密さを与えよう」
コーシーとワイエルシュトラウスによって無限小や極限が定式化される。
→ 理系大学生殺しの εδ 論法の完成!
19世紀:数学の基礎と抽象化
"-
オーギュスタン=ルイ・コーシー
(1789 ∼ 1857)
カール・ワイエルシュトラス

(1815 ∼ 1897)
「幾何学で要求するような完全な厳密さ」
経験や直観によらず、定義・公理から出発し、
論理的な手続きのみによって理論を展開していく方法。=
数列や関数の極限を扱うためには、
そもそも「実数」とは何かを定式化しなければいけない!
実数の公理
1. 四則演算(+, ­, , )ができる。
2. 実数同士で大小( )が比較できる。
3. 実数全体はつながっている。
実数の公理
👆 この「連続性」が有理数との決定的な違い!
  しかしこの事実を定式化するのはとても難しい…
1. 四則演算(+, ­, , )ができる。
2. 実数同士で大小( )が比較できる。
3. 実数全体はつながっている。
「連続性」の定式化
• R の空でない有界な部分集合は上限を持つ。
• R の上に有界な単調増加数列は収束する。
• R の有界な数列は収束部分列を持つ。
• 中間値の定理、最大値の定理が成り立つ。
• …
→ 実は全部同値になる。これが「定理」ではなく「公理」なのだ。
この辺でだいたいみんな数学に見放された気分になる。
難しい話はともかく…
実数の公理
1. 四則演算(+, ­, , )ができる。
2. 実数同士で大小( )が比較できる。
3. 実数全体はつながっている。
→ 実数とはこういうものだとして、さらに極限や連続なども粛々と定義
していけば、解析学は曖昧さや矛盾なく作り上げていくことができる。
うーん…
一方的に「これは公理です」って言われるのは、
「これは仕様です」って言われるモヤモヤに似てる。
【朗報】
実数は有理数を「完備化」することで作れる!
じゃ有理数はどうやって作るの?
有理数は整数同士の割り算で作れる!
整数は?
整数は自然数を二つ繋げて作れる!
自然数は?
自然数は…
「空集合」から作る!!!
何もないところから数を作る
@taketo1024
2015/07/24 第4回プログラマのための数学勉強会
自然数を作るには、
まず自然数とは何かを定める必要がある。
自然数の公理
1. 最初の数 0 N が存在する
2. 任意の a N にはその「次」 a+ が存在する
3. a+ = 0 なる a は存在しない(N は 0 から始まる)
4. a b ならば a+ b+ (a+ は単射)
5. N では数学的帰納法が成立する
以上を満たす集合 N を自然数系と呼ぶ
フォン・ノイマンによる自然数系の構成
として順に作っていく。
1. 0 = {} (空集合)
2. a+ = a {a}
復習:集合の合併
={A, B, C} {D, E} {A, B, C, D, E}
={A, B, C} {} {A, B, C}
• 0 = {}
• 1 = 0+ = 0 {0} = {0}
• 2 = 1+ = 1 {1} = {0} {1} = {0, 1}
• 3 = 2+ = 2 {2} = {0, 1} {2} = {0, 1, 2}
• ...
1. 0 = {} (空集合)
2. a+ = a {a}
• 0 = {}
• 1 = {0}
• 2 = {0, 1}
• 3 = {0, 1, 2}
• ...
1. 0 = {} (空集合)
2. a+ = a {a}
• 0 = {}
• 1 = {0} = { {} }
• 2 = {0, 1} = { {}, { {} } }
• 3 = {0, 1, 2} = { {}, { {} }, { {}, { {} } } }
• ...
1. 0 = {} (空集合)
2. a+ = a {a}
ね、簡単でしょう?
→ 難しい場合は、空集合を 猫 に置き換えて考えましょう。
• 0 = 🐱
• 1 = {0} = { 🐱 }
• 2 = {0, 1} = { 🐱, { 🐱 } } 👈 さっきの写真
• 3 = {0, 1, 2} = { 🐱, { 🐱 }, { 🐱, { 🐱 } } }
• ...
1. 0 = 🐱 (空集合)
2. a+ = a {a}
簡単でしょう?
はじまりは何でもいいので、
空集合にしとけば何も用意しなくて済むってだけ。
自然数系に順序と演算を入れて行きましょう!
• 0 = {}
• 1 = {0}
• 2 = {0, 1}
• 3 = {0, 1, 2}
• …
集合として 0 1 2 3 … となっている。
を とすれば自然数系には順序が入る。
• a + 0 = a
• a + (b+) = (a + b)+
和 a + b の定義
• a + 0 = a
• a + (b+) = (a + b)+
和 a + b の定義
3 + 2 = (3 + 1)+
= ((3 + 0)+ )+
= (3+ )+
= 4+
= 5
• a 0 = 0
• a (b+) = (a b) + a
積 a b の定義
3 × 2 = (3 × 1) + 3
= ((3 × 0) + 3) + 3
= (0 + 3) + 3
= 3 + 3
= 6
積 a b の定義
• a 0 = 0
• a (b+) = (a b) + a
…何やってんの?w
自然数はアルゴリズムで構成できるということ
ふざけたことを…
「空配列」を空集合と見て、
プログラムで実装しちゃいましょう。
struct N: Equatable, Printable {
private let val: [Any]
private init(_ val: [Any]) {
self.val = val
}
static var zero: N {
return N([])
}
}
postfix operator + {}
postfix func +(n: N) -> N {
return N(n.val + [n.val])
}
func +(n: N, m: N) -> N {
if(m.val.isEmpty) {
return n
} else {
return (n + m-)+
}
}
func *(n: N, m: N) -> N {
if(m.val.isEmpty) {
return N.zero
} else {
return (n * m-) + n
}
}
https://gist.github.com/taketo1024/d60e0b8ba479921f7b16
DEMO
何もないところから自然数が作れました!
作れた後は 0 が空集合だとかいうことは
忘れて、普通の自然数として扱っていい。
(普段プログラミングするときに機械語のこと考えないようなモン)
N0 1 2 3 4 5 6 7 …
次、整数 Z を作ります。
( Z はドイツ語の「数」を意味する Zahlen から)
N-N
0 1 2 3 4 5 6 7-7 -6 -5 -4 -3 -2 -1
N を二つ 0 のところで貼り合わせて、
正負の場合に分けて演算を定義すればいいだけ。
もっとカッコイイやり方:
N
0 1 2 3 4 5 6 7
7
6
5
4
3
2
1
N
0 1 2 3 4 5 6 7
もっとカッコイイやり方:
7
6
5
4
3
2
1
0 1 2 3 4 5 6 7
もっとカッコイイやり方:
7
6
5
4
3
2
1
x - y = 0
x - y = 1
x - y = 2
x - y = 3
x - y = 4
x - y = 5
x - y = 6
x - y = 7
0 1 2 3 4 5 6 7
もっとカッコイイやり方:
7
6
5
4
3
2
1
0
1
2
3
4
5
6
7
x - y = -1-1-2-3-4-5-6-7
もっとカッコイイやり方:
0 1 2 3 4 5 6 7
7
6
5
4
3
2
1
0
1
2
3
4
5
6
7
-1-2-3-4-5-6-7
「直線上に並ぶ点たち」をまとめて一つの整数とすればいい。
👈 (n, 0) が n 0 に対応
(0, n) が n 0 に対応 👉
こうすることで演算が簡単に定まる:
例) 5 - 8 = (5, 0) + (0, 8)
= (5, 8)
= (0, 3)
= -3
例)3 (-2) = (3, 0) + (0, 2)
= (3 0 + 0 2, 3 2 + 0 0)
= (0, 6)
= -6
Z0 1 2 3 4 5 6 7-7 -6 -5 -4 -3 -2 -1
先ほどと同様、もうこの先は普通の真っ
直ぐな整数として扱っていい。
Z は +, ­, で閉じた「環」になる。
次、有理数 Q を作ります。
( Q はイタリア語の「商」を意味する Quoziente から)
Z (分子)
Z (分母)
Z (分子)
1
Z (分母)
2
34 1/1 = 2/2 = 3/3 = 4/4 = …
2 = 2/1 = 4/2 = 6/3 = …
1/2
「 (0, 0) と (p, q) を結ぶ直線上の点をまとめたもの」が p/q
Z (分子)
Z (分母)
(p, q) を q = 1 に射影したものが p/q と考えても良い。
Q
(5, 4)
5/4
演算は小学校で習った通りに定義する
例) 2/3 + 3/5 = (2, 3) + (3, 5)
= (10, 15) + (9, 15) 👈 通分
= (19, 15)
= 19/15
例)3/4 2/7 = (3, 4) (2, 7)
= (3 2, 4 7)
= (6, 28)
= (3, 14) 👈 約分
= 3/14
Q は +, ­, , で閉じた「体」になる。
限りなく密に分布しているが、まだ無理数の穴が空いている。
Q
ではいよいよ、実数 R を作りましょう!
( R はもちろん Real Number の R)
Q に空いている無理数の穴はどうやったら埋められるか?
Q
⇡ep
2
0 1 2 3 4
Q の中で目標の無理数に近づいていく数列を考える。
Q
e
0 1 2 3 4
ex
=
1X
n=0
xn
n!
= 1 + x +
x2
2
+
x3
6
+
x4
24
+ ...
ほぼチートだが、テイラー展開:
ex
=
1X
n=0
xn
n!
= 1 + x +
x2
2
+
x3
6
+
x4
24
+ ...
e =
1X
n=0
1
n!
= 1 + 1 +
1
2
+
1
6
+
1
24
+ ...
ほぼチートだが、テイラー展開:
より、 x = 1 として、
👈 有理数の無限和
e =
1X
n=0
1
n!
= 1 + 1 +
1
2
+
1
6
+
1
24
+ ...
なので、有限部分和を取れば、
a0 = 1
a1 = 2
a2 = 2.5
a3 = 2.666...
a4 = 2.708...
...
a0 = 1
a1 = 2
a2 = 2.5
a3 = 2.666...
a4 = 2.708...
...
Q
e
0 1 2 3 4
この数列は Q の中で e に近づいていくので、
この数列のことを e ってことにすればいい。
なんかずるい。
全ての無理数は有理数列の極限として表せるのか?
→ それは知らない。
そもそも「無理数」であることが分かってる数も一部。
ee
, e⇡
, ⇡e
などは無理数かどうかまだ知られていない。
じゃあダメじゃん。
人智を超えた「超越的」方法で作る
このような有理数列の「全体」を考え、色々な近づき方
でも同じところに落ち着いていくものをまとめたものを、
ひとつの実数ってことにする。
Q
e
0 1 2 3 4
カントールの実数論
コーシーが定めた連続・極限の概念を元に、
1872年に「コーシー列」の極限として実数を定式化した。
ゲオルク・カントール
(1845 ∼ 1918)
「デーデキント・カット」
Q の「切断」一つ一つを実数ということにする。
Q
e
0 1 2 3 4
もうひとつのやり方
切断
リヒャルト・デーデキント

(1831 ∼ 1916)
これらの構成法によって作られた「数」は、
「連続性」を満たすことが証明できる(とても難しい)
なぜこんなに難しいのか?
実数の公理
👆 当たり前だと思ってたこの性質がそれだけ特別だから!
1. 四則演算(+, ­, , )ができる。
2. 実数同士で大小( )が比較できる。
3. 実数全体はつながっている。
ちなみに
R から 複素数 C を作るのは簡単。
R R に (0, 1) (0, 1) = (-1, 0) となる掛け算を入れるだけ。
R
iR C
z
w
zw
まとめ
φ < N < Z < Q <<< R
空集合から出発して、順に実数まで構成していくことができた!
しかし Q と R の間には、離散と連続の超えがたい壁があった。
まとめ
φ < N < Z < Q <<< R
空集合から出発して、順に実数まで構成していくことができた!
しかし Q と R の間には、離散と連続の超えがたい壁があった。
👆 これはどうやって作るの?
「空っぽの集合」は実在するのか?
→ 公理論的集合論 (1908)
公理ばっかりやん…
19世紀以降、
なぜ数学はどんどん公理化されていったのか?
数学の独立と自由のため。
(…と僕は思う)
前提条件を徹底的に明確にする代わりに、
何を前提とするかを選べる自由を得た。
公理系は自由に採用していい(作ってもいい)。
6 + 7 = 1 でも 1 / 0 = でも良い。
ユークリッドの公理を満たさない
「非ユークリッド幾何学」も19世紀に確立された。
厳密な論理の上に広がる自由で創造的な
数学の世界を楽しみましょう…!
Thanks!
Twitter: @taketo1024

Blog: http://taketo1024.hateblo.jp

Contenu connexe

Tendances

相互相関関数の最大化と時間差推定
相互相関関数の最大化と時間差推定相互相関関数の最大化と時間差推定
相互相関関数の最大化と時間差推定KoueiYamaoka
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~Takuya Akiba
 
Schönhage Strassen Algorithm
Schönhage Strassen AlgorithmSchönhage Strassen Algorithm
Schönhage Strassen Algorithmcookies 146
 
深層強化学習の self-playで、複雑な行動を機械に学習させたい!
深層強化学習の self-playで、複雑な行動を機械に学習させたい!深層強化学習の self-playで、複雑な行動を機械に学習させたい!
深層強化学習の self-playで、複雑な行動を機械に学習させたい!Junichiro Katsuta
 
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介MITSUNARI Shigeo
 
Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)
Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)
Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)Teppei Kurita
 
Graphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceGraphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceKenji Hiranabe
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装MITSUNARI Shigeo
 
文献調査をどのように行うべきか?
文献調査をどのように行うべきか?文献調査をどのように行うべきか?
文献調査をどのように行うべきか?Yuichi Goto
 
x86とコンテキストスイッチ
x86とコンテキストスイッチx86とコンテキストスイッチ
x86とコンテキストスイッチMasami Ichikawa
 
ダブル配列の実装方法
ダブル配列の実装方法ダブル配列の実装方法
ダブル配列の実装方法Higashiyama Masahiko
 
公開鍵暗号5: 離散対数問題
公開鍵暗号5: 離散対数問題公開鍵暗号5: 離散対数問題
公開鍵暗号5: 離散対数問題Joe Suzuki
 
PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門Yosuke Onoue
 
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Yuya Unno
 
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)Kensuke Otsuki
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みMasahiro Sakai
 
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会Junpei Tsuji
 

Tendances (20)

相互相関関数の最大化と時間差推定
相互相関関数の最大化と時間差推定相互相関関数の最大化と時間差推定
相互相関関数の最大化と時間差推定
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
 
Schönhage Strassen Algorithm
Schönhage Strassen AlgorithmSchönhage Strassen Algorithm
Schönhage Strassen Algorithm
 
深層強化学習の self-playで、複雑な行動を機械に学習させたい!
深層強化学習の self-playで、複雑な行動を機械に学習させたい!深層強化学習の self-playで、複雑な行動を機械に学習させたい!
深層強化学習の self-playで、複雑な行動を機械に学習させたい!
 
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介
 
Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)
Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)
Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)
 
Graphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceGraphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data Science
 
Pietのエディタを作った話
Pietのエディタを作った話Pietのエディタを作った話
Pietのエディタを作った話
 
大規模凸最適化問題に対する勾配法
大規模凸最適化問題に対する勾配法大規模凸最適化問題に対する勾配法
大規模凸最適化問題に対する勾配法
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
文献調査をどのように行うべきか?
文献調査をどのように行うべきか?文献調査をどのように行うべきか?
文献調査をどのように行うべきか?
 
x86とコンテキストスイッチ
x86とコンテキストスイッチx86とコンテキストスイッチ
x86とコンテキストスイッチ
 
ダブル配列の実装方法
ダブル配列の実装方法ダブル配列の実装方法
ダブル配列の実装方法
 
公開鍵暗号5: 離散対数問題
公開鍵暗号5: 離散対数問題公開鍵暗号5: 離散対数問題
公開鍵暗号5: 離散対数問題
 
No skk, no life.
No skk, no life.No skk, no life.
No skk, no life.
 
PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門
 
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~
 
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
オイラー先生のおしゃれな素数判定 - 第14回 #日曜数学会
 

En vedette

「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学Taketo Sano
 
コンピュータで全く使われない数表現
コンピュータで全く使われない数表現コンピュータで全く使われない数表現
コンピュータで全く使われない数表現Yu(u)ki IWABUCHI
 
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフトobjc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフトTaketo Sano
 
基底変換、固有値・固有ベクトル、そしてその先
基底変換、固有値・固有ベクトル、そしてその先基底変換、固有値・固有ベクトル、そしてその先
基底変換、固有値・固有ベクトル、そしてその先Taketo Sano
 
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列Taketo Sano
 
何もないところから数を作る
何もないところから数を作る何もないところから数を作る
何もないところから数を作るTaketo Sano
 
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pgJunpei Tsuji
 
プログラマのための線形代数再入門
プログラマのための線形代数再入門プログラマのための線形代数再入門
プログラマのための線形代数再入門Taketo Sano
 
objc2swift (続・自動変換の野望)
objc2swift (続・自動変換の野望) objc2swift (続・自動変換の野望)
objc2swift (続・自動変換の野望) Taketo Sano
 
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg 「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg Junpei Tsuji
 
エニグマ暗号とは何だったのか
エニグマ暗号とは何だったのかエニグマ暗号とは何だったのか
エニグマ暗号とは何だったのかTakahiro (Poly) Horikawa
 
証明プログラミング入門2
証明プログラミング入門2証明プログラミング入門2
証明プログラミング入門2Kyoko Kadowaki
 
さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計Taketo Sano
 
コードを書けば複素数がわかる
コードを書けば複素数がわかるコードを書けば複素数がわかる
コードを書けば複素数がわかるTaketo Sano
 
フーリエ変換と画像圧縮の仕組み
フーリエ変換と画像圧縮の仕組みフーリエ変換と画像圧縮の仕組み
フーリエ変換と画像圧縮の仕組みyuichi takeda
 
情報幾何学 #2.4
情報幾何学 #2.4情報幾何学 #2.4
情報幾何学 #2.4Taketo Sano
 
今日からはじめる微分方程式
今日からはじめる微分方程式今日からはじめる微分方程式
今日からはじめる微分方程式Ryo Kaji
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -MITSUNARI Shigeo
 
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理Ken'ichi Matsui
 
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学Ken'ichi Matsui
 

En vedette (20)

「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
「数える」とは何か? 〜 「とは何か?」を問う、AI時代の数学
 
コンピュータで全く使われない数表現
コンピュータで全く使われない数表現コンピュータで全く使われない数表現
コンピュータで全く使われない数表現
 
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフトobjc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
objc2swift 〜 Objective-C から Swift への「コード&パラダイム」シフト
 
基底変換、固有値・固有ベクトル、そしてその先
基底変換、固有値・固有ベクトル、そしてその先基底変換、固有値・固有ベクトル、そしてその先
基底変換、固有値・固有ベクトル、そしてその先
 
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
プログラマのための線形代数再入門2 〜 要件定義から学ぶ行列式と逆行列
 
何もないところから数を作る
何もないところから数を作る何もないところから数を作る
何もないところから数を作る
 
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
 
プログラマのための線形代数再入門
プログラマのための線形代数再入門プログラマのための線形代数再入門
プログラマのための線形代数再入門
 
objc2swift (続・自動変換の野望)
objc2swift (続・自動変換の野望) objc2swift (続・自動変換の野望)
objc2swift (続・自動変換の野望)
 
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg 「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
「明日話したくなる「素数」のお話」第1回プログラマのための数学勉強会 #maths4pg
 
エニグマ暗号とは何だったのか
エニグマ暗号とは何だったのかエニグマ暗号とは何だったのか
エニグマ暗号とは何だったのか
 
証明プログラミング入門2
証明プログラミング入門2証明プログラミング入門2
証明プログラミング入門2
 
さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計
 
コードを書けば複素数がわかる
コードを書けば複素数がわかるコードを書けば複素数がわかる
コードを書けば複素数がわかる
 
フーリエ変換と画像圧縮の仕組み
フーリエ変換と画像圧縮の仕組みフーリエ変換と画像圧縮の仕組み
フーリエ変換と画像圧縮の仕組み
 
情報幾何学 #2.4
情報幾何学 #2.4情報幾何学 #2.4
情報幾何学 #2.4
 
今日からはじめる微分方程式
今日からはじめる微分方程式今日からはじめる微分方程式
今日からはじめる微分方程式
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
 
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
 
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学
 

Similaire à 何もないところから数を作る

複素数・四元数と図形の回転
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転Yoshihiro Mizoguchi
 
算数で体感する高度数学
算数で体感する高度数学算数で体感する高度数学
算数で体感する高度数学Arithmer Inc.
 
プログラミング言語 Julia の紹介
プログラミング言語 Julia の紹介プログラミング言語 Julia の紹介
プログラミング言語 Julia の紹介Kentaro Iizuka
 
JOIss2020 発表資料
JOIss2020 発表資料JOIss2020 発表資料
JOIss2020 発表資料mdkcpp 1015
 
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数Taketo Sano
 
AtCoder Regular Contest 030 解説
AtCoder Regular Contest 030 解説AtCoder Regular Contest 030 解説
AtCoder Regular Contest 030 解説AtCoder Inc.
 
Algorithm 速いアルゴリズムを書くための基礎
Algorithm 速いアルゴリズムを書くための基礎Algorithm 速いアルゴリズムを書くための基礎
Algorithm 速いアルゴリズムを書くための基礎Kenji Otsuka
 
Reading Self-descriptive FizzBuzz
Reading Self-descriptive FizzBuzzReading Self-descriptive FizzBuzz
Reading Self-descriptive FizzBuzzHiroyuki Morita
 
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料第9回スキル養成講座講義資料
第9回スキル養成講座講義資料keiodig
 
TopCoder SRM614 解説
TopCoder SRM614 解説TopCoder SRM614 解説
TopCoder SRM614 解説EmKjp
 
加法よりも低レベルな演算を考える
加法よりも低レベルな演算を考える加法よりも低レベルな演算を考える
加法よりも低レベルな演算を考えるYu(u)ki IWABUCHI
 
公開鍵暗号7: 楕円曲線の数理
公開鍵暗号7: 楕円曲線の数理公開鍵暗号7: 楕円曲線の数理
公開鍵暗号7: 楕円曲線の数理Joe Suzuki
 
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門Kimikazu Kato
 
公開鍵暗号6: 楕円曲線における離散対数問題
公開鍵暗号6: 楕円曲線における離散対数問題公開鍵暗号6: 楕円曲線における離散対数問題
公開鍵暗号6: 楕円曲線における離散対数問題Joe Suzuki
 
ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版dsp_kyoto_2014
 
20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算matsumoring
 
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 analysisTatsuki SHIMIZU
 
社内機械学習勉強会 #5
社内機械学習勉強会 #5社内機械学習勉強会 #5
社内機械学習勉強会 #5shingo suzuki
 
公開鍵暗号(4): 楕円曲線における離散対数問題
公開鍵暗号(4): 楕円曲線における離散対数問題公開鍵暗号(4): 楕円曲線における離散対数問題
公開鍵暗号(4): 楕円曲線における離散対数問題Joe Suzuki
 

Similaire à 何もないところから数を作る (20)

複素数・四元数と図形の回転
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転
 
算数で体感する高度数学
算数で体感する高度数学算数で体感する高度数学
算数で体感する高度数学
 
プログラミング言語 Julia の紹介
プログラミング言語 Julia の紹介プログラミング言語 Julia の紹介
プログラミング言語 Julia の紹介
 
JOIss2020 発表資料
JOIss2020 発表資料JOIss2020 発表資料
JOIss2020 発表資料
 
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数
 
AtCoder Regular Contest 030 解説
AtCoder Regular Contest 030 解説AtCoder Regular Contest 030 解説
AtCoder Regular Contest 030 解説
 
Algorithm 速いアルゴリズムを書くための基礎
Algorithm 速いアルゴリズムを書くための基礎Algorithm 速いアルゴリズムを書くための基礎
Algorithm 速いアルゴリズムを書くための基礎
 
Reading Self-descriptive FizzBuzz
Reading Self-descriptive FizzBuzzReading Self-descriptive FizzBuzz
Reading Self-descriptive FizzBuzz
 
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料第9回スキル養成講座講義資料
第9回スキル養成講座講義資料
 
TopCoder SRM614 解説
TopCoder SRM614 解説TopCoder SRM614 解説
TopCoder SRM614 解説
 
加法よりも低レベルな演算を考える
加法よりも低レベルな演算を考える加法よりも低レベルな演算を考える
加法よりも低レベルな演算を考える
 
公開鍵暗号7: 楕円曲線の数理
公開鍵暗号7: 楕円曲線の数理公開鍵暗号7: 楕円曲線の数理
公開鍵暗号7: 楕円曲線の数理
 
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門
 
公開鍵暗号6: 楕円曲線における離散対数問題
公開鍵暗号6: 楕円曲線における離散対数問題公開鍵暗号6: 楕円曲線における離散対数問題
公開鍵暗号6: 楕円曲線における離散対数問題
 
双対性
双対性双対性
双対性
 
ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版
 
20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算
 
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
 
社内機械学習勉強会 #5
社内機械学習勉強会 #5社内機械学習勉強会 #5
社内機械学習勉強会 #5
 
公開鍵暗号(4): 楕円曲線における離散対数問題
公開鍵暗号(4): 楕円曲線における離散対数問題公開鍵暗号(4): 楕円曲線における離散対数問題
公開鍵暗号(4): 楕円曲線における離散対数問題
 

Plus de Taketo Sano

Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...
Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...
Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...Taketo Sano
 
トポロジーと圏論の夜明け
トポロジーと圏論の夜明けトポロジーと圏論の夜明け
トポロジーと圏論の夜明けTaketo Sano
 
Swift で数学研究のススメ
Swift で数学研究のススメSwift で数学研究のススメ
Swift で数学研究のススメTaketo Sano
 
(意欲的な中高生のための)トポロジー・圏論・コンピュータ
(意欲的な中高生のための)トポロジー・圏論・コンピュータ(意欲的な中高生のための)トポロジー・圏論・コンピュータ
(意欲的な中高生のための)トポロジー・圏論・コンピュータTaketo Sano
 
特性類の気持ち
特性類の気持ち特性類の気持ち
特性類の気持ちTaketo Sano
 
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べSwift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べTaketo Sano
 
山手線は丸いのか?プログラマのためのトポロジー入門
山手線は丸いのか?プログラマのためのトポロジー入門山手線は丸いのか?プログラマのためのトポロジー入門
山手線は丸いのか?プログラマのためのトポロジー入門Taketo Sano
 
情報幾何学 #2 #infogeo16
情報幾何学 #2 #infogeo16情報幾何学 #2 #infogeo16
情報幾何学 #2 #infogeo16Taketo Sano
 
objc2swift (自動変換の野望)
objc2swift (自動変換の野望)objc2swift (自動変換の野望)
objc2swift (自動変換の野望)Taketo Sano
 
2015 02-18 xxx-literalconvertible
2015 02-18 xxx-literalconvertible2015 02-18 xxx-literalconvertible
2015 02-18 xxx-literalconvertibleTaketo Sano
 
let UIWebView as WKWebView
let UIWebView as WKWebViewlet UIWebView as WKWebView
let UIWebView as WKWebViewTaketo Sano
 
ひろ子 in Objective-C
ひろ子 in Objective-Cひろ子 in Objective-C
ひろ子 in Objective-CTaketo Sano
 
Objective-C が好きになる Tips & Hack
Objective-C が好きになる Tips & HackObjective-C が好きになる Tips & Hack
Objective-C が好きになる Tips & HackTaketo Sano
 
Konashi で始める iOS 電子工作
Konashi で始める iOS 電子工作Konashi で始める iOS 電子工作
Konashi で始める iOS 電子工作Taketo Sano
 
下位互換コード隠蔽のストイシズム
下位互換コード隠蔽のストイシズム下位互換コード隠蔽のストイシズム
下位互換コード隠蔽のストイシズムTaketo Sano
 

Plus de Taketo Sano (15)

Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...
Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...
Divisibility of Lee’s class and its relation with Rasmussen’s invariant / 201...
 
トポロジーと圏論の夜明け
トポロジーと圏論の夜明けトポロジーと圏論の夜明け
トポロジーと圏論の夜明け
 
Swift で数学研究のススメ
Swift で数学研究のススメSwift で数学研究のススメ
Swift で数学研究のススメ
 
(意欲的な中高生のための)トポロジー・圏論・コンピュータ
(意欲的な中高生のための)トポロジー・圏論・コンピュータ(意欲的な中高生のための)トポロジー・圏論・コンピュータ
(意欲的な中高生のための)トポロジー・圏論・コンピュータ
 
特性類の気持ち
特性類の気持ち特性類の気持ち
特性類の気持ち
 
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べSwift で数学のススメ 〜 プログラミングと数学は同時に学べ
Swift で数学のススメ 〜 プログラミングと数学は同時に学べ
 
山手線は丸いのか?プログラマのためのトポロジー入門
山手線は丸いのか?プログラマのためのトポロジー入門山手線は丸いのか?プログラマのためのトポロジー入門
山手線は丸いのか?プログラマのためのトポロジー入門
 
情報幾何学 #2 #infogeo16
情報幾何学 #2 #infogeo16情報幾何学 #2 #infogeo16
情報幾何学 #2 #infogeo16
 
objc2swift (自動変換の野望)
objc2swift (自動変換の野望)objc2swift (自動変換の野望)
objc2swift (自動変換の野望)
 
2015 02-18 xxx-literalconvertible
2015 02-18 xxx-literalconvertible2015 02-18 xxx-literalconvertible
2015 02-18 xxx-literalconvertible
 
let UIWebView as WKWebView
let UIWebView as WKWebViewlet UIWebView as WKWebView
let UIWebView as WKWebView
 
ひろ子 in Objective-C
ひろ子 in Objective-Cひろ子 in Objective-C
ひろ子 in Objective-C
 
Objective-C が好きになる Tips & Hack
Objective-C が好きになる Tips & HackObjective-C が好きになる Tips & Hack
Objective-C が好きになる Tips & Hack
 
Konashi で始める iOS 電子工作
Konashi で始める iOS 電子工作Konashi で始める iOS 電子工作
Konashi で始める iOS 電子工作
 
下位互換コード隠蔽のストイシズム
下位互換コード隠蔽のストイシズム下位互換コード隠蔽のストイシズム
下位互換コード隠蔽のストイシズム
 

何もないところから数を作る