矩阵乘法优于求逆的好处

计算科学 矩阵 效率 线性系统
2021-12-14 06:56:47

我有两种迭代算法的变体。两种算法的所有步骤都是等价的,除了一个。在这一步中:

算法 1 需要计算矩阵ABATARp×pBRp×p

算法 2 需要反转矩阵p×pC

我的问题是:假设这些步骤导致了完全相同的算法迭代(即它们不会改变收敛属性),那么使用算法 1 会有什么好处吗?如果是这样,是什么?

据我所知,算法 1 只需要可以轻松并行化的矩阵倍数。但是,我不清楚算法 1 是否会更节省内存,因为必须计算并存储以将其乘以ABAT

编辑:假设一般来说,这些矩阵是非稀疏的。

2个回答

这真的取决于很多因素。不知道问题所在,我担心的是:

  • 的大小将决定事情运行的速度。我认为 2 次乘法会比反转更快,尽管对于足够大的矩阵,反转和乘法算法可以调整为大致相同。p
  • 如果变得接近奇异,则反演将非常不精确或不可能。C
  • 如果是正交的,则计算逆会更简单。C
  • 内存效率和速度之间的权衡取决于您的应用程序。

总而言之,我会选择乘法。

可能有一些好处,但如果不了解算法的更多细节,就不可能回答。例如,两种算法的稳定性特性可能完全不同。