最近遇到一个问题
对于大型线性系统,有句俗话说:由于直接方法的内存问题,需要迭代方法。
但是当我在Matlab中进行一些实验时,我发现了一个奇怪的现象:我在2D中使用泊松方程并使用Q1元素,网格输入为10,我得到了一个系统:
where is,大而稀疏。
原则上,我们应该使用迭代方法,例如 PCG 或 minres 内置 Matlab,与 AMG preconditioner。但是当我A\f
在命令窗口输入时,Matlab 直接法只需要秒,速度很快。
然后,我想用 AMG 预处理器测试 PCG。我发现设置 AMG 预调节器的时间非常长。一开始以为是系统规模不够大,然后我用grid input=11,内存坏了,无法生成 ,所以在我的PC上,我无法得到结果对于大型稀疏系统,迭代方法优于直接方法。为什么?是不是尺寸不够的原因?但更大的系统无法在我们的个人电脑中生成。
我也认为对于大型稀疏系统,迭代方法是必要的,但数值结果却相反:Matlab 的A\b
速度如此之快。
我们应该如何理解“大型稀疏系统迭代方法优于直接方法”的说法?你能给我一些建议吗?