Giter VIP home page Giter VIP logo

RSMI-NE

License

rsmine is a Python package, implemented using Tensorflow, for optimising coarse-graining rules for real-space renormalisation group by maximising real-space mutual information. This work results from the Horizon 2020 COMPLEX ML project.

Overview

rsmine employs state-of-the-art results for estimating mutual information (MI) by maximising its lower-bounds parametrised by deep neural networks [Poole et al. (2019), arXiv:1905.06922v1]. This allows it to overcome the severe limitations of the initial proposals for constructing real-space RG transformations by MI-maximization in [M. Koch-Janusz and Z. Ringel, Nature Phys. 14, 578-582 (2018), P.M. Lenggenhager et al., Phys.Rev. X 10, 011037 (2020)], and to reconstruct the relevant operators of the theory, as detailed in the manuscripts accompanying this code [D.E. Gökmen, Z. Ringel, S.D. Huber and M. Koch-Janusz, Phys. Rev. Lett. 127, 240603 (2021) and Phys. Rev. E 104, 064106 (2021)].

System requirements

Hardware requirements

rsmine can be run on a standard personal computer. It has been tested on the following setup (without GPU):

  • CPU: 2.3 GHz Quad-Core Intel Core i5, Memory: 8 GB 2133 MHz LPDDR3

Software requirements

This package has been tested on the following systems with Python 3.8.5:

  • macOS:
    • Catalina (10.15)
    • Big Sur (11.1)
    • Monterey (12.5.1)

rsmine mainly depends on the following Python packages:

  • matplotlib
  • numpy
  • pandas
  • scipy
  • scikit-learn
  • tensorflow 2.0
  • tensorflow-probability

Installation

From pip:

pip install rsmine

Or directly from the source: clone RSMI-NE from GitHub

git clone https://github.com/RSMI-NE/RSMI-NE
cd RSMI-NE

and install the rsmine package via pip in editable mode

pip install -e .

or create a virtual environment and install there:

./install.sh

Getting started

The package can be used by importing the rsmine module and its submodules:

import rsmine

import rsmine.coarsegrainer.build_dataset as ds
import rsmine.coarsegrainer.cg_optimisers as cg_opt

Jupyter notebooks demonstrating the basic usage in simple examples are provided in https://github.com/RSMI-NE/RSMI-NE/tree/main/examples.

Citation

If you use RSMI-NE in your work, please cite our publications Phys. Rev. Lett. 127, 240603 (2021) and Phys. Rev. E 104, 064106 (2021):

@article{PhysRevLett.127.240603,
  title = {Statistical Physics through the Lens of Real-Space Mutual Information},
  author = {G\"okmen, Doruk Efe and Ringel, Zohar and Huber, Sebastian D. and Koch-Janusz, Maciej},
  journal = {Phys. Rev. Lett.},
  volume = {127},
  issue = {24},
  pages = {240603},
  numpages = {7},
  year = {2021},
  month = {Dec},
  publisher = {American Physical Society},
  doi = {10.1103/PhysRevLett.127.240603},
  url = {https://link.aps.org/doi/10.1103/PhysRevLett.127.240603}
}

@article{PhysRevE.104.064106,
  title = {Symmetries and phase diagrams with real-space mutual information neural estimation},
  author = {G\"okmen, Doruk Efe and Ringel, Zohar and Huber, Sebastian D. and Koch-Janusz, Maciej},
  journal = {Phys. Rev. E},
  volume = {104},
  issue = {6},
  pages = {064106},
  numpages = {17},
  year = {2021},
  month = {Dec},
  publisher = {American Physical Society},
  doi = {10.1103/PhysRevE.104.064106},
  url = {https://link.aps.org/doi/10.1103/PhysRevE.104.064106}
}

RSMI's Projects

absuperdimers icon absuperdimers

Constructing coarse grained super-dimers on the Ammann-Beenker quasicrystal with RSMI-NE.

mc_dimers icon mc_dimers

Monte Carlo sampling for the interacting dimer model using the directed worm algorithm. Implemented in Julia.

rsmi-ne icon rsmi-ne

A Python package for efficient optimisation of real-space renormalization group transformations using Tensorflow.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.