トリボナッチ数列の計算*1
フィボナッチ数列に類似した数列にトリボナッチ数列があります.フィボナッチ数列は最初の2項を初期値とし,3項目以降を直前の2項の和として定めていますが,トリボナッチ数列は最初の3項を初期値とし,4項目以降を直前の3項の和として定めています.
トリボナッチ数列は以下のように定義されます.
トリボナッチ数列の具体的な値を以下の表に示します.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | ||
0 | 0 | 1 | 1 | 2 | 4 | 7 | 13 | 24 | 44 | 81 | 149 | 274 | 504 | 927 | 1705 | 3136 | 5768 | 10609 | 19513 | 35890 | 66012 | 121415 | 223317 | 410744 | 755476 | 1389537 | 2555757 | 4700770 | 8646064 | 15902591 |
について,の連続した3つの要素を成分にもつベクトルを以下のように定義します.
以下の線形変換はをに写します.
線形変換は行列により表すことができます.変換を表す行列をとすると,の各列には基本ベクトルをそれぞれで変換したが並びます.これは線形変換において,基本ベクトルの変換先の情報のみを用いて任意のベクトルの変換先を計算できるためです.
より,
となります.
より,はと同じ変換を表すことが分かります.
上の計算を丁寧に書くと以下のようになります.計算には変換の線形性が利用されています.
による回の変換は行列の累乗で表されるので,は以下の式で計算できます.
ただし,は恒等変換を表す単位行列とします.
より,はの第3成分として求めることができます.これはの成分に一致します.
例えばは
より,であると分かります.
が大きいとき,の計算に繰り返し2乗法を用いることで計算の高速化を図ることができます.
一般化
フィボナッチ数列やトリボナッチ数列を一般化した数列として,最初の項を初期値とし,項目以降を直前の項の和として定めた数列 を考えます.は以下の式により求められるベクトルの第成分として求めることができます.
のときはフィボナッチ数列となり,は以下で計算されるベクトルの第2成分として求めることができます.
のときはテトラナッチ数列となり,は以下で計算されるベクトルの第4成分として求めることができます.