华东师范大学学报(自然科学版) ›› 2019, Vol. 2019 ›› Issue (1): 76-82,92.doi: 10.3969/j.issn.1000-5641.2019.01.009

• 物理学与电子学 • 上一篇    下一篇

整数阶复宗量贝塞尔函数的计算程序研究

任宏红1, 郭迎春1, 王兵兵2   

  1. 1. 华东师范大学 物理与材料科学学院, 上海 200241;
    2. 中国科学院物理研究所 凝聚态物理国家重点实验室 光物理实验室, 北京 100190
  • 收稿日期:2017-12-20 出版日期:2019-01-25 发布日期:2019-01-24
  • 通讯作者: 郭迎春,女,副教授,研究方向为强场与物质相互作用.E-mail:ycguo@phy.ecnu.edu.cn E-mail:ycguo@phy.ecnu.edu.cn
  • 作者简介:任宏红,女,硕士研究生,研究方向为理论物理.
  • 基金资助:
    国家自然科学基金(61275128,11474348)

Program for calculating the integer order of Bessel functions with complex arguments

REN Hong-hong1, GUO Ying-chun1, WANG Bing-bing2   

  1. 1. School of Physics and Materials Science, East China Normal University, Shanghai 200241, China;
    2. Laboratory of Optical Physics, Beijing National Laboratory of Condensed Matter Physics, Institute of Physics, Chinese Academy of Sciences, Beijing 100190, China
  • Received:2017-12-20 Online:2019-01-25 Published:2019-01-24

摘要: 鉴于目前的算法程序集中没有现成的计算复宗量贝塞尔函数的程序,本文基于贝塞尔函数的逆向递推关系编写了计算整数阶复宗量第一类贝塞尔函数的Fortran程序源代码.与Matlab软件的计算结果比较,两者至少有12位有效数字一致.接着运用此程序,分析了徐士良的《FORTRAN常用算法程序集》中的纯虚宗量的贝塞尔函数,即变形贝塞尔函数程序的准确度,发现其准确度为6位有效数字.最后,对基于实宗量贝塞尔函数和纯虚宗量贝塞尔函数相乘然后用无限求和来计算复宗量贝塞尔函数值的方法的准确性进行了探讨.证明其仅能对有限的贝塞尔函数进行准确计算.这是由于当求和项中有远大于最终的求和项时,会导致求和结果的有效数字减少甚至完全错误.

关键词: 复宗量贝塞尔函数, Fortran源程序, 逆递推计算

Abstract: Fortran source code for calculating the integer order of Bessel functions of the first kind with complex arguments is presented. The method is based on the backward recurrence relation of Bessel functions. Values of the Bessel function generated by our program are in-agreement with the values generated by Matlab to at least 12 significant digits. We use the program to calculate the integer order of Bessel functions of the first kind with pure imaginary arguments, provided by Xu Shiliang's Fortran algorithm assembly. The results show that the first 6 significant digits are accurate. We also analyze the algorithm for calculating Bessel functions with complex arguments, which use the infinite sum of the product of the real arguments of the Bessel function and the pure imaginary arguments of the Bessel function, provided by Xu Shiliang's algorithm assembly. The results show that this algorithm does not always get accurate values for Bessel functions with complex arguments. The reason lies with the fact that the term in the sum larger than the function value causes the loss of significant digits.

Key words: Bessel function with complex arguments, Fortran source code, backward recurrence relation of Bessel function

中图分类号: