Skip to content

Releases: mcosovic/FactorGraph.jl

Release v0.2.5

Choose a tag to compare

@mcosovic mcosovic released this 11 Jun 12:34

Changed

  • Added inference residual views to graphFigure for drawing current message
    residual magnitudes and reporting residual values in edge tooltips.
  • Added Gaussian marginal variance views to graphFigure for shading variable
    nodes by marginal covariance.
  • Added marginal value tooltip sections to inference-aware graphFigure output
    for Gaussian sum-product and discrete sum-product inference.
  • Documented inference-aware graphFigure and saveGraphFigure overloads for
    residual and variance visualization.
  • Added graph visualization documentation examples for inference diagnostics.

Fixed

  • Fixed Gaussian min-sum frozen variable and edge message updates so frozen
    outgoing quadratic messages remain unchanged until explicitly unfrozen.
  • Fixed inference-aware discrete factor updates so invalid initializing unary
    updates are rejected before mutating the graph.

Tests

  • Added numerical correctness coverage for Gaussian schedules, damping,
    freeze/unfreeze message preservation, tree exactness and selected
    step-by-step sweeps, root refreshes, warm-start updates, dynamic stale-state
    rejection, residual partial updates, WLS agreement for correlated vector
    models, and discrete brute-force references.

Release v0.2.4

Choose a tag to compare

@mcosovic mcosovic released this 05 Jun 20:43

Changed

  • Removed the redundant factor node ID line from graphFigure tooltips.
  • Replaced graph figure view depth with hops, using true bipartite graph
    hop expansion from selected variables and factors.
  • Replaced separate unary and multi-factor graph spacing layout options with
    scalar or per-gap rowSpacing and columnSpacing values.
  • Expanded scalar Gaussian factor covariances to isotropic covariance matrices
    matching the factor mean dimension.
  • Added messages!(...; schedule = :residual, updateFraction/updateCount) as
    the one-step counterpart to residual-scheduled gbp!.

Fixed

  • Fixed residual-scheduled messages! for discrete min-sum inference.

Documentation

  • Added a graph visualization example page covering figure layout, labels,
    focused views, styles, highlights, and tree views.
  • Clarified when Gaussian and discrete flooding and residual schedule objects
    are needed instead of the schedule keyword.
  • Tightened Gaussian graph docstrings for labels, component lookup, factor
    updates, and stale inference object guidance.
  • Tightened package docstrings for discrete graph construction, residual
    schedules, inference updates, WLS helpers, and graph visualization.

Tests

  • Added residual scheduling coverage for stale schedules, discrete min-sum tree
    overloads, and zero/negative iteration handling.

Release v0.2.3

Choose a tag to compare

@mcosovic mcosovic released this 02 Jun 19:53

Added

  • Added optional SVG hover tooltips to graphFigure output for variables,
    factors, and edges, with configurable summary and full detail levels.
  • Added depth-limited graph figure views for drawing selected variables and
    factors with nearby factors and variables.
  • Documented graph figure tooltip controls in the Gaussian and discrete factor
    graph guides.

Changed

  • Embedded generated graph SVGs with object so SVG hover tooltips remain
    available in generated documentation pages.

Release v0.2.2

Choose a tag to compare

@mcosovic mcosovic released this 01 Jun 13:53

Fixed

  • Fixed generated SVG graph figures so Documenter includes them in deployed HTML
    documentation.

Release v0.2.1

Choose a tag to compare

@mcosovic mcosovic released this 01 Jun 11:59

Added

  • Added graphFigure and saveGraphFigure for SVG factor
    graph visualization.

Changed

  • Changed automatically assigned graph labels to compact forms such as x1 and
    f1 instead of x_1 and f_1.
  • Renamed isDampedEdge to areDampedEdges to reflect that the selector can
    match one or more edges.

Documentation

  • Added rendered factor graph figures to the examples.
  • Added quick graph drawing sections to the Gaussian and discrete factor graph
    guides.
  • Documented damping selector rules for areDampedEdges, dampEdges!, and
    undampEdges!.

Release v0.2.0

Choose a tag to compare

@mcosovic mcosovic released this 27 May 08:55

Release notes

This release is a major reorganization and expansion of FactorGraph.jl compared with v0.1.0.

The package now has a clearer internal structure, expanded Gaussian and discrete factor graph support, improved inference workflows, new scheduling utilities, broader validation and diagnostics, and substantially improved documentation and tests.

Highlights

  • Reorganized the package source into dedicated graph, inference, schedule, and utility components.
  • Expanded Gaussian factor graph support for scalar and vector variables, linear Gaussian factors, and Gaussian belief propagation in moment, canonical, and min-sum form.
  • Added discrete finite-state factor graph construction and inference utilities.
  • Added iterative sum-product and min-sum belief propagation for discrete models.
  • Added tree-oriented factor graph views and exact forward-backward inference on tree-structured graphs.
  • Added flooding, sequential, and residual message scheduling utilities.
  • Added dynamic graph update support with stale-inference checks.
  • Expanded weighted least-squares validation, diagnostics, and printing helpers.
  • Reworked and expanded the documentation, including Gaussian models, discrete models, schedules, validation, examples, and API references.
  • Expanded the test suite across graph construction, inference, schedules, tree inference, validation, diagnostics, and printing.

Breaking changes

  • The internal package layout has been substantially reorganized.
  • Some public APIs, docstrings, error messages, and helper functions were renamed, moved, or aligned for consistency.
  • Code written directly against internal files or undocumented helpers from v0.1.0 may need updates.

Release v0.1.6

Choose a tag to compare

@mcosovic mcosovic released this 03 Jul 11:00

minor syntax changes

Release v0.1.5

Choose a tag to compare

@mcosovic mcosovic released this 31 May 08:32
f25070b

Remove dependencies

Release v0.1.4

Choose a tag to compare

@mcosovic mcosovic released this 27 May 13:27

Remove HDF5 and XLSX support for the input files.
Fixed various errors.

Release v0.1.3

Choose a tag to compare

@mcosovic mcosovic released this 24 Jan 15:01

Fixed small errors.