Skip to content

[PHYSICS BUG][HIGH] Fisher matrix uses O(ε) forward difference, not O(ε⁴) five-point stencil #2

@JasperSeehofer

Description

@JasperSeehofer

File: master_thesis_code/parameter_estimation/parameter_estimation.py:336

compute_fisher_information_matrix() calls finite_difference_derivative(), which implements a first-order forward difference:

179667\frac{\partial h}{\partial\theta} \approx \frac{h(\theta+\varepsilon) - h(\theta)}{\varepsilon} \quad [O(\varepsilon)\text{ error}]179667

The O(ε⁴) five-point formula:

179667\frac{\partial h}{\partial\theta} \approx \frac{-h(\theta+2\varepsilon)+8h(\theta+\varepsilon)-8h(\theta-\varepsilon)+h(\theta-2\varepsilon)}{12\varepsilon}179667

is already implemented as five_point_stencil_derivative() in the same class but is never called from the Fisher matrix computation. The class docstring incorrectly claims a five-point stencil is used.

Fix: In compute_fisher_information_matrix(), replace the call to self.finite_difference_derivative() with self.five_point_stencil_derivative().

Cost: ~4× more waveform evaluations per Fisher matrix. Accuracy improves by O(ε³).

References:

  • Vallisneri (2008), Use and abuse of the Fisher information matrix, arXiv:gr-qc/0703086
  • Cutler & Flanagan (1994), PRD 49, 2658

Physics Change Protocol required.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpaper-blockerMust fix before paper submissionphysicsPhysics formula or scientific correctness issue

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions