# 行星透镜后面的一颗有限恒星 这是一套独立的科学复算材料,不依赖 SandboxPhysics 仓库、账号、浏览器或受保护的 Lab 引擎。已在 Python 3.12.12、NumPy 2.4.4、SciPy 1.17.1 与 macOS Apple clang C++ 下验证;建议 Python 3.12 与支持 C++11 的编译器。英文 README 给出完整文件与参数说明。 ```sh python3 -m venv .venv . .venv/bin/activate python -m pip install -r requirements.txt python verify_package.py python fetch_observations.py --output observations python fetch_reference.py --output reference python replay_results.py --materials . --output replay-summary.json python verify_science.py --materials . --output science-summary.json ``` 只有两个下载命令需要联网。下载器严格核对具名来源、字节数与 SHA-256,真正 HTTP 下载与已验证缓存分别记录。五份作者原站测光共308行,没有明确的再分发许可,因此包里没有原观测,也没有逐点变换后的测光或残差。上游固定提交的 LGPL 参考源码与许可也由下载器获取,包里只放我们独立写的小调用程序,不放参考库源码或二进制。 `replay_results.py` 从新下载的文件重新计算冻结的参数向量,并重拟合五个台站的基线和光源比例。它是前向复算,不是重新搜索。跨数值平台允许的拟合量绝对差为0.15,这是数值容差,不是统计误差。`verify_science.py` 独立重算110个合成有限光源状态,并用另行编译的正权均匀轮廓环带核对三个星盘大小示例。浮点空间包络没有严格向外舍入;有限状态通过也不意味着所有连续参数都有证明。 重新搜索的命令见英文 README。它们顺序运行,通常需要几分钟,也可能更久。不要在其他进程仍加载同一路径动态库时覆盖编译它。程序保留全部起点、停止原因、计算次数和边界。内部模型名 `point` 指单点质量透镜,星盘仍有固定大小;真正零半径恒星的模型名带 `point-source`。 同样的308点与原误差下,有限光源单透镜拟合量约749.9,有限光源宽、近双透镜分别约219.0与323.3;零半径宽、近双透镜约575.1与335.6。年度视差宽解约216.87,只改善约2.13,不能据此给出独立行星质量。幅度为五的视差剖面曾落到约708的坏盆地,使用幅度二与十良解的几何及方向插值重新搜索,实际找到217.63。低质量比端点也经历续算。包里保留这些坏例与修复记录,不能把局部坏解画成物理排除。 观测列没有文件头;日期与 HJD 减2450000相符,却没有精确时标与曝光时长声明。地球星历另有自己的 TDB 历元。我们保留两者区别,检验地球历元偏移、六小时与十二小时插值、MOA 临边系数及假设曝光时长;没有补造重心时标转换或真实曝光。敏感性检验固定透镜几何、重拟合台站参数,不能当成全参数重新搜索。 原论文使用六站650点,这里只重算五文件子集;没有重做原始数据归约、银河系群体后验、全局双透镜解搜索或校准后的探测概率。持续时间本身不能称重。程序输出的许多小数位只是计算记录,应按教程的取舍精度阅读。 全部角坐标以总透镜质量的爱因斯坦半径为单位,质心为零,伴星在实轴正方向。轨迹角以弧度表示,参数向量中的对数都是自然对数。残差定义为预测星等减观测星等。I 台站临边系数取0.538,RoboNet R取0.626,MOA 自定义红波段的不确定性单独检验。原误差固定,五站分别剖面化零点和零到一之间的光源比例。 本地拟合可生成逐点预测供本人分析,不要将这些文件加入网站公开材料。包中只有聚合拟合、剖面、数值诊断与自有合成状态。`package-manifest.json` 保存精确文件清单;`observation-sources.json` 与 `reference-sources.json` 保存具名上游和校验值。自写独立科学代码采用 `LICENSE-science.txt` 中的 MIT 许可,上游 LGPL 源码遵守另行下载的许可。NASA/JPL 地球矢量保留完整响应和来源。