数值积分和MonteCarlo方法数值积分令则零阶近似.docx

上传人:b****3 文档编号:795055 上传时间:2022-10-13 格式:DOCX 页数:13 大小:368.37KB
下载 相关 举报
数值积分和MonteCarlo方法数值积分令则零阶近似.docx_第1页
第1页 / 共13页
数值积分和MonteCarlo方法数值积分令则零阶近似.docx_第2页
第2页 / 共13页
数值积分和MonteCarlo方法数值积分令则零阶近似.docx_第3页
第3页 / 共13页
数值积分和MonteCarlo方法数值积分令则零阶近似.docx_第4页
第4页 / 共13页
数值积分和MonteCarlo方法数值积分令则零阶近似.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数值积分和MonteCarlo方法数值积分令则零阶近似.docx

《数值积分和MonteCarlo方法数值积分令则零阶近似.docx》由会员分享,可在线阅读,更多相关《数值积分和MonteCarlo方法数值积分令则零阶近似.docx(13页珍藏版)》请在冰豆网上搜索。

数值积分和MonteCarlo方法数值积分令则零阶近似.docx

数值积分和MonteCarlo方法数值积分令则零阶近似

第二章数值积分和MonteCarlo方法

第一节数值积分

令,则

零阶近似

一阶近似

从直观看,用近似比只用或好。

这方法也称Trapezoid方法。

这样的数值积分方法的

优点:

●简单直观,误差可以控制

缺点:

●“平均主义”,

在的区域,对S贡献很小,但消耗同等的机时。

在多自由度系统这弱点尤为特出。

问题:

直观地看,零级近似和一级近似的差别在哪?

习题:

编程序数值计算高斯积分。

第二节MonteCarlo方法

如何用随机方法求积分?

例如,可用‘抛石子’方法。

但这方法不比简单的数值积分有效。

1.简单抽样的MonteCarlo方法

均匀地随机地选取[]中,显然,

当M足够大,当然可以得到足够好的积分值。

问题:

为什么误差是?

答:

不妨把这看成一个M次测量的实验,假设每次测量都是独立的,由涨落理论,误差应为。

比较误差:

MonteCarlo方法

数值积分Trapezoid方法

对单自由度而言,数值积分方法要有效得多。

对多自由度,例如d自由度,

MonteCarlo方法!

数值积分Trapezoid方法

当d非常大,数值积分方法根本没法和MonteCarlo方法比较。

我们当然可以再改进数值积分方法的精度,但这种改进的量级没法和d的大小比拟。

在多体系统的数值模拟中,d通常至少是!

MonteCarlo方法真的是完美了吗?

当然不是。

●‘平均主义’的弱点其实还没改进

下面我们引入所谓的重要抽样MonteCarlo方法

●当引入重要抽样方法后,每次抽样的样品可能不独立

如何取得独立的抽样,是MonteCarlo方法的重点所在!

 

2.重要抽样的MonteCarlo方法

如果被积函数f(x)是均匀的函数,则简单抽样方法已经可以得到

相当准确的积分值。

如果被积函数f(x)不是均匀的函数----这在高维积分十分常见,则必须引入重要抽样。

我们希望在对积分贡献大的区域多取样品,在贡献小的区域少取样品。

设积分为

其中f(x)是均匀函数,W(x)是不均匀函数,而且,可以归一化,给予概率分布的含义。

假设我们可以按照分布W(x)得到,则

注意:

现在W(x)不出现在求和式子中,而是体现在的分布里。

证明:

如第一节方法,把[]分为n个小区间,

区间的数目约为

显然

关键:

如何按分布,产生M个(即上面的)

问题:

可以用产生随机数的方法产生吗?

答:

多自由度,有相互作用时不可能

3.Markov过程

产生的方法:

构造一个Markov过程,即给出一个动力学规则,由随机地产生。

那么,给一个,可产生

如果随机过程满足一定条件,则当足够大时,即达到“平衡态”时,按分布。

两个条件:

各态历经

从概率上说,在有限时间内可走遍[]

细致平衡

Markov过程由从到的转移概率定义。

设为过程从转移(或跃迁)到的概率,为从到的概率。

则细致平衡条件为

记忆:

从转移到的概率正比与

证明:

设为的“非平衡态”分布

细致平衡条件显然保证满足上述方程,所以,

