## 1. Introduction

In the past two decades, the computing world has made significant progress in quantum processing. Big players like IBM and Google and newer competitors like IonQ and PASQAL are all in the race to make quantum processors available to consumers.

Quantum computers have shown that they can process certain tasks exponentially faster than classical computers. In late 2019, Google claimed that it had managed to solve a problem that would take 10,000 years for the world’s fastest supercomputer within just 200s using a quantum computer.

In this tutorial, we’ll explore how quantum computers can achieve such a phenomenal advantage over their classical counterparts.

## 2. How Do Quantum Computers Process Data?

### 2.1. Basics

Let’s first understand some key concepts related to quantum mechanics.

At an atomic level, particles behave differently from the normal world we know. This behavior can give them certain properties that we can exploit in digital processing.

In quantum mechanics, we have subatomic particles called qubits (quantum bits). There are several ways in which we can generate these particles. For example, we can bring about a quantum state by exciting an ion or polarizing a photon using an electromagnetic field.

Qubits can be in more than one state at a time – that is, 1 or 0 simultaneously. This is referred to as superposition. Additionally, qubits can behave in such a way that the state of one qubit can not be defined independently of the other. This is called quantum entanglement.

Superposition and quantum entanglement are the properties that quantum computers exploit in order to achieve their exponential computational capabilities.

We have, however, not shown how they use them. Let’s explore this next.

### 2.2. Logic Operations

In logic, we are concerned with the TRUTH or FALSITY of a proposition – hence binary values 1 and 0. We can carry out Boolean algebra on any given set of these values to fulfill any calculation. Due to De Morgan’s Laws, we are also sure that this will always decompose to some result.

In classical computing, we process data by combining a series of logical operations, such as OR, AND, and NOT. These operations are implemented as logical gates on physical media. We ideally use transistors to implement these gates on a circuit board.

In quantum processing, we can similarly combine logical operations to solve some problem. However, we also need to add some more logical operators to take advantage of the physical properties of quantum machines. Otherwise, we would just be carrying out traditional computing on a quantum processor.

Some new operators that we need, include the Pauli X gates, Hadamard gate, and CNOT gate. Perhaps the most important one is the Hadamard gate. This puts a particle into superposition.

Here’s some of the notation used in quantum diagrams:

By combining a series of Hadamard, CNOT, and other types of gates, we can create a circuit that performs a certain function.

Note that since qubits are superposed, the circuit can operate on all combinations of the qubit states at once. Let’s try to understand what this means.

If the circuit register has 2 qubits, then it can operate on all (4) combinations at once. If there are 8 qubits, then it can operate on all combinations. This is how quantum processing beats classical processing. Classical processing is only able to work on one state at a time.

## 3. Are Quantum Computers Always Faster Than Classical Computers?

With all the new physical properties and processing capabilities that quantum systems possess, it’s only natural that we may get tempted to think that they are universally faster than the classical ones. This is, unfortunately, not true.

There are certain problems that classical computers can solve faster. For example, simple arithmetic and text processing are better suited for classical machines. Conversely, quantum machines excel in areas such as machine learning and cryptography.