gwinferno.models.bsplines.separable.BSplineIIDSpinMagnitudes#

class BSplineIIDSpinMagnitudes(n_splines, a1, a2, a1_inj, a2_inj, **kwargs)[source]#

Bases: object

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

\[p(a_1, a_2 \mid \mathbf{c}) = p(a_1 \mid \mathbf{c}) p(a_2 \mid \mathbf{c}),\]

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

Parameters:
n_splinesint

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

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.

**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, a1, a2, a1_inj, a2_inj, **kwargs)[source]#