gwinferno.models.bsplines.separable.BSplinePrimaryPowerlawRatio#

class BSplinePrimaryPowerlawRatio(n_splines, m1, m1_inj, mmin=2, mmax=100, **kwargs)[source]#

Bases: object

A B-Spline model in primary mass and a powerlaw model in mass ratio,

\[p(m_1, q \mid \mathbf{c}, \beta) = p(m_1 \mid \mathbf{c}) p(q \mid \beta, m_1, m_{\mathrm{min}}),\]

where \(\mathbf{c}\) is a vector of the n_splines basis spline coefficients, and \(\beta\) is the powerlaw slope of the mass ratio distribution.

Parameters:
n_splinesint

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

m1array_like

Primary component mass parameter estimation samples for basis evaluation.

m1_injarray_like

Primary component mass injection samples for basis evaluation.

mminfloat, default=2

Minimum component mass, setting lower bounds on the primary mass and mass ratio (\(q>m_\mathrm{min}/m_1\)).

mmaxfloat, default=100

Maximum component mass, setting the upper bound on the primary mass.

**kwargsdict, optional

Additional keyword arguments to pass to the basis spline model.

See also

gwinferno.distributions.powerlaw_pdf

Powerlaw probability density function.

Methods

__call__(m1, q, beta, mmin, 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:
m1, qarray_like

Primary masses and mass ratios for computing joint probability density.

mminfloat

Minimum component mass, setting lower bounds on the primary mass and mass ratio (\(q>m_\mathrm{min}/m_1\)).

coefs (array_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, m1, m1_inj, mmin=2, mmax=100, **kwargs)[source]#