黄金進法
黄金進法(おうごんしんぽう、golden ratio base, phinary)は、黄金比(φ = ≈ 1.61803399)を底とした広義の記数法である。全ての非負実数はφを底とした0, 1列によって表され、このうち "11" の連続を除いたものを「標準形」と呼ぶ。"11" を含むφ進表記は、φn + φn−1 = φn+1 という関係を用いて標準形に書き直すことができる。例えば 11φ = 100φ である。
黄金進法は無理数を底とした記数法であるが、全ての非負整数は一通りの(有限)φ進表現を持つ。また、有理数は循環小数として表すことができる。これらの表現は10進法でいうところの 1 = 0.999... のような場合を除いて一意的である。
例
[編集]10進 | φの累乗の和 | φ進 |
---|---|---|
1 | φ0 | 1 |
2 | φ1 + φ−2 | 10.01 |
3 | φ2 + φ−2 | 100.01 |
4 | φ2 + φ0 + φ−2 | 101.01 |
5 | φ3 + φ−1 + φ−4 | 1000.1001 |
6 | φ3 + φ1 + φ−4 | 1010.0001 |
7 | φ4 + φ−4 | 10000.0001 |
8 | φ4 + φ0 + φ−4 | 10001.0001 |
9 | φ4 + φ1 + φ−2 + φ−4 | 10010.0101 |
10 | φ4 + φ2 + φ−2 + φ−4 | 10100.0101 |
黄金進数の標準形
[編集]以下、下線はその桁が負であることを意味するものとする。例えば、211.01φ は、2φ2 + φ1 + 1 − φ−2 の意である。この表現は、"2" や "1"("0"、"1"以外の数)、"11" を含むため、標準形ではない。後述する四則の計算の際に、このような表現を標準形に直す必要が出てくる。
「標準化」には、以下の置換を用いる。
- 011φ = 100φ (φ + 1 = φ2 の意)
- 0200φ = 1001φ (2φ2 = φ3 + 1 の意)
- 010φ = 101φ (−φ = −φ2 + 1 の意)
置換はどの順序で行っても結果は同じである。以下に示す例では、右が適用した置換で、左がその結果である。
211.01φ 300.01φ 011φ → 100φ 1101.01φ 0200φ → 1001φ 10001.01φ 011φ → 100φ(再) 10001.101φ 010φ → 101φ 10000.011φ 010φ → 101φ(再) 10000.1φ 011φ → 100φ(再)
この方法で、任意の正の非標準形φ進数は一意に標準化できる。上記のルールでできる限りの置換を行った結果、先頭の桁が 1 であれば、その表現は負の数である。マイナスの符号を付して、1 と 1 を互いに入れ替えることにより、符号付きの標準形を得ることができる。例えば、
- 101φ = −101φ = −110.1φ = −1.1φ = −10φ
などと計算される。
整数の黄金進数表現
[編集]通常の意味での整数を、黄金進数で表すと有限小数となる。例として、整数 5 をφ進法で表す手続きを見よう。
5 以下で最も大きなφの冪は φ3 = 1 + 2φ ≈ 4.236 である。5 との差を取ると、5 - (1 + 2φ) = 4 - 2φ ≈ 0.763 である。これ以下で最も大きなφの冪はφ-1 = -1 + 1φ ≈ 0.618 である。差を取ると、4 - 2φ - (-1 + 1φ) = 5 - 3φ ≈ 0.145 である。これ以下で最も大きなφの冪は φ-4 = 5 - 3φ ≈ 0.145 である。差を取ると 0 である。したがって、
- 5 = φ3 + φ-1 + φ-4
であり、φ進法で表すと 1000.1001φ である。
ここで暗に用いている事実は、φの冪は全てある整数 a, b を用いて a + b φの形で書ける、ということである。これを確かめるには、φ2 = φ + 1 と φ-1 = -1 + φ に注意すればよい。そして、このような形の数同士の大小を調べることは易しい。実際、a + bφ > c + dφ は 2(a - c) - (d - b) > (d - b) × √5 と同値であり、この大小関係は一方のみが正であれば自明であるし、そうでなければ両辺を平方することにより確かめられる。
黄金進法により有限小数となるのは、通常の意味での整数のみならず、環
の元であり、またそれに限ることが容易に分かる。
非一意性
[編集]N進数のときと同じように、黄金進数にも複数の表現がある。10進法における 0.999...=1 と同様に、φ進法では 0.1010101…φ が 1 と等しいことが、以下の各方法で確かめられる。
- 非標準形に変換する: 1 = 0.11φ = 0.1011φ = 0.101011φ = … = 0.10101010…φ
- 等比級数: 1.0101010…φ は以下に等しい
- "シフト"して差分を取る: φ2 x - x = 10.101010…φ - 0.101010…φ = 10φ = φ このとき x = φ/(φ2 - 1) = 1
この非一意性は記数法の特徴であり、1.0000 も 0.101010… も標準形である。一般に、φ進数における最後の 1 を 01 の繰り返しに置換することによって、別の標準形を作ることができる。
有理数の黄金進数表現
[編集]非負の有理数は黄金進数表現として循環小数で表すことができる。実は、循環小数で表すことができるのは、通常の意味での有理数のみならず、Z[φ] の商体
の元であり、またそれに限る。いくつか例を挙げる。
- 1/2 = 0.010 010 010 010…φ
- 1/3 = 0.00101000 00101000 00101000…φ
- √5 = 10.1φ
- 2+(1/13)√5 = 10.010 1000100010101000100010000000 1000100010101000100010000000 1000100010101000100010000000…φ
Q(φ) の元の黄金進数表現が有限小数となることの証明は、通常の十進法の場合と同様である。実際、割り算を筆算で行った場合の余りの可能性は有限個しかないため、繰り返しのパターンが現れる。例えば、1/2 = 1/10.01φ = 100φ/1001φ の筆算は次のようになる。
0.0 1 0 0 1 ... ------------------------ 1 0 0 1 ) 1 0 0.0 0 0 0 0 0 0 0 1 0 0 1 ------- 1 0 0 0 0 1 0 0 1 ------- ...
ここに、引き算が少々難しいが、10000φ = 1100φ = 1011φ より 10000φ - 1001φ = 10φ であることを用いている。
逆に、黄金進数表現で循環小数であるものが Q(φ) の元に限ることを見るには、循環小数の意味するところが、公比がφの冪である等比級数であることに注意すればよい。
無理数の黄金進数表現
[編集]通常の意味での無理数であっても、Q(φ) の元であれば黄金進数表現において有限小数となる。
一方、Q[φ] の元でない実数は循環しない無限小数となる。
- π = 100.01001 01010 01000 10101 01000 00101…φ(オンライン整数列大辞典の数列 A102243)
- e = 100.00001 00001 00100 00000 01000…φ(A105165)
- √2 = 1.01000 00101 00101 00100 00000 10100 00000 00101…φ
四則計算
[編集]10進法の通常の四則と同様にして、φ進法においても四則が行える。加法、減法、乗法については、以下のように大きく2つの方法がある。
計算して標準化
[編集]2つのφ進数の加法として、各々の桁を(繰り上がり等を気にせず)そのまま足してから標準形に直す方法が考えられる。減法も同様に(上の桁から借りてくることを気にせず、必要なら 1 の記号を用いることにより)そのまま引いてから標準化すればよい。乗法も同様である。以下に計算の例を挙げる。
- 2 + 3 = 10.01φ + 100.01φ = 110.02φ = 110.1001φ = 1000.1001φ
- 7 - 2 = 10000.0001φ - 10.01φ = 10010.0101φ = 1110.0101φ = 1001.0101φ = 1000.1001φ
- 2 × 3 = 10.01φ × 100.01φ = 1000.1φ + 1.0001φ = 1001.1001φ = 1010.0001φ
0と1以外の数字を避ける
[編集]さらに「自然な」方法として、1 + 1 の加法または 0 - 1 の減法を避ける方法がある。これはφ進数を非標準形に置換することによって実現できる。例えば、次のようにする。
- 2 + 3 = 10.01φ + 100.01φ = 10.01φ + 100.0011φ = 110.0111φ = 1000.1001φ
- 7 - 2 = 10000.0001φ - 10.01φ = 1100.0001φ - 10.01φ = 1011.0001φ - 10.01φ = 1010.1101φ - 10.01φ = 1000.1001φ
除法
[編集]すでに見たように、除法は筆算によって行うことができる。商が Z[φ] の元ならば筆算が有限回で終了して有限小数となり、Q(φ) の元ならば繰り返しが生じて循環小数を得る。
フィボナッチ符号との関係
[編集]フィボナッチ符号はフィボナッチ数の重みを持つ0,1列である。φ進法と同じように、標準形は Fk+1 = Fk + Fk-1が適用され、"11" を持たない。例えば、30 は
- 30 = 1×21 + 0×13 + 1×8 + 0×5 + 0×3 + 0×2 + 1×1 + 0×1 = 10100010fib
と表現される。
参考文献
[編集]- H. ヴァルサー 著『黄金分割』蟹江幸博 訳、日本評論社、Sep. 2002、131-134頁。ISBN 4-535-78347-0。
- Bergman, George (1957), “A Number System with an Irrational Base”, Mathematics Magazine 31 (2): 98–110
- Plojhar, Jozef (1971), “the Good~natured Rabbit~breeder”, Manifold 11: 26–30