This repository contains Python scripts and notebooks for the paper ["Machine learning topological phases in real space"] (https://arxiv.org/abs/1901.01963).
The most straightforward way to run this code is by setting up a Python virtual environment in a Linux machine. Set up your Python environment following the instructions below.
- Create and activate a new environment with Python 3.6.
python3.6 -m venv ~/ml_topological source ~/ml_topological/bin/activate
- Clone repository to local directory and cd into it.
git clone https://github.com/linneuholanda/ml_topological_phases_in_real_space.git /path/to/local/directory
cd /path/to/local/directory
- Install the requirements.
pip install -r requirements.txt
The repository contains the following ordered directories:
0_preprocessing
1_simulation
2_results
3_simulation_with_less_features
4_results_with_less_features
5_paper
6_arxiv
7_prb
8_prb_submission
Run the numbered notebooks in directories 0-4 in order to generate the results in the paper. Directory 5 contains a template for the paper. Directory 6 contains the Arxiv submission. Directory 7 contains a Revtex template for the Physical Review B. Directory 8 contains the PRB submission.
As explained in the paper, the data used in each experiment (SSH with nearest-neighbour hoppings and SSH with first and second nearest-neighbours hoppings) consist of real space eigenvectors of 6,561 Hamiltonians. We provide links to download the data below.
SSH1: ~/datasets/ssh1.zip SSH2: ~/datasets/ssh2.zip
Extract the files in the proper directory and run the notebooks. Once you are finished, deactivate the Python environment with
deactivate