Skip to content

Supported models

TL;DR

This page answers: what is actually supported today? The matrix below is generated from MENoBiS' capability registry. If the code and another documentation page disagree, this table is authoritative for public support.

Version note: capabilities on this page are generated from the current source tree. Regenerate with uv run python scripts/docs/generate_capabilities.py; the docs CI checks it with the --check flag.

Supported model matrix

Registry source SHA: a0b1a12 · generated: 2026-08-31T17:51:54+00:00

Ensemble Family Constraint Fit Sample Filter Exactness / semantics
grandcanonical ME strength yes yes yes exact independent; matched in expectation
grandcanonical ME strength_cost yes yes yes exact independent; matched in expectation
grandcanonical ME strength_edges yes yes yes exact independent; matched in expectation
grandcanonical ME strength_degree yes yes yes exact independent; matched in expectation
grandcanonical ME degree_events yes yes yes exact independent; matched in expectation
grandcanonical ME edges_events yes yes yes exact independent; matched in expectation
grandcanonical B strength yes yes yes exact independent; matched in expectation
grandcanonical B strength_cost yes yes yes exact independent; matched in expectation
grandcanonical B strength_edges yes yes yes exact independent; matched in expectation
grandcanonical B strength_degree yes yes yes exact independent; matched in expectation
grandcanonical B degree_events yes yes yes exact independent; matched in expectation
grandcanonical B edges_events yes yes yes exact independent; matched in expectation
grandcanonical W strength yes yes yes exact independent; matched in expectation
grandcanonical W strength_cost yes yes yes exact independent; matched in expectation
grandcanonical W strength_edges yes yes yes exact independent; matched in expectation
grandcanonical W strength_degree yes yes yes exact independent; matched in expectation
grandcanonical W degree_events yes yes yes exact independent; matched in expectation
grandcanonical W edges_events yes yes yes exact independent; matched in expectation
canonical ME strength yes yes exact direct; T fixed, remaining structure soft
canonical ME strength_cost yes n/a
canonical ME strength_edges yes n/a
canonical ME strength_degree yes n/a
canonical ME degree_events yes n/a
canonical ME edges_events yes n/a
microcanonical ME strength yes exact stationary MCMC; strengths exact
microcanonical ME strength_cost yes exact stationary MCMC; hybrid (cost expected)
microcanonical ME strength_edges yes exact stationary MCMC; strengths, E exact
microcanonical ME strength_degree yes exact stationary MCMC; strengths, degrees exact
microcanonical ME degree_events yes exact stationary MCMC; k, T exact
microcanonical ME edges_events yes exact direct; E, T exact
microcanonical B strength yes exact stationary MCMC; strengths exact
microcanonical B strength_cost yes exact stationary MCMC; hybrid (cost expected)
microcanonical B strength_edges yes exact stationary MCMC; strengths, E exact
microcanonical B strength_degree yes exact stationary MCMC; strengths, degrees exact
microcanonical B degree_events yes exact stationary MCMC; k, T exact
microcanonical B edges_events yes exact direct; E, T exact
microcanonical W strength yes exact stationary MCMC; strengths exact
microcanonical W strength_cost yes exact stationary MCMC; hybrid (cost expected)
microcanonical W strength_edges yes exact stationary MCMC; strengths, E exact
microcanonical W strength_degree yes exact stationary MCMC; strengths, degrees exact
microcanonical W degree_events yes exact stationary MCMC; k, T exact
microcanonical W edges_events yes exact direct; E, T exact

Reading the table

  • Fit — a grand-canonical fit exists for the route (the canonical fit column follows the same registry).
  • Sample — a sampler exists for the route.
  • Filter — statistical filtering exists for the route.
  • Exactness / semantics — how a sampled network is generated and which quantities are exact:
Label Meaning
exact independent each pair drawn directly from its fitted law (grand canonical); constraints are matched in expectation and fluctuate across samples
exact direct one draw from the target distribution, up to ordinary pseudorandom error
exact stationary MCMC validated kernel with the target stationary distribution; finite runs still need burn-in/mixing
hybrid (cost expected) the microcanonical strength+cost route: strengths exact, cost matched in expectation

Per-route exactness categories are also reported at runtime on sample_model_detailed(...).diagnostics.exactness.

Canonical support

Canonical fitting reuses the grand-canonical solver for ME. Canonical sampling is implemented for ME + STRENGTH only (fixed total occupation \(T\), multinomial kernel). See Ensembles.

Microcanonical routes

The dedicated route table below is also generated from the registry:

Microcanonical sampling routes

Registry source SHA: a0b1a12 · generated: 2026-08-31T17:51:54+00:00

Constraint Family Exact / controlled Backend Required arguments Exactness
strength ME strengths exact microcanonical_fixed_strength strength_in, strength_out exact stationary MCMC; strengths exact
strength_cost ME strengths exact; cost expected (gamma) microcanonical_fixed_strength_cost coord_x, coord_y, strength_in, strength_out, target_cost exact stationary MCMC; hybrid (cost expected)
strength_edges ME strengths, E exact microcanonical_fixed_strength_edges strength_in, strength_out, target_edges exact stationary MCMC; strengths, E exact
strength_degree ME strengths, degree sequences exact microcanonical_fixed_strength_degree degree_in, degree_out, strength_in, strength_out exact stationary MCMC; strengths, degrees exact
degree_events ME degree sequences, T exact microcanonical_fixed_kt degree_in, degree_out, total_events exact stationary MCMC; k, T exact
edges_events ME E, T exact microcanonical_fixed_et node_count, target_edges, total_events exact direct; E, T exact
strength B strengths exact microcanonical_fixed_strength strength_in, strength_out exact stationary MCMC; strengths exact
strength_cost B strengths exact; cost expected (gamma) microcanonical_fixed_strength_cost coord_x, coord_y, strength_in, strength_out, target_cost exact stationary MCMC; hybrid (cost expected)
strength_edges B strengths, E exact microcanonical_fixed_strength_edges strength_in, strength_out, target_edges exact stationary MCMC; strengths, E exact
strength_degree B strengths, degree sequences exact microcanonical_fixed_strength_degree degree_in, degree_out, strength_in, strength_out exact stationary MCMC; strengths, degrees exact
degree_events B degree sequences, T exact microcanonical_fixed_kt degree_in, degree_out, layers, total_events exact stationary MCMC; k, T exact
edges_events B E, T exact microcanonical_fixed_et layers, node_count, target_edges, total_events exact direct; E, T exact
strength W strengths exact microcanonical_fixed_strength strength_in, strength_out exact stationary MCMC; strengths exact
strength_cost W strengths exact; cost expected (gamma) microcanonical_fixed_strength_cost coord_x, coord_y, strength_in, strength_out, target_cost exact stationary MCMC; hybrid (cost expected)
strength_edges W strengths, E exact microcanonical_fixed_strength_edges strength_in, strength_out, target_edges exact stationary MCMC; strengths, E exact
strength_degree W strengths, degree sequences exact microcanonical_fixed_strength_degree degree_in, degree_out, strength_in, strength_out exact stationary MCMC; strengths, degrees exact
degree_events W degree sequences, T exact microcanonical_fixed_kt degree_in, degree_out, layers, total_events exact stationary MCMC; k, T exact
edges_events W E, T exact microcanonical_fixed_et layers, node_count, target_edges, total_events exact direct; E, T exact

Every microcanonical route shares the two-stage philosophy documented in Microcanonical sampling: construct one feasible state, then sample the target measure on the constraint fiber.