pylibmgm

The pylibmgm module provides low-level building blocks for multi-graph matching problems. This API is useful when you need fine-grained control over the optimization process or want to implement custom solvers beyond what is provided in pylibmgm.solver.

Core Data Structures

Graph and Model Classes

These classes represent the fundamental data structures for graph matching problems.

Graph

Represents a single graph in a multi-graph matching problem.

GmModel

Pairwise graph matching (GM) model.

MgmModel

Multi-graph matching (MGM) model.

CostMap

Container for unary and pairwise costs in a graph matching problem.

Solution Classes

Classes for representing and manipulating solutions to matching problems.

GmSolution

Solution to a pairwise graph matching problem.

MgmSolution

Solution to a multi-graph matching problem.

Solvers and Optimization

Graph Matching - Solvers

Solvers for pairwise graph matching (GM) problems.

LAPSolver

Linear Assignment Problem solver.

QAPSolver

Quadratic Assignment Problem solver for graph matching.

Multi Graph Matching - Solution Generators

Generators for constructing initial multi-graph matching solutions.

MgmGenerator.matching_order

Order in which graphs are matched during solution generation.

SequentialGenerator

Sequential solution generator for multi-graph matching.

ParallelGenerator

Parallel solution generator for multi-graph matching.

Multi Graph Matching- Local Search Methods

Local search algorithms for refining solutions.

GMLocalSearcher

Local search method based on iteratively re-matching graphs.

GMLocalSearcherParallel

Parallel version of GM local search.

SwapLocalSearcher

Swap-based local search for multi-graph matching.

Utility Functions

build_sync_problem(model, solution[, feasible])

Build a synchronization problem from an MGM model and solution.

omp_set_num_threads(num_threads)

Set the number of OpenMP threads for parallel computation.