跳到主要内容
Sandbox Physics
引力波透镜与频率条纹

复算点透镜放大因子,再检验一次透镜搜索

Sandbox Physics ·

这份指南用两条互相独立的路线计算点透镜放大因子,得到的复数相差不到 4.2×10−44.2\times10^{-4}。接着检验低频和高频两个极限,再在合成噪声上跑一次小型透镜搜索。结果是:y=0.5y=0.5 的透镜一眼可辨,y=2y=2 的透镜真假难分,纯噪声大约每九次就有一次冒充出透镜。下面每个数字都来自同一个脚本,跑一遍大约一分钟。

先读点质量透镜放大因子的精确解和匹配滤波那一章。这里不用任何探测器数据,信号和噪声全是合成的。

下载文件

把下面八个文件放进同一个空文件夹:

然后运行:

python3 -m pip install numpy scipy mpmath
python3 reproduce.py

脚本会打印与保存结果的最大差异。所有放大因子相差不超过 2×10−62\times10^{-6}、所有注入中位数相差不超过 10−610^{-6} 时,退出状态为 0。我们的环境是 Python 3.9.6、numpy 2.0.2、scipy 1.13.1 和 mpmath 1.3.0。换了版本,随机噪声的末几位可能变化,严格比对就会失败;这时用 python3 reproduce.py --write 保存你自己的结果,中位数应当和我们的接近。

单位与约定

表 5.1 所有脚本共用的单位与约定。
量约定
透镜质量红移后的质量 MLzM_{Lz},以太阳质量为单位,GM⊙/c3=4.925490947×10−6GM_\odot/c^3=4.925490947\times10^{-6} s
频率无量纲的 w=8πGMLzf/c3w=8\pi GM_{Lz}f/c^3
偏移yy,以爱因斯坦半径为单位
到达时间T=12∣x−y∣2−ln⁡∣x∣−ϕm(y)T=\tfrac12\lvert x-y\rvert^2-\ln\lvert x\rvert-\phi_m(y),第一个像在 T=0T=0
傅里叶变换h~(f)=∫h(t) e+2πift dt\tilde h(f)=\int h(t)\,e^{+2\pi i f t}\,\mathrm dt,延迟对应乘上 e+2πifΔte^{+2\pi i f\Delta t}
内积从 20 Hz 到 219.9 Hz 求和 4 Re∑a~∗b~/Sn Δf4\,\mathrm{Re}\sum\tilde a^*\tilde b/S_n\,\Delta f

太阳质量参数取 IAU 2015 名义值 1.3271244×1020 m3 s−21.3271244\times10^{20}\,\mathrm{m^3\,s^{-2}},再除以 c3c^3。

第一步:闭式解

point_lens_reference.py 用 mpmath 以 60 位有效数字计算 Takahashi 和 Nakamura(2003)的式 (17),以及他们的两像公式式 (18)。式 (17) 完全按印出的形式使用。Takahashi 和 Nakamura 2003,第 2 节

第二步:完全不用闭式解的第二条路线

independent_fresnel_integral.py 从透镜平面积分重新出发,把透镜平面上的点按到达时间分组。设 A(τ)A(\tau) 是 T<τT<\tau 的区域面积,则

F(w)=w2πi∫0∞dAdτ eiwτ dτ=1−iw∫0∞[I(τ)−1]eiwτ dτ,I(τ)=12πdAdτ.F(w)=\frac{w}{2\pi i}\int_0^\infty\frac{\mathrm dA}{\mathrm d\tau}\,e^{iw\tau}\,\mathrm d\tau=1-iw\int_0^\infty\bigl[I(\tau)-1\bigr]e^{iw\tau}\,\mathrm d\tau,\qquad I(\tau)=\frac1{2\pi}\frac{\mathrm dA}{\mathrm d\tau}.

第二个等号用到 ∫0∞eiwτdτ=i/w\int_0^\infty e^{iw\tau}\mathrm d\tau=i/w。I(τ)I(\tau) 是透镜对一个尖脉冲的响应,没有透镜时等于 1,也就是 2003 年论文式 (16) 的时域图像。

