<!-- SHIELDS -->
<div align="left">

  ![Platform](https://img.shields.io/badge/Platform-Linux%20%7C%20macOS-informational)
  [![Python](https://img.shields.io/badge/Python-3.7%20%7C%203.8%20%7C%203.9-informational)](https://www.python.org/)
  [![Qiskit](https://img.shields.io/badge/Qiskit-%E2%89%A5%200.34.1-6133BD)](https://github.com/Qiskit/qiskit)
  [![Qiskit Nature](https://img.shields.io/badge/Qiskit%20Nature-%E2%89%A5%200.3.0-6133BD)](https://github.com/Qiskit/qiskit-nature)
<br />
  [![License](https://img.shields.io/github/license/qiskit-community/prototype-entanglement-forging?label=License)](LICENSE.txt)
  [![Tests](https://github.com/qiskit-community/prototype-entanglement-forging/actions/workflows/tests.yml/badge.svg)](https://github.com/qiskit-community/prototype-entanglement-forging/actions/workflows/tests.yml)

</div>
<!-- PROJECT LOGO -->
<p align="center">
  <a href="https://github.com/qiskit-community/prototype-quantum-kernel-training#readme">
    <img src="docs/images/ef_image.png" alt="Logo" width="600">
  </a>
  <h2 align="center">Entanglement Forging</h2>

<p align="center">
  <a href="https://mybinder.org/v2/gh/qiskit-community/prototype-entanglement-forging/HEAD?labpath=docs%2F1-tutorials%2Ftutorial_1_H2_molecule_statevector_simulator.ipynb">
    <img src="https://img.shields.io/badge/launch-demo-579ACA.svg?style=for-the-badge&logo=data:image/png;base64, " alt="Launch Demo">
   </a>
   <a href="https://www.youtube.com/playlist?list=PLOFEBzvs-VvqpCgxSxhKE4gbJiinURVQX">
     <img src="https://img.shields.io/badge/watch-video-FF0000.svg?style=for-the-badge&logo=youtube" alt="Watch Video" hspace="10" vspace="10">
   </a>
  </p>
</p>



<!-- TABLE OF CONTENTS -->
### Table of Contents
* [Tutorials](docs/1-tutorials/)
* [Reference Guide](docs/2-reference_guide/reference_guide.md)
* [Explanatory Material](docs/3-explanatory_material/explanatory_material.md)
* [About This Project](#about-this-project)
* [How to Give Feedback](#how-to-give-feedback)
* [Contribution Guidelines](#contribution-guidelines)
* [Acknowledgements](#acknowledgements)
* [About Prototypes](#about-prototypes)
* [References](#references)
* [License](#license)


----------------------------------------------------------------------------------------------------

<!-- ABOUT THIS PROJECT -->
### About This Project
This module allows a user to simulate chemical and physical systems using a Variational Quantum Eigensolver (VQE) enhanced by Entanglement Forging [[1]](#references). Entanglement Forging doubles the size of the system that can be *exactly* simulated on a fixed set of quantum bits.

Before using the module for new work, users should read through the [reference guide](./docs/2-reference_guide/reference_guide.md) and the [explanatory material](docs/3-explanatory_material/explanatory_material.md), specifically the [current limitations](docs/3-explanatory_material/explanatory_material.md#%EF%B8%8F-current-limitations) of the module.


----------------------------------------------------------------------------------------------------

<!-- HOW TO GIVE FEEDBACK -->
### How to Give Feedback
We encourage your feedback! You can share your thoughts with us by:
- [Opening an issue](https://github.com/qiskit-community/prototype-entanglement-forging/issues) in the repository
- [Starting a conversation on GitHub Discussions](https://github.com/qiskit-community/prototype-entanglement-forging/discussions)
- Filling out our [survey](https://airtable.com/shrFxJXYzjxf5tFvx)


----------------------------------------------------------------------------------------------------

<!-- CONTRIBUTION GUIDELINES -->
### Contribution Guidelines
For information on how to contribute to this project, please take a look at [CONTRIBUTING.MD](CONTRIBUTING.md).


----------------------------------------------------------------------------------------------------

<!-- ACKNOWLEDGEMENTS -->
### Acknowledgements
This module is based on the theory and experiment described in [[1]](#references).

The initial code on which this module is based was written by Andrew Eddins, Mario Motta, Tanvi Gujarati, and Charles Hadfield. The module was developed by Aggie Branczyk, Iskandar Sitdikov, and Luciano Bello, with help from Caleb Johnson, Mario Motta, Andrew Eddins, Tanvi Gujarati, Stefan Wörner, Max Rossmannek, Ikko Hamamura, and Takashi Imamichi. The documentation was written by Aggie Branczyk, with help from Ieva Liepuoniute, Mario Motta and Travis Scholten.

We also thank Lev Bishop, Sarah Sheldon, and John Lapeyre for useful discussions.


----------------------------------------------------------------------------------------------------

<!-- ABOUT PROTOTYPES -->
### About Prototypes

Prototypes is a collaboration between developers and researchers that will give users access to prototypes from cutting-edge research in areas like quantum simulation and machine learning. These software packages are built on top of, and may eventually be integrated into the Qiskit SDK. They are a contribution as part of the Qiskit community.

Check out our [blog post](https://medium.com/qiskit/try-out-the-latest-advances-in-quantum-computing-with-ibm-quantum-prototypes-11f51124cb61) for more information!


----------------------------------------------------------------------------------------------------

<!-- REFERENCES -->
### References
[1] Andrew Eddins, Mario Motta, Tanvi P. Gujarati, Sergey Bravyi, Antonio Mezzacapo, Charles Hadfield, Sarah Sheldon, *Doubling the size of quantum simulators by entanglement forging*, https://journals.aps.org/prxquantum/abstract/10.1103/PRXQuantum.3.010309


----------------------------------------------------------------------------------------------------

<!-- LICENSE -->
### License
[Apache License 2.0](LICENSE.txt)
