把三个小文件放进空目录
不需要访问代码仓库。约152KB 的数值输入包含选定观测列、87行八列设计矩阵与87行87列协方差。脚本先用 SHA256 检查输入原字节,再求解。参考结果来自独立 NumPy Cholesky 与 SVD 计算,公开脚本另用标准库求解同一方程。
在新目录中运行下面命令。脚本写出 public-reproduction.json,并把基线与独立参考比较。输入校验和应为24b93d2ce7bdbcbfe9789ac35091dc5737e326beecedf0fa84a80d02ed287447。若下载到 HTML 错误页,校验会在计算前停止。
mkdir shoes-small-example
cd shoes-small-example
for file in reproduce-subsystem.py shoes-subsystem.json shoes-subsystem-benchmarks.json; do
curl --fail --location --output "$file" "https://sandboxphysics.com/stories/distance-ladder/$file"
done
python3 reproduce-subsystem.py --reference shoes-subsystem-benchmarks.json
对应阅读:PantheonPlusSH0ES DataRelease · Published article license
沿选样追到原数组
原 ally FITS 图像包含3492项预处理观测,alll 图像按47个参数行、3492项观测存储;转置后才是通常的观测乘参数设计矩阵。allc 为3492行3492列协方差。普通 raw GitHub 地址可能只返回 Git LFS 指针,来源清单给出真正媒体地址、48,781,440字节长度及 SHA256。
先固定选样,再看拟合哈勃值:M101 的259行区块等间隔取24行,Mrk1337 的15颗全取,NGC4258 的443行区块等间隔取24行;保留3130—3134五行标定光变,3215—3491等间隔取16行哈勃流,再取3209、3212、3213三行约束。合计63颗造父星、五行标定光变、16行哈勃流与三项约束。
每项观测保存从零起算的 sourceRowIndex,以及原47列中全部非零系数。涉及的列只有0、1、37、38、41、42、43和46。提取与拟合都断言其他列在这些行上为零,避免悄悄固定仍有效的干扰参数。第0行还保留实测星号54672、周期6.853491天;未核实名称配对的哈勃流观测只用矩阵行号标识。
拟合前先读懂预处理量和约束
预处理造父星星等已减掉负3.285乘以对数周期偏移,拟合的是斜率修正,报告实际斜率时要再加回负3.285。表2的 F160W 星等是另一个四舍五入显示量。table2.README 提醒表中误差缺少重拟合所需的非对角项,自定义选样也可能需要新人工星测试。本教程沿用发布协方差与光度预处理。
第3209行是发布金属丰度摘要,约每 dex 负星等;3212行是宽斜率修正正则项,零、标准差十;3213行是几何锚模数偏移,均值零、标准差约0.032391星等。原完整协方差里,这三行与其他行的交叉项都为零。不过数值上为零,不会把摘要变成独立采集的原始实验;其构造仍属于发布的整体造父星分析。结果称作条件拟合,并额外保存删去金属丰度摘要的比较。
改参数前,先比较保存基线
标准库脚本与独立 NumPy 参考对每个参数的差都小于一亿分之一。哈勃中位数为66.3049059163,中央一标准差变换区间62.2355814993—70.6403064398,卡方75.1994887236,秩八。复算目标就是这些数值,不能为了接近某个期望结果再改样本。
另用完整协方差求解原3492行、47参数发布,得到73.0428191,与表5完整基线73.04相符。小子系统只有两个标定超新星宿主,并条件化于发布摘要;问题缩小、条件改变,中心偏移与区间变宽都有可能。完整论文最终正负1.04还包含作者分析变体,也不是这个子样本的误差条。
| 量 | 冻结结果 |
|---|---|
| 哈勃中位数,千米每秒每 Mpc | 66.3049059163 |
| 实际周期斜率,星等每 dex | −3.5186554275 |
| 宿主模数相关系数 | 0.6352832389 |
| 相对模数,星等 |
逐项读出可控失败
输出依次保留采用锚偏移、仅宿主造父星偏移、共同造父星偏移,均为0.10星等。前两项把哈勃值降到63.32069,残差卡方不变;共同偏移仍得66.30491,只移动造父星零点。磁盘上的原观测始终不变,比较中明确改变的是采用向量与解释。
diagonalCovarianceCounterfactual 只把观测非对角协方差清零,得到66.82894,相对模数误差从0.10910变成0.08882。这是故意改变误差模型的对照。withoutMetallicitySummary 得到68.31781,区间放宽为63.44104—73.56945,能看出发布摘要这一条件确实影响答案。
最后读 noAnchor:秩七、identified 为 false,哈勃中位数和区间均为 null。参数列表只是任选锚偏移为零,以展示同样拟合的一族解中的一个。宿主相对模数和误差仍可辨认。若把显示坐标当作绝对测量,就等于手工把锚重新塞了回去。
为下一份样本保留复算记录
记下来源提交、原行列号、单位和预处理约定。求解前检查协方差字节与全部非零模型系数,先验秩,再把光度拟合变成膨胀率。保存共同误差测试和移除摘要的敏感性测试,与主结果放在一起。
正式发表论文采用 CC BY4.0,原仓库没有另外的代码许可。下载脚本独立求解方程,选定数值附作者出处和来源校验和。完整 FITS 仍由 provenance.json 指向作者固定地址。可选 freeze-shoes-subsystem.py 用 NumPy 独立提取所列行;运行时给出 --source-cache SOURCE_FOLDER --output-directory extracted --full-reference。加 --fetch 才下载缺少的固定原文件,其中协方差约48MB。主要三文件拟合只需 Python 标准库。
对应阅读:Published article license · PantheonPlusSH0ES DataRelease