cogwheel.gw_prior.extrinsic.UniformLuminosityVolumePrior¶
- class cogwheel.gw_prior.extrinsic.UniformLuminosityVolumePrior(*, tgps, ref_det_name, d_hat_max=500, d_luminosity_max=inf, **kwargs)¶
Bases:
ReferenceDetectorMixin,PriorDistance prior uniform in luminosity volume and detector-frame time.
The sampled parameter is
d_hat := d_effective / mchirp^(5/6)
where the effective distance is defined in one “reference” detector.
- Parameters:
- tgpsfloat
GPS time of the event, sets Earth orientation.
- ref_det_namestr
Reference detector name, e.g. ‘H’ for Hanford.
- d_hat_maxfloat
Upper bound for sampling d_hat (Mpc Msun^(-5/6)).
- d_luminosity_maxfloat
Maximum luminosity distance allowed by the prior (Msun).
Methods
Antenna coefficients (F+, Fx) at the reference detector.
Sample the prior using rejection sampling.
Return the complex geometric factor
Return a list of parameter names that map to given "fast" standard parameters.
Return keyword arguments to reproduce the class instance.
Name of the module that defines the instance's class.
Return parameters accepted by the class constructor.
d_luminosity to d_hat
Add columns in-place for self.sampled_params to samples.
Natural log Jacobian determinant of the inverse transform.
Natural log of the prior probability density for d_hat.
Return log prior and standard parameters.
Return a new instance of the class, possibly updating init_kwargs.
Log prior density in standard coordinates.
Time delay from Earth center to the reference detector.
Write class instance to json file.
d_hat to d_luminosity
Add columns in-place for self.standard_params to samples.
Return a function that unfolds its parameters and applies func to each unfolding.
Attributes
conditioned_onfolded_paramsfolded_reflected_paramsfolded_shifted_paramsMaximum log prior density, useful for rejection sampling.
periodic_paramsrange_dic3d location of the reference detector on Earth [meters].
reflective_paramssampled_paramsstandard_paramssubclass_registry- fplus_fcross_refdet(ra, dec, psi)¶
Antenna coefficients (F+, Fx) at the reference detector.
- generate_random_samples(n_samples, seed=None, return_lnz=False)¶
Sample the prior using rejection sampling.
This is more efficient for more uniform priors.
- Parameters:
- n_samplesint
How many samples to generate.
- seed
Passed to
numpy.default_rng, for reproducibility.
- Returns:
- samplespd.DataFrame
Columns are
.sampled_params + .standard_params, and rows are samples distributed according to the prior.- lnz, dlnzfloat, float
Log of the integral of the prior over the bounds, and estimate of the 1-sigma uncertainty. Only returned if return_lnz is set to
True. Useful for estimating the normalization constant of the prior. Note: This differs from the lnz that nested samplers (e.g. PyMultiNest or Nautilus) would compute, in that it has the phase-space volume differential applied. I.e. if lnprior == 0, lnz == log(prod(self.cubesize)) while nested samplers would return lnz == 0.
- geometric_factor_refdet(ra, dec, psi, iota)¶
Return the complex geometric factor
\[R = \frac{1+\cos^2 \iota}{2} F_{+} - i \cos \iota \ F_{\times}\]that relates a waveform with generic orientation to an overhead face-on one for quadrupolar waveforms. Note that the amplitude
|R|is between 0 and 1.
- classmethod get_fast_sampled_params(fast_standard_params)¶
Return a list of parameter names that map to given “fast” standard parameters.
Useful for sampling fast-slow parameters. Updating fast sampling parameters is guaranteed to only change fast standard parameters.
- get_init_dict(**kwargs)¶
Return keyword arguments to reproduce the class instance.
- get_module_name()¶
Name of the module that defines the instance’s class.
- classmethod init_parameters(include_optional=True)¶
Return parameters accepted by the class constructor.
The parameters are sorted by parameter kind (i.e. positional arguments first, keyword arguments last). The self parameter is excluded.
- Parameters:
- include_optionalbool
Whether to include parameters with defaults in the returned list.
- Returns:
- list of
inspect.Parameterobjects
- list of
- inverse_transform(d_luminosity, ra, dec, psi, iota, m1, m2)¶
d_luminosity to d_hat
- inverse_transform_samples(samples: DataFrame)¶
Add columns in-place for self.sampled_params to samples.
- Parameters:
- samplespandas.Dataframe
Must include columns for .standard_params and .conditioned_on.
- Raises:
- ValueError
If samples.index is not a simple range.
- ln_jacobian_determinant(d_luminosity, ra, dec, psi, iota, m1, m2)¶
Natural log Jacobian determinant of the inverse transform.
- Returns:
- floatlog|∂{d_hat} / ∂{d_luminosity}|
- lnprior(d_hat, ra, dec, psi, iota, m1, m2)¶
Natural log of the prior probability density for d_hat.
This prior is not normalized, as that would need to know the masses’ integration region.
- lnprior_and_transform(*par_vals, **par_dic)¶
Return log prior and standard parameters.
The reason for this function is that for CombinedPrior it is already necessary to evaluate self.transform() in order to evaluate self.lnprior(). CombinedPrior overwrites this function so the user can get both lnprior and transform without evaluating transform twice.
- Returns:
- float
Log prior, output of .lnprior.
- dict
Standard parameters, output of .transform.
- property max_lnprior¶
Maximum log prior density, useful for rejection sampling.
- property ref_det_location¶
3d location of the reference detector on Earth [meters].
- reinstantiate(**new_init_kwargs)¶
Return a new instance of the class, possibly updating init_kwargs.
Values not passed will be taken from the current instance.
- standard_lnprior(**parameters)¶
Log prior density in standard coordinates.
- Parameters:
- **parameters
Values for
.standard_paramsand.conditioned_onparameters.
- time_delay_refdet(ra, dec)¶
Time delay from Earth center to the reference detector.
- to_json(dirname, basename=None, *, dir_permissions=493, file_permissions=420, overwrite=False)¶
Write class instance to json file.
It can then be loaded with read_json.
- transform(d_hat, ra, dec, psi, iota, m1, m2)¶
d_hat to d_luminosity
- transform_samples(samples: DataFrame)¶
Add columns in-place for self.standard_params to samples.
- Parameters:
- samplespandas.Dataframe
Must include columns for .sampled_params and .conditioned_on.
- Raises:
- ValueError
If samples.index is not a simple range.
- unfold_apply(func, otypes=(<class 'float'>, ))¶
Return a function that unfolds its parameters and applies func to each unfolding.
The returned function returns a list of length 2**n_folds.
- Parameters:
- funccallable
A python function or method.
- otypesstr or list of dtypes
Output type, passed to
np.vectorize. You can passNoneto decide automatically, but then an extra function call will be made.
- Returns:
- callable
Unfolding function.