Deterministic Gaussian Sampling
Loading...
Searching...
No Matches
Dirac Mixture Approximation Library (C++)

Overview

This repository provides a high-performance C++ implementation for Dirac mixture reduction and Gaussian-to-Dirac approximation.

The library focuses on efficient, optimization-based approximation of probability distributions using Localized Cumulative Distribution (LCD) distances and gradient-based minimization.

The implementation is designed for:

  • High-dimensional problems
  • Performance-critical applications
  • Modular integration into estimation pipelines
  • Threaded and non-threaded execution

Dirac-to-Dirac Reduction

Reduces a high-resolution Dirac mixture to a compact representation.

Implementations:

All implementations follow the dirac_to_dirac_approx_i<T> interface, except:

Supported input formats:

  • Raw pointers
  • GSL vectors
  • GSL matrices

Gaussian-to-Dirac Approximation

Approximates a multivariate Gaussian distribution by a Dirac mixture.

Implementations:

All implementations follow the gm_to_dirac_approx_i<T> interface.

Design Highlights

  • Template-based numeric precision (float, double)
  • Unified interface design for interchangeable implementations
  • GSL-based minimization backend
  • Analytical gradients
  • Threaded performance variants
  • Configurable optimization via ApproximateOptions

The library is structured to separate interfaces, algorithmic implementations, and optimization backends, enabling clean extension and experimentation.