Beispiel #1
0
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)
Beispiel #2
0
 def _gammaz(self):
     """
     The gamma function at z=(1+a)/b. Stored for use elsewhere.
     """
     return sp.gamma(self._z)
Beispiel #3
0
 def _gammazd(self):
     return sp.gamma(self._zd)