脚本分四步算 I(τ)I(\tau):

  1. 对从透镜出发的每个方向,在 ln⁡r\ln r 上用二分法找到 T=τT=\tau 的位置,射线上极小值两侧各找一个。
  2. 用 240 点高斯–勒让德求积对方向积分,先做变量替换,消掉等值线闭合处的平方根奇点。
  3. 到达时间超过鞍点后,把求积节点集中到透镜另一侧,那里等值线收窄。
  4. 对列表中的 I(τ)I(\tau) 按分段线性函数做精确傅里叶积分,τ=400\tau=400 以外的尾部用 c1/τ+c2/τ2c_1/\tau+c_2/\tau^2 拟合补上。

这条路线完全不碰伽马函数和超几何函数,所以实部和虚部都对上,检验的就不只是式 (17) 的模,还有它的相位约定。

结果。 在 y∈{0.1,0.3,1,3}y\in\{0.1,0.3,1,3\}、w∈{0.1,1,3,10,30}w\in\{0.1,1,3,10,30\} 上,最大相对差是 4.2×10−44.2\times10^{-4},出现在 y=0.3y=0.3、w=30w=30。每个 yy 拟合出的尾部系数都是 c1=0.499c_1=0.499。

表 5.2 20 个测试点中的 4 个:闭式解与独立菲涅耳路线的对比。
yw菲涅耳路线闭式解
0.111.58197 − 0.87469i1.58191 − 0.87445i
0.3101.15235 − 0.99952i1.15249 − 0.99890i
131.05026 − 0.38996i1.05027 − 0.38982i
311.09237 + 0.01542i1.09236 + 0.01542i

全部 20 行都在 expected-outputs.json 里。

到达时间里的常数在这里很要紧。如果照 2003 年论文印出的式 (12) 在 TT 里写 +ϕm(y)+\phi_m(y),菲涅耳路线得到的 FF 会多出相位 e2iwϕme^{2iw\phi_m},就和式 (17) 对不上了。论文正文说最早到达时间取为零,这要求写 −ϕm-\phi_m。我们按这个做,除此之外不对论文下任何结论。

第三步:两个极限

这些检验用的是闭式解,它已经在第二步得到验证。

  • 低频。 ∣F−1∣\lvert F-1\rvert 应当几乎与 ww 成正比地减小,因为有 wln⁡ww\ln w 项,减得稍慢一点。y=1y=1 时,w=10−2w=10^{-2}、10−310^{-3}、10−410^{-4} 对应 2.2×10−22.2\times10^{-2}、3.3×10−33.3\times10^{-3}、4.4×10−44.4\times10^{-4}。y=0.1y=0.1、w=10−4w=10^{-4} 时是 5.13×10−45.13\times10^{-4},一阶公式 πw/4+(iw/2)[ln⁡(w/2)+γ−2ϕm]\pi w/4+(iw/2)[\ln(w/2)+\gamma-2\phi_m] 给出同样的值。
  • 高频。 与两像公式的差除以 ∣F∣\lvert F\rvert,应当随 ww 增大而减小。y=1y=1 时从 w=30w=30 的 2.6×10−32.6\times10^{-3} 降到 w=1000w=1000 的 2.6×10−52.6\times10^{-5}。y=0.3y=0.3 时,w=30w=30、100、300、1000 依次是 3.1×10−23.1\times10^{-2}、6.5×10−36.5\times10^{-3}、8.7×10−38.7\times10^{-3}、1.1×10−31.1\times10^{-3}。100 到 300 之间的回升是真实的:剩余的差本身随 ww 振荡。

第四步:注入与搜索

signal_injection.py 生成一段 8 s、每秒 1024 个采样的数据:

  1. 噪声。 按 Ajith(2011)式 (4.7) 着色的高斯噪声,每个频率格的实部和虚部标准差都是 Sn/(4Δf)\sqrt{S_n/(4\Delta f)}。Ajith 2011,第 IV 节
  2. 信号。 10+10 M⊙10+10\,M_\odot 的最低阶啁啾,从 20 Hz 到 219.9 Hz,缩放到无透镜信噪比 20;透镜注入再乘上精确的 FF。Cutler 和 Flanagan 1994,式 41–42
  3. 无透镜搜索。 黑洞质量从 9.6 到 10.4 M⊙10.4\,M_\odot 取 17 个值,每个都对幅度、到达时间和相位取最大。
  4. 透镜搜索。 透镜质量在 10 到 1500 M⊙1500\,M_\odot 之间取 36 个值,yy 在 0.1 到 3 之间取 9 个值;然后对每个 yy,在最佳质量的两个相邻格点之间再细扫 48 个质量;最后对最好的两组做有界的一维优化。透镜模板保持真实的黑洞质量。
  5. 统计量。 Δln⁡L\Delta\ln L,即最佳透镜模板与最佳无透镜模板的对数似然比之差,报告门槛取 4。

