FactorGraph.jl

Hi everyone,

I would like to announce FactorGraph.jl, a Julia package for constructing factor graphs and running belief propagation algorithms.

The current version covers a fairly broad family of inference algorithms on factor graphs, with support for both Gaussian and discrete models.

Main features include:

  • Gaussian factor graphs with scalar and vector variables
  • Linear Gaussian factors
  • Gaussian belief propagation in moment, canonical, and min-sum form
  • Discrete finite-state factor graphs
  • Iterative sum-product and min-sum belief propagation
  • Forward-backward inference on tree-structured graphs
  • Flooding, sequential, and residual message schedules
  • Dynamic graph updates with stale-inference checks
  • Printing, diagnostics, and graph inspection helpers

The documentation includes separate sections for Gaussian models, discrete models, examples, validation, and API references.

Package repository:

Documentation:

I would be very happy to receive feedback, bug reports, suggestions about the API, or ideas for additional examples and use cases.

1 Like