From 6124213a5ce96a24d5ef4affca10c37663a325d4 Mon Sep 17 00:00:00 2001 From: AaronDC60 Date: Tue, 21 Apr 2026 22:11:31 +0200 Subject: [PATCH] Add comment on iterative basis search --- README.md | 8 ++++---- docs/api/basis_search.rst | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index fb472ee..3b3474c 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ The best MCM for a given dataset is found by optimising the marginal likelihood The package can be used to analyse datasets with **up to n = 128 random variables** and is limited to **variables that can take up to q=10 different values** (though it was extensively tested only up to q=5). [1] *Bayesian inference of minimally complex models with interactions of arbitrary order*, C. de Mulatier and M. Marsili, [Phys. Rev. E 111, 054307](https://journals.aps.org/pre/abstract/10.1103/PhysRevE.111.054307) ([arXiv:2008.00520](https://arxiv.org/abs/2008.00520))
-[2] *Modeling higher-order interactions in discrete data with maximum entropy models*, A. de Clercq and C. de Mulatier, arxiv (coming soon) +[2] *Modeling higher-order interactions in discrete data with maximum entropy models*, A. De Clercq and C. de Mulatier, arxiv (coming soon) ## General information @@ -23,7 +23,7 @@ Running the best MCM search in the original basis of the data can be thought of The most likely basis for the optimal factorisation can be found with this package using one of the “best basis” search algorithms: - exhaustive search (recommended up to $n=12$ variables max for quick runs; For $q=2$, running it for $n=20-25$ variable will of the order of a week); - exhaustive search among basis elements up to a fixed order $k$; - - iterative search (computational time similar to fixed order $k$, but will explore basis elements of higher order via an iterative search). + - iterative search (computational time similar to fixed order $k$, but will explore basis elements of higher order via an iterative search). **Note** This algorithm has been verfied on a small toy system but has not been formally tested on a real-world dataset. Within a given basis, the optimal factorisation can be found using one of the “best MCM” search algorithms: @@ -51,7 +51,7 @@ C++11, Python (version 3.11 or above) **Installation:** using CMake (version 3.26.4) or using Docker ## To cite this repository -A. de Clercq, C. de Mulatier (2025). *MinCompSpin: Python package for analyzing discrete datasets with minimally complex models*. Zenodo. https://github.com/DM-Lab-UvA/MinCompSpin. +A. De Clercq, C. de Mulatier (2025). *MinCompSpin: Python package for analyzing discrete datasets with minimally complex models*. Zenodo. https://github.com/DM-Lab-UvA/MinCompSpin. ## Related previous repositories @@ -61,5 +61,5 @@ In particular, the package includes improved codes from various previous reposit - optimal MCM greedy search for binary data: [binary greedy search](https://github.com/clelidm/MinCompSpin_Greedy) by Sam Kamphof; - optimal MCM simulated annealing search for binary data: [binary SA search](https://github.com/DM-Lab-UvA/MCM_SA) by Ebo Peerbooms; - optimal best basis search for binary data with 128 bits (exhaustive and iterative): [binary basis search](https://github.com/clelidm/MinCompSpin_BasisSearch128) by C. de Mulatier; - - optimal MCM and basis search for discrete data: [discrete MCM and basis search](https://github.com/AaronDC60/MinCompSpin_discrete) by Aaron de Clercq. + - optimal MCM and basis search for discrete data: [discrete MCM and basis search](https://github.com/AaronDC60/MinCompSpin_discrete) by Aaron De Clercq. diff --git a/docs/api/basis_search.rst b/docs/api/basis_search.rst index 88b0c36..a92e58d 100644 --- a/docs/api/basis_search.rst +++ b/docs/api/basis_search.rst @@ -64,6 +64,8 @@ Each method returns a :class:`Basis ` object representing the best- This process continues until the optimal basis remains unchanged between two iterations. The result is returned as an :class:`Basis ` object and stored in the internal variable `basis`. + **Note** This algorithm has been verfied on a small toy system but has not been formally tested on a real-world dataset. + :param data: The dataset for which the optimal basis representation will be determined. :type data: Data :param k: The maximum interaction order of the spin operators to consider in each iteration.