前言:

建议在阅读前先看这篇:生成函数的简单应用

也可搭配视频食用:线性常系数齐次递推关系

在本文中,我们将介绍一种名为特征多项式的东西,利用它可以快捷方便的求解通项公式。


定义:

$$a_n + c_1a_{n-1} + ... c_ka_{n-k} = 0$$

$$a_0 = d_0, a_1 = d_1, ..., a_{k-1} = d_{k-1}$$

若$c_1,c_2,...,c_k;  d_0,d_1,...,d_{k-1}$都是常数,则上式称为$k$阶的线性常系数齐次递推关系。

我们定义上式的特征多项式为:$$C(x) = x^k + c_1x^{k-1} + ... + c_k$$

接下来,我们将通过一系列的推导来说明母函数与特征多项式的关系。


推导:

设序列$a$的母函数为:$$G(x) = a_0 + a_1x + a_2x^2 + ...$$

显然有:

$$x^k(a_k + c_1a_{k-1} + ... + c_ka_0) = 0$$

$$x^{k+1}(a_{k+1} + c_1a_{k} + ... + c_ka_1) = 0$$

接下来的$x^{k+2}, x^{k+3}, ...$也是同理。我们将等式两边分别相加,可以得到:

$$G(x) - \sum_{h=0}^{k-1}a_hx^h + c_1x[G(x) - \sum_{h=0}^{k-2}a_hx^h] + ... + c_kx^kG(x) = 0$$

移项后得:

$$(1 + c_1x + c_2x^2 + ... + c_kx^k)G(x) = \sum_{h=0}^{k-1} [c_hx^h(\sum_{j=0}^{k-1-h}a_jx^j)]$$

令:

$$P(x) = \sum_{h=0}^{k-1} [c_hx^h(\sum_{j=0}^{k-1-h}a_jx^j)]$$

$$R(x) = 1 + c_1x + c_2x^2 + ... + c_kx^k$$

则:

$$G(x) = \frac{P(x)}{R(x)}$$

然后我们考虑分母$R(x)$与特征多项式$C(x)$的关系:

$$R(x) = x^k[\frac{1}{x^k} + c_1\frac{1}{x^{k-1}} + ... + c_{k-1}\frac{1}{x} + c_k] = x^kC(\frac{1}{x})$$

因为$C(x) = 0$有$k$个根。

令:

$$C(x) = (x - a_1)^{k_1}(x - a_2)^{k_2}...(x-a_t)^{x_t}$$

$$k_1 + k_2 + ... + k_t = k$$

所以:

$$G(x) = \frac{P(x)}{(1-a_1x)^{k_1}(1-a_2x)^{k_2}...(1-a_tx)^{k_t}}$$

接下来,我们将分三类讨论(无重根,有重根,复数根),从而利用上面的式子求出通项公式。


无重根:

若特征多项式$C(x) = x^k + c_1x^{k-1} + ... + c_k$无重根。

则$G(x)$可化简为:

$$G(x) = \frac{l_1}{1-a_1x} + \frac{l_2}{1-a_2x} + ... + \frac{l_k}{1-a_kx} = \sum_{i=1}^{k} \frac{l_i}{1-a_ix}$$

于是我们得到:

$$a_n = \sum_{i=1}^{k} l_i * a_i^n$$

好像很有道理,可是我们不知道$l_i$的值啊?

这很好办,我们已经知道了$a_0, a_1, ..., a_{k-1}$的值,于是我们可以列出$k$个方程,从而解出$l_1 - l_k$的值。

做个例题试试:

  • 已知:$a_n - a_{n-1} - 12a_{n-2} = 0, a_0 = 3, a_1 = 26$,求$a_n$的表达式

  写出特征多项式:$C(x) = x^2 - x - 12 = 0, (x-4)(x+3) = 0$

  于是:$G(x) = \frac{P(x)}{(1-4x)(1 + 3x)}$

  即:$G(x) = \frac{l_1}{1-4x} + \frac{l_2}{1+3x}$

  得到:$a_n = l_14^n + l_2(-3)^n$

  代入$a_0 = 3, a_1 = 26$,解得:$l_1 = 5, l_2 = -2$

  所以:$a_n = 5 * 4^n - 2 * (-3)^n$

是不是比普通的母函数法方便多了。


有重根:

设$\beta$是$C(x)$的$k$重根

则$G(x)$可化简为:

$$G(x) = \sum_{i=1}^{k} \frac{l_i}{(1- \beta x)^i}$$

于是:

$$a_n = \sum_{i=1}^{k} l_i C_{n+i-1}^{i-1} \beta^n$$

和无重根的情况一样,我们同样可以列出$k$个方程来求解$l_i$的值。

下面来看一个例题:

  • $a_n - 4a_{n-1} + 4_a{n-2} = 0, a_0 = 1, a_1 = 4$,求$a_n$的值

  写出特征多项式:$C(x) = x^2 - 4x + 4 = 0, (x-2)^2 = 0$

  于是$G(x) = \frac{l_1}{1 - 2x} + \frac{l_2}{(1 - 2x)^2}$

  于是:$a_n = l_1 * 2^n + l_2(n+1)2^n$

  代入:$a_0 = 1, a_1 = 4$,解得:$l_1 = 0, l_2 = 1$

  所以:$a_n = (n+1)2^n$


复数根:

对于复数还不是太懂,先咕着。。。

转载于:https://www.cnblogs.com/Aegir/p/10538151.html

