フィボナッチ数

フィボナッチ数(フィボナッチすう、テンプレート:Lang-en-short)は、イタリアの数学者レオナルド・フィボナッチ(ピサのレオナルド)に因んで名付けられた数である。
概要
テンプレート:読み仮名 テンプレート:Math は、次の漸化式で定義される:
第0~22項の値は次の通りである:
- 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, …(テンプレート:OEIS)
1202年にフィボナッチが発行した『算盤の書』(Liber Abaci) に記載されたことで「フィボナッチ数」と呼ばれているが、それ以前にもインドの学者であるヘーマチャンドラ (Hemachandra) が韻律の研究により発見し、書物に記したことが判明している[1][2]。
兎の問題
レオナルド・フィボナッチは次の問題を考案した[3]。
- 1つがいの兎は、産まれて2か月後から毎月1つがいずつの兎を産む。
- 兎が死ぬことはない。
- この条件の下で、産まれたばかりの1つがいの兎は1年の間に何つがいの兎になるか?
つがいの数は次の表のようになる。どの月のつがいの合計も、その前の2つの月での合計の和となり、フィボナッチ数が現れていることが分かる。
| 産まれたばかりのつがい | 生後1か月のつがい | 生後2か月以降のつがい | つがいの数(合計) | |
|---|---|---|---|---|
| 0か月後 | 1 | 0 | 0 | 1 |
| 1か月後 | 0 | 1 | 0 | 1 |
| 2か月後 | 1 | 0 | 1 | 2 |
| 3か月後 | 1 | 1 | 1 | 3 |
| 4か月後 | 2 | 1 | 2 | 5 |
| 5か月後 | 3 | 2 | 3 | 8 |
| 6か月後 | 5 | 3 | 5 | 13 |
| 7か月後 | 8 | 5 | 8 | 21 |
| 8か月後 | 13 | 8 | 13 | 34 |
| 9か月後 | 21 | 13 | 21 | 55 |
| 10か月後 | 34 | 21 | 34 | 89 |
| 11か月後 | 55 | 34 | 55 | 144 |
| 12か月後 | 89 | 55 | 89 | 233 |
一般項
フィボナッチ数列の一般項は次の式で表される[3]:
この式は1843年にビネ (テンプレート:Interlang) が発表したことからビネの公式と呼ばれるが、それ以前の1730年(ド・モアブル)・1765年(オイラー)にも発表されており、ビネは最初の発見者ではない。
なお、この式に現れる
は黄金数で、いくつかの数学的特徴がある。黄金数を作る二次方程式 テンプレート:Math2 の解を テンプレート:Math2 とすると、上記の一般項は
と表せる。
また、一般項の第2項 テンプレート:Math の絶対値は減少列で、テンプレート:Math のとき テンプレート:Math より、第2項を切り捨てた式は テンプレート:Mvar の値を 0.447 以下(テンプレート:Math のとき1%以下)の誤差で与える近似式である。
この誤差の絶対値は0.5未満なので、テンプレート:Mvar の正確な整数値は以下の式で得られる[3]。
ただし、テンプレート:Math は床関数である。
なお、後述の負数番への拡張を考慮した場合、テンプレート:Math では逆に一般項の第1項の絶対値が0.5未満となるため、テンプレート:Math における テンプレート:Mvar の正確な整数値は以下の式で得られる。
これらのことから、任意の整数 テンプレート:Mvar における テンプレート:Mvar の正確な整数値は以下の式で得られる。
ただし、テンプレート:Math は符号関数である。
行列表現
また、フィボナッチ数列の漸化式は次のように行列表現できる[3]:
これらを並べて表記すると、
ここで、テンプレート:Math は、漸化式 テンプレート:Math に テンプレート:Math を代入すると得られる(詳細は後述の負数番への拡張を参照)。
更に、テンプレート:Math を テンプレート:Math で置換すると、
よって、
母関数は
である。
また、この行列表現を基に、以下のような漸化式を考えることができる。
性質
フィボナッチ数列の隣接2項の商は黄金数 テンプレート:Mvar に収束する。この性質は初期値 (テンプレート:Math2) に依らない。
これは次のように導出される:
- が収束するとすれば、
- 自然数 テンプレート:Math の最大公約数を テンプレート:Mvar とすると、テンプレート:Mvar と テンプレート:Mvar の最大公約数は テンプレート:Mvar である。
これより以下を導くことができる。
- テンプレート:Mvar が テンプレート:Mvar で割り切れるならば、テンプレート:Mvar は テンプレート:Mvar で割り切れる。
- 連続する2数は互いに素であることより、隣り合うフィボナッチ数も互いに素である。
- テンプレート:Mvar が偶数となるのは テンプレート:Mvar が 3 の倍数となるときと一致する。
- テンプレート:Mvar が 5 の倍数となるのは テンプレート:Mvar が 5 の倍数となるときと一致する。
- テンプレート:Mvar が 2 でも 5 でもない素数のとき、テンプレート:Math とおくと テンプレート:Mvar は テンプレート:Mvar を割り切る。ここで テンプレート:Math はルジャンドル記号である。
フィボナッチ数の累和や累積について以下の式が成り立つ。
また、次の関係式が知られている。
フィボナッチ数のうち平方数であるのは テンプレート:Math, テンプレート:Math のみ (Cohn 1964)[4]、立方数であるのは テンプレート:Math, テンプレート:Math のみ (London and Finkelstein 1969)[5]である。フィボナッチ数のうち累乗数であるのはこれしかない (Bugeaud, Mignotte, Siksek 2006)[6]。(テンプレート:OEIS)
フィボナッチ数で素数であるのは 2, 3, 5, 13, 89, 233, 1597, 28657, … である(テンプレート:OEIS)。また、これらはフィボナッチ素数と呼ばれる。
フィボナッチ数で三角数であるのは 1, 3, 21, 55(テンプレート:OEIS)のみであることは Vern Hoggatt によって予想されていたが、のちに Luo Ming によって証明された[7]。
フィボナッチ数でハーシャッド数であるのは 1, 2, 3, 5, 8, 21, 144, 2584, …(テンプレート:OEIS)。
フィボナッチ数は完全数にはならない[8]。より一般に、フィボナッチ数は倍積完全数にもならず[9]、2つのフィボナッチ数の商も完全数にはならない[10]。
フィボナッチ数列の逆数和は収束し、記号 テンプレート:Mvar で表される。
この テンプレート:Mvar が無理数であることは証明されているが (André-Jeannin 1989)、超越数であるかどうかは分かっていない。
任意の正の整数は、1つ以上の連続しない相異なるフィボナッチ数の和として一意に表すことができる(ゼッケンドルフの定理)。
パスカルの三角形で数字を桂馬跳びのように拾うと、総和がフィボナッチ数になる数列が現れる。 また テンプレート:Mvar が十分に大きいとき、フィボナッチ数列の漸化式を遡らせるとパスカルの三角形が現れ、桂馬跳びに同じ項が現れる。
プログラミング言語での実装
再帰的処理の例としてよく紹介される。以下はPythonでの例。
ただし、下記実装例の内、#負数番への拡張に対応しているのは例5・例6のみである。
例1(再帰的処理による実装例)
このプログラムでは、テンプレート:Math が与えられてから テンプレート:Math が求まるまでに テンプレート:Math 回の関数呼び出しが発生する(すなわち指数時間の計算となる)ため、実用的ではない。したがって通常は、線形時間で計算するためにメモ化などの手法を用いる他、後述するように様々な実装例が検討されている。 テンプレート:Syntaxhighlight メモ化の例を挙げるとテンプレート:Efn、 テンプレート:Syntaxhighlight
例2(ループ処理による実装例)
例3(指数関数的なコールを必要としない再帰的処理による実装例)
テンプレート:Math が1以上の場合に第2・第3の引数を上記例2と同じ要領で順次更新していくことで、コール回数を テンプレート:Math 回に抑えられる為、線形時間で処理できる。 テンプレート:Syntaxhighlight
例4(対数時間での再帰的処理による実装例)
#行列表現で導出した漸化式(以下に再掲)を用いることで、再帰的処理でも対数時間で処理できる。
ただし、プログラム上は0を掛けるからと言ってその対象の値が計算されない訳では無い為(短絡評価されない)、条件式による分岐で表記している。 テンプレート:Syntaxhighlight
例5(一般項による実装例)
浮動小数点型を使用すると計算誤差が発生する為、テンプレート:Codeモジュールを用いているテンプレート:Efn。 テンプレート:Syntaxhighlight なお、先述の通りフィボナッチ数列の一般項は、引数 テンプレート:Mvar の符号によって2項の内いずれかが0.5未満となることから、符号関数及び床関数を用いて以下のように表すことができた。
- (#一般項より再掲)
このことから、以下のように実装することで冪乗演算の回数を減らすことが出来るテンプレート:Efn。 テンプレート:Syntaxhighlight
例6(行列表現での実装例)
- (#行列表現より再掲)
より、テンプレート:Mvar を テンプレート:Math に置換すると、
従って、テンプレート:Math は、上式右辺(の具体的な計算値)の左上成分に等しい。
行列の冪を簡潔に記述する為にSymPyを用いたテンプレート:Efnテンプレート:Efn。 テンプレート:Syntaxhighlight
その他の話題


- フィボナッチ数は自然界の現象に数多く出現する。
- また、フィボナッチ数列が生み出す螺旋は、世界で最も美しい螺旋だと言われている。
ヨハネス・ケプラーは1611年に発表した小論文「新年の贈り物あるいは六角形の雪について」において、フィボナッチ数を自己を増殖する比例と呼び、植物の種子の能力の現れであると論じた[13]。
- 花びらの数はフィボナッチ数であることが多い。テンプレート:要出典
- フィボナッチ数は、花びらの枚数も決めているらしい。(『聖なる幾何学』p63より)
- アブラナやダイコンの花びらは4枚であり、植物学では花式図より3数性、4数性、5数性で分類される[15][16]。
- 植物の花や実に現れる螺旋の数もフィボナッチ数であることが多い。
- パイナップルの螺旋の数は時計回りは13、反時計回りは8になっている。
- 葉序(植物の葉の付き方)はフィボナッチ数と関連している。(シンパー=ブラウンの法則)
- らせん葉序におけるシンパー・ブラウンの法則はフィボナッチ数列と関連するが、「近似値を示すにすぎず、またこれにあてはまらない例もある」(岩波生物学辞典)。
- ハチやアリなど、オスに父親がない家系を辿っていくとフィボナッチ数列が現れる(父母2匹、祖父母3匹、曽祖父母5匹、高祖父母8匹…)。
- テンプレート:Mvar 段の階段を1段または2段ずつ登るときに、登る場合の数は テンプレート:Math 通りある。
- ●と○を合わせて テンプレート:Mvar 個並べる。●が2個以上続かないように一列に並べる方法は テンプレート:Math 通りある。
- 為替などのテクニカル分析で、フィボナッチ・リトレースメントという手法がよく使われている。
負数番への拡張
フィボナッチ数列は、漸化式 テンプレート:Math を全ての整数 テンプレート:Mvar に対して適用することにより、テンプレート:Mvar が負の整数の場合に拡張できる。そして テンプレート:Math が成り立つ。この式より、負の番号の項は次のようになる。
| テンプレート:Mvar | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| テンプレート:Mvar | 0 | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | 55 | 89 | 144 | 233 | 377 | 610 | 987 | 1597 | 2584 | 4181 | 6765 |
| テンプレート:Mvar | 0 | 1 | −1 | 2 | −3 | 5 | −8 | 13 | −21 | 34 | −55 | 89 | −144 | 233 | −377 | 610 | −987 | 1597 | −2584 | 4181 | −6765 |
類似の数列
フィボナッチ数列の定義である初期値や漸化式をやや変更して、類似の数列が作れる。
項数の変更
フィボナッチ数列は各項が先行する二項の和であるものであったが、それを「先行する テンプレート:Mvar 項の和」と置き換えた一般化
を考えることができる。ただし、初期値は 1 で埋める(1-fil型)
あるいは 0 で埋める(0-fil型)
などを取るのが一般的である。これらフィボナッチ数列の類似物を、項数 テンプレート:Mvar に対応するラテン語またはギリシャ語に由来する倍数接頭辞を「フィボナッチ」と組み合わせた名称で呼ぶテンプレート:Efn。
| テンプレート:Mvar | 接頭辞[18] | 名称 | 整数列大辞典 |
|---|---|---|---|
| 3 | tri- | トリボナッチ数 | 0 fil: テンプレート:OEIS2C 1 fil: テンプレート:OEIS2C |
| 4 | tetra- | テトラナッチ数 | 0 fil: テンプレート:OEIS2C 1 fil: テンプレート:OEIS2C |
| 5 | penta- | ペンタナッチ数 | 0 fil: テンプレート:OEIS2C 1 fil: テンプレート:OEIS2C |
| 6 | hexa- | ヘキサナッチ数 | 0 fil: テンプレート:OEIS2C 1 fil: テンプレート:OEIS2C |
| 7 | hepta- | ヘプタナッチ数 | 0 fil: テンプレート:OEIS2C 1 fil: テンプレート:OEIS2C |
| 8 | octa- | オクタナッチ数 | 0 fil: テンプレート:OEIS2C 1 fil: テンプレート:OEIS2C |
| 9 | nona- | ノナ(ボ)ナッチ数 | 1 fil: テンプレート:OEIS2C |
| 10 | deca- | デカ(ボ)ナッチ数 | 1 fil: テンプレート:OEIS2C |
| 11 | undeca- | ウンデカ(ボ)ナッチ数 | 1 fil: テンプレート:OEIS2C |
| 12 | dodeca- | ドデカ(ボ)ナッチ数 | 1 fil: テンプレート:OEIS2C |
| 20 | icosa- | イコサナッチ数 | ⋮ |
トリボナッチ数
特に直前の三項の和として各項が定まるトリボナッチ数列は、フィボナッチ数列に次いでよく調べられている。0-fil型でオフセットが0番目からのものは
と表される。第0~21項の値は次の通りである:
トリボナッチ数列の一般項は次で表される。
ただし、テンプレート:Math2 は三次方程式 テンプレート:Math の3解
であり、ここで
- ([[1の冪根|テンプレート:Math の虚立方根]])
である。
また、上記の テンプレート:Mvar をトリボナッチ定数という。これはフィボナッチ数列における黄金数に当たる定数で、トリボナッチ数列の隣接2項間の商はトリボナッチ定数に収束する:
パスカルの三角錐の n 段目の三角形の数字を桂馬跳びに拾って合計すると 2n-1 個の数から成る数列ができる。この数列を上から三角形状に並べ、数字を桂馬跳びに拾って合計するとトリボナッチ数が現れる。 また テンプレート:Mvar が十分に大きいとき、トリボナッチ数列の漸化式を遡らせると中間の三角形が現れ、桂馬跳びに同じ項が現れる。
テトラナッチ数
直前の四項の和に変更したテトラナッチ数列も同様に様々なことが知られている。同様にオフセット0番の 0-fil型は
と書けて、第0~21項の値は次の通りである:
一般項は、四次方程式 テンプレート:Math の4解を テンプレート:Math2 として、
となる。
初期値の変更
リュカ数
フィボナッチ数列の最初の2項を 2, 1 に置き換えた数列の項をリュカ数という。
- 2, 1, 3, 4, 7, 11, 18, 29, 47, 76, 123, 199, 322, 521, 843, 1364, 2207, 3571, 5778, … (OEIS テンプレート:OEIS2C)
この数列の一般項は
と表される。
フィボナッチ数列やリュカ数の列を一般化したものがリュカ数列であり、1878年にエドゥアール・リュカが体系的な研究を行い、1913年にテンプレート:仮リンクがその結果を整理、拡張した[19]。これらの研究が現代のフィボナッチ数の理論の基礎となった。
脚注
注釈
出典
参考文献
- テンプレート:Cite book
- テンプレート:Cite book
- テンプレート:Cite journal
- テンプレート:Citation
- テンプレート:Citation
- テンプレート:Citation
- テンプレート:Citation
- テンプレート:Citation - 『平方の書』の英訳。
- テンプレート:Citation - 『算盤の書』の英訳。
関連項目
テンプレート:Commonscat テンプレート:Div col
外部リンク
- テンプレート:Kotobank
- テンプレート:高校数学の美しい物語
- フィボナッチ数、トリボナッチ数、テトラナッチ数、ペンタナッチ数、ヘキサナッチ数 の考察
- テンプレート:MathWorld
- The Fibonacci Association(フィボナッチ協会)テンプレート:En icon
- Fibonacci Quarterly Home Page(フィボナッチ・クォータリー)テンプレート:En icon
- 日本フィボナッチ協会 第13回研究集会報告書2015年8月日本フィボナッチ協会 (リンク切れの場合はこちら)
- 日本フィボナッチ協会 第14回研究集会報告書2016年8月日本フィボナッチ協会 (リンク切れの場合はこちら)
- 日本フィボナッチ協会 第15回研究集会報告書2017年8月日本フィボナッチ協会 (リンク切れの場合はこちら)
- 日本フィボナッチ協会 第16回研究集会報告書2018年8月日本フィボナッチ協会
- 日本フィボナッチ協会 第17回研究集会報告書2019年8月日本フィボナッチ協会
- 日本フィボナッチ協会 第18回研究集会報告書2020年10月日本フィボナッチ協会
- 日本フィボナッチ協会 第19回研究集会報告書2021年10月日本フィボナッチ協会
- 日本フィボナッチ協会 第20回研究集会報告書2022年10月日本フィボナッチ協会
- 日本フィボナッチ協会 第21回研究集会報告書2023年11月日本フィボナッチ協会
- 日本フィボナッチ協会 第22回研究集会報告書2024年10月日本フィボナッチ協会
テンプレート:級数 テンプレート:貴金属比 テンプレート:Normdaten
- ↑ Parmanand Singh. "Acharya Hemachandra and the (so called) Fibonacci Numbers". Math. Ed. Siwan, 20(1): pp. 28–30, 1986. ISSN 0047-6269.
- ↑ Parmanand Singh, "The So-called Fibonacci numbers in ancient and medieval India." Historia Mathematica 12(3), pp. 229–244, 1985.
- ↑ 3.0 3.1 3.2 3.3 テンプレート:Cite book
- ↑ J. H. E. Cohn, On square Fibonacci numbers, J. London Math. Soc. 39 (1964), pp. 537–540.
- ↑ テンプレート:Citation
- ↑ Yann Bugeaud, Maurice Mignotte, Samir Siksek, Classical and modular approaches to exponential Diophantine equations. I. Fibonacci and Lucas perfect powers. Ann. of Math. 163(2006), pp. 969–1018. Yann Bugeaud, Publications, 2006.
- ↑ テンプレート:Citation
- ↑ テンプレート:Cite journal
- ↑ テンプレート:Cite journal
- ↑ テンプレート:Cite journal
- ↑ Reciprocal Fibonacci Constant -- from Wolfram MathWorld
- ↑ テンプレート:PDFlink(愛媛県立丹原高等学校)
- ↑ テンプレート:Cite journal
- ↑ 聖なる幾何学 スティーヴン・スキナー著 p.63「植物成長の幾何学」より抜粋
- ↑ 西山豊「花びらの数はフィボナッチ数列に落ち着くか?」『数学文化』No. 39, p104, 2023.3
- ↑ 西山豊「花びらの数はフィボナッチ数」は本当か?『大阪経大論集』Vol.74, No.6, 125-139, 2024.3
- ↑ 第14回:全ての植物をフィボナッチの呪いから救い出す(こんどうしげるの生命科学の明日はどっちだ!?)
- ↑ より多くは、例えば [1] などを見よ
- ↑ R. D. Carmichael, On the numerical factors of the arithmetic forms テンプレート:Math, Ann. of Math. 15 (1913), pp.30–70, テンプレート:DOI.