一尘不染

有什么快速的矩阵求幂方法?

algorithm

有没有比简单的分而治之算法更快的矩阵求幂方法来计算M n(其中M是矩阵,n是整数)?


阅读 238

收藏
2020-07-28

共1个答案

一尘不染

您可以将矩阵分解为特征值和特征向量。然后你得到

M = V^-1 * D * V

其中V是特征向量矩阵,D是对角矩阵。要将其提高到第N次方,您将获得类似以下内容的信息:

M^n = (V^-1 * D * V) * (V^-1 * D * V) * ... * (V^-1 * D * V)
    = V^-1 * D^n * V

因为所有V和V ^ -1项都抵消了。

由于D是对角线的,因此您只需要将一堆(实数)数字提高到n次方,而不是将所有矩阵都提高。您可以在n的对数时间内完成该操作。

计算特征值和特征向量为r ^ 3(其中r是M的行数/列数)。根据r和n的相对大小,此速度可能更快或更慢。

2020-07-28