QubitFlow: Quantum Computing and Machine Learning

QubitFlow: Quantum Computing and Machine Learning

in

About the Project

Introduction to Quantum Computing and building some Quantum Machine Learning Algorithms like QNNs, Quantum Regression and Classification, QSVCs, QCNNs.

Interesting Channel: MLO Has playlists on Quantum Physics, IBM Qiskit, QAOA, VQEs, Some Paper Discussions, QCOpt, QOSF, QML Theory, Pennylane, Cirq, Tensorflow Quantum, RL,Intro to QC and some Conference Videos

Resources

Week 0 | Into the Quantum World

  1. Linear Algebra Refresher: Videos 1-3, 9-11, 13-15 of 3B1B Lin Alg Playlist
  2. The Language of Quantum mechanics
  3. This video shall provide an intuitive introduction to QM
  4. What are wave functions
  5. What does a wave function represent

Week 1 | Fundamentals of Quantum Computing

  1. Lectures 1 to 3 of this playlist
  2. Reference notes for the lectures

Relevant Sections of Nielsen Chuang

Link to the book can be found here

  1. Start off with Stern-Gerlach (1.5.1). Provides a good understanding of some non-intuitive parts of QM
  2. Cover the results of 2.1-Linear Algebra. Proofs not important for the project but having an understanding of the results will really help
  3. Post that, you can read the first 3 sub sections of 2.2. Anything beyond that would be a it too complex for now.
  4. Then, cover 4.1 and 4.2.

Introduction to Python

  1. Intro to Python
  2. Exception Handling
  3. Anaconda
  4. Path and environment variables for Python and Anaconda in Windows
  5. Interactive Python Notebooks
  6. Venv
  7. Managing Packages with venv
  8. Python virtualenv
  9. PyEnv for Python Version Management
  10. Git

Week 2 | Hands on Qiskit

Circuit Solving

Solving circuits involves bring given a logical quantum circuit diagram with initial states and a set of gates applied to those states in a particulat order and you deciphering the state of the system after application of each state. For mastering circuit solving, you need to understand how time evolution of states occurs, how to convert states and gates into matrix representations and apply gates to various states. This video along with resources from Week 1 equip you with all tools required for Solving Quantum Circuits. For a more comprehensive tutorial, go through this document and this blog.

Migration to Qiskit 2.O

Migration Guides:

  1. https://quantum.cloud.ibm.com/docs/en/migration-guides/classic-iqp-to-cloud-iqp
  2. https://quantum.cloud.ibm.com/docs/en/migration-guides/qiskit-2.0

For accessing IBM Backends:

  1. Sign into https://cloud.ibm.com/
  2. Sign into https://quantum.cloud.ibm.com
  3. Use the IBM backends the way they are described in the migration guides

Introduction to Qiskit

  1. Qiskit Hello World Notebook
  2. Quantum Gates in Qiskit Notebook
  3. Qiskit Circuits
  4. Quantum Teleportation
  5. Implementing a basic VQE using Qiskit

Classical and Quantum Complexity Classes

Additional Resources:

  1. Classical Complexity
  2. Quantum Complexity
  3. Classical v/s Quantum Complexity

Assignment 1

Implement a Quantum Teleportation Circuit in Python using Qiskit.

Week 3 | Simulations and Transpilers

Transpilers

  1. Qiskit Transpilers: Skim through the subpages,but read the overview and info about stages, pass managers in detail
  2. Qiskit Transpilers II: this has a pretty similar wording but a few more illustrative examples that might be helpful
  3. Video 1: An intro to the intuition behind AI Transpilation, its training and tuning
  4. Video 2: A pretty good intro on Transpilers, motiovation, and their structure in Qiskit
  5. Circuit Converters
  6. Transpiler Targets
  7. Transpiler Stages

AI-powered Transpilers

  1. Optimize quantum circuits with AI-powered transpiler passes
  2. Seminar: Transpile your circuits with AI

Quantum Simulations

Backends

  1. Qiskit Backends
  2. IBM Backends Docs
  3. Transpile against custom backends

