诚然,我是这个主题的新手,所以这可能是一个非常简单的问题。
假设我想用代数多重网格多次求解(大稀疏)线性系统 Ax = b,并且 b 每次都(略微)变化。据我了解,AMG 根据误差的平滑度选择其粗网格,这取决于 b,因此每次 b 更改时都必须重新执行此操作,尽管 A 保持不变。
这个对吗?与几何多重网格(如果适用)相比,这不是一个巨大的交易吗?
诚然,我是这个主题的新手,所以这可能是一个非常简单的问题。
假设我想用代数多重网格多次求解(大稀疏)线性系统 Ax = b,并且 b 每次都(略微)变化。据我了解,AMG 根据误差的平滑度选择其粗网格,这取决于 b,因此每次 b 更改时都必须重新执行此操作,尽管 A 保持不变。
这个对吗?与几何多重网格(如果适用)相比,这不是一个巨大的交易吗?
在代数多重网格中,通常有两个步骤:
1)设置:在这里我们计算矩阵和插值矩阵 (,) 在每个网格级别。这是基于计算完全来自矩阵信息的 c 点和 f 点在每个级别。我们不需要右手边向量来完成这个设置步骤。
2)求解:一旦我们在每个级别都有我们的 A 矩阵和插值矩阵,我们就执行递归多重网格算法:
总之,对于右手边向量的许多不同选择,设置步骤可以完成一次,因为在每个级别找到矩阵和插值矩阵 ( , ) 不涉及右手边向量,而只涉及来自矩阵。