nbodykit.algorithms.zhist¶
Functions
|
Return the optimal histogram bin width using Scott's rule, defined as: |
Classes
|
Compute the mean number density as a function of redshift \(n(z)\) from an input CatalogSource of particles. |
- class nbodykit.algorithms.zhist.RedshiftHistogram(source, fsky, cosmo, bins=None, redshift='Redshift', weight=None)[source]¶
Compute the mean number density as a function of redshift \(n(z)\) from an input CatalogSource of particles.
Results are computed when the object is inititalized. See the documenation of
run()
for the attributes storing the results.Note
The units of the number density are \((\mathrm{Mpc}/h)^{-3}\)
- Parameters
source (CatalogSource) – the source of particles holding the redshift column to histogram
fsky (float) – the sky area fraction, which is used in the volume calculation when normalizing \(n(z)\)
cosmo (
nbodykit.cosmology.core.Cosmology
) – the cosmological parameters, which are used to compute the volume from redshift shells when normalizing \(n(z)\)bins (int or sequence of scalars, optional) – If bins is an int, it defines the number of equal-width bins in the given range. If bins is a sequence, it defines the bin edges, including the rightmost edge, allowing for non-uniform bin widths. If not provided, Scott’s rule is used to estimate the optimal bin width from the input data (default)
redshift (str, optional) – the name of the column specifying the redshift data
weight (str, optional) – the name of the column specifying weights to use when histogramming the data
Methods
interpolate
(z[, ext])Interpoalte dndz as a function of redshift.
load
(output[, comm])Load a saved RedshiftHistogram result.
run
()Run the algorithm, which computes the histogram.
save
(output)Save the RedshiftHistogram result to disk.
- interpolate(z, ext='zeros')[source]¶
Interpoalte dndz as a function of redshift.
The interpolation acts as a band pass filter, removing small scale fluctuations in the estimator.
- Parameters
z (array_like) – redshift
ext ('extrapolate', 'zeros', 'raise', 'const') – how to deal with values out of bound.
- Returns
n
- Return type
n(z)
- classmethod load(output, comm=None)[source]¶
Load a saved RedshiftHistogram result.
The result has been saved to disk with
RedshiftHistogram.save()
.
- run()[source]¶
Run the algorithm, which computes the histogram. This function does not return anything, but adds the following attributes to the class:
Note
All ranks store the same result attributes.
- bin_edges¶
the edges of the redshift bins
- Type
array_like
- bin_centers¶
the center values of each redshift bin
- Type
array_like
- dV¶
the volume of each redshift shell in units of \((\mathrm{Mpc}/h)^3\)
- Type
array_like
- nbar¶
the values of the redshift histogram, normalized to number density (in units of \((\mathrm{Mpc}/h)^{-3}\))
- Type
array_like
- nbodykit.algorithms.zhist.scotts_bin_width(data, comm)[source]¶
Return the optimal histogram bin width using Scott’s rule, defined as:
\[h = \sigma \sqrt[3]{\frac{24 * \sqrt{\pi}}{n}}\]Note
This is a collective operation
- Parameters
data (array_like) – the array that we are histograming
comm – the MPI communicator
- Returns
dx (float) – the bin spacing
edges (array_like) – the array holding the bin edges