计算多项式矩阵的逆

时间:2014-10-17 16:45:40

标签: algorithm matlab matrix linear-algebra

我正在使用以下结构的系统:

L (k,m) = A2 k2 + A1 k + A0 - m B

我有数字的矩阵(A2A1A0B},并希望计算L-1的系数矩阵,以便我可以针对给定组合(L-1)评估k,m,而无需每次计算矩阵逆。有人能为我指出这种类型的算法/操作的正确方向吗?我甚至不确定我是否知道搜索关于该主题的线性代数文献的正确搜索术语。我正在使用MATLAB。

1 个答案:

答案 0 :(得分:2)

你可以从http://en.wikipedia.org/wiki/Invertible_matrix#Analytic_solution看到,矩阵的逆可以写成子行列式的矩阵除以行列式,因此它的条目是有理函数 - 一个多项式除以另一个。鉴于您已经知道这一点,并且您可以计算出所涉及的多项式的阶数,理论上应该可以恢复它们,例如通过将正确阶数的有理函数拟合到在有限数量的点处计算的逆。然后,您可以通过评估找到的有理函数来计算更多的逆,而不是做一个明确的逆。

然而,请注意,下面计算的三乘三矩阵示例的行列式是三元组的总和,因此在您的情况下,它将是k中六度的多项式,并且具有像k ^这样的叉积项4米。我怀疑这样可以节省很少或没有时间像往常一样计算逆,并且在数字上不稳定。然而它确实指出,任何这样做的公式也会非常复杂,因为它相当于制定了相当高度的理性函数。

有一些矩阵标识用于避免重新计算矩阵求逆,例如http://en.wikipedia.org/wiki/Binomial_inverse_theorem。我不认为这直接适用于您的情况,但可能存在某些问题,特别是如果您的A和B矩阵不是满级的。