【发布时间】:2009-04-26 20:27:02
【问题描述】:
我知道这更像是一个复杂性理论问题而不是一个编程问题,希望我在这里没有做错事情,如果是错误的地方,我很抱歉,但我希望你们中的某个人有答案。它甚至在某种程度上与编程相关,因为它是一个复杂性理论问题。
我正在研究线性循环序列,我读到为了获得它弹出的序列的第 n 个值,你需要获得一些伴随矩阵的幂,我想知道是否有已知的算法快速获得这种矩阵的幂..
我无法给出编码示例,但我会尽力为您提供更多解释:
k阶齐次线性循环序列:
s(n+k)=a(k-1)s(n+k-1)+a(k-2)s(n+k-2)+...+a(0)
对于 n=0,1,.. 其中 s(i) 是序列的第 i 个值,a(i) 是代数域中的系数。
A 是上述序列的伴随矩阵,如果它是:
( 0 0 0 0 ... 0 a(0) )
( 1 0 0 0 ... 0 a(1) )
( 0 1 0 0 ... 0 a(2) )
( .. .. .. .. .. .. .. .. .. ..)
( 0 0 0 0 ... 1 a(k-1) )
此外,理论指出,对于序列的状态向量,我们有:
s(n) = s(0)A^n for n=0,1,..
就是这样,谢谢你的帮助。
【问题讨论】: