Statistical analysis of ensembles of spectral functions
A theoretical framework presented in Sections I-II of [GMPPS2017] offers a way
to estimate statistical properties (averages, dispersions and two-point
correlations) of ensembles of
particular solutions. It is implemented as a
handful of functions in the som.spectral_stats module.
The analysis is built around the notion of spectral integrals. Given a set of finite intervals \(\{\Delta_m\}\) centered around points \(z_m\), the spectral integrals are defined as
where kernel \(\bar K(m, z)\) is a “resolution function” localized inside \(\{\Delta_m\}\).
Function som.spectral_stats.spectral_integral() evaluates \(i_m\) for
a single interval \(\Delta_m\), for all intervals induced by a
real frequency mesh, or for an
arbitrary set of intervals. It supports a few kernels \(\bar K(m, z)\)
switched by the keyword argument resolution_function,
resolution_function=rectangle:\[\bar K(m, z) = \frac{1}{|\Delta_m|} \theta\left(\frac{|\Delta_m|}{2} - |z - z_m|\right).\]resolution_function=lorentzian:\[\bar K(m, z) = \frac{1}{\pi} \frac{|\Delta_m|/2}{(z - z_m)^2 + (|\Delta_m|/2)^2}.\]resolution_function=gaussian:\[\bar K(m, z) = \frac{1}{\sqrt{2\pi(|\Delta_m|/2)^2}} \exp\left(-\frac{(z - z_m)^2}{2(|\Delta_m|/2)^2}\right).\]
Having accumulated a set (ensemble) of \(J\) particular solutions, one can study statistical properties of spectral integrals \(i_m^{(j)}\) derived from them.
Function som.spectral_stats.spectral_avg() computes averages over the
ensemble,
These averages can be interpreted as an estimate of the final spectrum.
While horizontal “error bars” on \(\bar{i}_m\) are simply \(|\Delta_m|/2\), the vertical ones (\(\sigma_m\)) are estimated from dispersions
Spectral dispersions are computed by som.spectral_stats.spectral_disp(),
and som.spectral_stats.spectral_corr() returns a full matrix of
two-points correlators