Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
数表現の万能ブロック 第30回日曜数学会 2024-06-29 岩淵夕希物智 (@butchi_y)
Slide 2
Slide 2 text
自己紹介 ● 言語・記数法の研究者 ● 物智数の考案者 ● Wolfram言語 (数式処理言語) のエヴァンジェリスト https://blog.yu.butchi.jp/
Slide 3
Slide 3 text
計算機で厳密値を表現するには? Wolfram言語の場合 1 + Sqrt[2] // FullForm ⇒ Times[Rational[1, 2], Plus[1, Power[2, Rational[1, 2]]]] (これが 1 + √2 の厳密値表現)
Slide 4
Slide 4 text
関数をひとつに Plus, Times, Powerなど関数をいくつか用意しなければならない → ひとつの関数(ブロック)でなんとかならないか??
Slide 5
Slide 5 text
ブロックの定義 f(a, b, c, d) = d + c ba = d + c * b ^ a a, b, c, dには整数(※)か入れ子でブロックが入る (※必ずしもすべての整数でなくてもよい) ブロックといっても実態はただの4変数関数 d c b a
Slide 6
Slide 6 text
整数: 2をつくる 2 = 1 + 1 ⇒ 1 + 1 * 1 ^ 1
Slide 7
Slide 7 text
有理数: 1/2をつくる 1/2 = 2 ^ -1 ⇒ 0 + 1 * 2 ^ -1
Slide 8
Slide 8 text
代数的数: √2 をつくる √2 = 2 ^ (1/2) ⇒ 0 + 1 * 2 ^ (0 + 1 * 2 ^ -1)
Slide 9
Slide 9 text
代数的数: 黄金比をつくる Φ = (1 + √5) / 2 = (1 + 5^(1/2)) * 2^(-1) ⇒ 0 + ((0 + 1 * 5 ^ (0 + 1 * 2 ^ -1)) + 1 * 1 ^ 1) * (0 + 1 * 2 ^ -1) ^ 1 複雑!!!
Slide 10
Slide 10 text
頑張って読んでみる Φ = (1 + √5) / 2 = (1 + 5 ^ (2 ^ -1)) * 2 ^ -1 読める!読めるぞ! ...? 0 a b 1 0 1 a b a b 1 1 = a×b = ab = a+b
Slide 11
Slide 11 text
原始的な関数 plus(x, y) = x + y * 1 ^ 1 or x + 1 * y ^ 1 times(x, y) = 0 + x * y ^ 1 power(x, y) = 0 + 1 * x ^ y これらを使って四則演算はなんでもできる
Slide 12
Slide 12 text
iが使えれば -1をでき、原子となる数は0, 1, iだけで済ますこともできる 例) 1 / 2 = 0 + 1 * (1 + 1 * 1 ^ 1) ^ (0 + i * i ^ 1)
Slide 13
Slide 13 text
eも使えれば 三角関数を定義できる(ついでにπも使えるとなおよし) cos(x) = (e^(- i x) + e^(i x)) / 2
Slide 14
Slide 14 text
なんでも入れられるわけじゃない 0 + 0 * 0 ^ 0 ⇒ 0^0を含んでいるので不定値 0 + 0 * 0 ^ i (虚数乗) ⇒ 0^iを含んでいるので不定値 0 + 0 * 0 ^ -1 (負数乗) ⇒ 0除算
Slide 15
Slide 15 text
課題 数の別表現が排除できない(一意性がない) もっと幅広く「関数」あるいは「特殊関数」を表せられるか(logとか) 頻出の数をより小さい組み合わせで作れるもっといいブロックを定義できるか
Slide 16
Slide 16 text
まとめ 万能ブロックによって代数的数相当の任意の数を表現可能に 定義した万能ブロックで4変数関数を2x2配列で可視化 複雑な式はブロックも複雑になってしまうが、慣れれば読めそう
Slide 17
Slide 17 text
ご静聴ありがとう ございました