冗余变量是否有利于寻根收敛

计算科学 非线性方程 稀疏矩阵 牛顿法 寻根
2021-12-22 03:53:26

假设我有n一般非线性方程n变量,例如 forn=2系统F(x,y)=0

x2+2y4=08x+y25=0

通过为中间结果引入变量,我可以将其转换为(几乎,至少,直到一些额外的奇点,我不关心我的问题)具有更多变量的等效方程组,例如 4 4 个变量的方程G(x,y,z,w)=0

xxz=0yyw=0z+2y4=08x+w5=0

现在我想以数值方式求解这样的系统,例如,使用像KINSOL这样的牛顿求解器。

在使用该系统时是否有任何可预期甚至可证明的优势?G带有冗余变量(zw) 过度使用简化系统F? 还是通常情况更糟?

如果这个问题完全可以回答,那么答案对选择不同的求解器是否敏感?

通过挥手的论点,我同样可以得出相反的猜测:

  1. 变量越多,算法在寻找根方面的自由度就越大,并且在困难区域(例如局部不良条件数或高曲率)中不会那么容易卡住
  2. 变量越多,搜索空间的维度就越高,因此算法越有可能误入歧途

我无法想象这个问题以前从未被处理过。但显然,我不知道正确的关键字。

附录(20180310):这个问题背后的主要思想是,通过在一组复杂的方程组中为每个中间结果 引入辅助变量,可以将上述原理推向极限。剩下的是每个二元运算符(引用三个变量)的一组“原子”方程,b(xi,xj)xk=0,或一元运算符/基本函数(引用两个变量),u(xl)xm=0, 而不是更复杂的复合方程f(x1,...,xn)=0可以直接计算违反约束的情况(这很好),但是引用了许多变量(这很糟糕)。

因此,一个密集的非线性系统被简化为一个稀疏的非线性系统,同样在求解过程中,这会导致一个稀疏的线性系统。对于求根算法来说,“原子”方程可能(希望)更容易处理。

因此,问题可以重新表述为:求解具有较少变量的密集(或非常非局部耦合)系统是否更好(非线性收敛速度),或者求解等效稀疏(或仅局部耦合)系统更好许多变量(其中大部分仅代表函数计算的中间结果)。

1个回答

就计算量而言,它是无用的。我的意思是,你仍然有一个更大的雅可比矩阵的非线性问题(这是快速计算的最糟糕的部分)。

接下来的想法:密集问题总是比稀疏问题更糟糕。尝试求解稀疏系统并将其与求解密集系统所需的时间进行比较。

收敛确实取决于将要解决的功能和用于该目的的方案。例如,如果使用定点迭代,您提出的想法可能很有用,我的意思是,您需要雅可比最大特征值小于单位才能使方案收敛。这可以通过对要解决的功能的智能安排来实现。