使用矩阵求幂的线性递归[关闭]
Posted
技术标签:
【中文标题】使用矩阵求幂的线性递归[关闭]【英文标题】:Linear Recurrence Using matrix exponentiation [closed] 【发布时间】:2015-04-19 06:06:04 【问题描述】:矩阵求幂可用于求解线性递归。 我知道如何解决线性重复,例如:
f(n) = f(n-k1) + f(n-k2) + ... + constant
但我找不到任何关于如何解决类似问题的信息
f(n) = f(n-k1) + f(n-k2) + ... + n^m
或
f(n) = f(n-k1) + f(n-k2) + ... + n*m
或
f(n) = f(n-k1) + f(n-k2) + ... + k^n
IE。
涉及一个“n”项。
谁能给我提供任何链接或解释如何解决此类重复问题 或如何形成初始矩阵,其幂将用于解决递归。
【问题讨论】:
【参考方案1】:这是一个例子。假设f(n) = f(n-1) + f(n-2) + (n-1)^2
。我们还有n^2 = (n-1)^2 + 2(n-1) + 1
和n = (n-1) + 1
,它们为代数项提供线性递归。以矩阵形式,
|1 1 1 0 0| |f(n-1) | | f(n) |
|1 0 0 0 0| |f(n-2) | |f(n-1)|
|0 0 1 2 1| |(n-1)^2| = | n^2 |
|0 0 0 1 1| | n-1 | | n |
|0 0 0 0 1| | 1 | | 1 |
重复左边的操作到n=2
。
【讨论】:
第三行是不是不对。据此计算n^2 = f(n-2) + (n-1)^2 + n-1。应该是| 0 0 1 2 2 |. 第一行也应该是 | 1 1 1 2 1 |.我说的对吗? 谢谢,我会改正的。 我主要把recurrence改成f(n) = f(n-1) + f(n-2) + (n-1)^2
。以上是关于使用矩阵求幂的线性递归[关闭]的主要内容,如果未能解决你的问题,请参考以下文章