推导

定义数列 { A n } \{A_n\} {An​},对于 n ≥ 2 n\ge 2 n≥2 有 A n = a A n − 1 + b A n − 2 A_n=aA_{n-1}+bA_{n-2} An​=aAn−1​+bAn−2​, A 0 , A 1 A_0,A_1 A0​,A1​ 为定值。

定义矩阵:
M n = [ A n A n − 1 ] T = [ a b 1 0 ] P m = [ b m p m b m p m − 1 ] M_n=\begin{bmatrix} A_n\\ A_{n-1} \end{bmatrix} \\ T=\begin{bmatrix} a&b\\ 1&0 \end{bmatrix} \\ P_m=\begin{bmatrix} b^mp^m&b^mp^{m-1} \end{bmatrix} Mn​=[An​An−1​​]T=[a1​b0​]Pm​=[bmpm​bmpm−1​]
其中 p p p 满足 b p 2 = a p + 1 bp^2=ap+1 bp2=ap+1

注意到:
T × M n = M n + 1 P m × T = P m + 1 P m × M n = P m × T × M n − 1 = P m + 1 × M n − 1 = P m + k × M n − k T \times M_n=M_{n+1}\\ P_m \times T=P_{m+1}\\ P_m \times M_n\\ =P_m \times T \times M_{n-1}\\ =P_{m+1} \times M_{n-1} \\=P_{m+k} \times M_{n-k} T×Mn​=Mn+1​Pm​×T=Pm+1​Pm​×Mn​=Pm​×T×Mn−1​=Pm+1​×Mn−1​=Pm+k​×Mn−k​
(什么?你没有注意到?请往后看)

