矩阵的特征值 => 矩阵的幂 => 广义斐波拉契数列的通项公式
2012-03-29 09:58
281 查看
众所周知,计算机里动辄涉及到斐波拉契数列,本文主要是运用线性代数的方法求出广义斐波拉契数列的通项公式。
广义斐波拉契数列的定义(自定义,可能还不够严谨,欢迎指教)如下:
且a,b满足a^2 + 4b > 0(原因后面有,即保证分母Δ>0)
观察递推公式可知:
(1)
[align=center] [/align]
[align=center] [/align]
[align=center] [/align]
OK!写这篇博客有两点启示:
1.亦可用差分方程的方法求通项公式,不过我还没学,我发现把递推关系用矩阵的形式写成再求通项也是可以的,不过要构造出这个关系比较困难,比如(1)式。
2.在一般的算法中求矩阵的幂几乎都是用二分法求,殊不知若λi下有ki个线性无关的特征向量(ki是λi的重根数),即可用相似对角形的方法求,这在高等数学里可是小儿科。虽然前面的步骤有点繁,但作用是“磨刀不误砍柴工”,直接手算矩阵的幂。
2012/4/7更新:
今天发现递推公式可简化为:
这样算起来更方便!
2012/4/15更新:
想要更刺激的吗?好吧,直接来个n阶的!
From:
Fibonacci数计算中的两个思维盲点及其扩展数列的通用高效解法
持续更新中 ing
附:上一张关于菲波拉契数列的图:Fib与指数爆炸
广义斐波拉契数列的定义(自定义,可能还不够严谨,欢迎指教)如下:
且a,b满足a^2 + 4b > 0(原因后面有,即保证分母Δ>0)
观察递推公式可知:
(1)
[align=center] [/align]
[align=center] [/align]
[align=center] [/align]
OK!写这篇博客有两点启示:
1.亦可用差分方程的方法求通项公式,不过我还没学,我发现把递推关系用矩阵的形式写成再求通项也是可以的,不过要构造出这个关系比较困难,比如(1)式。
2.在一般的算法中求矩阵的幂几乎都是用二分法求,殊不知若λi下有ki个线性无关的特征向量(ki是λi的重根数),即可用相似对角形的方法求,这在高等数学里可是小儿科。虽然前面的步骤有点繁,但作用是“磨刀不误砍柴工”,直接手算矩阵的幂。
2012/4/7更新:
今天发现递推公式可简化为:
这样算起来更方便!
2012/4/15更新:
想要更刺激的吗?好吧,直接来个n阶的!
From:
Fibonacci数计算中的两个思维盲点及其扩展数列的通用高效解法
持续更新中 ing
附:上一张关于菲波拉契数列的图:Fib与指数爆炸
相关文章推荐
- 矩阵的特征值 => 矩阵的幂 => 广义斐波拉契数列的通项公式
- 矩阵的特征值 => 矩阵的幂 => 广义斐波拉契数列的通项公式
- LAPACK(5)——矩阵广义特征值问题和QZ分解
- 大规模稀疏矩阵的广义特征值问题——CLAPACK, IETL库尝试
- 数据结构之(动态规划二)之<矩阵链乘法>
- 在O(n^2)内寻找矩阵A中 A(c,d) - A(a,b) 的最大值, c > a 且 d > b.
- 矩阵的“特征值分解”和“奇异值分解”区别
- hdu5451(矩阵快速幂+广义斐波拉契)
- 什么是特征向量,特征值,矩阵分解
- BZOJ1009 [HNOI2008]GT考试 矩阵
- 线性代数 - 05 矩阵的特征值与特征向量
- 利用python做矩阵的简单运算(行列式、特征值、特征向量等的求解)
- 复数矩阵分解的拆解思路(矩阵求逆/特征值分解)
- day-12,多层感知机-矩阵计算 <C版>
- 矩阵类型及对应的at<>类型
- 矩阵的特征值、秩
- Numpy中的数组<矩阵>
- 关于Unity中的3D数学基础知识<三>矩阵的基础知识和使用
- poj 3070 矩阵快速幂求斐波拉契数列
- 矩阵中 为什么矩阵的迹就是特征值的和 为什么等于第二项系数?要具体证明