GWForge.fisher.parameters

Attributes

Functions

step_size(name, value[, step_sizes])

Starting finite-difference step for one parameter.

bounded_step(name, value, step)

Shrink a step so that value +/- 2 * step stays physical.

strip_shadowed_parameters(parameters, fisher_parameters)

Remove source parameters that would silently pin a Fisher parameter.

Module Contents

GWForge.fisher.parameters.ANALYTIC_PARAMETERS = ('luminosity_distance', 'geocent_time', 'psi', 'ra', 'dec')[source]
GWForge.fisher.parameters.DEFAULT_PARAMETERS = ('chirp_mass', 'symmetric_mass_ratio', 'luminosity_distance', 'ra', 'dec', 'theta_jn', 'psi',...[source]
GWForge.fisher.parameters.PRECESSING_PARAMETERS = ('chirp_mass', 'symmetric_mass_ratio', 'luminosity_distance', 'ra', 'dec', 'theta_jn', 'psi',...[source]
GWForge.fisher.parameters.ECCENTRIC_PRECESSING_PARAMETERS = ('chirp_mass', 'symmetric_mass_ratio', 'luminosity_distance', 'ra', 'dec', 'theta_jn', 'psi',...[source]
GWForge.fisher.parameters.DEFAULT_STEP_SIZES[source]
GWForge.fisher.parameters.step_size(name, value, step_sizes=None)[source]

Starting finite-difference step for one parameter.

Parameters:
  • name (str) – Parameter name.

  • value (float) – Fiducial value.

  • step_sizes (dict or None) – Overrides for DEFAULT_STEP_SIZES.

Return type:

float

GWForge.fisher.parameters.bounded_step(name, value, step)[source]

Shrink a step so that value +/- 2 * step stays physical.

The five-point stencil reaches twice the step either side, so a source close to a boundary – an almost equal-mass binary against eta = 0.25, an extremal spin against 1 – would otherwise be evaluated at parameters the waveform cannot represent.

A value sitting exactly on a bound is physical, not an error – a non-spinning binary has a_1 = 0 and a circular one has eccentricity = 0. There is simply no two-sided derivative there, and the Fisher matrix is singular in that parameter because the waveform cannot respond to a displacement in the forbidden direction. That gets its own message, because “a_1 = 0.0 is outside its physical range” is a thoroughly confusing way to describe a perfectly ordinary injection.

Parameters:
  • name (str) – Parameter name; unbounded names are returned unchanged.

  • value (float) – Fiducial value.

  • step (float) – Requested step.

Returns:

The step, possibly reduced. Never returns zero for a positive input.

Return type:

float

Raises:

ValueError – If the value is on or outside a bound, with different wording for the two cases.

GWForge.fisher.parameters.REDUNDANT_PARAMETER_GROUPS = (('mass_1', 'mass_2', 'chirp_mass', 'total_mass', 'symmetric_mass_ratio', 'mass_ratio',...[source]
GWForge.fisher.parameters.strip_shadowed_parameters(parameters, fisher_parameters)[source]

Remove source parameters that would silently pin a Fisher parameter.

Parameters:
  • parameters (dict) – Source parameters as read from the configuration or an injection file.

  • fisher_parameters (sequence of str) – The names the Fisher matrix is taken over.

Returns:

(parameters, removed). parameters is a new dict; removed is the sorted list of keys dropped, which the caller should log so the change is visible rather than silent.

Return type:

tuple