我有两种迭代算法的变体。两种算法的所有步骤都是等价的,除了一个。在这一步中:
算法 1 需要计算矩阵和;
算法 2 需要反转矩阵。
我的问题是:假设这些步骤导致了完全相同的算法迭代(即它们不会改变收敛属性),那么使用算法 1 会有什么好处吗?如果是这样,是什么?
据我所知,算法 1 只需要可以轻松并行化的矩阵倍数。但是,我不清楚算法 1 是否会更节省内存,因为必须计算并存储以将其乘以。
编辑:假设一般来说,这些矩阵是非稀疏的。
我有两种迭代算法的变体。两种算法的所有步骤都是等价的,除了一个。在这一步中:
算法 1 需要计算矩阵和;
算法 2 需要反转矩阵。
我的问题是:假设这些步骤导致了完全相同的算法迭代(即它们不会改变收敛属性),那么使用算法 1 会有什么好处吗?如果是这样,是什么?
据我所知,算法 1 只需要可以轻松并行化的矩阵倍数。但是,我不清楚算法 1 是否会更节省内存,因为必须计算并存储以将其乘以。
编辑:假设一般来说,这些矩阵是非稀疏的。
这真的取决于很多因素。不知道问题所在,我担心的是:
总而言之,我会选择乘法。
可能有一些好处,但如果不了解算法的更多细节,就不可能回答。例如,两种算法的稳定性特性可能完全不同。