gwinferno.models.bsplines.separable.BSplineIIDSpinTilts#

class BSplineIIDSpinTilts(n_splines, ct1, ct2, ct1_inj, ct2_inj, **kwargs)[source]#

Bases: object

A B-Spline model for the (cosine of) spin tilts of both binary components assuming they are independently and identically distributed (IID),

\[p(\cos{t_1}, \cos{t_2} \mid \mathbf{c}) = p(\cos{t_1} \mid \mathbf{c}) p(\cos{t_2} \mid \mathbf{c}),\]

where \(\mathbf{c}\) is a vector of the n_splines basis spline coefficients.

Parameters:
n_splines1int

Number of basis functions, i.e., the number of degrees of freedom of the spline model.

ct1, ct2array_like

Primary and secondary component spin cosine tilt parameter estimation samples for basis evaluation.

ct1_inj, ct2_injarray_like

Primary and secondary component spin cosine tilt injection samples for basis evaluation.

**kwargsdict, optional

Additional keyword arguments to pass to the basis spline model.

Methods

__call__(coefs, pe_samples=True)[source]#

Evaluate the joint probability density over the parameter estimation or injection samples. Use flag pe_samples to specify which samples are being evaluated (parameter estimation or injection).

Parameters:
coefsarray_like

Spline coefficients.

pe_samplesbool, default=True

If True, design matrix is evaluated across parameter estimation samples. If False, design matrix is evaluated across injection samples.

Returns:
array_like:

Joint probability density for parameter estimation or injection samples.

__init__(n_splines, ct1, ct2, ct1_inj, ct2_inj, **kwargs)[source]#