Parameter Estimation¶
EMRI parameter estimation: waveform generation, Fisher matrix, SNR, and Cramér-Rao bounds.
ParameterEstimation drives the core computational pipeline: it generates
LISA TDI waveforms using the few package, computes the signal-to-noise ratio,
and — for detections above the SNR threshold — evaluates the full Fisher information
matrix via a 5-point finite-difference stencil to obtain Cramér-Rao lower bounds on
all 14 EMRI parameters.
- class master_thesis_code.parameter_estimation.parameter_estimation.ParameterEstimation(waveform_generation_type, parameter_space, *, use_gpu=True, use_five_point_stencil=True)[source]¶
Bases:
objectEMRI waveform-based parameter estimation using the LISA Fisher information matrix.
Generates LISA TDI waveforms via the
fewpackage, computes the noise-weighted signal-to-noise ratio, and — for detections above the SNR threshold — evaluates the full \(14 \times 14\) Fisher matrix using a 5-point finite-difference stencil to obtain Cramér-Rao lower bounds on all EMRI parameters.- Variables:
parameter_space (master_thesis_code.datamodels.parameter_space.ParameterSpace) – 14-parameter EMRI configuration space.
lisa_response_generator (Any) – LISA TDI response generator for the full 5-year observation.
snr_check_generator (Any) – LISA TDI response generator for the 1-year SNR pre-check.
dt (int) – Time sampling interval in seconds.
T (float) – Observation time in years.
- Parameters:
waveform_generation_type (WaveGeneratorType)
parameter_space (ParameterSpace)
use_gpu (bool)
use_five_point_stencil (bool)
- finite_difference_derivative()[source]¶
Compute partial derivative of the currently set parameters w.r.t. the provided parameter.
- five_point_stencil_derivative()[source]¶
Compute partial derivatives for all parameters using the 5-point stencil method.
Uses the O(epsilon^4) central-difference stencil for each of the 14 EMRI parameters, matching the API of
finite_difference_derivative()so the two methods are interchangeable incompute_fisher_information_matrix().- Returns:
Dictionary mapping parameter symbol to its derivative array.
- Raises:
ParameterOutOfBoundsError – If the stencil would evaluate outside parameter bounds.
- Return type:
References
Vallisneri (2008), arXiv:gr-qc/0703086 — derivative accuracy for Fisher matrices.
- flush_pending_results()[source]¶
Write all buffered Cramér-Rao bound rows to disk and clear the buffer.
Call this at the end of a simulation run to ensure no results are lost. Rows are grouped by simulation index so a single read/write per file replaces one read/write per detection (the previous behaviour).
- Return type:
None
- parameter_space: ParameterSpace¶
- save_cramer_rao_bound(cramer_rao_bound_dictionary, snr, simulation_index, host_galaxy_index=-1)[source]¶
- scalar_product_of_functions(tdi_channels_a, tdi_channels_b)[source]¶
LISA noise-weighted inner product between two TDI waveforms.
Implements the standard gravitational-wave inner product:
\[\langle h_1 \mid h_2 \rangle = 4 \,\mathrm{Re} \sum_{\alpha \in \{A, E\}} \int_{f_\min}^{f_\max} \frac{\tilde{h}_1^\alpha(f)\, \tilde{h}_2^{\alpha *}(f)}{S_n^\alpha(f)} \, df\]summed over TDI channels, where \(S_n^\alpha(f)\) is the one-sided noise PSD from
power_spectral_density().This is the computational hot path: it is called \(O(N_\theta^2)\) times per Fisher matrix (105 calls for 14 parameters using the 5-point stencil).
- Parameters:
- Returns:
Real-valued inner product \(\langle h_1 \mid h_2 \rangle\).
- Return type: