积分变换求逆的数值方法?


11

我正在尝试将以下整数转换数字化:

F(y)=0yexp[12(y2+x2)]I0(xy)f(x)dx

因此,对于给定的F(y)我需要近似f(x) ,其中:

  • f(x)F(y)是实数和正数(它们是连续的概率分布)
  • x,y是实数和正数(它们是大小)

我现在有一个非常凌乱而蛮力的方法:

我定义f(x)和样条曲线在一系列点上,通过随机采样“猜测”样条曲线点的值,从而得出预测的F(y)。我写的基本遗传算法使预测的和测量的F(y)数组之间的差异最小。然后,我将算法收敛到的f(x)作为反演的答案。

这种方法在某些简单的情况下效果很好,但对我来说却很杂乱,而且不够健壮。

谁能为我提供解决此问题的更好方法的指导?

感谢您的时间和帮助!

[x张贴于计算机科学]

Answers:


13

一个相当简单的方法是在函数空间中选择一个基础并将积分变换转换为矩阵。然后,您可以将矩阵求逆。

从数学上讲,这是这样工作的:您需要一些正交基函数。(你可以逃脱,没有他们被归过,但它更容易解释这种方式。)正交手段内积牛逼牛逼Ĵ= δ Ĵ,其中Ti(x)Ti,Tj=δij

(1)Ti,TjabW(x)Ti(x)Tj(x)dx=δij

这里是一些权重函数。那和极限ab与您对T i的选择有关。一旦选择了要使用的一组基础函数,就可以将极限和权重函数硬编码到程序中。W(x)abTi

使用正交性,您可以将任何函数(例如F y ))表示为这些基本函数的线性组合:f(x)F(y)

(2)f(x)=iciTi(x)F(y)=jCjTj(y)

系数计算为

(3)ci=f,Ti=abW(x)f(x)Ti(x)dx(4)Cj=F,Tj=abW(y)F(y)Tj(y)dy

您可以验证这些表达式与系数eq的定义是否一致。(2),以及正交性,等式。(1)。

现在,计算每个基本函数的转换;让我们叫它T~i(y)

T~i(y)0yexp[12(y2+x2)]I0(xy)Ti(x)dx

是一个函数,所以你可以表达它的,就像我们做了与基函数的线性组合˚FX˚FÿT~i(y)f(x)F(y)

T~i(y)=kAikTk(y)

矩阵元素的确定方法与上述c iC j相同AikciCj

(5)Aik=T~i,Tk=abW(y)T~i(y)Tk(y)dy

实际上,这是一个相当棘手的双积分,但是对于k的每个组合,您只需(一次)执行一次。您可以对数字进行积分,然后在程序中对结果值进行硬编码。(旁注:通过明智地选择T ix W x ,您可能能够做到这一点,从而可以象征性地完成积分。是否可行取决于您的变换。您可以使用傅里叶变换,但我倾向于认为您在这里询问的变换是不可能的。)ikTi(x)W(x)

根据矩阵元素以及系数c iC jf x F y 之间的关系简化为线性系统AikciCjf(x)F(y)

jCjTj(y)F(y)=0yexp[12(y2+x2)]I0(xy)iciTi(x)f(x)dx=ici0yexp[12(y2+x2)]I0(xy)Ti(x)dx=icikAikTk(y)

给定的基函数的正交性,可以隔离任何特定系数通过取两侧的内积Ť CT

(jCjTj),T=(icikAikTk),TabW(y)jCjTj(y)T(y)dy=abW(y)icijAikTk(y)T(y)dyjCjabW(y)Tj(y)T(y)dy=icikAikabW(y)Tk(y)T(y)dyjCjδj=icikAikδkC=iciAi

当然只是一个虚拟索引,因此我将回到它的名称C jCj

这只是线性代数问题。是向量的一个分量,c i也是,而A i j是一个矩阵的分量。您可以从要使用eq转换的函数中计算c i。(3),并且从您为该特定积分变换(等式)所做的一次性计算中知道A i j。(5),因此您可以通过执行矩阵乘法(这是非常擅长的计算机)来获得C j s,然后从使用等式的那些中重建函数F y 。(2)。CjciAijciAijCjF(y)

相反,要进行逆变换,请从函数,使用等式从中计算C j s。(4),然后您需要求解线性系统F(y)Cj

Cj=iciAij

这可以通过将两边都乘以矩阵的逆来完成,但是实际上有更有效的方法可以做到这一点。使用您拥有的任何线性代数库的线性系统求解器。A

请注意,到目前为止,我所写的所有内容都未指定j等上的和的限制。实际上,您将需要选择一些限制,例如1N(您选择N),以便可以通过T 1x T的线性组合充分地逼近您可能遇到的任何f x Nx 以及1M之类的范围,使得任何F y ij1NNf(x)T1(x),,TN(x)1MF(y)通过的线性组合可以很好地近似。选择M = N可能是最简单的。在这里,“足够好”的意思取决于您。通常,您使MN越大,您的近似值就会越好,但是您需要更多的内存(和时间)来进行计算。请记住,您需要计算N个系数c i,对于矩阵A,您需要具有M × NT1(y),,TM(y)M=NMNNciAM×N系数来计算,从Ñ 中号A11ANM

用于在有限的时间间隔,其可以是线性重新调整为定义函数中,切比雪夫多项式是一个常见的选择Ť 。从某种意义上说,切比雪夫多项式使用固定数量的项产生给定函数的最精确近似,这使得它们特别适合于此类应用。如果可以截断概率分布的域,则可以使用它们。它们与权重W x = 1相关[1,1]TiW(x)=11x2a=1b=1Ti,Tj=δijπ/2i=j0T0,T0=π

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.