thus
P 1 × M n = P n × M 1 P_1 \times M_n=P_n \times M_1 P1​×Mn​=Pn​×M1​
展开两边得到
[ b p A n + b A n − 1 ] = [ b n p n A 1 + b n p n − 1 A 0 ] [bpA_n+bA_{n-1}]=[b^np^nA_1+b^np^{n-1}A_0] [bpAn​+bAn−1​]=[bnpnA1​+bnpn−1A0​]
解 b p 2 = a p + 1 bp^2=ap+1 bp2=ap+1 的两个根:
p 1 = a + a 2 + 4 b 2 b p 2 = a − a 2 + 4 b 2 b p_1=\dfrac{a+\sqrt{a^2+4b}}{2b}\\ p_2=\dfrac{a-\sqrt{a^2+4b}}{2b} p1​=2ba+a2+4b ​​p2​=2ba−a2+4b ​​
得到方程:
{ b p 1 A n + b A n − 1 = b n p 1 n A 1 + b n p 1 n − 1 A 0 b p 2 A n + b A n − 1 = b n p 2 n A 1 + b n p 2 n − 1 A 0 \begin{cases} bp_1A_n+bA_{n-1}=b^np_1^nA_1+b^np_1^{n-1}A_0\\ bp_2A_n+bA_{n-1}=b^np_2^nA_1+b^np_2^{n-1}A_0 \end{cases} {bp1​An​+bAn−1​=bnp1n​A1​+bnp1n−1​A0​bp2​An​+bAn−1​=bnp2n​A1​+bnp2n−1​A0​​
解得:
A n = b n − 1 p 1 − p 2 [ ( p 1 n − p 2 n ) A 1 + ( p 1 n − 1 − p 2 n − 1 ) A 0 ] A_n=\dfrac{b^{n-1}}{p_1-p_2}[(p_1^n-p_2^n)A_1+(p_1^{n-1}-p_2^{n-1})A_0] An​=p1​−p2​bn−1​[(p1n​−p2n​)A1​+(p1n−1​−p2n−1​)A0​]
有趣

扩展

其实这个方法主要的难点在于构造 P m P_m Pm​,我们希望 P m P_m Pm​ 满足 P m × T = P m + 1 P_m \times T=P_{m+1} Pm​×T=Pm+1​

我们希望各项之间有点关系,大概就是构造成
P m = [ x f ( x ) ] P_m=[x~~~~f(x)]\\ Pm​=[x    f(x)]
于是
P m + 1 = [ a x + f ( x ) b x ] ∴ f ( a x + f ( x ) ) = b x P_{m+1}=[ax+f(x)~~~~~bx]\\ \therefore f(ax+f(x))=bx Pm+1​=[ax+f(x)     bx]∴f(ax+f(x))=bx
我们构造 f ( x ) = x p − 1 f(x)=xp^{-1} f(x)=xp−1 (别为我为什么不是直接乘 p,问就是那样解出来的东西我不喜欢)
f ( a x + x p − 1 ) = b x a x p − 1 + x p − 2 = b x a p + 1 = b p 2 f(ax+xp^{-1})=bx\\ axp^{-1}+xp^{-2}=bx\\ ap+1=bp^2 f(ax+xp−1)=bxaxp−1+xp−2=bxap+1=bp2
哈哈哈哈,这不就构造出来了

我们再扩展一下,比如 { A n } \{A_n\} {An​} 变成了 A n = A n − 1 + A n − 2 + A n − 3 A_n=A_{n-1}+A_{n-2}+A_{n-3} An​=An−1​+An−2​+An−3​ 怎么样?
M n = [ A n A n − 1 A n − 2 ] T = [ 1 1 1 1 0 0 0 1 0 ] M_n=\begin{bmatrix} A_n\\ A_{n-1}\\ A_{n-2} \end{bmatrix} \\ T=\begin{bmatrix} 1&1&1\\ 1&0&0\\ 0&1&0 \end{bmatrix} Mn​=⎣⎡​An​An−1​An−2​​⎦⎤​T=⎣⎡​110​101​100​⎦⎤​
仔细思考,相似地按照上面的步骤解
P m = [ p m − 1 p + 1 p m p m p + 1 ] P_m=\begin{bmatrix} \dfrac{p^{m-1}}{p+1}&p^m&\dfrac{p^m}{p+1} \end{bmatrix} Pm​=[p+1pm−1​​pm​p+1pm​​]
其中 p p p 满足 p 3 + p 2 + p = 1 p^3+p^2+p=1 p3+p2+p=1

这次不同的是 P m × T = P m − 1 P_m\times T=P_{m-1} Pm​×T=Pm−1​,我怀疑 p p p 变成 p − 1 p^{-1} p−1 可以变回原来的形式,不过这个样子也不错。

我怀疑我们可以用类似的方法推出来关于数列 { A n } \{A_n\} {An​}, A n = ∑ j = 1 k a j A n − j A_n=\sum\limits_{j=1}^ka_jA_{n-j} An​=j=1∑k​aj​An−j​ 的通项公式,以后有时间再推。

广义斐波那契数列通项公式以及一些扩展的思考相关推荐

  1. 2019南昌网络赛 H. The Nth Item(广义斐波那契数列求通项公式模板)(二次剩余+分块)

    链接:https://nanti.jisuanke.com/t/41355 题意: Q个询问,每次求F(N),但是N要用上一次询问的结果得到. 思路: 1.直接矩阵快速幂求,再用map记一下答案,求过 ...

  2. hdu-6989 Pass!(广义斐波那契数列求通项+bsgs)

    题目链接:点击这里 题目大意: 有 nnn 个人在传球,从 111 号开始传球,每次只能传给别人,设传了 ttt 次球后球回到 111 的方案数为cntcntcnt ,求最小的 ttt 其满足此时的 ...

  3. 斐波拉契数列通项公式

    斐波拉契数列通项公式 当 即

  4. 斐波那契数列通项公式的推导证明----举一反三

    斐波那契数列通项公式的推导证明----举一反三 1-前言 2-斐波那契 2-1-什么是斐波那契 2-2-通项公式的证明 2-3-举一反三 1-前言 2021年5月20号的那天,有对象的都忙着约会秀恩爱 ...

  5. 利用生成函数求斐波那契数列通项公式

    利用生成函数求斐波那契数列通项公式 先吐槽一下,学习这玩意儿的时候真的是深深的明白了自己的弱小,人家的一个"解得"我居然解了两个小时..qwq 前置知识 斐波那契数列: \[f_i ...

  6. 【斐波那契数列通项公式求解】

    斐波那契数列,又称黄金分割数列,数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为"兔子数列",该数列在数学上定义为 前几项为: 1,1,2,3,5,8,13,21,34 斐 ...

  7. python查询斐波那契数列通项公式_分享一个神奇的操作系统——斐波那契+MACD,每一波都有20%以上的收益!...

    斐波那契数列,又称兔子数列,或者黄金分割数列.指的是这样一个数列: 0.1.1.2.3.5.8.13.21--从第三项起,它的每一项都等于前两项的和. 为什么是兔子数列?我们假设兔子在出生两个月后,就 ...

  8. python查询斐波那契数列通项公式_斐波那契数列求解总结(Python版)

    最近在查阅斐波那契数列时,看到下面的文章,总结得非常好,于是自己上手使用 Python 练习并实现多种求解方法 守望:面试官问你斐波那契数列的时候不要高兴得太早​zhuanlan.zhihu.com ...

  9. 斐波那契数列通项公式

    定义 斐波那契数列指的是每一项都等于前两项之和的数列,定义为F[1]=1,F[2]=1, F[n]=F[n-1]+F[n-2](n>=3). 通项公式 我们先来研究形如F[n]=c1F[n-1] ...

最新文章

  1. 台大李宏毅机器学习2021
  2. 一分钟详解点云配准ICP方法
  3. ViewTreeObserver视图树观察者
  4. Trie树:应用于统计和排序
  5. C# 实验四 获取系统时间、点击加一秒功能
  6. 计算机编码规则之:Base64编码
  7. k8s 手动恢复redis 集群_二进制手动部署k8s-1.14高可用集群(二、集群部署)
  8. 趣谈程序员真香定律:源码即设计
  9. bzoj 3594: [Scoi2014]方伯伯的玉米田
  10. 男人这辈子挺难的 ^^^
  11. Android辅助开发工具说明
  12. K8S 搭建 nacos 1.4.1 集群(MySQL 8.0)
  13. Drupal的taxonomy_manager模块合并分类的方法
  14. 带电插拔损坏设备原理_USB接口设备可以带电插拔吗?
  15. mysql全量备份脚本_mysql全量备份脚本
  16. 300辆无人车200万公里路测零事故,首次揭秘背后整套安全保障方案
  17. 利用MATLAB免费生成GIF
  18. Datawhale打卡活动 Kaggle Spaceship Titanic Day3
  19. 高德地图:点击获取火星坐标(经纬度)
  20. WIN10 注册.dll regsvr32.exe错误 VC6添加插件

热门文章

  1. php一句话图片木马怎么运行,php型一句话木马怎么写
  2. 腾讯财报背后的小秘密:转型路上的未知
  3. freeswitch系列四 通过实例学习sip协议的注册、呼叫、挂断流程
  4. vue3 vite学习笔记 YYDS
  5. java小数点后保留7位_Java中如何保留小数点后两位
  6. Selenium3+python3自动化(四十六)--弹窗处理(PyKeyboard) tab切换,enter回车,输入...
  7. 支付宝的钱转余额宝在银行卡里可以取回吗?
  8. 部分电脑安装wps后,导致pptcom调用失败的解决方法
  9. matlab 高斯迭代法求解,高斯迭代法matlab算例
  10. 微信小程序按钮只有在调试下显示