'Evaluates the redshift dependence of the dark energy density.
Parameters
z : array-like
Input redshifts.
Returns
I : ndarray, or float if input scalar
The scaling of the energy density of dark energy with redshift.
Notes
The scaling factor, I, is defined by :math:`\\rho(z) = \\rho_0 I`,
and in this case is given by
.. math::
a_p = \frac{1}{1 + z_p}
I = \left(1 + z\right)^{3 \left(1 + w_p + a_p w_a\right)}
\exp \left(-3 w_a \frac{z}{1+z}\right)'

def de_density_scale(self, z):

    if isiterable(z):
        z = np.asarray(z)
    zp1 = (1.0 + z)
    apiv = (1.0 / (1.0 + self._zp))
    return ((zp1 ** (3.0 * ((1.0 + self._wp) + (apiv * self._wa)))) * np.exp(((((-3.0) * self._wa) * z) / zp1)))
