找到算子的不动点

计算科学 逆问题
2021-11-25 12:07:59

求算子不动点的数值方法有哪些A作用于函数f:[a,b][a,b]? 我正在寻找功能f为此Af=f.

基本细节:

我的功能f实际上是圆上分布的概率密度函数(即在周期性内部[0,2π))。这也意味着0f(x)1对于任何x[0,2π),这使问题更容易。假设我们对这个函数进行了一定密度的采样,我们可以计算算子A数字上。分布不一定是连续的,即它可能看起来像这样:

不连续分布

我正在寻找有关如何执行此操作的方法和建议。我将首先尝试在 Mathematica 中实现这一点。

我的实际问题的所有混乱细节:

这就是我实际计算运算符的方式A

  1. 我将分发作为从中抽取的大量样本
  2. 我估计PDF并将其与“方形”内核进行卷积(“方形”意味着它类似于上图)。这给了我一个相当流畅的功能。
  3. 我对函数设置阈值以获得另一个二进制值函数g:[a,b]0,1.
  4. 从这个二进制值函数中,我再次计算从分布中抽取的大量样本

我提到这一点是因为这意味着我们可以使用平滑函数(在卷积之后)或二进制值函数,而不是使用 PFD。实际上我在实践中使用二进制值函数。

我知道普通实函数(不是运算符)的不动点可以是“吸引”或“排斥”,即当将该函数重复应用于一个数字时,它要么收敛到一个固定点,要么被它排斥。我不知道我的算子的不动点是什么类型。

我知道我的算子总是将均匀分布作为一个固定点,但有时(取决于我的参数)它可能有另一个。这是我需要找到的另一个。

我确实尝试反复应用运算符以查看会发生什么,有时它会收敛到我想要的固定点。但即使它不收敛,一个固定点可能仍然存在(或者如果我使用不同的初始条件,它可能只收敛到那个固定点)。所以我需要一个更强大的方法。

更混乱的细节:

实际上我的发行版不在[0,2π), 但在一个周期性的时间间隔内[0,a). 不动点只存在于某个值a. 当我反复应用运算符时,a与正确的值有一点偏差,分布似乎在周期性间隔上“旋转”。通过测量旋转量,我可以校正a.

为什么我提到这个复杂(似乎过于本地化)的细节,这对问题来说并不重要?因为当您读到分布在周期性区间上时,您会注意到,如果一个分布是一个固定点,那么该分布在该区间上的任何旋转也将是一个固定点。这可能会让您想到,在计算算子对固定点的应用时的数值错误是否会导致固定点出现轻微的“旋转”。我可以弥补这一点,所以这不是问题。

1个回答

这是所谓的逆问题的典型例子。你想找到一个函数f再现已知行为,而不是询问由什么行为产生的f.

这样做的一种方法是使用由 Lyubartsev 和 Laaksonen 开发的反向蒙特卡洛方法。他们所做的是试图找到一个潜在的u(r)再现了已知的径向分布函数g(r). 您要做的是找到一个功能f再现Af=f,因此虽然整个方法可能不适合,但您需要特别注意他们使用的迭代过程——也就是说,他们如何从猜测中走出来u(k)(r)猜测u(k+1)(r).