gwinferno.models.bsplines.separable.BSplineIIDComponentMasses#
- class BSplineIIDComponentMasses(n_splines, m1, m2, m1_inj, m2_inj, mmin=2, mmax=100, **kwargs)[source]#
Bases:
object
B-Spline model for the masses of both binary components assuming they are independently and identically distributed (IID), with an optional pairing term as a powerlaw in mass ratio.
\[p(m_1, m_2 \mid \mathbf{c}, \beta) = p(m_1 \mid \mathbf{c}) p(m_2 \mid \mathbf{c}) \left(\frac{m_2}{m_1}\right)^\beta,\]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.
- m1, m2array_like
Primary and secondary component mass parameter estimation samples for basis evaluation.
- m1_inj, m2_injarray_like
Primary and secondary component mass injection samples for basis evaluation.
- mminfloat, default=2
Minimum component mass.
- mmaxfloat, default=100
Maximum component mass.
- **kwargsdict, optional
Additional keyword arguments to pass to the basis spline model.
Methods
- __call__(coefs, beta=0, 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.
- betafloat, default=0
Mass ratio powerlaw slope.
- 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.