Simulators: Documentation and Theory

  1. BasicProvider and BasicSimulator
  2. Fake Provider and Generic Backends
  3. Qiskit AER
  4. AER Provider
    1. AER Simulator
    2. QASM Simulator
    3. State Vector Simulator
    4. Unitary Simulator
    5. AER Error
  5. Device backend noise model simulations
  6. The Extended Stabilizer Simulator
  7. Matrix product state simulation method
  8. Parallel GPU Quantum Circuit Simulations on Qiskit Aer

Simulators: Implementations

  1. Running PUBs on qiskit 1.x using Aer Simulator and IBM Quantum Computers
  2. Qiskit Aer’s AerSimulator

Assignment 2

Implement (on IBM-Q) digital simulations of the time-evolution of the two- and three-spin Heisenberg model, explaining what are the main differences in the two implementations.

Assignment 3

Complete the following lab from IBM Quantum Challenge 2025: Lab on Transpilers

Assigment 4

(Continuation of Assignment 2)

  1. Using the QASM simulation, compute estimates of various observables of the system as a function of time, and in particular of the dynamical correlation functions.
  2. Run the simulation with the QASM simulator, including noise, and study how rapidly the quality of the solution deteriorates as a function of the time interval that is being simulated. This is done by computing the fidelity of the solution.
  3. Discuss the origin of errors and, in particular, study the relative importance of the finite time step error (called Suzuki-Trotter error) and of the errors originating from the quantum hardware itself.

Assignment 5

Complete the following lab from IBM Quantum Challenge 2025: Lab on AI Transpilers

Week 4 | Quantum Primitives and Knitting

Qiskit Primitives

  1. Primitves Introduction Notebook
  2. Primitives Documentation
  3. Primitves Guide
  4. Nice Video on Primitives

Quantum Knitting

  1. Need of Quantum Knitting
  2. Circuit Cutting
  3. Additional Read: Circuit knitting with classical communication

Assignment 6

Complete the following lab from IBM Quantum Challenge 2025: Lab on Quantum Knitting

Week 5 | Introductory Quantum Algorithms

Deutsch-Jozsa Algorithm

  1. Quantum Parallelism: 1.4.2 of Nielsen Chuang
  2. Deutsch Algorithm: 1.4.3 of Nielsen Chuang
  3. Deutsch Jozsa Algorithm: 1.4.4 of Nielsen Chuang
  4. Nice Video with visualizations

Assignment 7

Implement Deutsch Jozsa Algorithm in Qiskit

Grovers Algorithm

  1. 3B1B Video on Grovers Algorithm for intuitive and visual understanding
  2. Overview of Grovers Algorithm
  3. Deep Dive and Query Complexity Analysis
  4. Theory from Nielsen Chuang: 6: Quantum search algorithms
  5. Grover’s Algorithm and Amplitude Amplification (Implementation)
  6. Grover’s algorithm examples (Implementation)

Assignment 8

Implement Grover’s Algo in qiskit.

QFT and Shor’s Algorithm

  1. Videos from Qiskit:
    1. Understanding Quantum Fourier Transform, Quantum Phase Estimation - Part 1
    2. Understanding Quantum Fourier Transform, Quantum Phase Estimation - Part 2
    3. Understanding Quantum Fourier Transform, Quantum Phase Estimation - Part 3
    4. From Factoring to Period-Finding, Writing the Quantum Program - Part 1
    5. From Factoring to Period-Finding, Writing the Quantum Program - Part 2
    6. From Factoring to Period-Finding, Writing the Quantum Program - Part 3
  2. Theory from Nielsen Chuang:
    1. 5.1: The quantum Fourier transform
    2. 5.2: Phase estimation
    3. 5.3: Applications: order-finding and factoring

Assignment 9

Implement Quantum Fourier Transform, Inverse Quantum Fourier Transform, Quantum Phase Estimation and Shor’s algorithm using Qiskit.

Revision

Once you’re done with the first 5 weeks, go through this video, which summarizes all the theoretical concepts discussed in the project till now.

