欢迎光临散文网 会员登陆 & 注册

斐波那契数列通项公式推导

2022-04-23 11:28 作者:EKVTGwNJiElK  | 我要投稿

数学课摸鱼石锤

这是我们幼儿园大班就认识的兔子数列:

f_n%20%3D%20f_%7Bn%20-%201%7D%20%2B%20f_%7Bn%20-%202%7D%2C%20f_1%20%3D%20f_2%20%3D%201

这应该很显然吧:

%5Cbegin%7Bpmatrix%7D%20f_n%20%5C%5C%20f_%7Bn%20-%201%7D%20%5Cend%7Bpmatrix%7D%0A%3D%20%5Cbegin%7Bpmatrix%7D%201%20%26%201%20%5C%5C%201%20%26%200%20%5Cend%7Bpmatrix%7D%0A%5Cbegin%7Bpmatrix%7D%20f_%7Bn%20-%201%7D%20%5C%5C%20f_%7Bn%20-%202%7D%20%5Cend%7Bpmatrix%7D%0A%3D%20%5Cbegin%7Bpmatrix%7D%201%20%26%201%20%5C%5C%201%20%26%200%20%5Cend%7Bpmatrix%7D%5E%7Bn%20-%202%7D%0A%5Cbegin%7Bpmatrix%7D%201%20%5C%5C%201%20%5Cend%7Bpmatrix%7D

不认识矩阵的话建议看看 3b1b 的《线性代数的本质》.

其实现在就可以用快速幂在 O(log n) 时间内求出 fn 了,快去试试叭~

设 %5Cmathbf%20A%20%3D%20%5Cbegin%7Bpmatrix%7D%201%20%26%201%20%5C%5C%201%20%26%200%20%5Cend%7Bpmatrix%7D,现在求%5Cmathbf%20A%5E%7Bn%20-%202%7D. 首先求出它的两个特征值:

%7C%5Cmathbf%20A%20-%20%5Clambda%20%5Cmathbf%20E%7C%20%3D%20%5Clambda(%5Clambda%20-%201)%20-%201%20%3D%20%5Clambda%5E2%20-%20%5Clambda%20-%201%20%3D%200

%5Clambda_1%20%3D%20%5Cfrac%7B1%20%2B%20%5Csqrt%7B5%7D%7D2%2C%20%5Clambda_2%20%3D%20%5Cfrac%7B1%20-%20%5Csqrt%7B5%7D%7D2%20

然后求两个线性无关的特征向量:

(%5Cmathbf%20A%20-%20%5Clambda_1%20%5Cmathbf%20E)%5Cmathbf%20v_1%20%3D%20%5Cmathbf0%2C%0A%5Cmathbf%20v_1%20%3D%20%5Cbegin%7Bpmatrix%7D%201%20%2B%20%5Csqrt5%20%5C%5C%202%20%5Cend%7Bpmatrix%7D

(%5Cmathbf%20A%20-%20%5Clambda_2%20%5Cmathbf%20E)%5Cmathbf%20v_2%20%3D%20%5Cmathbf0%2C%0A%5Cmathbf%20v_2%20%3D%20%5Cbegin%7Bpmatrix%7D%201%20-%20%5Csqrt5%20%5C%5C%202%20%5Cend%7Bpmatrix%7D

然后:

%5Cmathbf%20%5CLambda%20%3D%20%5Ctext%7Bdiag%7D(%5Clambda_1%2C%20%5Clambda_2)%2C%0A%5Cmathbf%20P%20%3D%20(%5Cmathbf%20v_1%2C%20%5Cmathbf%20v_2)

我们知道:

%5Cmathbf%20A%20%3D%20%5Cmathbf%7BP%5CLambda%20P%7D%5E%7B-1%7D

于是:

%5Cbegin%7Bpmatrix%7D%20f_n%20%5C%5C%20f_%7Bn%20-%201%7D%20%5Cend%7Bpmatrix%7D%0A%3D%20%5Cmathbf%20A%5E%7Bn%20-%202%7D%20%5Cbegin%7Bpmatrix%7D%201%20%5C%5C%201%20%5Cend%7Bpmatrix%7D%0A%3D%20%5Cmathbf%20%7BP%5CLambda%7D%5E%7Bn%20-%202%7D%20%5Cmathbf%20P%5E%7B-1%7D%20%5Cbegin%7Bpmatrix%7D%201%20%5C%5C%201%20%5Cend%7Bpmatrix%7D

%5Cbegin%7Bpmatrix%7D%20f_n%20%5C%5C%20f_%7Bn%20-%201%7D%20%5Cend%7Bpmatrix%7D%20%3D%20%5Cbegin%7Bpmatrix%7D%0A%5Cfrac%7B(1%20%2B%20%5Csqrt5)%5E%7Bn%20-%201%7D%7D%7B2%5E%7Bn%20-%202%7D%7D%20%26%20%5Cfrac%7B(1%20-%20%5Csqrt5)%5E%7Bn%20-%201%7D%7D%7B2%5E%7Bn%20-%202%7D%7D%20%5C%5C%0A%5Cfrac%7B(1%20%2B%20%5Csqrt5)%5E%7Bn%20-%202%7D%7D%7B2%5E%7Bn%20-%201%7D%7D%20%26%20%5Cfrac%7B(1%20-%20%5Csqrt5)%5E%7Bn%20-%202%7D%7D%7B2%5E%7Bn%20-%201%7D%7D%0A%5Cend%7Bpmatrix%7D%0A%5Cbegin%7Bpmatrix%7D%0A%5Cfrac%7B%5Csqrt5%7D%7B10%7D%20%26%20%5Cfrac%7B5%20-%20%5Csqrt5%7D%7B20%7D%20%5C%5C%0A-%5Cfrac%7B%5Csqrt5%7D%7B10%7D%20%26%20%5Cfrac%7B5%20%2B%20%5Csqrt5%7D%7B20%7D%20%0A%5Cend%7Bpmatrix%7D

f_n%20%3D%20%5Cfrac%7B%5Csqrt5%7D%7B5%20%5Ctimes%202%5E%7Bn%20-%201%7D%7D%20%5Ctimes%20%5Cleft%5B%0A%5Cleft(3%20%2B%20%5Csqrt5%5Cright)%20%5Ctimes%20%5Cleft(1%20%2B%20%5Csqrt5%5Cright)%5E%7Bn%20-%202%7D%20-%0A%5Cleft(3%20-%20%5Csqrt5%5Cright)%20%5Ctimes%20%5Cleft(1%20-%20%5Csqrt5%5Cright)%5E%7Bn%20-%202%7D%0A%5Cright%5D

就这?就这. 也就一面 A4 草稿纸的计算量而已

附:O(%5Clog%20n) Python 代码:

懒得写高精度就去用 Python 的屑

凑字数凑字数凑字数凑字数凑字数


斐波那契数列通项公式推导的评论 (共 条)

分享到微博请遵守国家法律