在我部分意识到问题所在后,对问题进行了大量编辑
我为泊松方程编写了一个简单的二维平方有限元解
源函数积分为零,我正在实施为自然边界条件。这导致了三对角块矩阵结构。如下:
是对称的,半正定的,但奇异的(在变换下不变
自从我没有在右手边做任何事情来实施.
当然系统不是唯一可解的(直到一个常数),所以我在稀疏矩阵的底部包含一行 1 来表示. 我还在右侧添加了一列表示要求解 (?) 的拉格朗日数。右下角为零。
这个答案有一些关于我的系统是如何设置的信息。
无论如何使用 scipy 的库解决稀疏系统是没有问题的。结果如下:
现在看看当我尝试用我自己的 CG 方法或 scipy 的方法解决时的结果,类似的结果:
有人有类似的经历吗?任何想法我做错了什么?我正在使用np.linalg.cond
,发现条件号是626。
错误有时会向上跳跃,这似乎是不正确的。
提前致谢