Introduction to Machine Learning

  1. Introduction to Machine Learning
    1. Nice Introductory Video
    2. Week 2, Day 4 of Pclub ML Roadmap
  2. K-Nearest Neighbours: Week 2, Day 4 of Pclub ML Roadmap
  3. Linear Regression and Gradient Descent
  4. Logistic Regression
  5. Support Vector Machines
  6. Kernel Methods
  7. Neural Networks

Week 6 | Introduction to Quantum Machine Learning

Quantum Gradients

First three resources are extremely important and enough to understand basics of Quantum Gradient:

  1. Estimating Gradients and Higher-Order Derivatives on Quantum Hardware
  2. Qiskit Algorithms Gradient Framework
  3. Gradients Docs

For a better understanding, you can also go through these resources:

  1. Review of Quantum Gradient Descent
  2. Quantum natural gradient
  3. Quantum gradients with backpropagation

(5) and (6) use the pennylane library, which has not been introduced to the mentees. So, they can just go through the theory (which is more than enough for understanding the theory of Quantum Gradients), or if interested go through the code (syntax is pretty intuitive).

Additional Resources (Advanced):

  1. Quantum Gates and Gradients
  2. Paper: Estimating the gradient and higher-order derivatives on quantum hardware
  3. Paper: Gradients of parameterized quantum gates using the parameter-shift rule and gate decomposition
  4. Paper: Quantum Natural Gradient

Note: All the contents in the resources are extracted from Papers given in Additional Resources 2, 3 and 4. Reading them would just provide you mathematical clarity of how and why things are done in a specific manner.

Paper Presentation

  1. Classification with QNNs on Near Term Processors
  2. Continuous Variable QNNs
  3. Quantum K-Nearest Neighbour
  4. Quantum K-Means

Variational Quantum Algorithms

  1. Theoretical Introduction to Variational Quantum Eigensolvers
  2. Intro to Algorithms and VQE implementation using Qiskit Algorithms
  3. Advanced VQE Options
  4. VQE with Qiskit Aer Primitives
  5. Variational Quantum Deflation (VQD) Algorithm
    1. Reference Paper
    2. API Reference
    3. Implementation using Qiskit Algorithms
  6. Testing a Variational Quantum Classifier on a real backend

Additional Reading: Variational quantum algorithms

Assignment 10

  1. Implement a VQE, try out Advanced VQE Options and Variational Quantum Deflation Algorithms (references provided in the resources).
  2. VQC
    1. Implement a Variational Quantum Classifier as given in Lab 4
    2. For the birds_dataset.csv, implement a classical classification algorithm
    3. Compare and contrast the training speed and accuracy, inference speed and accuracy and other metrics for (2.1) and (2.2)

Week 7 | Quantum Machine Learning Algorithms

Quantum Neural Networks

  1. Quantum Neural Networks
  2. Neural Network Classifier & Regressor
  3. Training a Quantum Model on a Real Dataset
  4. Saving, Loading Qiskit Machine Learning Models and Continuous Training
  5. Effective Dimension of Qiskit Neural Networks

Additional Theoretical Reading: Quantum Neural Networks

Assignment 11

Implement the notebooks for:

  1. QNNs
  2. NN Classifier and Regressor
  3. Training a Quantum Model on a Real Dataset

In all these 3 implementations:

  1. Interrupt training and save the model
  2. Load the model, continue training till the end
  3. Calculate the effective dimensions of the algorithms

Kernel Methods and Support Vector Classifiers

  1. Quantum Kernel Machine Learning
  2. Pegasos Quantum Support Vector Classifier
  3. Quantum Kernel Training for Machine Learning Applications

Assignment 12

Implement an algorithm for Prediction of Solar Irradiation Using Quantum Support Vector Machine Learning Algorithm. Reference paper can be found here

Week 8 | Quantum Convolutional Neural Networks

  1. QCNN implementation using Qiskit ML
  2. QCNN Paper

Assignment 13

Implement the QCNN Algorithm referenced in week 8 resources

Project Mentors: