Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
NVIDIA
GitHub Repository: NVIDIA/cuda-q-academic
Path: blob/main/quick-start-to-quantum/README.md
1127 views

Quick Start to Quantum Computing with CUDA-Q

What the Quick Start to Quantum Computing is: These notebooks provide a quick and practical introduction to the basic quantum concepts sufficient to program and interpret variational algorithms. Additionally, through the interactive coding exercises, readers will learn the basics of the CUDA-Q platform.

What the Quick Start to Quantum Computing is not: These notebooks do not claim to provide an exhaustive introduction to quantum information science. We make several unspoken assumptions and simplifications to give the reader, who may be unfamiliar with quantum mechanics, a general sense of quantum computing so that they can begin to explore variational algorithms. Readers interested in a more thorough introduction to quantum information science are encouraged to read one of several texts on the subject for instance Introduction to Classical and Quantum Computing, Quantum Computer Science, Introduction to Quantum Information, Computation, and Communication or Introduction to Quantum Information Science, or watch online lectures such as this series.

Pre-requisites: Learners should have familiarity with Jupyter notebooks and programming in Python. Additionally, pre-requisite knowledge includes complex numbers, linear algebra, and statistics. In particular, we assume experience computing and understanding of arithmetic of complex numbers, probabilities, expectation values, vectors, dot products, and matrix multiplication. Knowledge of eigenvalues and eigenvectors will be helpful, but not necessarily a requirement.

Learning Objectives:

  • Employ multiple representations of quantum states and gates including bra-ket notation, matrix representation, and Bloch sphere visualization

  • Recognize terminology including superposition, entanglement, interference, phase, quantum circuit, quantum kernel, measurement, Hamiltonian, expectation value, etc.

  • Construct quantum kernels using CUDA-Q

  • Execute quantum programs and hybrid quantum-classical programs using CUDA-Q and interpret the results

  • Program variational quantum algorithms to explore the solution space of an optimization problem

  • Discover opportunities for accelerating hybrid programs on a GPU

Notebooks

The Jupyter notebooks in this folder are designed to run in an environment with CUDA-Q with Python. Please note that to run the interactive widgets in the notebooks, you'll need to copy not only the notebooks, but also the interactive widget folder into your environment.

For instructions on how to install CUDA-Q on your machine, check out this guide. A Dockerfile and requirements.txt are also included in the main directory of the repository to help get you set up.

Otherwise, if you have set up an account in any of the platforms listed below, simply click on the icons below to run the notebooks on the listed platform.

NotebookqBraid[^1]CoCalc[^2]Google Colab[^3]
Lab 1 - Start Small: Learn quantum information and quantum programming with one qubitLaunch On qBraid Open in CoCalc
Lab 2 - Move onto Bigger and More Entangled Things: Program with multiple qubitsLaunch On qBraid Open in CoCalc
Lab 3 - Add a Bit of Variation: Write your first variational programLaunch On qBraid Open in CoCalc
Lab 4 - Converge on a Solution: Write your first hybrid variational programLaunch On qBraid Open in CoCalc

[^1]:If using qBraid Lab, use the Environment Manager to install the CUDA-Q environment and then activate it in your notebook. In qBraid Lab you can switch to a GPU instance using the Compute Manager. To run the optional interactive widgets in the notebooks, you'll need to copy the interactive widget folder into your environment. [^2]:After following the link, select the "Edit your own copy" button, and either select or create a project. Use the run icon in the upper toolbar to execute Python cells. To run the optional interactive widgets in the notebooks, you'll need to copy the interactive widget folder into your environment. [^3]:You will need to add a code block with the command !pip install cudaq and execute it in each notebook to run on Google CoLab. To run the optional interactive widgets in the notebooks, you'll need to copy the interactive widget folder into your environment.