In this OpenQASM 3 tutorial, you will be given an introduction to the OpenQASM 3 Programming language. You will learn about the OpenQASM 3 programming language from the very basic. In this tutorial you will learn, among other things, the OpenQASM 3 Syntax, its storage types, its statements and how to use OpenQASM 3 and declare Quantum and Classical Registers, how to perform operations and apply various gates on Qubits, measure Qubits onto bits, and reset them.
This tutorial is for the latest version of OpenQASM, OpenQASM 3. You can check out the tutorial for OpenQASM 2 over here.
Audience
This OpenQASM 3 tutorial is prepared for individuals who are moderately proficient in the field of Quantum Computing and is designed to take you from scratch to a moderately advanced level in the OpenQASM 3 Programming language. By the end of this tutorial you will have a good grasp of the OpenQASM 3 programming language and you will be able to write Quantum Programs in the OpenQASM programming language.
Prerequisites
This OpenQASM tutorial series is designed to get you started with OpenQASM 3 programming language. While this tutorial will teach you OpenQASM from the very basic, it will not cover Quantum Computing. Therefore, it is required from the audience of this tutorial to have a decent understanding of Quantum Computing. Specifically, you should be well versed with Qubits- the quantum counterparts of bits, Quantum Mechanical phenomena such as superposition and entanglement, Quantum Circuits and the various gates of Quantum Computing. Any prior experience with a Quantum Computing library such as Qiskit or Cirq, or a Quantum Computing programming language such as Q# will prove to be highly beneficial.
While having knowledge or experience with OpenQASM 2 is not a pre-requisite for this tutorial, it will certainly be helpful to have a know-how of OpenQASM 2.
To learn Quantum Computing from scratch, take a look at our Qiskit Tutorials which covers both Quantum Computing and Qiskit from scratch. The tutorial uses Qiskit, which is a Python library(SDK) for implementing Quantum Programs.