One of my fondest childhood memories is enjoying the sweet, delicious taste of a large-scale fault-tolerant quantum computer. In this article, we’re going to explain how you can bake your own scrumptious quantum processor from scratch. Whether you’re trying to impress a first date, cater for friends, or entrench a technological advantage against your geopolitical rivals, quantum computers are the perfect treat for any occasion.

**Difficulty:** Extreme

**Cooking time**^{1}**:** 5–7 years of R&D

In our last article, we answered the question “What is a Quantum Computer?”. As a quick reminder: a quantum computer is a device that uses the principles of quantum mechanics to perform certain calculations much faster than a regular computer.

One of the most common recipes for baking a quantum computer was created by quantum chef/scientist David DiVincenzo. His family recipe lists 5 main ingredients (we’re dropping the cake analogy from here on for clarity):

## 1. **A scalable physical system of qubits**

A classical computer uses binary bits with a value of either 0 or 1 to represent information. This is represented physically as tiny switches called transistors inside the computer that are either on or off. Quantum computers often represent information as qubits, which can be in the state |0>, |1>, or a superposition of both states. For a proper explanation of how this works, check out our previous article.

Many different physical systems have been used to generate qubits, including superconductors, ion traps, and photons. It’s important to highlight that the system of qubits must be *scalable,* i.e. we can create larger and larger systems of connected qubits to run larger calculations. The quantum computers available in labs today don’t have enough processing power to tackle real world problems. If a system of qubits can’t be scaled up, we won’t be able to use it to create useful quantum computers.

## 2. **The ability to initialise the qubits to a simple reference state**

Imagine trying to do maths on a calculator without being able to erase the answer to the previous calculation, or even check what it was; the errors would be enormous. Initializing states is necessary for both classical and quantum computers, but for quantum computers it’s much more difficult.

The initialisation process varies depending on the qubit’s physical system. Let’s examine the case of photonic qubits discussed in our previous article. In this system, a photon can be in one of two optical fibres. The system is in the state |0> or |1> depending on which fibre the photon is in. A simple reference state for this system would be |0000>, which means that 4 qubits have a photon in the fibre corresponding to their |0> state. To initialise this kind of photonic qubit you need to be able to emit single photons, on demand, into specific optical fibres.

This sounds easy, until you consider how small photons are. A normal LED lightbulb releases quintillions of photons every second. Releasing just one of them (and controlling it) is extremely difficult. Quandela was founded on technology which tackles this very problem, by fabricating semiconductor quantum dots that act as controllable single-photon sources. You can learn more about our technology in this article.

## 3. **Decoherence times that are much longer than the gate operation times**

Most types of qubits are extremely delicate, and they tend to lose their quantum properties (such as superposition, entanglement, and interference) soon after they are initialized through a process called decoherence. Decohering qubits ruin quantum computations, which rely on such quantum properties to deliver all the nice speedups and advantages that they have when compared to ordinary classical computers. So the operations we use to manipulate quantum states (performed by quantum gates) must be fast relative to the lifespan of the qubit, or some of them may decohere before the calculation is finished. In our food analogy, you can’t make a meal using ingredients that will expire before you’re finished cooking them.

## 4. **A universal set of quantum gates**

Quantum gates are the quantum versions of the logic gates used in classical computers. They affect the probability of getting a particular answer when the qubits they act on are measured (see previous article for details). Some gates act on one qubit at a time, while others act on two or more. A universal set of gates is a group of gates that you can combine to form any other gate. If you have a universal set of gates, you can perform any quantum operation on your qubits (ignoring gate errors, decoherence, and noise, which we will discuss further in a future article).

## 5.** A qubit-specific measurement capability**

There wouldn’t be much point in performing calculations on a quantum computer if you couldn’t record the results. A measurement is said to be qubit-specific if you can pick out a particular qubit and detect what state it is in: usually |0> or |1>. This gives you the result of your quantum calculation as a string of 0s and 1s, which could eventually be fed into a classical computer to design life-saving medicine or decrypt your internet search history.

**Quantum Communication**

DiVincenzo outlined two additional criteria to allow a device to engage in quantum communication, which is the transfer of quantum information between processors separated by a large distance. These criteria are:

- The ability to convert between stationary qubits (used for calculations) and flying qubits (that can move long distances).
- The ability to faithfully transmit flying qubits between specified locations.

Quantum communication allows us to connect quantum computers together and combine their processing power to solve problems. Photons are the best option, and in fact probably the only sensible option, for implementing flying qubits, given that they travel at the speed of light, don’t suffer from decoherence over time (although optical components still add noise), and can be directed through optical fibres.

**What now?**

The DiVincenzo criteria have had an enormous impact on the field of quantum computing research over the past two decades. Unfortunately, they may also restrict our understanding what a quantum computer can be. We will explore this further in the next article of this series, which explains why the number of qubits in a quantum computer doesn’t necessarily measure how advanced it is.

Having read this and the previous article, you should now have a basic understanding of what quantum computers are, how they work, and what it takes to cook one up from scratch.

*Disclaimer: Cooking time may vary. Quantum computers are hardware devices which may be composed of high energy lasers, powerful magnets, and silicon chips at temperatures close to absolute zero. They are not food. Please do not attempt to eat a quantum computer. Quandela does not accept any liability from readers attempting to consume the components of a quantum computer.*↩︎