|
zh.wikipedia.org/wiki/拉普拉斯方法
拉普拉斯方法是用于得出下列积分形式的近似解的方法:
$$\int _{a}^{b}\!e^{Mf(x)}\,dx$$
其中的$f(x)$是一个二次可微函数,$M$是一个很大的数,而积分边界点$a$与$b$则允许为无限大。此外,函数$f(x)$在此积分范围内的 全域极大值 所在处必须是唯一的并且不在边界点上。则它的近似解可以写为:
$$\int _{a}^{b}\!e^{Mf(x)}\,dx\approx {\sqrt {\frac {2\pi }{M\left|f''(x_{0})\right|}}}e^{Mf(x_{0})}{\text{ as }}M\to \infty .$$
其中的 $x_0$ 为极大值所在处。
拉普拉斯方法的想法概论
1. 相对误差
首先,我们得先知道的是,这里所谓的近似解是以 相对误差 在讲,而不是指 绝对误差 。因此,令
$$s={\sqrt {\frac {2\pi }{M\left|f''(x_{0})\right|}}}$$ ,
此 $s$ 很显然的当 $M$ 很大时为一个微小的数,则上述的积分可以写为
$$\begin{aligned}\int _{a}^{b}\!e^{Mf(x)}\,dx&=se^{Mf(x_{0})}{\frac {1}{s}}\int _{a}^{b}\!e^{M(f(x)-f(x_{0}))}\,dx\\&=se^{Mf(x_{0})}\int _{(a-x_{0})/s}^{(b-x_{0})/s}\!e^{M(f(sy+x_{0})-f(x_{0}))}\,dy\end{aligned}$$
因此,我们的相对误差很显然的为
$$\left|\int _{(a-x_{0})/s}^{(b-x_{0})/s}e^{M(f(sy+x_{0})-f(x_{0}))}dy-1\right|$$
现在,让我们把积分分为 $y\in [-D_{y},D_{y}]$ 的与余下的部分。
2. 函数 ${\displaystyle e^{M\left(f(sy+x_{0})-f(x_{0})\right)}}$ 在极大值附近的行为,当 $M$ 很大时会趋近于 ${\displaystyle e^{-\pi y^{2}}}$
我们现在来研究 ${\displaystyle M\left(f(x)-f(x_{0})\right)}$ 的 泰勒展开 。这里展开的原点取 $x_0$ ,并将变数由 $x$ 换为 $y$ 因为我们是在对 $y$ 做积分,再加上 $x_0$ 为函数极大值所在处,因此,
$$\begin{aligned}M\left(f(x)-f(x_{0})\right)&={\frac {Mf''(x_{0})}{2}}s^{2}y^{2}+{\frac {Mf'''(x_{0})}{6}}s^{3}y^{3}+\cdots \\&=-\pi y^{2}+O\left({\frac {1}{\sqrt {M}}}\right).\end{aligned}$$
会发现高于二次微分的部分当 $M$ 增大时,会被压抑掉,而此 指数函数 则会越来越接近 高斯函数 ${\displaystyle e^{-\pi y^{2}}}$ 且 ${\displaystyle \int _{-\infty }^{\infty }e^{-\pi y^{2}}dy=1}$ 。如下图所示:
图为 ${\displaystyle e^{M[f(sy+x_{0})-f(x_{0})]}}$ ,其中$M$为 1, 2 与 3。红色线为 ${\displaystyle e^{-\pi y^{2}}}$
3. 当 $M$ 增加,则相对应的 $x$ 范围变小${\displaystyle y\in [-D_{y},D_{y}]}$ 的部分由上面論述可知當 $M$ 越大則越接近高斯函數;並且有趣的是,相對應的 $x$ 區間則越來越小,因為 ${\displaystyle x-x_0\in [-sD_{y},sD_{y}]}$ 與 ${\displaystyle {\sqrt {M}}}$ 成反比。
4.若拉普拉斯方法所用的积分会收敛,它的相对误差相对应的非极大值附近的其余部分的积分就会随 $M$ 增大而趋近于0所以,即便 $D_y$ 取非常大, $sD_y$ 最后还是会变得非常小,那么,我们怎么保证余下的部分的积分也会趋近到0?
简单的想法是,设法找一个函数 ${\displaystyle m(x)}$ ,使它在余下的区域内 ${\displaystyle m(x)\geq f(x)}$ ,并且随着 $M$ 的增大,${\displaystyle e^{Mm(x)}}$ 的积分会趋近于0 即可。而指数函数只要指数部分为实数,它就一定大于0,并且当指数变大时,指数函数也会跟着变大。基于这两个理由, ${\displaystyle e^{Mf(x)}}$ 的积分也会趋近于0。 在此,我们可以选择此 ${\displaystyle m(x)}$ 为过 ${\displaystyle x=sD_{y}}$ 的切线函数,如下图所示:
${\displaystyle m(x)}$ 以斜直线代表,为点 $x=x_{0}±sD_{y}$ 处的切线,当 ${\displaystyle sD_{y}}$ 越小,涵盖的范围越大
若为有限积分区间,我们可以看出,只要 $M$ 够大,这切线的斜率就会趋近于0 ,因此,不管 $f(x)$ 在其余部分是否连续,它们总会在这切线以下,并且很容易证明(后面会证) ${\displaystyle e^{Mm(x)}}$ 的积分当 $M$ 很大时,就会趋近于0。
然而,若积分范围是无限大的话,那么,${\displaystyle m(x)}$ 就有可能总是与 $f(x)$ 有相交,若有相交,则表示无法保证 ${\displaystyle e^{Mf(x)}}$ 的积分最后会趋近于0。比方 ${\displaystyle f(x)={\frac {\sin(x)}{x}}}$ 的情形下,不管 $M$ 为多少,它的 ${\displaystyle \int _{0}^{\infty }e^{Mf(x)}dx}$ 总是会发散。所以,对于积分范围为无限大的情形,还得要求 ${\displaystyle \int _{d}^{\infty }e^{Mf(x)}dx}$ 会收敛才行,那么,只要 $d$ 越来越大,该积分就会趋近于0。而这 $d$ 可选为${\displaystyle m(x)}$ 与 $f(x)$ 相交之处即可,即保证所有余下的部分的积分会趋近于0。
也许您会问说,为何不是要求 ${\displaystyle \int _{d}^{\infty }e^{f(x)}dx}$ 会收敛?举个例子,若 $f(x)$ 在余下区域内为 ${\displaystyle -\ln x}$ ,则 ${\displaystyle e^{f(x)}={\frac {1}{x}}}$ ,积分会发散,然而,当 ${\displaystyle M=2}$ , ${\displaystyle e^{Mf(x)}={\frac {1}{x^{2}}}}$ 的积分却是收敛的。所以,有的函数在 $M$ 小的时候会发散,然而,当 $M$ 够大时却会是收敛的。 基于上述四点,就有办法证明拉普拉斯方法的可靠性。而 Fog(2008) 又将此方法推广到任意精确。(待考查)
此方法的正式表述与证明:
假设 $f(x)$ 是一个在 ${\displaystyle x_{0}\in (a,b)}$ 这点满足 (1) ${\displaystyle f(x_{0})=\max _{[a,b]}f(x)}$ ,(2)唯一全域最大,(3) $x_{0}$ 附近为二阶可微且 ${\displaystyle f''(x_{0})<0}$,(4) 当拉普拉斯方法的积分范围为无限大时,此积分会收敛,
则,
$$\lim _{n\to +\infty }\left({\frac {\int _{a}^{b}e^{nf(x)}\,dx}{\left(e^{nf(x_{0})}{\sqrt {\frac {2\pi }{n(-f''(x_{0}))}}}\right)}}\right)=1$$
证明
下限 :
在 ${\displaystyle f''}$ 要求连续的条件底下,给定任意大于0的$\varepsilon $ 就能找到一个 $\delta >0$ 使得在 ${\displaystyle |x_{0}-x|<\delta }$ 这区间内所有的 $f''(x)\geq f''(x_{0})-\varepsilon$ 。 由 泰勒展开 我们可以得知,在 ${\displaystyle x\in (x_{0}-\delta ,x_{0}+\delta )}$ 区间内, ${\displaystyle f(x)\geq f(x_{0})+{\frac {1}{2}}(f''(x_{0})-\varepsilon )(x-x_{0})^{2}}$ 。
这样,我们就得到本方法的积分下限了:
$$\int _{a}^{b}e^{nf(x)}\,dx\geq \int _{x_{0}-\delta }^{x_{0}+\delta }e^{nf(x)}\,dx\geq e^{nf(x_{0})}\int _{x_{0}-\delta }^{x_{0}+\delta }e^{{\frac {n}{2}}(f''(x_{0})-\varepsilon )(x-x_{0})^{2}}\,dx=e^{nf(x_{0})}{\sqrt {\frac {1}{n(-f''(x_{0})+\varepsilon )}}}\int _{-\delta {\sqrt {n(-f''(x_{0})+\varepsilon )}}}^{\delta {\sqrt {n(-f''(x_{0})+\varepsilon )}}}e^{-{\frac {1}{2}}y^{2}}\,dy$$
其中最后一个等号来自于变数变换: ${\displaystyle y={\sqrt {n(-f''(x_{0})+\varepsilon )}}(x-x_{0})}$ 。请记得 ${\displaystyle f''(x_{0})<0}$ ,所以我们才会对它的负号取开根号。
接着让我们对上面的不等式两边同除以 ${\displaystyle e^{nf(x_{0})}{\sqrt {\frac {2\pi }{n(-f''(x_{0}))}}}}$ 并且对 $n$取极限,则
$$\lim _{n\to +\infty }\left({\frac {\int _{a}^{b}e^{nf(x)}\,dx}{\left(e^{nf(x_{0})}{\sqrt {\frac {2\pi }{n(-f''(x_{0}))}}}\right)}}\right)\geq \lim _{n\to +\infty }{\frac {1}{\sqrt {2\pi }}}\int _{-\delta {\sqrt {n(-f''(x_{0})+\varepsilon )}}}^{\delta {\sqrt {n(-f''(x_{0})+\varepsilon )}}}e^{-{\frac {1}{2}}y^{2}}\,dy{\sqrt {\frac {-f''(x_{0})}{-f''(x_{0})+\varepsilon }}}={\sqrt {\frac {-f''(x_{0})}{-f''(x_{0})+\varepsilon }}}$$
既然上式是对任意大于0的 $\varepsilon $ 都对,所以我们得到:
$$\lim _{n\to +\infty }\left({\frac {\int _{a}^{b}e^{nf(x)}\,dx}{\left(e^{nf(x_{0})}{\sqrt {\frac {2\pi }{n(-f''(x_{0}))}}}\right)}}\right)\geq 1$$
请注意,上面的证明也适用于 ${\displaystyle a=-\infty }$ 或 ${\displaystyle b=\infty }$ 或双双跑到正负无限大的情况
上限 :
证明上限的部分其实和证明下限的部分很像,但是会较麻烦。再一次,我们取$\varepsilon >0$ ,不过,不再是任意而是多了一个要求 $\varepsilon $ 得够小以致于 ${\displaystyle f''(x_{0})+\varepsilon <0}$ 。接着,就如同之前的证明,因着 ${\displaystyle f''}$ 被要求连续,并且根据 泰勒定理 我们会发现总存在一个 $ \delta>0 $ 以至于在 ${\displaystyle |x-x_{0}|<\delta }$ 区间里, ${\displaystyle f(x)\leq f(x_{0})+{\frac {1}{2}}(f''(x_{0})+\varepsilon )(x-x_{0})^{2}}$ 总是可以成立。 最后,在我们的假设里 (假设 ${\displaystyle a,b}$ 都是有限值) ,由于 $x_{0}$ 是全域最大所在处,我们总可以找到一个 ${\displaystyle \eta >0}$ 使得所有在 ${\displaystyle |x-x_{0}|\geq \delta }$ 这区间里, ${\displaystyle f(x)\leq f(x_{0})-\eta }$ 总是成立。
现在,万事俱备,东风就在下面啦:
$$\int _{a}^{b}e^{nf(x)}\,dx\leq \int _{a}^{x_{0}-\delta }e^{nf(x)}\,dx+\int _{x_{0}-\delta }^{x_{0}+\delta }e^{nf(x)}\,dx+\int _{x_{0}+\delta }^{b}e^{nf(x)}\,dx\leq (b-a)e^{n(f(x_{0})-\eta )}+\int _{x_{0}-\delta }^{x_{0}+\delta }e^{nf(x)}\,dx$$
$$\leq (b-a)e^{n(f(x_{0})-\eta )}+e^{nf(x_{0})}\int _{x_{0}-\delta }^{x_{0}+\delta }e^{{\frac {n}{2}}(f''(x_{0})+\varepsilon )(x-x_{0})^{2}}\,dx\leq (b-a)e^{n(f(x_{0})-\eta )}+e^{nf(x_{0})}\int _{-\infty }^{+\infty }e^{{\frac {n}{2}}(f''(x_{0})+\varepsilon )(x-x_{0})^{2}}\,dx$$
$$\leq (b-a)e^{n(f(x_{0})-\eta )}+e^{nf(x_{0})}{\sqrt {\frac {2\pi }{n(-f''(x_{0})-\varepsilon )}}}$$
如果我们对上面的不等式两边皆除以 ${\displaystyle e^{nf(x_{0})}{\sqrt {\frac {2\pi }{n(-f''(x_{0}))}}}}$ 并且顺便取极限的话,会得到:
$$\lim _{n\to +\infty }\left({\frac {\int _{a}^{b}e^{nf(x)}\,dx}{\left(e^{nf(x_{0})}{\sqrt {\frac {2\pi }{n(-f''(x_{0}))}}}\right)}}\right)\leq \lim _{n\to +\infty }\left((b-a)e^{-\eta n}{\sqrt {\frac {n(-f''(x_{0}))}{2\pi }}}+{\sqrt {\frac {-f''(x_{0})}{-f''(x_{0})-\varepsilon }}}\right)={\sqrt {\frac {-f''(x_{0})}{-f''(x_{0})-\varepsilon }}}$$
再一次,因为 $\varepsilon $ 可以取任意大于0的值,所以我们得到了上限了:
$$\lim _{n\to +\infty }\left({\frac {\int _{a}^{b}e^{nf(x)}\,dx}{\left(e^{nf(x_{0})}{\sqrt {\frac {2\pi }{n(-f''(x_{0}))}}}\right)}}\right)\leq 1$$
把上限与下限两个证明同时考虑,整个证明就完成了。
注意,关于上限的证明,很明显的当我们把它应用在 $a$ 或 $b$ 为正负无限大时,该上限证明会失败。那怎么办呢?我们需要再多假设一些东西。一个充分但非必要的假设是:当 ${\displaystyle n=1}$ 时,此积分 ${\displaystyle \int _{a}^{b}e^{nf(x)}\,dx}$ 为有限值,并且上面所说的 $ \eta $ 是存在的 (注意,当 ${\displaystyle [a,b]}$ 区间是无限的时候,这假设是必要的) 。整个证明过程就如同先前所显示的那样,只不过下列的积分部分要做点改变:
$$\int _{a}^{x_{0}-\delta }e^{nf(x)}\,dx+\int _{x_{0}+\delta }^{b}e^{nf(x)}\,dx$$
必须利用上述的假设,而改为:
$$\int _{a}^{x_{0}-\delta }e^{nf(x)}\,dx+\int _{x_{0}+\delta }^{b}e^{nf(x)}\,dx\leq \int _{a}^{b}e^{f(x)}e^{(n-1)(f(x_{0})-\eta )}\,dx=e^{(n-1)(f(x_{0})-\eta )}\int _{a}^{b}e^{f(x)}\,dx$$
以取代先前会得到的 ${\displaystyle (b-a)e^{n(f(x_{0})-\eta )}}$ ,这样的话,当我们除以 ${\displaystyle e^{nf(x_{0})}{\sqrt {\frac {2\pi }{n(-f''(x_{0}))}}}}$ ,就会改得到如下的结果:
$${\frac {e^{(n-1)(f(x_{0})-\eta )}\int _{a}^{b}e^{f(x)}\,dx}{e^{nf(x_{0})}{\sqrt {\frac {2\pi }{n(-f''(x_{0}))}}}}}=e^{-(n-1)\eta }{\sqrt {n}}e^{-f(x_{0})}\int _{a}^{b}e^{f(x)}\,dx{\sqrt {\frac {-f''(x_{0})}{2\pi }}}$$
这样的话,当我们取 ${\displaystyle n\rightarrow \infty }$ 时,上式的值就会趋近于 $0$ 。而剩下的部分的证明就还是如同原先的证明,不做改变。
再强调一次,这里我们多加给无限大积分范围的情形的条件,是充分,但非必要。不过,这样的条件已经可以适用在许多情形了(但非全部)。 这考虑条件简单来讲就是积分区间得是被良好定义的(即不能是无限大的),并且被积函数在 $x_0$ 必须是真的极大 (意即 ${\displaystyle \eta >0}$ 必须真的存在) ;如果这积分区间是无限大的话,要求 $n=1$ 时的此拉普拉斯方法所用的积分值要为有限并非必要的,其实只要当 $n$ 大于某数时,此积分值会是有限的即可。 |
|