Skip to main content

兰伯特问题解决者的集合

项目描述

lamberthub:兰伯特问题解决者的中心

蟒蛇盾 CI屏蔽 文件状态 编解码器 DOI

使用现代 Python 实现的 Lambert 问题求解器集合。

通过运行安装最新的稳定版本:

pip install lamberthub

如果您有兴趣了解问题是什么、如何解决或有哪些应用程序,请查看项目的官方文档。有关软件内部的更多信息,请参阅API 文档

有哪些求解器可用?

安装后,您可以lamberthub通过运行以下命令检查随附的求解器:

from lamberthub import ALL_SOLVERS
print([solver.__name__ for solver in ALL_SOLVERS])

目前,可以使用以下算法:

>>> ['gooding1990', 'avanzini2008', 'arora2013', 'izzo2015']

如何使用求解器?

实现的任何兰伯特问题算法lamberthub都是一个 Python 函数,它接受以下参数:

# Import a solver of your choice from the ones listed above
from lamberthub import authorYYYY
v1, v2 = authorYYYY(mu, r1, r2, tof, prograde=True, low_path=True, maxiter=35, atol=1e-5, rtol=1e-7, full_output=False)

其中author是开发求解器的作者姓名和YYYY 出版年份。ALL_SOLVERS可以使用由宏托管的任何求解器。

参数

  • mu:引力参数,即吸引体的质量乘以引力常数。
  • r1: 初始位置向量。
  • r2: 最终位置向量。
  • tof:初始向量和最终向量之间的飞行时间。

附加参数

  • prograde:此参数控制最终轨道的倾角。如果设置为True,则传输将具有 0 到 90 度之间的倾斜度,而如果False提供 90 到 180 度之间的倾斜度。
  • low_path:当有两个以上的解决方案可用时选择路径类型。一种或另一种解决方案没有实际优势,除非您对您的任务有特殊限制。
  • maxiter:计算解决方案时允许的最大迭代次数。
  • atol:迭代方法的绝对容差。
  • rtol:迭代方法的相对容差。
  • full_output:如果True,它返回额外的信息,比如我们的迭代次数。

退货

  • v1: 初始速度向量。
  • v2: 最终速度矢量。

额外回报

  • numiter: 迭代次数。仅当full_output已设置为True.
  • tpi:每次迭代的时间。仅当full_output已设置为True.

文档和性能比较工具

官方的lamberthub 文档包含与包相关的不同操作指南、解释、教程和参考。

如果您对提供的性能比较工具感兴趣,请参阅此文档章节,您可以找到有关如何使用这些工具的简短教程。

项目详情


下载文件

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

源分布

lamberthub-0.1.tar.gz (33.4 kB 查看哈希)

已上传 source

内置分布

lamberthub-0.1-py3-none-any.whl (39.2 kB 查看哈希)

已上传 py3