fkmc
๐ฒโ๐๐งช Markov Chain Monte Carlo on the Falikov-Kimball model.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
โCITATION.cff file
Found CITATION.cff file -
โcodemeta.json file
Found codemeta.json file -
โ.zenodo.json file
Found .zenodo.json file -
โDOI references
Found 1 DOI reference(s) in README -
โAcademic publication links
Links to: arxiv.org, aps.org, zenodo.org -
โAcademic email domains
-
โInstitutional organization owner
-
โJOSS paper metadata
-
โScientific vocabulary similarity
Low similarity (12.1%) to scientific vocabulary
Keywords
Repository
๐ฒโ๐๐งช Markov Chain Monte Carlo on the Falikov-Kimball model.
Basic Info
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 3
Topics
Metadata Files
README.md
๐ฒโ๐๐งช Markov Chain Montecarlo for Quantum Tight Binding Models with Classical Sectors.
Wanna draw thermal samples? Does your Hilbert space have untapped classical subsectors? Then you've come to the right place!
This repo contains code to perform Markov Chain Monte Carlo over the Falikov-Kimball model for the publication "One-dimensional long-range Falikov-Kimball model: Thermal phase transition and disorder-free localization" available in PRB or on the arXiv. I provide the code here as a record of what was done, it's likely not reproducable without extra help but if you wish to know more please get in touch.
Applicability and Optimisations
The code exploits two special properties of this model and would work well on other models with either property:
- The model contains a classical degree of freedom (in this case Si) and a quantum degree of freedom (ci) such that when the classical degree of freedom is fixed the model is quadratic in c_i or otherwise easy to solve.
- The model contains entirely classical terms like Jij Si S_j
Property 1 allows the MCMC to define a walk over the classical states of the system and solve the quantum system at each point, effectively factoring the classical subspace out of the full Hilbert space.
Property 2 allows for an optimisation where the standard Metropolis-Hastings alogorithm is modified to compute the classical terms first, perform a probabalistic accept/reject step, and only on acceptance compute the quantum terms, saving upto 90% computation time in our model.
Also includes code for submission to cluster systems (PBS and SLURM) and analysis of the results, such as computing energy-resolved Inverse Participation Ratios.
A phase diagram for the above model showing the Charge Denisity Wave phase where the spins order antiferromagnetically, the gapped Mott Insulator phase and the gapless Anderson Insulator phase.
Installation and Use
- Clone the repo
sh git clone https://github.com/TomHodson/FKMC cd FKMC setup an environment using conda or venv
sh conda env create -f environment.yml conda activate FKMCorsh python3 -m venv .venv source .venv/bin/activate # or `.venv\Scripts\activate.bat` if you're using Windows python -m pip install -U pip python -m pip install -U -r requirements.txt1. Install the FKMC packagesh pip install --editable .(Optional) Install a git filter to prevent cell output from showing up underversion control
ssh nbstripout --install
Use
A typical use would be to:
1. Create a notebook for a simulation e.g batchscripts/gapopeningU-5logarithmic.ipynb
1. Submit that simulation to the cluster using the helper script at batchscripts/submit.py This would likely require modification for other cluster setups. The script will create a directory for the simulation at ~/HPCdata with subdirectories containing the logs and data. e.g
sh
./batchscripts/submit.py
Owner
- Name: Tom
- Login: TomHodson
- Kind: user
- Location: London, UK
- Company: @ecmwf
- Website: https://thomashodson.com
- Repositories: 21
- Profile: https://github.com/TomHodson
Programmer @ecmwf | Maker | Baker https://thomashodson.com
Citation (CITATION.cff)
# YAML 1.2
---
abstract: "Software to perform Markov Chain Monte Carlo over the Falikov-Kimball model for the publication \"One-dimensional long-range Falikov-Kimball model: Thermal phase transition and disorder-free localization\" available in PRB or on the arXiv."
authors:
- affiliation: "Imperial College London"
family-names: Hodson
given-names: Thomas
orcid: "https://orcid.org/0000-0002-4121-4772"
cff-version: "1.1.0"
date-released: "2021-03-19"
doi: "10.5281/zenodo.4593904"
identifiers:
- description: The archived snapshot of the first release of the software.
type: doi
value: "10.5281/zenodo.4620805"
keywords:
- MCMC
- Quantum
license: "CC-BY-NC-4.0"
message: "If you use this software, please cite both the article from preferred-citation and the software itself."
repository-code: "https://github.com/TomHodson/FKMC"
title: "FKMC: MCMC for quantum systems with classical subsystems"
version: "1.0"
preferred-citation:
authors:
- family-names: Hodson
given-names: Thomas
- family-names: Willsher
given-names: Josef
- family-names: Knolle
given-names: Johannes
title: "One-dimensional long-range Falikov-Kimball model: Thermal phase transition and disorder-free localization"
type: article
year: 2021
...
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- cachetools
- conda
- ipykernel
- matplotlib
- munch
- nbstripout
- numpy
- python 3.7.*
- scipy
- termcolor
- cachetools *
- matplotlib *
- munch *
- nbstripout *
- numpy *
- python =3.7
- scipy *
- termcolor *