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.