Simulate water ground state energy with entanglement forging in VQE
Table of Contents
This repository is prepared to reproduce the results discussed in the paper "Doubling the size of quantum simulators by entanglement forging" by Andrew Eddins et al.
The repository focuses on reproducing Fig 3b and 4b of the paper.
Follow the steps below to get set up the project
- Clone the repo
git clone https://github.com/ALS15204/entanglement_simulation.git
- Set up venv wih Python 3.9
python3.9 -m venv venv
- Activate venv
source venv/bin/activate
- Update setuptools pip and wheel
pip install -U pip setuptools wheel
- Install requirements
pip install -e .
A demonstration of my experiment can be found in the python notebook [water_simulation_case_b.ipynb]. See conclusion in the notebook for a discussion on the limitation of the experiment.
To reproduce what has been discussed in the notebook, follow the steps below:
- Run the following command to produce simulated water molecule data.
This will create the [water_data_case_b.json]
python3.9 -m entanglement_simulation.water_molecule
- Run the following command to search the best results through hyperparameters.
This will prepare the experiment folder case_b_reduced_orbitals_0_3_k3
python3.9 -m entanglement_simulation.scripts.entanglement_forge
- Finally, run the following command to make plots.
This will create the plots in the plots folder.
python3.9 -m entanglement_simulation.scripts.make_plots
[NOTE] Out of curiosity, I have applied the best hyperparameters found in case b to case a and case c. The results are shown in the notebook:
- [simulate_case_a.ipynb]. Case A plots: [plots].
- [simulate_case_c.ipynb]. Case C plots: [plots].
- Add tests: due to time limitation, I did not add tests for this project. I will add tests in the future.
Distributed under the MIT License. See LICENSE.txt for more information.
Ronin Wu - @RoninWu - [email protected]
Project Link: https://github.com/ALS15204/entanglement_simulation
- I sincerely thank Dr. Andrew Eddins for giving a very comprehensive talk on his work. I learned a lot from his talk and the paper.
- The implementation in this work has referenced the blogpost Try Out the Latest Advances in Quantum Computing With Prototypes. I sincerely thank the authors for providing comprehensive examples and tutorials.
- Special thanks to my dear friend Dr. Valentin Stauber, who has provided me fruitful discussions and suggestions on this project.