Here is a brief list of the features of particles:

  • state-space models may be defined as python objects, in a basic form of probabilistic programming.

  • Bootstrap filter, guided filter, auxiliary particle filter.

  • exact filtering/smoothing algorithms: Kalman (linear Gaussian models), and forward-backward (finite hidden Markov models).

  • Several resampling schemes are implemented.

  • Sequential quasi-Monte Carlo (and related tools: Hilbert ordering, RQMC sampling).

  • Smoothing: on-line and off-line, O(N^2) and O(N) versions of standard algorithms (FFBS, two-filter).

  • SMC samplers: IBIS (data-tempering) and SMC tempering. Static models may be defined as Python objects.

  • Bayesian inference for state-space models: several PMCMC (particle MCMC algorithms are implemented), such as PMMH and Particle Gibbs. Also SMC^2.

  • Genealogy-based variance estimators (Chan & Lai, 2013; Lee & Whiteley, 2018; Olsson & Douc, 2019).

  • A Pima indian example is included.