Gaussian

class hmf.density_field.filters.Gaussian(k, power, **model_parameters)[source]

Gaussian window function.

This class is based on Filter, which can be consulted for details of how to instantiate it.

Notes

The real-space filter is

\[F(r) = \frac{\exp(-r^2/2R^2)}{R^3 (2\pi)^{3/2}}\]

for a filter scale of R.

The fourier-transform of the filter is

\[W(x=kR) = \exp(-x^2/2).\]

The mass-assignment is

\[m(R) = R^3(2\pi)^{3/2}\bar{\rho},\]

and the derivative of the window function is

\[\frac{dW}{d\ln x}(x=kR) = -xW(x).\]

Attributes

references

References to cite when this model is used, each a formatted citation string.

Methods

dlnr_dlnm(r)

Compute the derivative of log radius with log mass.

For the usual \(m\propto r^3\) mass assignment, this is just 1/3.

Parameters:

r (array_like) – Radii.

dlnss_dlnm(r)

Compute the logarithmic slope of mass variance with mass.

This is an important quantity, and is used directly to calculate \(\frac{dn}{dm}\).

Parameters:

r (array_like) – Radii.

dlnss_dlnr(r)

Compute the derivative of the mass variance with radius.

Parameters:

r (array_like) – Radii

Returns:

dlnss_dlnr – The derivative of the mass variance with radius.

Return type:

array_like

Notes

Given a prescription for how radius grows with mass (typically with a log-slope of 1/3, and set in dlnr_dlnm()), this specifies the quantity \(\frac{d \ln \sigma^2}{d\ln m}\).

The general formula is

\[\frac{d\ln \sigma^2}{d\ln R} = \frac{1}{\pi^2\sigma^2} \int_0^\infty W(kR) \frac{dW(kR)}{d\ln(kR)} P(k)k^2 dk\]
dw_dlnkr(kr)[source]

Compute the derivative of the (fourier-transformed) filter with \(\ln(kr)\).

Parameters:

kr (array_like) – Scale(s) at which the derivative is evaluated.

Notes

In terms of \(\frac{dw^2}{dm}\), which is a commonly used quantity, this has the relationship

\[w\frac{dw}{d\ln r} = \frac{2}{r}\frac{dw^2}{dm}\frac{dm}{dr}.\]
classmethod get_models() → Mapping[str, type]

Get a read-only mapping of all implemented models for this component.

The mapping is a live view of the registry, so it shows models registered later, but it can not be used to add or remove models.

k_space(kr)[source]

Fourier-transform of the real-space filter.

Parameters:

kr (array_like) – The scales at which to return the filter function

Returns:

w – The filter in fourier space, len(kr)

Return type:

array_like

mass_to_radius(m, rho_mean)[source]

Return radius of a region of space given its mass.

Parameters:
  • m (array_like) – Masses

  • rho_mean (float) – Mean density of the Universe.

Returns:

r – The corresponding radii to m

Return type:

array_like

Notes

The units of m don’t matter as long as they are consistent with rho_mean.

nu(r, delta_c=1.68647)

Deprecated: the squared peak height, \(\frac{\delta_c^2}{\sigma^2(r)}\).

Deprecated since version 3.7: nu is \(\nu^2\), not the peak height \(\nu\). It will be removed in v4. Use nu2() instead.

Parameters:
  • r (array_like) – Radii

  • delta_c (float, optional) – Critical overdensity for collapse.

nu2(r: ndarray, delta_c: float = 1.68647) → ndarray

Squared peak height, \(\nu^2 = \frac{\delta_c^2}{\sigma^2(r)}\).

Parameters:
  • r (array_like) – Radii

  • delta_c (float, optional) – Critical overdensity for collapse.

radius_to_mass(r, rho_mean)[source]

Return mass of a region of space given its radius.

Parameters:
  • r (array_like) – Radii

  • rho_mean (float) – Mean density of the Universe.

Returns:

m – The corresponding masses to r

Return type:

float or array of floats

Notes

The units of r don’t matter as long as they are consistent with rho_mean.

real_space(R, r)[source]

Filter definition in real space.

Parameters:
  • R (float) – The smoothing scale

  • r (array_like) – The radial co-ordinate

sigma(r, order=0, rk=None)

Calculate the nth-moment of the smoothed density field, \(\sigma_n(r)\).

Note

This is not \(\sigma_n^2(r)\)!

Parameters:
  • r (float or array_like) – The radii of the spheres at which to calculate the nth moment.

  • order (int, optional) – The order of the moment. Default 0 corresponds to common mass variance.

Returns:

sigma – The square root of the moment at r.

Return type:

array_like

Notes

The general definition for the nth-moment of the smoothed density field is (see Bardeen et al. 1986, Eq 4.6c)

\[\sigma^2_n(R) = \frac{1}{2\pi^2} \int_0^\infty dk\ k^{2(1+n)} P(k) W^2(kR)\]
sigma_and_dlnss_dlnm(r)

Compute sigma() and dlnss_dlnm() together.

The result is identical to calling the two methods separately, but shares work between them where possible (see sigma_and_dlnss_dlnr()).

Parameters:

r (array_like) – Radii.

Returns:

  • sigma (array_like) – The mass variance, \(\sigma(r)\) (see sigma()).

  • dlnss_dlnm (array_like) – The log-derivative of the mass variance with mass.

sigma_and_dlnss_dlnr(r)

Compute sigma() and dlnss_dlnr() together.

The result is identical to calling the two methods separately, but the window function and its derivative are evaluated only once on the \((R, k)\) grid (when neither method is overridden by a subclass).

Parameters:

r (array_like) – Radii.

Returns:

  • sigma (array_like) – The mass variance, \(\sigma(r)\) (see sigma()).

  • dlnss_dlnr (array_like) – The log-derivative of the mass variance with radius.