Quantum Computing For Beginners
Quantum Computing For Beginners
Quantum Computing is a new and exciting field that involves aspects of mathematics,
computer science and physics. It utilizes key notions of Quantum Mechanics to improve the
efficiency of computation.
The following are three basic steps that I have experimented by myself in order to enter
quickly into the Quantum Computing domain1. The first step is to acquire some theoretical
background going through a relatively simple (but rigorous) introduction to the basic Quantum
Computing elements. The support of real experts and their explanations/suggestions can be
extremely helpful in this initial phase. The second step is to test in practice some basic applications
using various types of supports. These include the IBM tutorial platform known as IBM Quantum
Computing Experience. Finally, the third step is to start coding Quantum Computing applications in
Python.
A gentle introduction
The following paper (PDF downloadable) introduces the basic ideas in Quantum Computing.
It begins with the central ideas of Quantum Mechanics and Quantum Computation with simple toy
models. From there it moves on to a formal presentation of the small fraction of (finite dimensional)
Quantum Mechanics that are necessary for basic Quantum Computation. Central notions of
quantum architecture (qubits and quantum gates) are described.
https://arxiv.org/abs/0708.0261#:~:text=Quantum%20Computing%20is%20a%20new,improve%2
0the%20efficiency%20of%20computation.&text=Central%20notions%20of%20quantum%20archit
ecture,and%20quantum%20gates)%20are%20described.
This is just one among the many papers available on internet, but I enjoyed reading it for its
relative simplicity and complexity at the same time. I integrated this document with other papers
and with direct conversations with real experts in this field.
1
Of course, these suggestions are personal and based on my limited experience in this field.
Among the various options, the IBM Q Experience gives you the possibility to use the Python
library Qiskit for testing quantum circuits directly on Yupiter Notebook. Qiskit is an open source SDK
for working with quantum computers at the level of pulses, circuits and algorithms (link:
https://qiskit.org/).
The section “Getting Started with Qiskit” provides an overview of working with Qiskit. The
fundamental package of Qiskit is Terra that provides the basic building blocks necessary to program
quantum computers. The fundamental unit of Qiskit is the quantum circuit. A basic workflow using
Qiskit consists of two stages: Build and Execute. Build allows you to make different quantum circuits
that represent the problem you are solving, and Execute that allows you to run them on different
backends.
Additional useful links from IBM:
https://www.ibm.com/quantum-computing/
https://www.ibm.com/blogs/research/2019/10/on-quantum-supremacy/
https://www.research.ibm.com/quantum-computing/