CombOL: a Library for Practical Enumeration and Boltzmann Sampling of Combinatorial Classes

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Eriksen, Casper Asbjørn, Merkle, Daniel
Format: Preprint
Published: 2026
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866918485961998336
author Eriksen, Casper Asbjørn
Merkle, Daniel
author_facet Eriksen, Casper Asbjørn
Merkle, Daniel
contents We present CombOL (Combinatorial Objects Library), an open-source library for the enumeration and Boltzmann sampling of combinatorial classes. Classes can be specified by a concise string syntax, and may depend on an arbitrary number of parameters. CombOL automatically derives the associated generating functions, enabling the generation of counting sequences and the compilation of Boltzmann samplers. The library supports exact and approximate-size Boltzmann rejection sampling with automatic parameter tuning to target specific sizes. In addition to implementing established methods, CombOL contributes a novel early-rejection scheme, as well as guaranteed statistical correctness by dynamically increasing the numerical precision, eliminating bias due to floating-point rounding errors. Through the Python interface, sampled structures can be mapped to application-specific objects, enabling direct sampling of domain objects such as graphs, chemical structure representations, or other complex data types. CombOL is available from PyPI as 'combol' (pypi.org/project/combol). The source code is available at gitlab.com/casbjorn/combol.
format Preprint
id arxiv_https___arxiv_org_abs_2605_04629
institution arXiv
publishDate 2026
record_format arxiv
spellingShingle CombOL: a Library for Practical Enumeration and Boltzmann Sampling of Combinatorial Classes
Eriksen, Casper Asbjørn
Merkle, Daniel
Mathematical Software
Combinatorics
We present CombOL (Combinatorial Objects Library), an open-source library for the enumeration and Boltzmann sampling of combinatorial classes. Classes can be specified by a concise string syntax, and may depend on an arbitrary number of parameters. CombOL automatically derives the associated generating functions, enabling the generation of counting sequences and the compilation of Boltzmann samplers. The library supports exact and approximate-size Boltzmann rejection sampling with automatic parameter tuning to target specific sizes. In addition to implementing established methods, CombOL contributes a novel early-rejection scheme, as well as guaranteed statistical correctness by dynamically increasing the numerical precision, eliminating bias due to floating-point rounding errors. Through the Python interface, sampled structures can be mapped to application-specific objects, enabling direct sampling of domain objects such as graphs, chemical structure representations, or other complex data types. CombOL is available from PyPI as 'combol' (pypi.org/project/combol). The source code is available at gitlab.com/casbjorn/combol.
title CombOL: a Library for Practical Enumeration and Boltzmann Sampling of Combinatorial Classes
topic Mathematical Software
Combinatorics
url https://arxiv.org/abs/2605.04629