【问题标题】:Computing the inverse of a polynomial matrix计算多项式矩阵的逆
【发布时间】:2014-10-17 16:45:39
【问题描述】:

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

<strong>L</strong> (k,m) = <strong>A<sub>2</sub></strong> k<sup>2</sup> + <strong>A<sub>1</sub></strong> k + <strong>A<sub>0</sub></strong> - m <strong>B</strong>

我有数字矩阵(<strong>A<sub>2</sub></strong>、<strong>A<sub>1</sub></strong>、<strong>A<sub>0</sub></strong> 和 <strong>B</strong>),并且想计算 <strong>L<sup>-1</sup></strong> 的系数矩阵,以便我可以评估给定组合的 <strong>L<sup>-1</sup></strong>( k,m) 无需每次都计算矩阵逆。有人可以为我指出这种算法/操作的正确方向吗?我什至不确定我是否知道正确的搜索词来搜索有关该主题的线性代数文献。我正在使用 MATLAB。

【问题讨论】:

标签: algorithm matlab matrix linear-algebra


【解决方案1】:

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

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

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

【讨论】:

  • 没错。对于即使是中等大小的矩阵,将逆函数解析为 k 和 m 的有理函数也是非常昂贵的。最好将L 简单地用作(内联)函数,并根据需要让 MATLAB 求解线性系统。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多