gwinferno.models.bsplines.separable.BSplineIndependentSpinTilts#

class BSplineIndependentSpinTilts(n_splines1, n_splines2, ct1, ct2, ct1_inj, ct2_inj, kwargs1={}, kwargs2={}, **kwargs)[source]#

Bases: object

A B-Spline model for the (cosine of) spin tilts of the primary and secondary components assuming they are independently distributed,

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

where \(\mathbf{c}_1, \mathbf{c}_2\) are vectors of the n_splines1, n_splines2 basis spline coefficients for the primary and secondary component cosine spin tilts, respectively.

Parameters:
n_splines1, n_splines2int

Number of basis functions, i.e., the number of degrees of freedom, of the primary and secondary component spline models.

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.

kwargs1, kwargs2dict, optional

Additional keyword arguments to pass to the basis spline model for the primary and secondary components.

**kwargsdict, optional

Additional keyword arguments to pass to both basis spline models.

Methods

__call__(pcoefs, scoefs, 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:
pcoefs, scoefsarray_like

Spline coefficients for the (p)rimary and (s)econdary components.

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_splines1, n_splines2, ct1, ct2, ct1_inj, ct2_inj, kwargs1={}, kwargs2={}, **kwargs)[source]#