跳转到主要内容

exoplanet的编译后端

项目描述



Tests

exoplanet-core

此存储库包含exoplanet项目的编译组件,包括NumPy、JAX和PyMC3的实现。大多数用户可能不会直接安装或与exoplanet-core交互,而是通过exoplanet本身使用它。然而,你在这里可能有几个原因

  1. 你想使用快速且经过良好测试的代码来评估二次 limb darkened 光曲线或在 numpy、JAX 或 PyMC3 中求解开普勒方程。
  2. 你可能发现 exoplanet 中的一个编译 ops 存在问题,并希望 报告修复 它。
  3. 你可能正在寻找 exoplanet 的更好替代品。

所有这些都是在您这里的好理由,所以欢迎您!

动机

这个库是独立于 exoplanet 代码库开发的,原因有几个,但最主要的是这个仓库中的代码需要比主 exoplanet 模型代码更少的频率进行更改,并且重新编译后端有一些成本。我希望这种分离将使人们更容易在不处理编译问题的前提下为 exoplanet 项目做出贡献。这也意味着一些用户可以使用这里的计算组件,而无需使用 exoplanet 项目所需的复杂依赖项。例如,这对于只需要高性能凯普勒方程求解器或快速二次边缘暗化光曲线的人来说可能很有用。

安装

安装 exoplanet-core 的最佳方式是使用 pip

python -m pip install exoplanet-core

默认情况下,这将仅安装 numpy ops 及其依赖项(仅 numpy 本身)。因此,如果您想安装 jaxpymc 版本的依赖项,可以运行

python -m pip install "exoplanet-core[jax]"
# or
python -m pip install "exoplanet-core[pymc]"

您还可以使用来自 conda-forgeconda 安装 exoplanet-core

conda install -c conda-forge exoplanet-core

用法

如果您正在开发新的 ops 或修复现有的 ops,您可能需要跳到下一节,但如果您只想求解凯普勒方程或计算边缘暗化光曲线,可以使用以下代码片段。

求解凯普勒方程并计算一系列偏心率的真近点角

from exoplanet_core import kepler

ecc = 0.3
M = # compute the mean anomaly as a function of time for your measurements

sinf, cosf = kepler(M, ecc)

# Use the true anomaly to evaluate your model

计算在某个投影中心到中心距离 b 和半径比 ror 的二次边缘暗化光曲线的相对通量

from exoplanet_core import quad_limbdark_light_curve

u1, u2 = 0.3, 0.2
ror = 0.05
b = # Compute the impact parameter as a function of time
flux = quad_limbdark_light_curve(u1, u2, b, ror)

其中 u1u2 是通常的边缘暗化参数,得到的通量以相对单位表示,其中 0 是未掩蔽的通量。一些其他实现可能返回此值加一。

API 参考

exoplanet-core 目前提供三个 ops,但只有两个是面向通用消费的:keplerquad_solution_vector。三个接口(numpyjaxpymc)设计为具有相同的 API,因此您可以将它们互换导入

from exoplanet_core.{interface} import ops

其中 {interface}numpyjaxpymc

kepler

sin_true_anomaly, cos_true_anomaly = ops.kepler(mean_anomaly, eccentricity)

使用快速方法(Brandt 等人,待发表)求解凯普勒方程并将结果转换为真近点角,该方法在整个有效参数范围内提供几乎与机器精度相当的计算精度。

参数 类型 描述
mean_anomaly 数组 这不需要进行范围缩减。
eccentricity 数组 必须在 [0, 1) 范围内。
返回 类型 描述
sin_true_anomaly 数组 真近点角的正弦和余弦
cos_true_anomaly 数组 在输入坐标处评估。

quad_solution_vector

soln = ops.quad_solution_vector(impact_parameter, radius_ratio)

计算由 Agol 等人(2020) 定义的二次边缘暗化光曲线的“解向量”。然后可以将此向量与系数向量(边缘暗化参数的函数)点积,以计算积分通量。

参数 类型 描述
impact_parameter 数组 投影中心到中心的距离。
radius_ratio 数组 掩星体的半径,以目标单位表示。
返回 类型 描述
soln 数组 每个 impact_parameter 处的二次解向量。

项目详情


下载文件

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

源代码分发

exoplanet_core-0.3.1.tar.gz (32.2 kB 查看哈希值)

上传时间 源代码

构建分发

exoplanet_core-0.3.1-cp312-cp312-win_amd64.whl (159.1 kB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

exoplanet_core-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (205.7 kB 查看哈希值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ x86-64

exoplanet_core-0.3.1-cp312-cp312-macosx_11_0_arm64.whl (136.3 kB 查看哈希值)

上传时间 CPython 3.12 macOS 11.0+ ARM64

exoplanet_core-0.3.1-cp312-cp312-macosx_10_9_x86_64.whl (146.7 kB 查看哈希值)

上传时间 CPython 3.12 macOS 10.9+ x86-64

exoplanet_core-0.3.1-cp311-cp311-win_amd64.whl (159.0 kB 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

exoplanet_core-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (206.5 kB 查看哈希值)

上传时间 CPython 3.11 manylinux: glibc 2.17+ x86-64

exoplanet_core-0.3.1-cp311-cp311-macosx_11_0_arm64.whl (137.7 kB 查看哈希值)

上传时间 CPython 3.11 macOS 11.0+ ARM64

exoplanet_core-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl (149.6 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

exoplanet_core-0.3.1-cp310-cp310-win_amd64.whl (156.9 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

exoplanet_core-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (203.3 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

exoplanet_core-0.3.1-cp310-cp310-macosx_11_0_arm64.whl (135.4 kB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

exoplanet_core-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl (146.7 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ x86-64

exoplanet_core-0.3.1-cp39-cp39-win_amd64.whl (157.0 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

exoplanet_core-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (203.7 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

exoplanet_core-0.3.1-cp39-cp39-macosx_11_0_arm64.whl (135.6 kB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

exoplanet_core-0.3.1-cp39-cp39-macosx_10_9_x86_64.whl (146.9 kB 查看哈希值)

上传于 CPython 3.9 macOS 10.9+ x86-64

由以下支持