A Layman's Introduction to

Quantum Computation

spacetime gravity forces matter Higgs memes

So before we get started...
I need you all to make a promise

"I will not think about Schrödinger's cat
for the duration of this talk"

Part One:

Classical Computation

Classical computation is modeled via a Turing Machine

The Church-Turing thesis posits that a Turing Machine
can be used to simulate any algorithmic process

However, we spend a lot of our time
as computer scientists wondering...

How can our algorithms and calculations be done
as efficiently as possible

Any algorithmic process
that can be simulated efficiently
can be done so on a Turing machine

The first challenge: Analog Computation

Analog computers taught us that realistic noise
must be taken into account when evaluating
the efficiency of a computational model

The second challenge: Randomized Algorithms

During the 1970s...

The Solovay-Strassen primality test was developed to
to test whether an integer $n$ was prime

However, the Solovay-Strassen test
doesn't give results with absolute certainty...

Instead, the probability of failure is at most $2^{-k}$

Any algorithmic process
that can be simulated efficiently
can be done so on a probabilistic Turing machine

How about instead of taking a "top-down" approach the this problem...

We instead take a "bottom-up" approach?

What if the Church-Turing thesis
could be derived from the laws of physics?

Part Two:

Quantum Bits

In Quantum Mechanics,
the state of a system is encoded by a wavefunction, $|\psi\rangle$

A wavefunction is a function
that can be treated the same way as a vector

This means that...

  1. You can form new states by taking a
    linear combination of other states: $$\hspace{-1cm}|\psi\rangle = \alpha|\phi_1\rangle + \beta|\phi_2\rangle$$
  2. You can take the dot product
    (or inner product) of two states: $$\hspace{-1cm}\langle\psi|\phi\rangle$$

The basic rules for the states of a quantum system:

  1. There must only be a discrete number of possible states
  2. The system can only be in one of these states when observed

An example...

Suppose we are modeling an electron's spin...

Spin up

$\longrightarrow$

$|1\rangle$


Spin down

$\longrightarrow$

$|0\rangle$

1. There must only be a discrete number of possible states

$\Longrightarrow$ systems can be represented
as a linear combination of these possible states $$|\psi\rangle = \alpha|0\rangle + \beta|1\rangle$$

2. The system can only be in one of these states when observed

$\Longrightarrow$ all states must have a magnitude of one $$\langle\psi|\psi\rangle = |\alpha|^2 + |\beta|^2 = 1$$

In other words...

$|\alpha|^2$

$\longrightarrow$

Probability that state is spin down, $|0\rangle$


$|\beta|^2$

$\longrightarrow$

Probability that state is spin up, $|1\rangle$

The quantum properties of a system can only be maintained
while the system remains unobserved

The key insight: Who said we needed to observe it?

Part Three:

Quantum Circuits

We'll start with the simplest single-qubit logic gate: the not gate

Take the qubit we already established: $$|\psi\rangle = \alpha|0\rangle + \beta|1\rangle$$

Represent the state $|\psi\rangle$ as an ordinary vector
since we know that there are only two possible states: $$\alpha|0\rangle + \beta|1\rangle \longrightarrow \begin{bmatrix} \alpha \\ \beta \end{bmatrix}$$

Then all we need to do is define a transformation $X$ such that: $$X\begin{bmatrix} \alpha \\ \beta \end{bmatrix} = \begin{bmatrix} \beta \\ \alpha \end{bmatrix}$$

or, equivalently... $$\alpha|0\rangle + \beta|1\rangle \quad \longrightarrow \quad \beta|0\rangle + \alpha|1\rangle$$

That's easy...

$$X = \begin{bmatrix}0 & 1 \\ 1 & 0\end{bmatrix}$$

What are the limitations to how we can transform quantum states?

Recall that all we really ask from a state is that it be normalized
(i.e. that its magnitude is one)

Thus, all we ask from transformations is that they are unitary: $$U^\dagger U = I$$

This has a couple interesting consequences...

  1. There is significantly more flexibility to the types of gates that are possible
  2. Quantum logic gates must always be reversible

Some example single-qubit gates...

The Z gate: $\quad Z = \begin{bmatrix}1 & 0 \\ 0 & -1\end{bmatrix}$

The Hadamard gate: $\quad H = \frac{1}{\sqrt{2}}\begin{bmatrix}1 & 1 \\ 1 & -1\end{bmatrix}$

Let's move on to a new system...

Let $|\psi\rangle$ represent the spins of two independent electrons: $$|\psi\rangle = \alpha_{00}|00\rangle + \alpha_{01}|01\rangle + \alpha_{10}|10\rangle + \alpha_{11}|11\rangle \;\longrightarrow\; \begin{bmatrix}\alpha_{00} \\ \alpha_{01} \\ \alpha_{10} \\ \alpha_{11}\end{bmatrix}$$

We can therefore define our first multi-qubit gate: the cnot gate

In a cnot gate, the first qubit is designated the control qubit

While the second qubit is referred to as the target qubit

$$|A,B\rangle\; \longrightarrow\; |A,B\oplus A\rangle$$

$|00\rangle\; \longrightarrow\; |00\rangle$ $\quad|01\rangle\; \longrightarrow\; |01\rangle$
$|10\rangle\; \longrightarrow\; |11\rangle$ $\quad|11\rangle\; \longrightarrow\; |10\rangle$

The cnot gate, together with the set of all single-qubit gates,
can be combined to construct any arbitrary quantum gate

The second multi-qubit gate: the Toffoli gate

The Toffoli gate can implement the classical nand gate

Therefore, it can be used to perform any classical computation

So let's build a simple circuit

Suppose we have some block $U_f$ such that $$|x,y\rangle \longrightarrow |x,y\oplus f(x)\rangle$$ where $f$ is a function that maps one bit to one bit

A huge advantage to quantum circuits is quantum parallelism

This allows quantum circuits to calculate a
function $f$ for different inputs simultaneously

Part 4:

Limitations

Since all quantum transformations must be reversible...

This implies that information cannot be either
created or destroyed in a quantum circuit

This also implies the no-cloning theorem:

It is impossible to make a copy of an unknown quantum state

Lastly, it is also impossible to build
quantum circuits that involve feedback

All in all... how feasible is quantum computing really?

Is it even worth it?

We don't know

Recommended reading...

Quantum Computation and Quantum Information

Michael A. Nielsen & Isaac L. Chuang