第二章 习题(1) 采用线性同余法(参见公式(2.2.3))产生伪随机数。
取5a =,1c =,16m =和01x =.记录下产生出的前20数,它产生数列的周期是多少?(2) 取137a =,187c =,256m =和01x =,用线性同余法产生出三维数组{}12,,n n n ξξξ++和二维数组{}1,n n ξξ+,然后分别绘出其三维和二维分布图形。
(3) 用“投针法”计算出圆周率的数值,画出程序流程框图,并编写程序。
(4) 已知电子在物质中的作用截面电子对光电总σσσσ++=com pton ,试写出电子在物质层中相互作用的抽样程序框图和程序。
(5) 编写一个程序按照ξληln 1--=产生随机数序列{}i η,并绘图表明其分布满足分布密度函数⎩⎨⎧>>=-其它,00,0,)(λλλx e x f x 。
(6)τ轻子的平均寿命为s 13104.3-⨯,试写出N 个τ轻子在实验室系中以速度v 运动的飞行距离的抽样程序框图和程序。
(7) 写出各向同性分布的角度 ϕθ, 抽样程序(ϕθθd d d sin =Ω)。
(8) 如分布密度函数为nyx xe n y xf -=),(,(其中,n y x ,0,1≥≥为整数),试写出抽样程序框图和程序。
(9) 证明Breit-Wigner 分布220)(1)(Γ+-Γ=x x x f π 可以通过0()i i x x cot πξ=-Γ抽样得到 。
(10) 归一化黑体辐射频谱为)()1(15)(44T k h x dx e x dx x f x νπ=-=其中证明如下抽样步骤得到的抽样分布满足上面的分布,求出它的抽样效率。
抽样步骤:让L 等于满足下面不等式的整数l 的最小值,4141190lj jξπ=≥∑然后置)ln(15432ξξξξLx -=,其中i ξ为 [0,1] 区间均匀分布的伪随机数。
(11) 对正则高斯分布抽样:()dx x dx x p ⎥⎦⎤⎢⎣⎡--=222exp 21)(σμπσ. (12) Gamma 函数的一般形式为0,)!1()(1≥-=--x dx e x n a dx x f ax n n抽样证明其抽样方法可以为 ).....ln(1121n n aξξξξη--=. (13)2χ分布的一般形式为0,)2/(21)(2/12/2/>Γ=--x dx e x n dx x f x n n 抽样证明其抽样方法可以为 ∑==ni ix12η, 其中n x x x ,....,21为标准正态分布的n 个独立抽样值.(14) 选择偏倚分布密度函数x e x g -=)(,用蒙特卡洛重要抽样法求积分⎰∞-02/3dx e x x .(15) 编写一个程序,采用Metropolis 随机游走的方法产生按高斯分布()[]222/exp )(σx A x f -=, ()21σ=的随机点。
抽样中常数A 的值需要知道吗?试决定接受点与试探步数之比,到达平衡分布的时间与最大试探步长δ的关系。
(提示:判断“平衡”的标准是22σ>≈<x )。
δ选多大较合理?(16) 用Metropolis 随机游走的方法计算积分()40,42≤≤⎰-x dx e x x 。
(17) Laplace 方程及其边界条件为()()()()()⎩⎨⎧=====∇1,1,0,01,0,0,2y y x x y x ϕϕϕϕϕ ,用随机游走的蒙特卡洛方法数值求解正方形场域()11,10≤≤≤≤y x 的势函数。
第三章 习题(1)利用蒙特卡洛方法计算三维、四维、五维和六维空间的单位半径球的体积。
(2)利用分布密度函数x Ae x f -=)(做重要抽样来求积分,并分析误差与投点数的关系。
⎰+∞-=02/5dx e x Ix(3)用事例证明蒙特卡洛求积分的标准误差为NAA 1222∝-=σ, 其中A 为物理观测量,N 为蒙特卡洛投点个数。
(4)采用Metropolis 方法产生一维分子速度分布密度函数为 22)(v e Cv v f α-=的游走样本点,并将其分布和上述分布函数曲线进行比较(上式中α,C 为常数)。
(5)写出采用Metropolis 方法对高斯分布)2/exp()(2σx A x f -=的抽样框图和程序(A 和σ为常数)。
(6)编写采用Metropolis 算法计算一维积分()⎰+∞∞--dx x x 222/exp 的程序。
用该程序计算三维积分()⎰⎰⎰+∞∞-+∞∞-+∞∞--dz r z dy ydx x 2/exp 2222.然后将得到的结果与解析计算得到的精确结果进行比较,并分析模拟游走点数与误差的关系。
(7)对以下一维扩散方程⎝⎛===∂∂=∂∂1022),1(),0()()0,(,Ut U U t U x f x U t UxU κ,可以通过在τ⨯h 的矩形格点上的随机游走来求解(其中h ,τ分别为x 和t 划分的格点长度)。
在x 方向向前和向后游走的几率为()120301/2-+==κωωh ,而在t 方向向前和向后游走的几率为()120402/21-+==hκτωω。
试编程予以计算。
(8)编写程序,采用路径积分量子力学蒙特卡洛方法求液态4He 的基态能量。
(9)编写程序,采用变分量子力学蒙特卡洛方法求氢分子的基态能量。
其中两质子和两电子应当按四体系统来处理。
(10)修改习题(8)的程序,采用格林函数量子蒙特卡洛方法求氢分子基态能量,并与习题(8)的结果进行比较。
第四章 习题(1) 用有限差分法发展一个程序,数值求解正方形场域()01,01x y ≤≤≤≤的拉普拉斯方程,()()()()()⎩⎨⎧=====∇1,1,0,01,0,0,2y y x x y x ϕϕϕϕϕ 。
(2)用有限差分法发展一个程序,数值求解极坐标下的泊松方程()()()()⎩⎨⎧==-=∇212,,,,4,V b V a r r θϕθϕθπρθϕ 。
然后,选择()0,=θρr ,边界条件1,0,2,121====V V b a 时,两个圆圈中间的势分布。
(3)第(2)题中若()()[]⎪⎩⎪⎨⎧<<--=其它,0,/exp 101,br a a a r r θρ ,其余取值相同,数值求解两个圆圈中间的势分布。
(4)在一个二维L L ⨯的反应堆中,中子的扩散方程为()0sin sin ,22222=⎪⎭⎫ ⎝⎛⎪⎭⎫ ⎝⎛+⎪⎪⎭⎫ ⎝⎛-∂∂+∂∂L y L x y x a y x ππϕ, 用h h h y x ==的正方形网格离散化后,证明它的有限差分方程满足12222sin 8sin sin -⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛⎪⎭⎫ ⎝⎛=L h h a L h j L h i ij πππϕ。
第五章 习题(1) 公式(5.2.20)是更一般的公式()⎰⎰+++∆=enm l j k i n l k n l k dxdy N N N !2!!!的特殊情况。
试给出证明。
(2) 用有限元素法发展一个程序,数值求解正方形场域()01,01x y ≤≤≤≤的拉普拉斯方程,()()()()()⎩⎨⎧=====∇1,1,0,01,0,0,2y y x x y x ϕϕϕϕϕ(3) 修改(2)题中的程序,仍然采用有限元素法数值求解三角形场域()x y x D -≤≤≤∈1,10的拉普拉斯方程,()()()()⎩⎨⎧=-====∇11,,0,00,0,2x y x y x y x ϕϕϕϕ第六章 习题(1) 写用Verlet 速度算法求解三维分子运动方程的程序。
(2) 编写一个三维,元胞尺寸为3L 的周期边界条件计算程序。
(3) 试做总能量固定的单原子系统的分子动力学模拟。
元胞为10===z y x L L L ,划分为101010⨯⨯的正方形网格。
元胞内原子数64=N 。
原子质量1=m 。
位势为Lenard-Jones 势,其中1==σε,边界条件为周期性边界条件,初始位置是随机分布在正则节点上,初始速度为按[-1,1]随机分布。
分子动力学模拟步长取为02.0=∆t ,模拟100-200步后原子的速度分布和位置分布如何?(4) 试做二维单原子系统的分子动力学模拟。
系统温度85.0=T 保持固定,模拟参数及其他条件同上题。
第七章 习题(1) 用Mathematica 语言定义求解一元二次方程02=++c bx ax 的函数,该函数还要求能处理各种常数a,b,c 的情况。
(2) 用Mathematica 语言定义一个能画出任意给定n 值的正n 边形的函数(3) 用Mathematica 语言定义一个操作函数,它可以在给定二维矩形x-y 平面区间,按给定步长y x h h ,划分矩形网格,并列出节点的坐标表{}i i y x ,。
(4) 接着上题,用Mathematica 语言定义一个操作函数,对确定步数n ,生成一个在x-y平面格点上n 步服从均匀分布的随机游走的图。
(5)用Mathematica 语言实现一个产生任意阶的勒让德多项式的Mathematica 程序包。
勒让德多项式的递推公式为: 1)(0=x P , x x P =)(1, ()()()[])1(12)(11+-+=-+n x nP x xP n x P n n n . (6)用Mathematica 语言实现一个产生任意阶的埃米尔特多项式的Mathematica 程序包。
埃米尔特多项式的递推公式为: 1)(0=x H , x x H =)(1, ()()x nH x xH x H n n n 1122)(-+-=(7) Mathematica 语言编写一个从某点出发求多元函数的局部极小或极大值的程序包。
(8)用Mathematica 语言编写一个程序包,它能实现平面图形的(a )平移,(b )旋转,(c)对x 座标轴的反射。
第八章 习题(1) 画出不同主量子数、轨道量子数l n ,下,氢原子径向部分波函数随r 的变化图形,并讨论原子序数Z 变化的作用。
(2) 画出不同轨道量子数、磁量子数、m l ,下,氢原子ϕθ,部分波函数随θ和ϕ的变化的三维图形。
(3) 采用诺曼诺夫(Numerov)法(参见附录C ),编写一个程序求解电子的一维薛定格方程的最低的两个能量本征值和波函数。
该电子所在势阱的势函数为(我们选择原子单位a.u.,即1====c e m e )⎩⎨⎧<<=其它,5050,10)(x x x V 。
(4) 编写求解不同势阱高度和宽度的一维势阱薛定格方程波函数和能量谱的程序包。
势阱的势函数为⎩⎨⎧<-=其它0)(0ax V x V 。
(5) 试用Schroedinger.m 程序计算2)(r r V =时薛定格方程的基态,第一激发态的能量值,并与变分法求得的结果进行比较。