skypy.power_spectrum.transfer_with_wiggles

skypy.power_spectrum.transfer_with_wiggles(wavenumber, A_s, n_s, cosmology, kwmap=0.02)[source] [edit on github]

Eisenstein & Hu transfer function with wiggles. This function returns the Eisenstein & Hu fitting formula for the transfer function with baryon acoustic oscillation wiggles. This is described in [1] and [2].

Parameters
wavenumber(nk,) array_like

Array of wavenumbers in units of Mpc-1 at which to evaluate the linear matter power spectrum.

cosmologyastropy.cosmology.Cosmology

Cosmology object providing omega_matter, omega_baryon, Hubble parameter and CMB temperature at the present day.

A_s, n_s: float

Amplitude and spectral index of primordial scalar fluctuations.

kwmapfloat

WMAP normalization for the amplitude of primordial scalar fluctuations, as described in [3], in units of Mpc-1. Default is 0.02.

Returns
transfer(nk,) array_like

Transfer function evaluated at the given array of wavenumbers for the input primordial power spectrum parameters A_s and n_s, cosmology and kwmap normalization.

References

1

Eisenstein D. J., Hu W., ApJ, 496, 605 (1998)

2

Eisenstein D. J., Hu W., ApJ, 511, 5 (1999)

3

Komatsu et al., ApJS, 180, 330 (2009)

Examples

This returns the transfer function with wiggles for the Astropy default cosmology at a given array of wavenumbers:

>>> import numpy as np
>>> from astropy.cosmology import default_cosmology
>>> wavenumber = np.logspace(-3, 1, num=5, base=10.0)
>>> A_s, n_s = 2.1982e-09, 0.969453
>>> cosmology = default_cosmology.get()
>>> transfer_with_wiggles(wavenumber, A_s, n_s, cosmology, kwmap=0.02)
array([9.92144790e-01, 7.78548704e-01, 1.29998169e-01, 4.63863054e-03,
   8.87918075e-05])