Glossary

ArviZ

A Python library for exploratory analysis of Bayesian models, providing diagnostics (R-hat, ESS, BFMI), summary statistics, and visualisation. Used as the standard diagnostic backend in the heterodyne package.

BFMI

Bayesian Fraction of Missing Information. Measures how well the MCMC sampler explores the energy distribution. Values below 0.3 suggest poor exploration.

CMA-ES

Covariance Matrix Adaptation Evolution Strategy. A derivative-free global optimisation algorithm that maintains and adapts a multivariate normal search distribution. Used in the package as a fallback when gradient-based NLSQ fails to find the global minimum.

CMC

Consensus Monte Carlo. A divide-and-combine Bayesian strategy that splits the dataset into shards, runs MCMC independently on each, and merges posteriors via inverse-variance weighting.

coherent scattering

Scattering in which the phase relationships between scattered waves are preserved, enabling interference and speckle formation. Requires a beam with sufficient transverse and longitudinal coherence.

ESS

Effective Sample Size. The number of independent draws equivalent to the autocorrelated MCMC chain. ESS > 400 is generally adequate for posterior summaries.

Fourier reparameterisation

Expressing the per-angle contrast and offset as truncated Fourier series in \(\phi\), reducing the number of free scaling parameters from \(2 N_\phi\) to \(2(2K+1)\) where \(K\) is the Fourier order.

heterodyne scattering

Scattering from a system with two coherently contributing components (e.g., a static reference and a mobile sample). The measured correlation contains self-correlation terms from each component plus a cross-correlation term carrying a velocity phase.

homodyne scattering

Scattering dominated by a single component. The standard Siegert relation applies directly, and only diffusion (no velocity phase) needs to be modelled.

NLSQ

Non-Linear Least Squares. An optimisation method that minimises the sum of squared residuals between data and model. In the heterodyne package, implemented via scipy.optimize.least_squares with JAX-computed residuals and Jacobians.

NUTS

No-U-Turn Sampler. An adaptive variant of Hamiltonian Monte Carlo (HMC) that automatically tunes the trajectory length. Implemented in the package via NumPyro.

per-angle scaling

The practice of fitting independent speckle contrast (\(\beta_i\)) and baseline offset values for each azimuthal angle \(\phi_i\), accounting for angle-dependent optical effects.

R-hat

The Gelman–Rubin convergence diagnostic (\(\hat{R}\)). Compares between-chain and within-chain variance. Values below 1.01 indicate convergence; values above 1.1 indicate the chains have not mixed.

reduced chi-squared

\(\chi^2_\text{red} = \chi^2 / \nu\) where \(\nu\) is the number of degrees of freedom. A value near 1.0 indicates a good fit; much greater than 1 indicates poor fit; much less than 1 suggests overfitting or overestimated errors.

ShardGrid

A data structure in core/physics_cmc.py that stores only the \((t_1, t_2)\) pairs needed by a single CMC shard, avoiding allocation of the full \(N \times N\) correlation matrix.

Siegert relation

The relation \(g_2 = 1 + \beta |g_1|^2\) connecting the intensity autocorrelation (\(g_2\)) to the field autocorrelation (\(g_1\)) under Gaussian statistics. \(\beta\) is the speckle contrast.

speckle

A granular intensity pattern produced by the interference of coherent waves scattered from a disordered sample. The speckle size depends on the coherence of the beam, not on the sample structure.

speckle contrast

The optical coherence factor \(\beta\) (\(0 < \beta \le 1\)) quantifying the visibility of the speckle pattern. Depends on beam coherence, detector pixel size, and scattering geometry.

transport coefficient

The cumulative function \(J(\tau)\) describing the integrated mean-squared displacement growth. For anomalous diffusion: \(J(\tau) = D_0 \tau^{1+\alpha}/(1+\alpha) + D_\text{off}\,\tau\).

two-time correlation

The matrix \(C_2(t_1, t_2)\) measuring the normalised intensity–intensity correlation between frames at times \(t_1\) and \(t_2\). For stationary systems it depends only on the lag \(\tau = |t_2 - t_1|\); for non-stationary systems the full matrix must be retained.

wavevector

The scattering vector \(\mathbf{q}\) whose magnitude \(q = (4\pi/\lambda)\sin(\theta/2)\) selects the probed length scale. Units: inverse Angstroms (1/Å).

XPCS

X-ray Photon Correlation Spectroscopy. A technique that extracts dynamics from the temporal correlations of coherent X-ray speckle patterns.