加噪声之前,脚本先检查搜索能否找回注入的透镜。两种透镜情形都找回了:透镜质量误差在 0.001% 以内,Δln⁡L\Delta\ln L 和精确模板的值相差不到 10−810^{-8}。

结果。

表 5.3 无透镜信噪比为 20 时的注入结果,单位为 Δln⁡L\Delta\ln L。
情形试验次数无噪声中位数第 90 百分位最大超过 4
透镜,MLz=1000M_{Lz}=1000,y=0.5y=0.520115.2110.2153.3165.9100%
透镜,MLz=1000M_{Lz}=1000,y=2y=2406.034.278.2712.4952.5%
没有透镜12002.494.357.9711.7%

清楚的透镜不会认错。弱透镜像抛硬币,而纯噪声的尾巴能伸到弱透镜也会给出的数值。

有意保留的失败案例

  • 格点太粗。 第一版只在 36 个质量格点上搜索,相邻格点相差约 15%。y=2y=2 时延迟是 90 ms,相邻质量之间 200 Hz 处的条纹相位会差好几个弧度,所以即使没有噪声,最好的格点模板也只有 Δln⁡L=0.73\Delta\ln L=0.73,而不是 6.03。那一版弱透镜的中位数 2.79 基本是噪声。第四步的细化修正了这个问题,无噪声检查也能再次发现它。
  • 放大因子表太粗。 第一版 FF 表在 ww 上只有 1500 个点。y=3y=3、ww 约为 41 时,每个条纹只采到约四个点,插值误差达到 3.8%。改成 6000 个点后降到 0.24%。
  • 假透镜。 120 次纯噪声试验中有 14 次越过门槛。最大的一次是种子 3058,数值 7.97,偏好 MLz≈1150M_{Lz}\approx1150、y=1.5y=1.5。
  • 没有包含的东西。 没有自旋、不等质量、并合、铃宕、探测器天线方向图、突发干扰,也没有透镜周围的星系;yy 只在格点上搜索。这些数字用来说明方法,不是任何真实搜索的灵敏度。

相信一次重跑之前,逐项核对

  • python3 reproduce.py 退出状态为 0,或者你自己用 --write 得到的结果只在与噪声有关的末位上和我们不同。
  • provenance.json 里的 SHA-256 校验和与你的文件一致。
  • 菲涅耳路线和式 (17) 在实部和虚部上都一致,而不只是模一致。
  • 低频时 ∣F−1∣\lvert F-1\rvert 大致按 wln⁡ww\ln w 减小,高频时两像误差总体在减小。
  • 读任何带噪声的结果之前,无噪声搜索先找回了注入的透镜。
  • 每个透镜结果旁边都报告了纯噪声的分布,并且用同一个门槛。

来源

  1. Takahashi 和 Nakamura 2003,第 2 节
  2. Ajith 2011,第 IV 节
  3. Cutler 和 Flanagan 1994,式 41–42

继续阅读

这一页直接连着哪些内容

引力波透镜与频率条纹 · 阅读路径

  1. 文章同一段啁啾走了两条路,探测器听到什么
  2. 文章透镜为什么让引力波晚到
  3. 文章点质量透镜放大因子的精确解
  4. 文章探测器分得清透镜化的啁啾吗
  5. 当前页面复算点透镜放大因子,再检验一次透镜搜索
  6. 文章怎样读第三轮观测的引力波透镜搜索
这个页面有错误、看不明白,或者缺了什么?告诉我们
反馈类型

提交时会附带本页地址、Lab ID、网站语言和设备类型。请不要填写个人信息。反馈最多保存 12 个月。隐私政策