cogwheel.gw_prior.extrinsic.IsotropicSkyLocationPrior¶
- class cogwheel.gw_prior.extrinsic.IsotropicSkyLocationPrior(*, detector_pair, tgps, **kwargs)¶
Bases:
UniformPriorMixin,PriorIsotropic prior for the sky localization angles.
The angles sampled are fixed to Earth and defined with respect to a pair of detectors: the polar angle thetanet is with respect to the line connecting the two detectors, and the azimuthal angle phinet with respect to the horizon at the midpoint between the two detectors. These are transformed to the standard (ra, dec)
Methods
Sample the prior using rejection sampling.
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.
Right ascension and declination to network sky angles.
Add columns in-place for self.sampled_params to samples.
Natural log Jacobian determinant of the inverse transform.
Natural logarithm of the prior probability density.
Return log prior and standard parameters.
Return a new instance of the class, possibly updating init_kwargs.
Log prior density in standard coordinates.
Write class instance to json file.
Network sky angles to right ascension and declination.
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_dicreflective_paramssampled_paramsstandard_paramssubclass_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)¶
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(ra, dec, iota)¶
Right ascension and declination to network sky angles.
- 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(ra, dec, iota)¶
Natural log Jacobian determinant of the inverse transform.
- Returns:
- floatlog|∂{costhetanet, phinet_hat} / ∂{ra, dec}|
- lnprior(*par_vals, **par_dic)¶
Natural logarithm of the prior probability density.
- Parameters:
- *par_vals, **par_dic
.sampled_params + .conditioned_onparameters
- 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_paramsand.conditioned_onparameters.
- 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(costhetanet, phinet_hat, iota)¶
Network sky angles to right ascension and declination.
- 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.