Spectral methods

The spectrum of a covariance model is given by:

\[S(\mathbf{k}) = \left(\frac{1}{2\pi}\right)^n \int C(\Vert\mathbf{r}\Vert) e^{i b\mathbf{k}\cdot\mathbf{r}} d^n\mathbf{r}\]

Since the covariance function \(C(r)\) is radially symmetric, we can calculate this by the hankel-transformation:

\[S(k) = \left(\frac{1}{2\pi}\right)^n \cdot \frac{(2\pi)^{n/2}}{(bk)^{n/2-1}} \int_0^\infty r^{n/2-1} C(r) J_{n/2-1}(bkr) r dr\]

Where \(k=\left\Vert\mathbf{k}\right\Vert\).

Depending on the spectrum, the spectral-density is defined by:

\[\tilde{S}(k) = \frac{S(k)}{\sigma^2}\]

You can access these methods by:

import gstools as gs

model = gs.Gaussian(dim=3, var=2.0, len_scale=10)
ax = model.plot("spectrum")
model.plot("spectral_density", ax=ax)
03 spectral methods

Note

The spectral-density is given by the radius of the input phase. But it is not a probability density function for the radius of the phase. To obtain the pdf for the phase-radius, you can use the methods CovModel.spectral_rad_pdf or CovModel.ln_spectral_rad_pdf for the logarithm.

The user can also provide a cdf (cumulative distribution function) by defining a method called spectral_rad_cdf and/or a ppf (percent-point function) by spectral_rad_ppf.

The attributes CovModel.has_cdf and CovModel.has_ppf will check for that.

Total running time of the script: (0 minutes 0.072 seconds)

Gallery generated by Sphinx-Gallery