线性常系数齐次递推关系与特征多项式相关推荐

  1. 利用MATLAB求解一阶线性常系数非齐次微分方程组

    用矩阵函数求解一阶线性常系数非齐次微分方程组 主要步骤 1.问题形式 2.求矩阵函数 3.代入矩阵A的指数函数得最终解 主要步骤 本来想用在矩阵论期中开卷考试验证计算结果的,结果一个解方程组的题也没考 ...

  2. 组合数学9-线性常系数奇次递推关系

    文章目录 线性常系数奇次递推关系 一 定义 二 特征多项式 1.常见数列的特征多项式 2.通用特征多项式推导 (1)数学推导 (2)结论 (3) 特征多项式 C ( x ) C(x) C(x)无重根 ...

  3. 【模板】BM + CH(线性递推式的求解,常系数齐次线性递推)

    这里所有的内容都将有关于一个线性递推: $f_{n} = \sum\limits_{i = 1}^{k} a_{i} * f_{n - i}$,其中$f_{0}, f_{1}, ... , f_{k ...

  4. 【组合数学】递推方程 ( 常系数线性齐次递推方程 | 常系数、线性、齐次 概念说明 | 常系数线性齐次递推方程公式解法 | 特征根 | 通解 | 特解 )

    文章目录 一.常系数线性齐次递推方程 二.常系数.线性.齐次 概念说明 三.常系数线性齐次递推方程公式解法 四.常系数线性齐次递推方程公式解法内容概要 一.常系数线性齐次递推方程 常系数线性齐次递推方 ...

  5. 组合数学之递推关系(二)常系数线性齐次递推关系及其通项求解

    说明 本文参考了组合数学课件,精简整理了一下内容并谈谈自己的理解 这啥关系,说白了就是可以用来矩阵加速的东西 形如an=k1∗an−1+k2∗an−2+k3∗an−3+...+km∗an−man=k1 ...

  6. matlab求解常系数线性差分方程,用matlab实现线性常系数差分方程的求解

    用matlab实现线性常系数差分方程的求解 数字信号处理课程设计 题目: 试实现线性常系数差分方程的求解 学院: 专业: 班级: 学号: 组员: 指导教师: 题目:用Matlab实现线性常系数差分方程 ...

  7. 【数字信号处理】线性常系数差分方程 ( 概念 | 线性常系数差分方程解法 )

    文章目录 一.线性常系数差分方程概念 二.线性常系数差分方程解法 一.线性常系数差分方程概念 对于 " 离散时间系统 " , 可以使用 " 线性 常系数 差分方程 &qu ...

  8. 常系数齐次线性微分方程的解及其在求解微幅波控制方程中的运用

    文章目录 一.齐次线性微分方程及其求解 | 解的结构: | 例如: 二.常系数齐次线性微分方程及其求解 | 特征方程的解 (1)两个不同的实数根: (2)两个相同的实数根: (3)两个不同的共轭复数根 ...

  9. 7.7 常系数齐次线性微分方程

    上一篇内容主要是线性微分方程的解的结构,本篇更偏重于实际的解题过程和方法. 本篇内容为常系数齐次线性微分方程的求解.关于常系数齐次线性微分方程的求解,我们主要总结的是二阶方程,对于二阶以上的部分,在篇 ...

最新文章

  1. 关于PPP Multilink协议的配置
  2. 【Dijkstra算法】未优化版+优先队列优化版
  3. 2021年春季学期-信号与系统-第六次作业参考答案-第四小题
  4. ios JSON 解析流程(转)
  5. [C]Ubuntu 13.04实现NVIDIA双显卡切换
  6. directoryinfo 读取 映射磁盘_LoaRunner性能测试系统学习教程:磁盘监控(5)
  7. 好代码是管出来的——.Net Core集成测试与数据驱动测试
  8. 想让数据分析更简便,怎能少了它!
  9. android聊天界面对话气泡_你在和脚本谈恋爱(自动化在IM聊天中的应用)
  10. SQL prompt无法激活跳转到127.0.0.1:22223的解决方案
  11. adadelta算法_c – 尝试理解adadelta算法
  12. matlab单元刚度矩阵,求助:关于有限元三角形单元合成总刚度矩阵怎么处理
  13. 饿了么接入之饿了么首次下单测试
  14. JAVA获取CKplayer真是地址,ckplayer的使用问题
  15. 714.买卖股票含手续费
  16. inferred type_您最终可以使用var在Java中声明Inferred Type局部变量-这就是为什么它很棒...
  17. 心情好些了,发现自己还是适合专注科研
  18. 华为 DHCP基本配置及概念
  19. 计算机原码 反码 和 补码
  20. SpringBoot JDBC Mysql 时区报错 serverTimezone解决方案分析

热门文章

  1. [总结]读取应用程序/类库配置文件(比如***.dll.config)的方法小结
  2. oracle11g ora 00904,【排故篇_oracle11g升19c之ORA-00904 WM_CONCAT invalid identifie排故
  3. 网络营销:从战略到战术
  4. Roguelike 游戏中的计算哲学
  5. 长江大学c语言程序设计答案,C语言程序设计卷及答案.doc
  6. GitHub上最火的Android开源项目
  7. ct图像的特点以及CT相关
  8. 003.小插曲之变量和字符串
  9. 0投资创业做什么比较好零投资创业项目
  10. 深入Golang内存管理(三) 内存对齐篇