用数字解决难题方程组
我有一个要求解的个非线性方程组:ñnn f = (f 1,… ,f n)F(x)= af(x)=a\mathbf{f}(\mathbf{x})=\mathbf{a} F= (f1个,… ,fñ)x =( x1个,… ,xñ)f=(f1,…,fn)x=(x1,…,xn)\mathbf{f}=(f_1,\dots,f_n)\quad\mathbf{x}=(x_1,\dots,x_n) 该系统具有许多特性,使其特别难以操作。我正在寻找有关如何更有效地处理系统的想法。 为什么系统很难? 功能类似于此功能(但当然是多维的): 它们具有平坦的高原,由平坦的变化区域隔开。在2D中,您可以想象一个像这样:F一世fif_i 通常,每个具有两个平稳段,这些平稳段通过围绕维超平面的平滑变化而分开。 Ñ - 1F一世fif_in − 1n−1n-1 像牛顿那样的方法很难处理这样的函数,因为导数在高原上实际上为零。在多个维度上,我无法轻易找到都没有稳定的F一世fif_i区域,如果可以的话,就可以解决问题。二等分方法在效果很好,但是不能很好地推广到多个维度。n = 1n=1n=1 这些函数的计算速度非常慢。我正在寻找一种方法,它可以在尽可能少的迭代中获得根的合理近似值。 这些函数是使用蒙特卡洛方法计算的。这意味着每次计算它们时,我都会得到略有不同的随机值。导数很难估计。一旦我们距离根足够近,噪声将开始占主导地位,因此有必要使用平均来提高精度。理想情况下,应该有可能将方法推广到等效的随机近似版本(例如,Newton→Robbins-Monro)。 该系统是高维的。可以大到10-20。当,一种有效的方法可能是以下方法:尝试遵循和定义的轮廓并查看它们相交的位置。尚不清楚如何将其推广到高尺寸。n = 2 f 1(x 1,x 2)= 0 f 2(x 1,x 2)= 0ñnnn=2n=2n=2f1(x1,x2)=0f1(x1,x2)=0f_1(x_1,x_2) = 0f2(x1,x2)=0f2(x1,x2)=0f_2(x_1,x_2)=0 我对系统还有什么了解? 正是有一个根源(根据理论结果)。 我知道高原上的的值(假设任何为0和1 )。我fifif_iiii x i …