gwinferno.models.bsplines.separable.BSplineIndependentSpinMagnitudes#

class BSplineIndependentSpinMagnitudes(n_splines1, n_splines2, a1, a2, a1_inj, a2_inj, kwargs1={}, kwargs2={}, **kwargs)[source]#

Bases: object

A B-Spline model for the spin magnitudes of the primary and secondary components assuming they are independently distributed,

\[p(a_1, a_2 \mid \mathbf{c}_1, \mathbf{c}_2) = p(a_1 \mid \mathbf{c}_1) p(a_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 spin magnitudes, 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.

a1, a2array_like

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

a1_inj, a2_injarray_like

Primary and secondary component spin magnitude 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, a1, a2, a1_inj, a2_inj, kwargs1={}, kwargs2={}, **kwargs)[source]#