bilby.gw.prior.AlignedSpin
- class bilby.gw.prior.AlignedSpin(a_prior=Uniform(minimum=0, maximum=1, name=None, latex_label=None, unit=None, boundary=None), z_prior=Uniform(minimum=-1, maximum=1, name=None, latex_label=None, unit=None, boundary=None), name=None, latex_label=None, unit=None, boundary=None, minimum=nan, maximum=nan)[source]
Bases:
Interped
Prior distribution for the aligned (z) component of the spin.
This takes prior distributions for the magnitude and cosine of the tilt and forms a compound prior using a numerical convolution integral.
\[\pi(\chi) = \int_{0}^{1} da \int_{-1}^{1} d\cos\theta \pi(a) \pi(\cos\theta) \delta(\chi - a \cos\theta)\]This is useful when using aligned-spin only waveform approximants.
This is an extension of e.g., (A7) of https://arxiv.org/abs/1805.10457.
- __init__(a_prior=Uniform(minimum=0, maximum=1, name=None, latex_label=None, unit=None, boundary=None), z_prior=Uniform(minimum=-1, maximum=1, name=None, latex_label=None, unit=None, boundary=None), name=None, latex_label=None, unit=None, boundary=None, minimum=nan, maximum=nan)[source]
- Parameters:
- a_prior: Prior
Prior distribution for spin magnitude
- z_prior: Prior
Prior distribution for cosine spin tilt
- name: see superclass
- latex_label: see superclass
- unit: see superclass
- __call__()[source]
Overrides the __call__ special method. Calls the sample method.
- Returns:
- float: The return value of the sample method.
Methods
__init__
([a_prior, z_prior, name, ...])cdf
(val)Generic method to calculate CDF, can be overwritten in subclass
from_json
(dct)from_repr
(string)Generate the prior from its __repr__
get_instantiation_dict
()is_in_prior_range
(val)Returns True if val is in the prior boundaries, zero otherwise
ln_prob
(val)Return the prior ln probability of val, this should be overwritten
prob
(val)Return the prior probability of val.
rescale
(val)'Rescale' a sample from the unit line element to the prior.
sample
([size])Draw a sample from the prior
to_json
()Attributes
boundary
Returns True if the prior is fixed and should not be used in the sampler.
Latex label that can be used for plots.
If a unit is specified, returns a string of the latex label and unit
Return maximum of the prior distribution.
Return minimum of the prior distribution.
unit
width
Return p(xx) values of the interpolated prior function.
- property is_fixed
Returns True if the prior is fixed and should not be used in the sampler. Does this by checking if this instance is an instance of DeltaFunction.
- Returns:
- bool: Whether it’s fixed or not!
- is_in_prior_range(val)[source]
Returns True if val is in the prior boundaries, zero otherwise
- Parameters:
- val: Union[float, int, array_like]
- Returns:
- np.nan
- property latex_label
Latex label that can be used for plots.
Draws from a set of default labels if no label is given
- Returns:
- str: A latex representation for this prior
- property latex_label_with_unit
If a unit is specified, returns a string of the latex label and unit
- ln_prob(val)[source]
Return the prior ln probability of val, this should be overwritten
- Parameters:
- val: Union[float, int, array_like]
- Returns:
- np.nan
- property maximum
Return maximum of the prior distribution.
Updates the prior distribution if maximum is set to a different value.
Yields an error if value is set above instantiated x-array maximum.
- Returns:
- float: Maximum of the prior distribution
- property minimum
Return minimum of the prior distribution.
Updates the prior distribution if minimum is set to a different value.
Yields an error if value is set below instantiated x-array minimum.
- Returns:
- float: Minimum of the prior distribution
- prob(val)[source]
Return the prior probability of val.
- Parameters:
- val: Union[float, int, array_like]
- Returns:
- Union[float, array_like]: Prior probability of val
- rescale(val)[source]
‘Rescale’ a sample from the unit line element to the prior.
This maps to the inverse CDF. This is done using interpolation.
- sample(size=None)[source]
Draw a sample from the prior
- Parameters:
- size: int or tuple of ints, optional
See numpy.random.uniform docs
- Returns:
- float: A random number between 0 and 1, rescaled to match the distribution of this Prior
- property yy
Return p(xx) values of the interpolated prior function.
Updates the prior distribution if it is changed
- Returns:
- array_like: p(xx) values