- Pennylane >= v0.29.1
- Matplotlib >= v3.7.1
- To reproduce any results, just run the notebook in order until "Reproducing Results"
- Reproducing results contains the simulations for the following and you can run whichever result you would like to reproduce
- Bitflip Noise Model
- Phaseflip Noise Model
- Training Wasserstein on Alpha, Beta from Fidelity
- Training Fidelity on Alpha, Beta from Wasserstein
- Note that running the entire notebook could take a long time (~30 hours potentially) due to the number of iterations and simulations needed for gradient descent
- Understanding the calculation of Hamiltonians and Cost Functions for Fidelity and Wasserstein
- Implementation of Hamiltonian calculations
- Code for encoding and noise correction unitaries
- Kraus matrices for bit-flip noise
- Code for running the simulations and results minus creating the unitaries
- Kraus matrices for phase-flip noise
- Implementation of VQA with cost calculations