|
######## w0wzCDM |
|
# No relativistic species |
|
def w0wzcdm_inv_efunc_norel(double z, double Om0, double Ode0, double Ok0, |
|
double w0, double wz): |
|
cdef double opz = 1.0 + z |
|
cdef Odescl = opz**(3. * (1. + w0 - wz)) * exp(-3. * wz * z) |
|
return pow(opz**2 * (opz * Om0 + Ok0) + Ode0 * Odescl, -0.5) |
|
|
|
# Massless neutrinos |
|
def w0wzcdm_inv_efunc_nomnu(double z, double Om0, double Ode0, double Ok0, |
|
double Or0, double w0, double wz): |
|
cdef double opz = 1.0 + z |
|
cdef Odescl = opz**(3. * (1. + w0 - wz)) * exp(-3. * wz * z) |
|
return pow((((opz * Or0 + Om0) * opz) + Ok0) * opz**2 + |
|
Ode0 * Odescl, -0.5) |
|
|
|
# With massive neutrinos |
|
def w0wzcdm_inv_efunc(double z, double Om0, double Ode0, double Ok0, |
|
double Ogamma0, double NeffPerNu, int nmasslessnu, list nu_y, double w0, |
|
double wz): |
|
|
|
cdef double opz = 1.0 + z |
|
cdef double Or0 = Ogamma0 * (1.0 + nufunc(opz, NeffPerNu, nmasslessnu, nu_y)) |
|
cdef Odescl = opz**(3. * (1. + w0 - wz)) * exp(-3. * wz * z) |
|
return pow((((opz * Or0 + Om0) * opz) + Ok0) * opz**2 + Ode0 * Odescl, -0.5) |
|
|
|
######## Flatw0wzCDM |
|
# No relativistic species |
|
def fw0wzcdm_inv_efunc_norel(double z, double Om0, double Ode0, |
|
double w0, double wz): |
|
cdef double opz = 1.0 + z |
|
cdef Odescl = opz**(3. * (1. + w0 - wz)) * exp(-3. * wz * z) |
|
return pow(opz**3 * Om0 + Ode0 * Odescl, -0.5) |
|
|
|
# Massless neutrinos |
|
def fw0wzcdm_inv_efunc_nomnu(double z, double Om0, double Ode0, |
|
double Or0, double w0, double wz): |
|
cdef double opz = 1.0 + z |
|
cdef Odescl = opz**(3. * (1. + w0 - wz)) * exp(-3. * wz * z) |
|
return pow((opz * Or0 + Om0) * opz**3 + Ode0 * Odescl, -0.5) |
|
|
|
# With massive neutrinos |
|
def fw0wzcdm_inv_efunc(double z, double Om0, double Ode0, |
|
double Ogamma0, double NeffPerNu, int nmasslessnu, list nu_y, double w0, |
|
double wz): |
|
|
|
cdef double opz = 1.0 + z |
|
cdef double Or0 = Ogamma0 * (1.0 + nufunc(opz, NeffPerNu, nmasslessnu, nu_y)) |
|
cdef Odescl = opz**(3. * (1. + w0 - wz)) * exp(-3. * wz * z) |
|
return pow((opz * Or0 + Om0) * opz**3 + Ode0 * Odescl, -0.5) |
Description
I don't have time this week or next to push a fix, so this is just to record that #14991 might not be fully fixed.
At a glance, the
pyxfiles might contain the same exponent sign error.astropy/astropy/cosmology/flrw/scalar_inv_efuncs.pyx
Lines 204 to 253 in f893150
Expected behavior
Matches fix #14991
How to Reproduce
N/A
Versions
N/A