cogwheel.gw_prior.tides.UniformTidalDeformabilitiesBNSPrior

class cogwheel.gw_prior.tides.UniformTidalDeformabilitiesBNSPrior(*, max_tidal_deformability=5000.0, **kwargs)

Bases: UniformPriorMixin, IdentityTransformMixin, Prior

Uniform prior for tidal deformability, independent for the two compact objects.

Parameters:
max_tidal_deformability: float

Maximum dimensionless tidal deformability for both stars.

Methods

generate_random_samples

Sample the prior using rejection sampling.

get_fast_sampled_params

Return a list of parameter names that map to given "fast" standard parameters.

get_init_dict

Dictionary with arguments to reproduce class instance.

get_module_name

Name of the module that defines the instance's class.

init_parameters

Return parameters accepted by the class constructor.

inverse_transform

Transform sampled parameter values to standard parameter values.

inverse_transform_samples

Add columns in-place for self.sampled_params to samples.

ln_jacobian_determinant

Natural log Jacobian determinant of the inverse transform.

lnprior

Natural logarithm of the prior probability density.

lnprior_and_transform

Return log prior and standard parameters.

reinstantiate

Return a new instance of the class, possibly updating init_kwargs.

standard_lnprior

Log prior density in standard coordinates.

to_json

Write class instance to json file.

transform

Transform sampled parameter values to standard parameter values.

transform_samples

Add columns in-place for self.standard_params to samples.

unfold_apply

Return a function that unfolds its parameters and applies func to each unfolding.

Attributes

conditioned_on

folded_params

folded_reflected_params

folded_shifted_params

max_lnprior

Maximum log prior density, useful for rejection sampling.

periodic_params

range_dic

reflective_params

sampled_params

standard_params

subclass_registry

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.

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)

Dictionary with arguments to reproduce 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.Parameter objects
inverse_transform(*par_vals, **par_dic)

Transform sampled parameter values to standard parameter values.

Take self.sampled_params + self.conditioned_on parameters and return a dictionary with self.standard_params parameters.

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(*par_vals, **par_dic)

Natural log Jacobian determinant of the inverse transform.

Take .standard_params + .conditioned_on parameters and return a float representing

log|∂{sampled_params} / ∂{standard_params}|

lnprior(*par_vals, **par_dic)

Natural logarithm of the prior probability density.

Parameters:
*par_vals, **par_dic

.sampled_params + .conditioned_on parameters

Returns:
float

Natural logarithm of the prior probability density in the space of sampled parameters.

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.

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_params and .conditioned_on parameters.

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(*par_vals, **par_dic)

Transform sampled parameter values to standard parameter values.

Take self.sampled_params + self.conditioned_on parameters and return a dictionary with self.standard_params parameters.

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 pass None to decide automatically, but then an extra function call will be made.

Returns:
callable

Unfolding function.