不过,细致平衡条件是充分条件。

第三节Metropolis算法和Heat-bath算法

Markov过程的全部信息包含在转移概率中

●细致平衡条件是平衡态的要求

●是否各态历经常常可以直观判断

必须给出从任意x到任意x’的概率,但这并不一定要求从x到任意x’的概率都是零。

各态历经只要求在有限时间内,即的有限次作用,能到达x’。

1.Metropolis算法

Metropolis(1915-1999)

ThePaperwascited7500times

from1988to2003

 

即满足细致平衡条件。

但是,注意到是转移概率,所以应有归一化条件

上面的还不满足归一化条件。

所以,完整的Metropolis算法的转移概率是

其中是从x选中x’的概率,而且。

这样的转移概率仍然满足细致平衡条件。

当然,归一化条件也能保证。

例如,可选

1.,即均匀选取x’

2.

归纳起来,Metropolis算法包括如下步骤:

1)设,按选取尝试x’,

2)以概率取

以概率取(!

第二步要记住,初学者容易误解,以为一旦x’不被采纳,重新选取尝试x’。

不难理解,无论是1或2方案的,Metropolis算法都满足各态历经条件,因为只要,在有限时间取到x’的概率不为零。

Metropolis算法非常普遍。

一个重要的例子,在物理学中,常取为正则分布,

其中H(x)代表能量,T是温度,k是Boltzmann常数。

所以,跃迁概率为

如何在计算机上实现?

1设已到达点,按均匀分布随机地取

为一‘恰当’的数

例如,取为计算机上常用的“随机”数,则

②以概率取

以概率取

例如,计算,取随机数

如果,取,否则

③如何取?

这与具体系统有关。

通常通过尝试改变以判断是否够大,即随机过程是否已到达“平衡”态。

一般。

不过,对单自由度问题,不重要。

练习:

计算,和解析结果比较

②,计算

●讨论的作用

●对没有解析解的系统,如何判断数值结果的可靠性和正确性?

●有兴趣的同学还可以和数值积分比较,会发现MonteCarlo方法在单自由度情形没有优势

2.Heat-bath算法

Heat-bath算法没有Metropolis算法那么普遍

但也是多体系统研究中的典型方法之一

Heat-bath算法直接取转移概率为

这算法自然是各态历经并且满足细致平衡条件的。

●Heat-bath算法的特点是与x无关

在某些情形会显示出优越性

●当较复杂,在计算机上不一定能够找到简单的实现

事实上,对单自由度情形,已经是直接产生平衡态分布

例如,如果x只取x1和x2,可取

计算机上的实现:

取随机数

如果,取,否则

这一算法可简单推广到x取多个分立值情形。

当x是连续变量时,不一定能实现Heat-bath算法。

但我们可以结合Metropolis算法和Heat-bath算法。

例如,取

这算法Metropolis的特征多些。

归纳起来,Metrpolis算法或Heat-bath算法可以相当普遍地实现重要抽样的MonteCarlo模拟方法。

但是,对多体系统,抽样得到的样品可能不独立,即有关联。

设关联时间为,即每个样品才有一个是独立的。

那么,误差为

当很大时,MonteCarlo方法遇到极大困难。

对物理学家而言,这是MonteCarlo算法需要解决的重要问题。

第四节Langevin方程

问题:

系统的Hamiltonian量为S,

平衡态分布为,(这里温度已吸收到S)。

假设系统时处于一初始状态,系统如何演化至平衡态?

单自由度

Langevin方程

对固定

如果没有随机力,平衡态为,即能量取极小值。

如果存在随机力,体系会被推离能量极小,处于某种能量较高的平衡态。

由于随机力的存在,Langevin方程存在复杂性,因为我们必须考虑对随机力带来的奇异性。

为了简单起见,我们对

时间分立化在数值模拟中应用

较直观

Z=

Langevin方程

方程的解是随机变量,在数值模拟中给定初始值还不确定,与随机力有关。

也就是说,在t时刻,x遵从一个分布。

物理量的平均值

问题:

的含义?

答:

必须对t之前的所有随机力做平均。

Langevin方程其实也是一种MonteCarlo方法

注意到x和x’之差是无穷小,

Fokker-Planck方程的推导和平衡态

又∵

这里做分步积分时,假设

另一方面

Fokker-Planck方程

显然

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1