Skip to content

Latest commit

 

History

History
109 lines (87 loc) · 11.9 KB

File metadata and controls

109 lines (87 loc) · 11.9 KB

IBM's Qiskit Global Summer School 2023:

Theory to Implementation

Description

The IBM's Qiskit Global Summer School 2023 from IBM Quantum is a two-week intensive summer program designed to empower the quantum researchers and developers of tomorrow with the know-how to explore the world of quantum computing, as well as refresh and sharpen the industry professional's skills. This fourth-annual summer school will focus foundationally on quantum computing by taking a back-to-basics approach, looking at making the transition from theory to implementation.

IMPORTANT

  • The lectures occurred online in the CrowdCast streaming platform,
    between July 17, 2023, and July 28, 2023. ⚠️
  • The labs were solved online in the IBM Quantum Challenges: Qiskit Global
    Summer School 2023
platform, between July 27, 2023, and July 31, 2023. ⚠️

Contents of IBM's Qiskit Global Summer School 2023 - Theory to Implementation:

Lectures:

  • Lecture 1: Single and Multiple States 📚

    • Lecture 1.1: Single States - Check it here: PDF
    • Lecture 1.2: Multiple States - Check it here: PDF
  • Lecture 2: Quantum Circuits 📚

    • Check it here: PDF
  • Lecture 3: Entanglement in Action 📚

    • Check it here: PDF
  • Lecture 4: Quantum Algorithms and its Foundations 📚

    • Lecture 4.1: Quantum Query Algorithms - Check it here: PDF
    • Lecture 4.2: Foundations of Quantum Algorithms - Check it here: PDF
  • Lecture 5: Phase Estimation and Factoring 📚

    • Check it here: PDF
  • Lecture 6: Quantum Computing Hardware & Superconducting Circuits 📚

    • Check it here: PDF
  • Lecture 7: Introduction to Quantum Noise 📚

    • Check it here: PDF
    • Bonus Content - Check it here: PDF
    • Coherent Error: ZZ [Bonus] - Check it here: PDF
    • Digital Quantum Circuits (Pictorial) [Bonus] - Check it here: PDF
    • Estimating Observables From Sampled Bit Strings [Bonus] - Check it here: PDF
  • Lecture 8: Iterative Quantum Phase Estimation and Variational Quantum Eigensolver 📚

    • Lecture 8.1: Iterative Quantum Phase Estimation: Moving Beyond Traditional QPE - Check it here: PDF
    • Lecture 8.2: Variational Quantum Eigensolver - Check it here: PDF
  • Lecture 9: Noise Mitigation 📚

    • Lecture 9.1: Noise Mitigation - Part 1 - Check it here: PDF
    • Lecture 9.2: Noise Mitigation - Part 2 - Check it here: PDF
  • Closing Talk: How to be a Mentor? 📚

    • Check it here: PDF

Labs:

  • Lab 1: Qiskit 101 ✅

    • In the first lab, we will explore different ways of representing and manipulating quantum states using IBM's Qiskit, based on the quantum theory you learned in the first three lectures. We will cover important IBM's Qiskit classes, including Operator, Statevector, and QuantumCircuit, and learn how to use them to perform deterministic, probabilistic, and unitary operations. Lastly, we'll cover different ways of measuring quantum states using IBM's Qiskit.
    • Check it here: Jupyter Notebook | HTML
  • Lab 2: Creating Entanglement with Qiskit ✅

    • In this lab, we explore interesting properties of entangled qubits. However, we first will explore the Sampler and Estimator primitives to measure quasi-probability distributions (related to counts) and expectations of an observable, respectively. We then use the Estimator to measure one observable that violates the CHSH inequality, thereby disproving local hidden variable theories. Next, we build a quantum state and teleport it by entangling it with a shared resource, using the Sampler to show that we obtain the same quasi-probabilities by measuring both the prepared state and the teleported state.
    • Check it here: Jupyter Notebook | HTML
  • Lab 3: Diving Into Quantum Algorithms ✅

    • In this lab, we will be applying what we've learned so far about quantum algorithms to implement our own version of Quantum Phase Estimation as well as Shor's factoring algorithm. We will explore how increasing the number of qubits used to store the phase estimation changes the accuracy, as well as examine how this algorithm performs on real hardware. Afterward, we will use your implementation of QPE to execute Shor's algorithm to find the prime factors of a small number. Each step will be walked through, and by the end, we will have created a complete generalized function that can be run on the QasmSimulator.
    • Check it here: Jupyter Notebook | HTML
  • Lab 4: Iterative Phase Estimation ✅

    • In this lab, you'll implement a simple version of the iterative phase estimation algorithm. Using the recently introduced dynamic circuit capabilities, you'll be able to run the algorithm on an IBM quantum processor.
    • Check it here: Jupyter Notebook | HTML
  • Lab 5: Error Mitigation with Qiskit Runtime ✅

    • In this lab, we'll explore a few of the error mitigation options available through IBM's Qiskit Runtime. Specifically, we'll define a simple observable and initial state and use the Estimator primitive to measure the expectation value. Using noisy simulations, we'll explore the effect of different error mitigation strategies.
    • Check it here: Jupyter Notebook | HTML

Getting Started

Prerequisites

To install and run this application, you will need:

The Git feature and/or a third-party Git Client based GUI, like:

Installation

To install this application, you will only need to download or clone this repository and run the application locally:

You can do it downloading the .zip file in download section of this repository.

Or instead, by cloning this repository by a Git Client based GUI, using HTTPS or SSH, by one of the following link:

https://github.com/AstroQuanta/Qiskit-Global-Summer-School-2023.git
[email protected]:AstroQuanta/Qiskit-Global-Summer-School-2023.git

Or even, by running one of the following commands in a Git Bash Console:

git clone https://github.com/rubenandrebarreiro/ibm-qiskit-global-summer-school-2023.git
git clone [email protected]:AstroQuanta/Qiskit-Global-Summer-School-2023.git

Built with