Skip to content

danielcregg/quantum-computing-week5-notebooks

Repository files navigation

Quantum Computing Week 5 Notebooks

Python Qiskit Jupyter License: MIT

A collection of Jupyter notebooks for learning quantum computing concepts using IBM's Qiskit framework. Covers single-qubit gates, Deutsch's algorithm, and common circuit implementation patterns.

Overview

This repository provides hands-on educational notebooks that guide students through fundamental quantum computing topics. Each notebook combines theoretical explanations with runnable Qiskit code, Bloch sphere visualizations, and exercises. The project includes a fully configured devcontainer for instant setup in GitHub Codespaces or VS Code.

Features

  • Interactive Jupyter notebooks with inline Bloch sphere and circuit visualizations
  • Coverage of all standard single-qubit gates (I, X, Y, Z, H, S, T) with matrix representations
  • Implementation of Deutsch's algorithm with phase kickback oracles
  • Comparison of StatevectorSampler and AerSimulator execution patterns
  • Bell state creation and tensor product demonstrations
  • Exercises at the end of each notebook for self-assessment
  • Zero-config GitHub Codespaces support via devcontainer

Prerequisites

  • Basic understanding of quantum mechanics concepts
  • Familiarity with Python programming
  • Understanding of linear algebra is helpful but not required
  • GitHub account (for Codespaces) or Docker (for local devcontainer)

Getting Started

Installation

Option 1: GitHub Codespaces (Recommended)

  1. Click the Code button at the top of this repository.
  2. Select the Codespaces tab.
  3. Click Create codespace on main.
  4. Wait for the environment to build automatically.
  5. Open any .ipynb file and start learning.

Option 2: Local Development with VS Code

  1. Clone the repository:
    git clone https://github.com/danielcregg/quantum-computing-week5-notebooks.git
    cd quantum-computing-week5-notebooks
  2. Open in VS Code and install the Dev Containers extension.
  3. Press F1 and select Dev Containers: Reopen in Container.

Option 3: Manual Setup

pip install qiskit qiskit-aer matplotlib pylatexenc sympy numpy scipy jupyter

Usage

Open any of the following notebooks in Jupyter or VS Code:

Notebook Topic
SingleQubitGates.ipynb Standard single-qubit gates (I, X, Y, Z, H, S, T) with Bloch sphere visualizations
DeutschOracle.ipynb Deutsch's algorithm with query oracles and phase kickback
ImplementationPatterns.ipynb StatevectorSampler vs AerSimulator patterns, Bell states, tensor products

Run cells sequentially to follow the guided instruction, then attempt the exercises at the end of each notebook.

Tech Stack

  • Python 3.12 -- Programming language
  • Qiskit 2.0+ -- IBM's open-source quantum computing framework
  • Qiskit Aer 0.17+ -- High-performance quantum circuit simulator
  • Matplotlib -- Bloch sphere and circuit diagram visualization
  • NumPy / SciPy -- Numerical and scientific computing
  • SymPy -- Symbolic mathematics for gate representations
  • Jupyter -- Interactive notebook environment
  • Dev Containers -- Reproducible development environment

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Jupyter notebooks for learning quantum computing with Qiskit covering single-qubit gates, Deutsch's algorithm, and circuit implementation patterns

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors