【发布时间】:2009-01-15 02:06:44
【问题描述】:
如前所述,我目前正在开发一个用于个人项目的小型线性代数库。矩阵被实现为 C++ 向量,元素赋值 (a(i,j) = v; ) 被委托给向量元素的赋值。对于我的项目,我需要求解大量的方方程系统,为此,我为方阵实现了 LU 分解(高斯消元法)。在当前的实现中,我避免每次通过缓存 L 和 U 矩阵来重新计算 LU 分解,问题是由于我将元素分配委托给向量,我无法找到一种方法来判断矩阵是否正在更改以及是否重新计算分解。关于如何解决这个问题的任何想法?
谢谢
【问题讨论】:
-
您有关于缓存 LU 分解的矩阵多久更改一次的统计数据吗?这种变化是否足够小以保证部分更新? (单元素更改只需要更新 1 行和 1 列)。
-
我目前没有这些统计数据,但我打算按照您的建议进行操作。
-
我认为您的意思是政策,而不是政治。微信