Have a personal or library account? Click to login
Convenient Interface to Inverse Ising (ConIII): A Python 3 Package for Solving Ising-Type Maximum Entropy Models Cover

Convenient Interface to Inverse Ising (ConIII): A Python 3 Package for Solving Ising-Type Maximum Entropy Models

Open Access
|Mar 2019

Figures & Tables

jors-7-217-g1.png
Figure 1

Example of a fully connected pairwise Ising model with positive and negative couplings. Each spin si (circle) can take one of two states (black or white, corresponding to –1 and 1) and is connected to every other spin in the system with a positive (red) or negative (blue) coupling. These states could describe the on-off patterns of firing in neurons, the orientation of spins in a material, or if each spin is no longer binary the arrangement of letters in a word (a Potts model).

jors-7-217-g2.png
Figure 2

Brief summary of ConIII architecture. The principal modules are solvers.py, samplers.py, and utils.py. The module solvers.py contains classes based on Solver that each implement a different algorithm for solving the relevant inverse maxent problem accessible through the method Solver.solve(). The samplers.py module contains the Metropolis algorithm for Monte Carlo Markov Chain sampling and will support other samplers in future versions (gray font) including Wolff sampling, Swendsen-Wang sampling, and parallel tempering. The utils.py module contains supporting functions for the other modules such as the few examples listed. ConIII’s modularized structure ensures that contributed algorithms can be appended independently of existing code.

DOI: https://doi.org/10.5334/jors.217 | Journal eISSN: 2049-9647
Language: English
Submitted on: Jan 29, 2018
Accepted on: Feb 14, 2019
Published on: Mar 4, 2019
Published by: Ubiquity Press
In partnership with: Paradigm Publishing Services
Publication frequency: 1 issue per year

© 2019 Edward D. Lee, Bryan C. Daniels, published by Ubiquity Press
This work is licensed under the Creative Commons Attribution 4.0 License.