广义斐波那契数列通项公式以及一些扩展的思考
推导
定义数列 { 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=[AnAn−1]T=[a1b0]Pm=[bmpmbmpm−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+1Pm×T=Pm+1Pm×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} {bp1An+bAn−1=bnp1nA1+bnp1n−1A0bp2An+bAn−1=bnp2nA1+bnp2n−1A0
解得:
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−p2bn−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=⎣⎡AnAn−1An−2⎦⎤T=⎣⎡110101100⎦⎤
仔细思考,相似地按照上面的步骤解
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−1pmp+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∑kajAn−j 的通项公式,以后有时间再推。
广义斐波那契数列通项公式以及一些扩展的思考相关推荐
- 2019南昌网络赛 H. The Nth Item(广义斐波那契数列求通项公式模板)(二次剩余+分块)
链接:https://nanti.jisuanke.com/t/41355 题意: Q个询问,每次求F(N),但是N要用上一次询问的结果得到. 思路: 1.直接矩阵快速幂求,再用map记一下答案,求过 ...
- hdu-6989 Pass!(广义斐波那契数列求通项+bsgs)
题目链接:点击这里 题目大意: 有 nnn 个人在传球,从 111 号开始传球,每次只能传给别人,设传了 ttt 次球后球回到 111 的方案数为cntcntcnt ,求最小的 ttt 其满足此时的 ...
- 斐波拉契数列通项公式
斐波拉契数列通项公式 当 即
- 斐波那契数列通项公式的推导证明----举一反三
斐波那契数列通项公式的推导证明----举一反三 1-前言 2-斐波那契 2-1-什么是斐波那契 2-2-通项公式的证明 2-3-举一反三 1-前言 2021年5月20号的那天,有对象的都忙着约会秀恩爱 ...
- 利用生成函数求斐波那契数列通项公式
利用生成函数求斐波那契数列通项公式 先吐槽一下,学习这玩意儿的时候真的是深深的明白了自己的弱小,人家的一个"解得"我居然解了两个小时..qwq 前置知识 斐波那契数列: \[f_i ...
- 【斐波那契数列通项公式求解】
斐波那契数列,又称黄金分割数列,数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为"兔子数列",该数列在数学上定义为 前几项为: 1,1,2,3,5,8,13,21,34 斐 ...
- python查询斐波那契数列通项公式_分享一个神奇的操作系统——斐波那契+MACD,每一波都有20%以上的收益!...
斐波那契数列,又称兔子数列,或者黄金分割数列.指的是这样一个数列: 0.1.1.2.3.5.8.13.21--从第三项起,它的每一项都等于前两项的和. 为什么是兔子数列?我们假设兔子在出生两个月后,就 ...
- python查询斐波那契数列通项公式_斐波那契数列求解总结(Python版)
最近在查阅斐波那契数列时,看到下面的文章,总结得非常好,于是自己上手使用 Python 练习并实现多种求解方法 守望:面试官问你斐波那契数列的时候不要高兴得太早zhuanlan.zhihu.com ...
- 斐波那契数列通项公式
定义 斐波那契数列指的是每一项都等于前两项之和的数列,定义为F[1]=1,F[2]=1, F[n]=F[n-1]+F[n-2](n>=3). 通项公式 我们先来研究形如F[n]=c1F[n-1] ...
最新文章
- 台大李宏毅机器学习2021
- 一分钟详解点云配准ICP方法
- ViewTreeObserver视图树观察者
- Trie树:应用于统计和排序
- C# 实验四 获取系统时间、点击加一秒功能
- 计算机编码规则之:Base64编码
- k8s 手动恢复redis 集群_二进制手动部署k8s-1.14高可用集群(二、集群部署)
- 趣谈程序员真香定律:源码即设计
- bzoj 3594: [Scoi2014]方伯伯的玉米田
- 男人这辈子挺难的 ^^^
- Android辅助开发工具说明
- K8S 搭建 nacos 1.4.1 集群(MySQL 8.0)
- Drupal的taxonomy_manager模块合并分类的方法
- 带电插拔损坏设备原理_USB接口设备可以带电插拔吗?
- mysql全量备份脚本_mysql全量备份脚本
- 300辆无人车200万公里路测零事故,首次揭秘背后整套安全保障方案
- 利用MATLAB免费生成GIF
- Datawhale打卡活动 Kaggle Spaceship Titanic Day3
- 高德地图:点击获取火星坐标(经纬度)
- WIN10 注册.dll regsvr32.exe错误 VC6添加插件
热门文章
- php一句话图片木马怎么运行,php型一句话木马怎么写
- 腾讯财报背后的小秘密:转型路上的未知
- freeswitch系列四 通过实例学习sip协议的注册、呼叫、挂断流程
- vue3 vite学习笔记 YYDS
- java小数点后保留7位_Java中如何保留小数点后两位
- Selenium3+python3自动化(四十六)--弹窗处理(PyKeyboard) tab切换,enter回车,输入...
- 支付宝的钱转余额宝在银行卡里可以取回吗?
- 部分电脑安装wps后,导致pptcom调用失败的解决方法
- matlab 高斯迭代法求解,高斯迭代法matlab算例
- 微信小程序按钮只有在调试下显示