def entire_integral(logHs, alpha, beta, s=1): r""" The entire integral of the un-normalised mass-weighted *non-truncated* MRP: .. math:: \int_0^\infty m^s f(m) = \mathcal{H}_\star^{s+1} \Gamma\left(\frac{\alpha+1+s}{\beta}\right) \ dm. where *s* defines a weighting of the integral, in which the immediate application is that ``s=1`` gives the total mass density. .. note:: The sum of `alpha` and `s` must be greater than -1. Parameters ---------- logHs : array_like The base-10 logarithm of the scale mass, :math:`H_\star`. alpha : array_like The power-law index beta : array_like Exponential cutoff parameter s : array_like, optional Weighting (or `scaling`) of the integral. """ return 10**((s + 1)*logHs)*sp.gamma((alpha + 1 + s)/beta)
def _gammaz(self): """ The gamma function at z=(1+a)/b. Stored for use elsewhere. """ return sp.gamma(self._z)
def _gammazd(self): return sp.gamma(self._zd)