-
Notifications
You must be signed in to change notification settings - Fork 0
Tutorial Catalog
Complete reference guide for all tutorials in the openqcp-lab collection.
This catalog provides detailed information about each tutorial, including prerequisites, learning objectives, framework requirements, and estimated completion times. Use this guide to plan your learning journey.
| # | Tutorial | Framework | Difficulty | Prerequisites | Time | Link |
|---|---|---|---|---|---|---|
| 00 | Quantum Fourier Transform (Abelian) | Classiq | Beginner | Linear algebra, complex numbers | 2h | Details |
| 01 | Minimize Expectation Value | PennyLane | Beginner | Basic Python, optimization basics | 1.5h | Details |
| 02 | Discrete-Time Quantum Walk | Classiq | Intermediate | QFT (Tutorial 00), graph theory basics | 2-3h | Details |
| 03 | Non-Unitary Quantum Computing (LCU) | Classiq | Intermediate | Quantum circuits, linear algebra | 2-3h | Details |
| 04 | Quantum Variational Algorithms | Qiskit | Intermediate | VQE basics, optimization | 3-4h | Details |
| 05 | Coupled Harmonic Oscillators | Classiq | Advanced | Hamiltonian simulation, physics | 4-5h | Details |
Full Name: Quantum Fourier Transform over Finite Abelian Groups
Location: quantum_fourier_transform_abelian/
Framework: Classiq
Difficulty: 🟢 Beginner
Estimated Time: 2 hours
A comprehensive review of quantum Fourier transform over finite Abelian groups with applications in phase estimation and Hadamard test. This tutorial covers the mathematical foundations of QFT as a linear transformation between function spaces.
By completing this tutorial, you will be able to:
- Understand the mathematical foundations of QFT over finite Abelian groups
- Implement QFT circuits for phase estimation
- Apply QFT in Hadamard test scenarios
- Recognize the relationship between
$\mathbb{C}[G]$ and$\mathbb{C}[\widehat{G}]$ vector spaces
Required:
- Linear algebra (vector spaces, linear transformations)
- Complex numbers and complex exponentials
- Basic quantum computing concepts (qubits, gates)
Recommended:
- Group theory basics (helpful but not required)
- Familiarity with Fourier transforms (classical)
- Quantum Fourier Transform (QFT)
- Finite Abelian groups and their characters
- Phase estimation algorithms
- Hadamard test
- Quantum circuit design
numpymatplotlibclassiq
All included in requirements.txt.
- Quantum model file:
qft-expvalue.qmod(optional) - Plots showing expectation values and measurement results
- Understanding of QFT implementation
- Prerequisite for: Tutorial 02 (Quantum Walk)
- Related to: Tutorial 05 (uses similar mathematical foundations)
- Tutorial Page
- Academic Resources - Related papers
Full Name: Minimize Expectation Value of a 2-qubit Quantum Observable
Location: minimize_expectation_value/
Framework: PennyLane
Difficulty: 🟢 Beginner
Estimated Time: 1.5 hours
A commented version of PennyLane's beginner-level optimization challenge "Keeping Expectations Low". This tutorial demonstrates how to optimize variational quantum circuits using gradient descent to minimize expectation values of quantum observables.
By completing this tutorial, you will be able to:
- Construct variational quantum circuits using PennyLane
- Optimize quantum circuit parameters using gradient descent
- Minimize expectation values of Hermitian operators
- Understand the relationship between circuit parameters and observable measurements
Required:
- Basic Python programming
- Understanding of optimization (gradient descent)
- Basic quantum gates (Pauli gates, entangling gates)
Recommended:
- Familiarity with PennyLane (helpful but tutorial is self-contained)
- Understanding of variational quantum algorithms
- Variational quantum circuits
- Parameter optimization
- Gradient descent
- Expectation value minimization
- StronglyEntanglingLayers architecture
pennylane
Included in requirements.txt.
- Optimized quantum circuit parameters
- Convergence plot showing optimization progress
- Understanding of variational optimization workflow
- Foundation for: Tutorial 04 (Quantum Variational Algorithms)
- Related to: All optimization-based tutorials
Full Name: Discrete-Time Quantum Walk on Path Graph
Location: quantum_walk/
Framework: Classiq
Difficulty: 🟡 Intermediate
Estimated Time: 2-3 hours
Implementation of quantum walk operators on graphs using coin and shift operators for a path graph with 16 nodes (
By completing this tutorial, you will be able to:
- Understand quantum walk operators (coin and shift)
- Implement quantum walks on path graphs
- Design diffuser and edge oracle operations
- Recognize applications of quantum walks in graph algorithms
Required:
- Tutorial 00 (Quantum Fourier Transform) or equivalent knowledge
- Graph theory basics (vertices, edges, adjacency)
- Quantum circuit design experience
Recommended:
- Understanding of quantum algorithms
- Familiarity with Classiq framework
- Quantum walk operators
- Coin operator (
$C$ ) and shift operator ($S$ ) - Graph-based quantum algorithms
- Diffuser operations
- Edge oracles
numpyclassiq
All included in requirements.txt.
- Quantum walk implementation on
$P_{16}$ - Understanding of coin and shift operator design
- Measurement results showing quantum walk behavior
- Requires: Tutorial 00 (QFT concepts)
- Related to: Tutorial 03 (advanced quantum operations)
- Tutorial Page
- Academic Resources - Quantum walk papers
- See
6.B/directory for related papers
Full Name: Linear Combination of Unitaries
Location: nonunitary_quantum_computing/
Framework: Classiq
Difficulty: 🟡 Intermediate
Estimated Time: 2-3 hours
An example LCU implementation of a
By completing this tutorial, you will be able to:
- Understand LCU decomposition for non-unitary operators
- Implement SELECT and PREPARE operators
- Decompose matrices into Pauli terms
- Apply non-unitary operations using quantum circuits
Required:
- Quantum circuits and gates
- Linear algebra (matrix operations, Pauli matrices)
- Understanding of unitary vs non-unitary operations
Recommended:
- Tutorial 00 or 02 (quantum circuit design experience)
- Familiarity with Classiq
- Linear Combination of Unitaries (LCU)
- SELECT and PREPARE operators
- Pauli decomposition
- Non-unitary quantum operations
- Controlled operations
numpyclassiq
All included in requirements.txt.
- Quantum model file:
lcu-2x2.qmod(optional) - Measurement results showing non-unitary operator application
- Understanding of LCU implementation
- Builds on: Tutorial 00, 02 (quantum circuit design)
- Advanced technique: Used in research applications
- Tutorial Page
- Academic Resources - LCU papers
Full Name: QUBO and Variational Quantum Eigensolvers (VQE)
Location: quantum_variational_algorithms/
Framework: Qiskit
Difficulty: 🟡 Intermediate
Estimated Time: 3-4 hours
Demonstrates the formulation of Quadratic Unconstrained Binary Optimization (QUBO) problems as ground state problems and their solution using Variational Quantum Eigensolvers (VQE). Includes implementation for the Max-Cut problem.
By completing this tutorial, you will be able to:
- Formulate QUBO problems as ground state problems
- Implement VQE using Qiskit
- Solve optimization problems using quantum algorithms
- Use EfficientSU2 ansatz and GSLS optimizer
- Apply quantum algorithms to Max-Cut problem
Required:
- Understanding of VQE basics
- Optimization theory
- QUBO problem formulation
- Basic Qiskit knowledge (helpful)
Recommended:
- Tutorial 01 (variational optimization)
- Graph theory (for Max-Cut application)
- Variational Quantum Eigensolvers (VQE)
- Quadratic Unconstrained Binary Optimization (QUBO)
- Max-Cut problem
- EfficientSU2 ansatz
- GSLS optimizer
- Ground state problems
numpy-
qiskit(optional, installed automatically if needed) -
qiskit-optimization(optional, installed automatically if needed)
Install manually:
pip install qiskit qiskit-optimization- VQE solution for QUBO problem
- Optimization convergence results
- Max-Cut problem solution
- Understanding of VQE workflow
- Builds on: Tutorial 01 (variational optimization)
- Advanced application: Real-world optimization problems
- Tutorial Page
- Qiskit VQE Documentation
- Academic Resources - VQE papers
Full Name: Hamiltonian Simulation of N Coupled Classical Oscillators
Location: coupled_harmonic_oscillators/
Framework: Classiq
Difficulty: 🔴 Advanced
Estimated Time: 4-5 hours
A quantum algorithm that delivers the dynamics of a 1-dimensional system of
By completing this tutorial, you will be able to:
- Understand Hamiltonian simulation for classical systems
- Implement amplitude encoding of dynamical variables
- Decompose Hamiltonians into Pauli terms
- Apply Suzuki-Trotter decomposition
- Recognize exponential speedup in quantum simulation
Required:
- Hamiltonian simulation theory
- Physics background (classical mechanics, oscillators)
- Advanced linear algebra
- Understanding of quantum simulation
Recommended:
- Tutorial 00, 02, 03 (quantum circuit design)
- Familiarity with Classiq
- Understanding of Trotterization
- Hamiltonian simulation
- Amplitude encoding
- Normal modes and eigenfrequencies
- Suzuki-Trotter decomposition
- Pauli decomposition
- Quantum speedup
numpyscipysympymatplotlibclassiq-
LaTeX (for plot rendering) and
cm-superpackage
All Python packages included in requirements.txt.
- Quantum model files:
N-2-dt-*.qmodandN-2-dt-*.qprog - Figures:
figures/hs_n_2.png(Hamiltonian simulation) - Figures:
figures/ar_n_2.png(Analytical comparison) - Comparison of quantum simulation with analytical results
- Most advanced: Builds on all previous tutorials
- Research application: Cutting-edge quantum simulation
- Tutorial Page
- PRX Paper - Exponential Quantum Speedup
- Academic Resources - Related papers
- Beginner: Start with Tutorial 00, then Tutorial 01
- Intermediate: Tutorial 02, 03, or 04 (depending on interests)
- Advanced: Tutorial 05
- Classiq: Tutorials 00, 02, 03, 05
- PennyLane: Tutorial 01
- Qiskit: Tutorial 04
- Algorithm Foundations: Tutorial 00
- Optimization: Tutorial 01, 04
- Graph Algorithms: Tutorial 02
- Advanced Techniques: Tutorial 03
- Simulation: Tutorial 05
See Learning Paths for detailed recommended sequences.
- Getting Started - Setup and first steps
- Learning Paths - Recommended sequences
- Framework Guide - Framework comparison
- Academic Resources - Papers and references
- Reproducing Results - How to reproduce outputs
Ready to start? Choose a tutorial from the table above or follow a Learning Path!