-
Notifications
You must be signed in to change notification settings - Fork 0
Home
A collection of educational projects for quantum computing labs and workshops.
openqcp-lab is a comprehensive collection of educational Jupyter notebooks focused on quantum algorithms and quantum computing fundamentals. The repository originated from "Quantum Variational Algorithms" developed as part of the Womanium Global Quantum Project-2023, with the goal of creating accessible educational materials for audiences with diverse backgrounds.
This project provides hands-on tutorials covering fundamental quantum algorithms, variational methods, quantum walks, and quantum simulation techniques. Each tutorial includes theoretical foundations, practical implementations, and detailed documentation suitable for both learning and research purposes.
- 6 Comprehensive Tutorials: From quantum Fourier transform to Hamiltonian simulation
- Multiple Quantum Frameworks: Support for Classiq, PennyLane, and Qiskit
- Academic Rigor: Well-documented theoretical foundations with references to original papers
- Practical Focus: Hands-on Jupyter notebooks with reproducible results
- Educational Design: Structured for learners at different levels
-
Clone the repository:
git clone https://codeberg.org/mkhellat/openqcp-lab.git cd openqcp-lab -
Set up the environment:
./setup_env.sh # or make env -
Activate the virtual environment:
source venv/bin/activate # On Windows: venv\Scripts\activate
-
Start Jupyter:
jupyter notebook # or jupyter lab -
Begin with a tutorial: See Getting Started for detailed guidance on choosing your first tutorial.
For more detailed setup instructions, troubleshooting, and framework selection, see the Getting Started Guide.
The repository is organized into the following main tutorial projects:
| # | Tutorial | Framework | Difficulty | Description |
|---|---|---|---|---|
| 00 | Quantum Fourier Transform (Abelian) | Classiq | Beginner | Mathematical foundations of QFT over finite Abelian groups, phase estimation, and Hadamard test |
| 01 | Minimize Expectation Value | PennyLane | Beginner | Optimize variational quantum circuits using gradient descent |
| 02 | Discrete-Time Quantum Walk | Classiq | Intermediate | Quantum walk operators on path graphs using coin and shift operators |
| 03 | Non-Unitary Quantum Computing (LCU) | Classiq | Intermediate | Linear Combination of Unitaries for non-unitary operations |
| 04 | Quantum Variational Algorithms | Qiskit | Intermediate | QUBO problems and Variational Quantum Eigensolvers (VQE) |
| 05 | Coupled Harmonic Oscillators | Classiq | Advanced | Quantum simulation of classical coupled oscillators with exponential speedup |
See the complete Tutorial Catalog for detailed information about each tutorial, including prerequisites, learning objectives, and estimated completion time.
We recommend different learning paths depending on your background and goals:
For those new to quantum computing:
- Tutorial 00 - Quantum Fourier Transform (builds fundamental understanding)
- Tutorial 01 - Minimize Expectation Value (introduces optimization)
For those with basic quantum knowledge:
- Tutorial 00 - Quantum Fourier Transform (review if needed)
- Tutorial 02 - Quantum Walk (graph-based algorithms)
- Tutorial 03 - Non-Unitary Computing (advanced techniques)
- Tutorial 01 - Minimize Expectation Value (optimization)
For experienced practitioners:
- Tutorial 04 - Quantum Variational Algorithms (VQE and QUBO)
- Tutorial 05 - Coupled Harmonic Oscillators (Hamiltonian simulation)
For academic researchers:
- Start with Tutorial 05 (coupled oscillators) for cutting-edge research applications
- Review Tutorial 03 (LCU) for advanced non-unitary techniques
- Explore Academic Resources for related papers
See Learning Paths for detailed guidance, time estimates, and prerequisite chains.
The repository contains the following main tutorial projects:
- Quantum Fourier Transform - Abelian groups case with phase estimation applications
- Minimize Expectation Value - Variational quantum circuit optimization
- Quantum Walk - Discrete-time quantum walk on path graphs
- Non-Unitary Quantum Computing - Linear Combination of Unitaries (LCU)
- Quantum Variational Algorithms - QUBO and VQE implementations
- Coupled Harmonic Oscillators - Quantum simulation of classical systems
Each project includes:
- Detailed README with theory and implementation notes
- Jupyter notebooks with executable code
- Software requirements and setup instructions
- Expected results and outputs
- Develop accessible educational materials that bridge theory and practice
- Foster understanding of quantum computing concepts through hands-on learning
- Encourage diverse participation in quantum computing education and research
- Provide academic rigor with proper theoretical foundations and references
- Support multiple frameworks to accommodate different learning preferences and use cases
If you use this project in your research or teaching, please cite it appropriately:
@software{openqcp-lab,
title = {openqcp-lab: Educational Quantum Computing Projects},
author = {Khellat, Mohammadreza and contributors},
year = {2023-2024},
url = {https://codeberg.org/mkhellat/openqcp-lab},
note = {Part of Womanium Global Quantum Project-2023}
}For citing specific tutorials or components, see Academic Resources.
Contributions are welcome and encouraged! We value contributions from diverse backgrounds and experience levels.
- Documentation: Help improve wiki pages, fix typos, add examples
- Tutorials: Add new tutorials or improve existing ones
- Code: Fix bugs, improve implementations, add features
- Testing: Test tutorials on different platforms and report issues
- Read the Contributing Guide for wiki editing guidelines
- Check the main repository's CONTRIBUTING.md for code contributions
- Review the Project Structure to understand the repository organization
We are committed to maintaining a productive, open, and transparent collaboration environment. We actively work against all forms of discrimination, especially those rooted in nationality, race, and gender.
- Getting Started - Comprehensive setup and first steps guide
- Tutorial Catalog - Complete reference for all tutorials
- Learning Paths - Recommended sequences for different backgrounds
- Framework Guide - Choosing between Classiq, PennyLane, and Qiskit
- Academic Resources - Papers, references, and citations
- FAQ - Common questions and troubleshooting
- Reproducing Results - How to reproduce figures and outputs
This project is licensed under GNU GPL v3+. See the LICENSE file in the main repository for details.
- Main Repository: codeberg.org/mkhellat/openqcp-lab
- GitHub Mirror: github.com/mkhellat/openqcp-lab
- Issues: Report issues
