矩阵快速幂求线性常系数递推
这个东西十分好用,但是搞懂这个需要先知道两个要点
——矩阵乘法
——常系数递推
矩阵乘法
我们有两个矩阵
X=⎡⎣⎢213101343⎤⎦⎥Y=⎡⎣⎢1121−10⎤⎦⎥X=[213104313]Y=[111−120]
然后我们定义一个新矩阵 Z , Z=X×YZ=X×Y
其中X为a行b列,Y必须为b行c列。
那么对于矩阵中每一个元素Zij=∑bk=1Xik×YkjZij=∑k=1bXik×Ykj
而Z本身就是一个a*c的矩阵。
Z=⎡⎣⎢⎢⎢⎢⎢⎢2∗1+1∗1+3∗21∗1+0∗1+4∗13∗1+1∗1+3∗22∗1+1∗(−1)+3∗01∗1+0∗(−1)+4∗03∗1+1∗(−1)+3∗0⎤⎦⎥⎥⎥⎥⎥⎥Z=[2∗1+1∗1+3∗22∗1+1∗(−1)+3∗01∗1+0∗1+4∗11∗1+0∗(−1)+4∗03∗1+1∗1+3∗23∗1+1∗(−1)+3∗0]
于是我们就做完了一次矩阵乘法。
目前貌似算矩阵乘法只能枚举i,j,k,时间复杂度为