跳转到主要内容

使用Ogata 2005方法进行Hankel变换

项目描述

https://github.com/steven-murray/hankel/actions/workflows/test_suite.yaml/badge.svg https://codecov.io/gh/steven-murray/hankel/branch/master/graph/badge.svg?token=GQY2Glwr0U http://joss.theoj.org/papers/10.21105/joss.01397/status.svg https://img.shields.io/pypi/v/hankel.svg https://img.shields.io/badge/code%20style-black-000000.svg

使用Ogata 2005方法执行简单而精确的Hankel变换。

Hankel变换和积分在任何需要在对称场中进行傅里叶变换的领域中都很常见(有关详细描述,请参阅维基百科)。它涉及将任意函数与任意阶的贝塞尔函数(一类)相乘后的积分。典型的积分方案往往由于变换的高振荡性而失败。本包中使用的Ogata求积法通过找到贝塞尔函数的零点,提供了一种快速且精确的积分方法。

特性

  • 许多Hankel积分的精确和快速解

  • 易于使用和重复使用

  • 任意阶变换

  • 内置径向对称傅里叶变换支持

  • 经过彻底测试。

  • 仅兼容Python 3。

安装

或者克隆仓库并本地安装(适用于开发者安装)

$ git clone https://github.com/steven-murray/hankel.git
$ cd hankel/
$ pip install -U .

或者从PyPI安装

$ pip install hankel

或者使用conda安装

$ conda install -c conda-forge hankel

唯一依赖项是 numpyscipympmath。如果尚未安装,它们将自动安装。

仅用于开发(测试和代码审查等)的依赖项可以通过可选的额外 pip install hankel[dev] 安装。如果使用 conda,它们仍然可以通过 pip 安装: pip install -r requirements_dev.txt

有关测试 hankel 或任何其他开发或贡献相关问题的说明,请参阅 贡献指南

致谢

如果您在研究中发现 hankel 有用,请引用

S. G. Murray 和 F. J. Poulin,“hankel:一个用于执行简单和精确Hankel变换的Python库”,开源软件杂志,4(37),1397,https://doi.org/10.21105/joss.01397

也请考虑为这个仓库点个赞!

参考文献

基于以下提供的算法

H. Ogata,《基于贝塞尔函数的数值积分公式》,数学科学研究研究所出版物,第41卷,第4期,第949-970页,2005。DOI:10.2977/prims/1145474602

还受到以下作品的启发

快速边缘校正的两点相关函数和功率谱的测量 Szapudi, Istvan;Pan, Jun;Prunet, Simon;Budavari, Tamas (2005) 天体物理学杂志,第631(1) DOI:10.1086/496971

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

hankel-1.2.2.tar.gz (6.5 MB 查看哈希值)

上传时间 源代码

构建分发

hankel-1.2.2-py3-none-any.whl (12.1 kB 查看哈希值)

上传时间 Python 3

由以下支持