This repo contains the code for the project from QOSF(Quanutm Open Source Foundation) Mentorship Program.
Student: Syed Farhan Ahmad
Mentor: Amira Abbas
The blog post for the same can be found here.
Classical neural networks encode higher dimensional vectors(inputs) to lower dimensional vectors(outputs), but the reverse is not possible. Recent research has shown us that scrambling of information from a small subsystem to a larger one is feasible. In our QOSF project, we analyse the effect of entanglement as a variational circuit trains and also study the role of various entropies to characterize entanglement.
-
Create a virtual environment:
$ python3 -m venv venv
-
Activate the environment:
$ source venv/bin/activate
-
Update
pip
:$ pip install --upgrade pip
-
Clone the repo
git clone https://github.com/born-2learn/Entanglement_in_QML.git
-
Launch Jupyter Notebook:
$ jupyter notebook
-
Open and run the jupyter notebooks
variational_circuit_adhoc_data.ipynb
: Contains the variational circuit trained on Ad-Hoc Data fromqiskit.ml.datasets
which is analyzed for both von-Neumann and Meyer-Wallach entropy measures as the model trains.variational_circuit_synthetic_data.ipynb
: Contains the variational circuit trained on synthetic data generated bysklearn
'smake_blobs()
which is analyzed for both von-Neumann and Meyer-Wallach entropy measures as the model trains.libraries/meyer_wallach_measure.py
: Contains code to measure the Meyer Wallach Entanglement of a given circuitlibraries/simple_variational_circuit.py
: Contains the parameterized circuit that automatically comes back to a Bell State once trained.toy_model_bell_state.py
: Contains code to run the paramaterized circuit and measure entropies. This module helps in making sure that the coded entropy measures are working properly.
I would like to thank my mentor Amira Abbas for her constant support and guidance without who this project wouldn't have taken shape. I would also like to thank the QOSF team for giving me this fantastic opportunity of being a part of an awesome mentorship program.
If you’re interested in following me on my journey, connect with me on Linkedin or follow me on Twitter.
For any queries, feel free to contact me on Linkedin, on twitter or by email.