これがその行列です。
[ [ 0, 1 ] * [a, b] = [b, a + b] [ 1, 1 ] ]
従って `[0, 1; 1, 1]^n * [1, 1]' は n+1 番目と n+2 番目の フィボナッチ数を計算します。 次はプログラムの解答例です。
C-x ( ' [0, 1; 1, 1] ^ ($-1) * [1, 1] RET v u DEL C-x )
Calc は行列(あるいは他の型)をわずか log(n,2) ステップで n 乗するアルゴリズムを知っているので、 このプログラムは非常に効率的です。 例えば、このプログラムは 1000 番目のフィボナッチ数(209 桁の整数!)を 約 10 ステップで計算します。 たとえ Z < ... Z > を使った解がもっと単純素朴な手順だとしても、 計算には多くのステップが必要になるので現実的ではありません。
Go to the first, previous, next, last section, table of contents.
利用度数