Skip to content
Mohammadreza Khellat edited this page Dec 16, 2025 · 7 revisions

openqcp-lab Logo

A collection of educational projects for quantum computing labs and workshops.


Overview

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.

Key Features

  • 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

Quick Start

  1. Clone the repository:

    git clone https://codeberg.org/mkhellat/openqcp-lab.git
    cd openqcp-lab
  2. Set up the environment:

    ./setup_env.sh
    # or
    make env
  3. Activate the virtual environment:

    source venv/bin/activate  # On Windows: venv\Scripts\activate
  4. Start Jupyter:

    jupyter notebook
    # or
    jupyter lab
  5. 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.


Project Map

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.


Learning Paths

We recommend different learning paths depending on your background and goals:

🟢 Beginner Path

For those new to quantum computing:

  1. Tutorial 00 - Quantum Fourier Transform (builds fundamental understanding)
  2. Tutorial 01 - Minimize Expectation Value (introduces optimization)

🟡 Intermediate Path

For those with basic quantum knowledge:

  1. Tutorial 00 - Quantum Fourier Transform (review if needed)
  2. Tutorial 02 - Quantum Walk (graph-based algorithms)
  3. Tutorial 03 - Non-Unitary Computing (advanced techniques)
  4. Tutorial 01 - Minimize Expectation Value (optimization)

🔴 Advanced Path

For experienced practitioners:

  1. Tutorial 04 - Quantum Variational Algorithms (VQE and QUBO)
  2. Tutorial 05 - Coupled Harmonic Oscillators (Hamiltonian simulation)

📚 Research Path

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.


Projects

The repository contains the following main tutorial projects:

Each project includes:

  • Detailed README with theory and implementation notes
  • Jupyter notebooks with executable code
  • Software requirements and setup instructions
  • Expected results and outputs

Goals

  • 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

Citation

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.


Contributing

Contributions are welcome and encouraged! We value contributions from diverse backgrounds and experience levels.

How to Contribute

  1. Documentation: Help improve wiki pages, fix typos, add examples
  2. Tutorials: Add new tutorials or improve existing ones
  3. Code: Fix bugs, improve implementations, add features
  4. Testing: Test tutorials on different platforms and report issues

Getting Started with Contributions

Code of Conduct

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.


Additional Resources


License

This project is licensed under GNU GPL v3+. See the LICENSE file in the main repository for details.


Links

Clone this wiki locally