Class Inheritance Diagrams
The diagrams below highlight the essential inheritance relationships in PyTUQ — groups where classes form multi-level hierarchies.
Fitting
fitbase is the root fitting class, extended by gp (Gaussian‑process
fitting) and lreg (linear regression).

Linear Regression
lreg inherits from fitbase and is specialised into several
solvers: lsq (least squares), anl (analytical Bayesian),
bcs (Bayesian compressive sensing), opt (optimisation‑based),
and lreg_merr (model‑error regression).

MCMC Samplers
MCMCBase is the common ancestor of the three samplers:
AMCMC (adaptive Metropolis), HMC (Hamiltonian Monte Carlo),
and MALA (Metropolis‑Adjusted Langevin Algorithm).

Priors
Prior is specialised into Prior_uniform and Prior_normal.

Likelihoods
Likelihood branches into several concrete likelihood models.

Random Variables
MRV is the multivariate random variable base class, extended by
GMM, Mixture, Inverse, and several 1‑D distributions.
PCRV (polynomial‑chaos random variable) has its own sub‑hierarchy.

Functions
Function is the base for all test functions, operators, and
benchmark functions in PyTUQ.

Global Sensitivity Analysis
SensMethod is the root for all GSA methods.

Linear Dimensionality Reduction
LinRed is extended by KLE (Karhunen–Loève) and SVD.

Optimisers
OptBase is the optimiser base class, with gradient‑descent variants
(GD, SGD, Adam), particle‑swarm (PSO), and a SciPy wrapper.
