- 积分
- 3601
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-9-8
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 hillside 于 2013-6-10 21:56 编辑
量子物理与大气科学可说是大物理学中的伙伴,对于数学公式与函数等有一些类似的需求,该书有一定的参考价值。计算物理学类著作虽多,但提供源程序随书光盘或下载的不多。
内容简介
本书简明扼要地讲述了计算物理的基础知识,并给出量子物理学中常用算法及相应的FORTRAN程序。本书既可作为计算物理的入门书,又可作为量子物理计算的工具书。
全书由13章组成,主要包括FORTRAN算法语言简介,代数公式,常用特殊函数,3i、6j和9j符号,一元方程,线性代数,函数插值与微商,常微分方程,数值积分,本征问题,递推与迭代,蒙特卡罗方法,快速傅里叶变换等,同时还有与内容相对应的大小程序82个。
本书内容偏重于量子物理学,其中一些内容是作者与同事们在计算物理领域的研究成果。例如,矩阵元的计算,主值积分,薛定谔方程的辛算法,定态薛定谔方程的有限差分法,微扰论的递推形式,最陡下降法,透射系数的递推公式,I-V曲线等,这些新的算法都具有较高的实际应用价值。
《量子物理学中的常用算法与程序》首先对FDRTRAN语言做了简单概括的介绍,然后由浅入深地讲解了量子物理学中常用到的一些算法及相应的程序,其中包括,代数公式,常用特殊函数,3j、6i和9i符号,一元方程,线性代数,函数插值与微商,常微分方程,数值积分,本征问题,递推与迭代,蒙特卡罗方法,快速傅里叶变换等内容,同时还有与内容相对应的大小程序82个。
《量子物理学中的常用算法与程序》既可作为计算物理的入门书,又可作为量子物理计算的工具书。
目录
第0章 FORTRAN语言简介
0.1 FORTRAN语言概述
0.2 变量的类型
0.3 程序的结构
第1章 代数公式
1.1 排序与求和
1.2 阶乘、排列与组合
1.3 复数运算
第2章常 用特殊函数
2.1 伽马函数与贝塔函数
2.2 正交多项式
2.3 贝塞尔函数
第3章 3j、6j和9j符号
3.1 CG系数与3i符号
3.2 U系数与6i符号
3.3 广义拉卡系数与9i符号
3.4 数值计算的验证功能
第4章 一元方程
4.1 直接公式解法
4.2 迭代法
4.3 二分法
4.4 牛顿法与弦截法
第5章 线性代数
5.1 高斯消元法
5.2 迭代法
5.3 追赶法
5.4 矩阵求逆
第6章 函数插值与微商
6.1 拉格朗日插值公式
6.2 差分、差商与数值微商
6.3 牛顿插值公式
6.4 厄米插值公式
6.5 曲线拟合
第7章 常微分方程
7.1 常微分方程的初值问题
7.2 薛定谔方程的辛算法
7.3 常微分方程的边值问题
7.4 有限元法
第8章 数值积分
8.1 辛普生求积公式
8.2 龙贝格积分法
8.3 二重积分
8.4 主值积分
8.5 积分转化为有限项求和
第9章 本征问题
9.1 乘幂法
9.2 雅可比方法
9.3 实对称矩阵的QL解法
9.4 有限差分法
第10章 递推与迭代
10.1 无简并微扰论公式的递推形式
10.2 简并微扰论公式的递推形式
10.3 微扰论递推公式应用举例
10.4 最陡下降法
10.5 透射系数的理论计算
10.6 I-V曲线
第11章 蒙特卡罗方法
11.1 蒙特卡罗方法的基本原理
11.2 随机变量抽样值的产生
11.3 蒙特卡罗方法计算积分
第12章 快速傅里叶变换
12.1 傅里叶变换
12.2 快速傅里叶变换
程序一览表
参考文献
注:作者在前言中称,作者可自行下载程序。
附:伽马函数程序(摘于随书源程序):
PROGRAM TGAMMA
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
COMMON/A/ A(11)
DATA A/1.0000000000D0,0.4227843370D0,
* 0.4118402518D0,0.0815782188D0,
* 0.0742379076D0,-0.0002109075D0,
* 0.0109736958D0,-0.0024667480D0,
* 0.0015397681D0,-0.0003442342D0,
* 0.0000677106D0/
OPEN(2,FILE='DT.DAT')
999 WRITE(*,1)
1 FORMAT(2X,'X=?')
READ(*,2) X
2 FORMAT(F15.7)
IF(X.EQ.0.D0) STOP
F=GAMMA(X)
WRITE(*,3) X,F
WRITE(2,3) X,F
3 FORMAT(2X,'X,F=',2E15.7)
GOTO 999
STOP
END
C X,F= .1000000E+00 .9513508E+01
C X,F= .2000000E+00 .4590844E+01
C X,F= .3000000E+00 .2991569E+01
C X,F= .5000000E+00 .1772454E+01
C X,F= .1000000E+01 .1000000E+01
C X,F= .2000000E+01 .1000000E+01
C X,F= .3000000E+01 .2000000E+01
DOUBLE PRECISION FUNCTION GAMMA(X)
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
COMMON/A/ A(11)
IF(X.GT.1.D0) GOTO 10
T=X
GOTO 50
10 IF(X.GT.2.D0) GOTO 20
T=X-1.D0
GOTO 50
20 IF(X.GT.3.D0) RETURN
T=X-2.D0
50 CONTINUE
P=A(11)
DO 1 K=10,1,-1
1 P=T*P+A(K)
IF(X.GT.1.D0) GOTO 110
GAMMA=P/X/(X+1.D0)
GOTO 550
110 IF(X.GT.2.D0) GOTO 220
GAMMA=P/X
GOTO 550
220 IF(X.GT.3.D0) RETURN
GAMMA=P
550 CONTINUE
RETURN
END
伽马函数程序阅读感想:
气象家园中对于干旱指数SPI的计算结果存在讨论,认为现有网上现有程序的SPI计算结果明显偏大,我也发现类似情形。我简单比对之下,发现网站的部分SPI.FOR中的伽马函数“DATA A”后个别数值明显有异,如本程序中的-0.0024667480D0在部分 SPI.FOR中却为-0.0024467480 。在无其它材料佐证的情况下,一时无法判断谁是谁非。部分使用SPI的网友已猜测SPI.FOR中的GAMMA函数可能存在问题。
不过,我对该书的程序质量情况未作测试。
增补:
经过初步比对《量子物理学中的常用算法与程序》中的GAMMA.for与网络下载的c语言计算程序gamma.cpp,发现原来差异是合理的,最终计算得到的伽马值都是正确的。gamma.cpp与部分SPI.FOR都取10位系数,而GAMMA.for采用了11位系数(从计算数学的角度来看,可能精度更高)。对SPI.FOR中单独提取gamma函数计算片断,发现也是正确的,SPI的GAMMA累计概率的正确性尚未核实。SPI的GAMMA累计概率需使用不完全GAMMA函数(C语言版),现一并附上有关程序。国内SPI短程序中的“a too large”一语在不完全GAMMA函数(C语言版) 也同样存在,大体可以判断是同一来源。
说明:本人对于SPI也是刚刚接触,并无太多了解。国内网上常见的是与《标准化降水指标与z指数在我国应用的对比分析》论文中方法相同或相似的短程序,另外网络上可找到据称来自科罗拉多大学的长篇程序。不过,因比较复杂,本人没有细看。
SPI.FOR程序可见气象家园相关帖子:
标准化降水指数计算程序求指正
气象干旱综合指数SPI值里伽玛函数用Excel如何计算?
分享计算SPI的方法 分享3个计算SPI指数的源程序
SPI指数的matlab程序和fortran程序
一个求取SPI指数的程序
|
-
-
量子物理学中的常用算法与程序(随书源程序).rar
67.86 KB, 下载次数: 96, 下载积分: 金钱 -5
-
-
GAMMA(取自《量子物理学中的常用算法与程序》).for
1.28 KB, 下载次数: 21, 下载积分: 金钱 -5
-
-
gamma.cpp
1.3 KB, 下载次数: 9, 下载积分: 金钱 -5
-
-
gamma函数计算(fortran,提取自SPI程序).f90
770 Bytes, 下载次数: 23, 下载积分: 金钱 -5
-
-
spi.f(据称来自科罗拉多大学的SPI长程序)
40.81 KB, 下载次数: 43, 下载积分: 金钱 -5
-
-
不完全伽马函数的计算程序.rar
1.53 KB, 下载次数: 20, 下载积分: 金钱 -5
评分
-
查看全部评分
|