This is a collection of educational notebooks about what is quantum circuit optimization and how to optimize quantum circuits using deep learning, created for the IBM Q Challenge: Teach Me Qiskit Award.
Recommend reading following chapter of the Qiskit textbook before you start.
Chapter 0. Prerequisites
Chapter 1. Quantum States and Qubits
Chapter 2. Single Qubits and Multiple-Qubits gates
But if you don't want to go through it and just want to directly work on this you can go through directly! Every notebook is created to be possible to implement without prior knowledge of deep learning and quantum computing. But make sure you modify the path appropriatly :D
Currently quantum computers have a lot of noise. Circuit optimization is an effort to reduce the statevector error (the difference between the actual statevector from the ideal statevector) caused by noise as much as possible. This is a step towards fault tolerant quantum computing. These notebooks explain circuit optimization in detail and a way to optimize quantum circuits using deep learning.
Quote from IBM:
Optimize circuits to minimize noise when they are executed on a real IBMQ backend, by using the properties of the backends themselves. These properties contain information about the physics of the device, such as qubit lifetimes (decoherence and relaxation), gate and readout error rates, and gate latencies.
Currently, quantum circuit optimization is done by the Qiskit transpiler. It uses a graph data structure and A* search to find the optimized layout and a way to swap qubits. Few approaches use deep learning.
We made this series of educational notebooks using deep learning to provide a guideline for Deep Learning and Quantum Computing practitioners and to validate and encourage the use of deep learning to optimize quantum circuits.
Click the guide link to start :D The guide notebook includes all of the informations you need! You can search one by one using the below.
Highly recommended to go through these resources through the Google Colaboratory interface because they are designed for use through that interface Google Colaboratory
- Welcome :D
- What is circuit optimization?
- How does optimized circuit looks like depends on hardware?
- Check quantum hardware information
- How to generate random circuit?
- Generate dataset for Deep learning
- Train LSTM Autoencoder to find circuit manifold
6-1. (Optional) Predicting statevectors from circuits
Check out our experiment log showing results from many experiments we ran to validate this statevector prediction model
experiment log
- Train Layout predicting Model
- Train Optimized circuit predicting model
- How to check it is optimized?
- LSTM Autoencoder -
Find circuit latent space(manifold) - LSTM Encoder DNN -
Predict the layout - LSTM seq2seq -
Predict transpiler level 3 Optimized quantum circuit - DNN - (Optional)
Predicting the statevector from circuit
