Before we look at how to build a superconducting qubit,
let's briefly discuss the requirements we have on the system.
These are the so-called DiVincenzo criteria,
and they serve as a good guideline of what we need to incorporate in our quantum processor.
First, we need the qubit itself,
acting as a two-level system in which we can encode the two states, 0 and 1.
Next, we need to be able to initiate the state of the qubit in the beginning of the computation.
For superconducting qubits, this is done by operating the qubits at 10 mK.
The cryogenic environment will put the qubits in their ground state.
As we saw in Module 1, it is important that the qubits have long coherence times,
which will allow us to implement longer quantum algorithms
containing a large number of quantum gates.
Therefore, the coherence times need to be long
compared to the time it takes to perform qubit gate operations.
This brings us to the next point, which is access to a universal set of quantum gates.
What we mean by a universal set of gates is that the linear combination of the gates in the set
can be used to generate any possible operation on the qubit register.
One example of such a universal set of gates is shown within the brackets to the left here.
We will return to discussing what these gates mean and how to implement them,
but for now I just want to point out that the first four are single qubit gates
whereas the last one, the CNOT gate,
is a 2-qubit entangling gate.
Finally, we need to be able to read out the state of each individual qubit after the computation.
As for the qubit gate operations, it is important that the readout is also performed
on a short time scale compared to the qubit coherence time.
For superconducting qubits today, the coherence time is around 50 to 100 μs,
whereas the readout duration is below 1 μs.
Preferably, the readout should be performed in a single shot,
which means that we will not need to re-run the protocol several times
to take the average result in order to know what the qubit state is.