A brief overview of quantum computing

or,

Can we compute faster in a multiverse?

Tom Carter May 14, 1999

Brief overview of our topics:

• Hilbert spaces and quantum mechanics.

• Tensor products and entangled quantum states.

• Quantum bits (qubits), the physics of computation, elements of quantum computing.

• Tractability of computation (e.g., factoring and NP/NP-complete problems).

• Theoretical models for quantum computing.

• Suggestions for practical implementations of quantum computers.

• Problems and prospects.

Hilbert space setting for quantum mechanics

• A Hilbert space H is a complete normed vector space over ℂ :

1. H is a vector space over ℂ

2. There is an inner product ⟨·|·⟩ : H x H → ℂ which is conjugate linear: ⟨v|w⟩ = \overline{⟨w|v⟩} ⟨αv|w⟩ = α⟨v|w⟩ for α ∈ ℂ ⟨v + w |z⟩ = ⟨v|z⟩ + ⟨w|z⟩ ⟨v|v⟩ ≥ 0 and ⟨v|v⟩ = 0 iff v = 0

3. From the inner product, as usual, we define the norm of a vector: ∥v∥^{2} = ⟨v|v⟩

4. H is complete with respect to the norm.

• We will typically use the bra/ket notation: |v⟩ is a vector in H , and ⟨v| is the covector which is the conjugate transpose of v. This notation also allows us to represent the outer product of a vector and covector as |v⟩⟨w|, which, for example, acts on a vector |z⟩ as |v⟩⟨w|z⟩. For example, if {v_{1},v_{2}} is an orthonormal basis for a two-dimensional Hilbert space, |v_{1}⟩⟨v_{2}| is the transformation that maps |v_{2}⟩ to |v_{1}⟩ and |v_{1}⟩ to (0, 0)^{T} since

\begin{matrix}|v_{1}⟩⟨v_{2}||v_{2}⟩ = |v_{1}⟩⟨v_{2}|v_{2}⟩ = |v_{1}⟩ \\ |v_{1}⟩⟨v_{2}||v_{1}⟩ = |v_{1}⟩⟨v_{2}|v_{1}⟩ = 0|v_{1}⟩ = ( \begin{matrix}0 \\ 0 \end{matrix} ) . \end{matrix}

Equivalently, |v_{1}⟩⟨v_{2}| can be written in matrix form where |v_{1}⟩ = (1, 0)^{T}, ⟨v_{1}| = (1, 0), |v_{2}⟩ = (0, 1)^{T}, and ⟨v_{2}| = (0, 1). Then

|v_{1}⟩⟨v_{2}| = ( \begin{matrix}1 \\ 0 \end{matrix} ) (0, 1) = ( \begin{matrix}0 & 1 \\ 0 & 0 \end{matrix} ) .

• A unitary operator U : H → H is a linear mapping whose conjugate transpose is its inverse: U^{†} = U^{−1}

• Unitary operators are norm preserving: ⟨v|U^{†}U|v⟩ = ⟨v|v⟩ = ∥v∥^{2}

• We will think of a quantum state as a (normalized) vector |v⟩ ∈ H , where we think of ⟨v|v⟩ as the probability of observing the state. For math folks, we are in effect working in Complex projective space, normalizing to 1 so that the probabilities make sense.

• The dynamical evolution of a quantum system is expressed as a unitary operator acting on the quantum state. Note that probabilities are preserved.

• Eigenvalues of a unitary matrix are of the form e^{iω} where ω is a real-valued angle. A unitary operator is in effect a rotation.

• In the Schrödinger equation, U is determined by the Hamiltonian or energy operator H via U = e^{iHt}.

• A measurement consists of applying an operator O to a quantum state v. To correspond to a classical observable, O must be Hermitian, O^{†} = O, so that all its eigenvalues are real. If one of its eigenvalues λ is associated with a single eigenvector u_{λ}, then we observe the value λ with probability |⟨v|u_{λ}⟩|^{2} (i.e., the square of the length of the projection along u_{λ}).

• In general, if there is more than one eigenvector u_{λ} associated with the eigenvalue λ, we let P_{λ} be the projection operator onto the subspace spanned by the eigenvectors, and the probability of observing λ when the system is in state v is ∥vP_{λ}∥^{2}.

• Most projection operators do not commute with each other, and are not invertible. Therefore, we can expect that the order in which we do measurements will matter, and that doing a measurement will irreversibly change the state of the quantum system.

Entangled quantum states, tensor products, and qubits

• Tensor products We can form tensor products of a wide variety of objects. For example:

1. The tensor product of an n dimensional vector u and a k dimensional vector v is an nk dimensional vector u ⊗ v.

2. If A and B are operators on n and k dimensional vectors, respectively, then A ⊗ B is an operator on nk dimensional vectors.

3. if H_{1} and H_{2} are Hilbert spaces, then H_{1} ⊗ H_{2} is also a Hilbert space. If H_{1} and H_{2} are finite dimensional with bases {u_{1}, u_{2}, … u_{n}} and {v_{1}, v_{2}, … v_{m}} respectively, then H_{1} ⊗ H_{2} has dimension nm with basis {u_{i} ⊗ v_{j}|1 ≤ i ≤ n, 1 ≤ j ≤ m}.

• Tensor products obey a number of nice rules, such as: For matrices A, B, C, D, U, vectors u, v, w, and scalars a, b, c, d the following hold:

(A ⊗ B)(C ⊗ D) = AC ⊗ BD
(A ⊗ B)(u ⊗ v) = Au ⊗ Bv
(u + v) ⊗ w = u ⊗ w + v ⊗ w
u ⊗ (v + w) = u ⊗ v + u ⊗ w
au ⊗ bv = ab(u ⊗ v)

Thus for matrices,

( \begin{matrix}A & B \\ C & D \end{matrix} ) ⊗ U = ( \begin{matrix}A ⊗ U & B ⊗ U \\ C ⊗ U & D ⊗ U \end{matrix} ) ,

which specializes for scalars to

( \begin{matrix}a & b \\ c & d \end{matrix} ) ⊗ U = ( \begin{matrix}aU & bU \\ cU & dU \end{matrix} ) .

• The conjugate transpose distributes over tensor products, i.e.

(A ⊗ B)^{†} = A^{†} ⊗ B^{†}.

• The tensor product of several matrices is unitary if and only if each one of the matrices is unitary up to a constant. Let U = A_{1} ⊗ … ⊗ A_{n}. Then U is unitary if A_{i}^{†}A_{i} = k_{i}I and ∏_{i} k_{i} = 1.

U^{†}U = (A_{1}^{†} ⊗ … ⊗ A_{n}^{†})(A_{1} ⊗ … ⊗ A_{n})
= A_{1}^{†}A_{1} ⊗ … ⊗ A_{n}^{†}A_{n}
= k_{1}I ⊗ … ⊗ k_{n}I
= I

• Note that ⟨u ⊗ v|w ⊗ z⟩ = ⟨u|w⟩⟨v|z⟩. This implies that ⟨0 ⊗ u|0 ⊗ u⟩ = 0, and therefore 0 ⊗ u must be the zero vector of the tensor product Hilbert space.

This in turn implies (reminds us?) that the tensor product space is actually the equivalence classes in a quotient space.

In particular, if A and B are vector spaces, F is the free abelian group on A × B, and K is the subgroup of F generated by all elements of the following forms (where a, a_{1}, a_{2} ∈ A, b, b_{1}, b_{2} ∈ B, α a scalar):

1. (a_{1} + a_{2}, b) − (a_{1}, b) − (a_{2}, b)

2. (a, b_{1} + b_{2}) − (a, b_{1}) − (a, b_{2})

3. (αa, b) − (a, αb)

then A ⊗ B is the quotient space F/K.

Qubits

• A quantum bit, or qubit, is a unit vector in a two dimensional complex vector space for which a particular orthonormal basis, denoted by {|0⟩, |1⟩}, has been fixed. It is important to notice that the basis vector |0⟩ is NOT the zero vector of the vector space.

• The orthonormal basis |0⟩ and |1⟩ may correspond to the |↑⟩ and |→⟩ polarizations of a photon respectively, or to the polarizations |↗⟩ and |↖⟩. Or |0⟩ and |1⟩ could correspond to the spin-up and spin-down states (|↑⟩ and |↓⟩) of an electron.

• For the purposes of quantum computing, the basis states |0⟩ and |1⟩ are taken to encode the classical bit values 0 and 1 respectively. Unlike classical bits however, qubits can be in a superposition of |0⟩ and |1⟩ such as a|0⟩ + b|1⟩ where a and b are complex numbers such that |a|^{2} + |b|^{2} = 1. If such a superposition is measured with respect to the basis {|0⟩, |1⟩}, the probability that the measured value is |0⟩ is |a|^{2} and the probability that the measured value is |1⟩ is |b|^{2}.

• Key properties of quantum bits:

1. A qubit can be in a superposition state of 0 and 1.

2. Measurement of a qubit in a superposition state will yield probabilistic results.

3. Measurement of a qubit changes the state to the one measured.

4. Qubits cannot be copied exactly. This is known as the ‘no cloning’ principle. Interestingly, it is nonetheless possible to ‘teleport’ a quantum state, but in the process, the original quantum state is destroyed … • If we have available more than one (phys-

ical) qubit, we may be able to entangle them. The tensor product of the Hilbert spaces for the individual qubits is the appropriate model for these entangled systems.

• For example, if we have two qubits with bases {|0⟩_{1}, |1⟩_{1}} and {|0⟩_{2}, |1⟩_{2}} respectively, the tensor product space has the basis

{|0⟩_{1}⊗|0⟩_{2}, |0⟩_{1}⊗|1⟩_{2}, |1⟩_{1}⊗|0⟩_{2}, |1⟩_{1}⊗|1⟩_{2}}.

We can (conveniently) denote this basis as

{|00 ⟩, |01 ⟩, |10 ⟩, |11 ⟩}.

• More generally, if we have n qubits to which we can apply common measurements, we will be working in the 2^{n}-dimensional Hilbert space with basis

{|00 … 00 ⟩, |00 … 01 ⟩, …, |11 … 10 ⟩, |11 … 11 ⟩}

• A typical quantum state for an n-qubit system is

2^{n}−1 ; ∑ ; i=0 a_{i}|i⟩

where a_{i} ∈ ℂ, and {|i⟩} is the basis, with (in our notation) i written as an n-bit binary number.

• A classical (macroscopic) physical object broken into pieces can be described and measured as separate components. An nparticle quantum system cannot always be described in terms of the states of its component pieces. For instance, the state |00 ⟩+|11 ⟩ cannot be decomposed into separate states of each of the two qubits. In other words, we cannot find a_{1}, a_{2}, b_{1}, b_{2} such that

(a_{1}|0⟩+b_{1}|1⟩)⊗(a_{2}|0⟩+b_{2}|1⟩) = |00 ⟩+|11 ⟩

since

(a_{1}|0⟩ + b_{1}|1⟩) ⊗ (a_{2}|0⟩ + b_{2}|1⟩) =

a_{1}a_{2}|00 ⟩ + a_{1}b_{2}|01 ⟩ + b_{1}a_{2}|10 ⟩ + b_{1}b_{2}|11 ⟩

and a_{1}b_{2} = 0 implies that either a_{1}a_{2} = 0 or b_{1}b_{2} = 0. States which cannot be decomposed in this way are called entangled states. These are states that don’t have classical counterparts, and for which our intuition is likely to fail.

• Particles are entangled if a measurement of one affects a measurement of the other. For example, the state \frac{1}{√2}(|00 ⟩ + |11 ⟩) is entangled since the probability of measuring the first bit as |0⟩ is 1/2 if the second bit has not been measured. However, if the second bit has been measured, the probability that the first bit is measured as |0⟩ is either 1 or 0, depending on whether the second bit was measured as |0⟩ or |1⟩, respectively. On the other hand, the state \frac{1}{√2}(|00 ⟩ + |01 ⟩) is not entangled. Since

\frac{1}{√2}(|00 ⟩ + |01 ⟩) = |0⟩ ⊗ \frac{1}{√2}(|0⟩ + |1⟩), any measurement of the first bit will yield |0⟩ regardless of measurements of the second bit. Similarly, the second bit has a fiftyfifty chance of being measured as |0⟩ regardless of measurements of the first bit. Note that entanglement in terms of particle measurement dependence is equivalent to the definition of entangled states as states that cannot be written as a tensor product of individual states.

Quantum Computing

• This exponential growth in number of states, together with the ability to subject the entire space to transformations (either unitary dynamical evolution of the system, or a measurement projection into an eigenvector subspace), provides the foundation for quantum computing.

• An interesting (apparent) dilemma is the energetic costs/irreversability of classical computing. Since unitary transformations are invertible, quantum computations (except measurements) will all be reversible. The classical boolean operations such as b_{1} ∧ b_{2}, b_{1} ∨ b_{2}, and b_{1}∧ ∼ b_{2} are irreversible, and therefore cannot directly be used as basic operations for quantum computers.

• The logical nand-gate (b_{1}∧ ∼ b_{2}) is sufficient to generate all the traditional boolean functions (e.g., ∼ b ≡ b ∧ ∼ b). We will look for simple quantum gates that are similarly generic for quantum operations.

Simple quantum gates

• These are some examples of useful singlequbit quantum state transformations. Because of linearity, the transformations are fully specified by their effect on the basis vectors. The associated matrix is also shown.

\begin{matrix}\begin{aligned}I : & |0⟩ & → & |0⟩ \\ & |1⟩ & → & |1⟩ \end{aligned} & ( \begin{matrix}1 & 0 \\ 0 & 1 \end{matrix} ) \\ \begin{aligned}X : & |0⟩ & → & |1⟩ \\ & |1⟩ & → & |0⟩ \end{aligned} & ( \begin{matrix}0 & 1 \\ 1 & 0 \end{matrix} ) \\ \begin{aligned}Y : & |0⟩ & → & |1⟩ \\ & |1⟩ & → & −|0⟩ \end{aligned} & ( \begin{matrix}0 & −1 \\ 1 & 0 \end{matrix} ) \\ \begin{aligned}Z : & |0⟩ & → & |0⟩ \\ & |1⟩ & → & −|1⟩ \end{aligned} & ( \begin{matrix}1 & 0 \\ 0 & −1 \end{matrix} ) \end{matrix}

I is the identity transformation, X is negation, Z is a phase shift operation, and Y = ZX is a combination of both. All these gates are unitary. For example

Y Y^{∗} = ( \begin{matrix}0 & −1 \\ 1 & 0 \end{matrix} ) ( \begin{matrix}0 & 1 \\ −1 & 0 \end{matrix} ) = I.

• Probably the most important gate is the controlled-not gate, C_{not}, which operates on two qubits as follows: it changes the second bit if the first bit is 1 and leaves the bit unchanged otherwise.

\begin{aligned}C_{not} : & |00 ⟩ & → & |00 ⟩ \\ & |01 ⟩ & → & |01 ⟩ \\ & |10 ⟩ & → & |11 ⟩ \\ & |11 ⟩ & → & |10 ⟩ \end{aligned} ( \begin{matrix}1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{matrix} )

The transformation C_{not} is unitary since C_{not}^{∗} = C_{not} and C_{not}C_{not} = I. The C_{not} gate cannot be decomposed into a tensor product of two single-bit transformations.

Tractability of computation

• Creativity and Art

1. Knowing when to pattern

2. Symbol attachment and creation; patterns/symbols as revealers and concealers

3. Levels of patterning

• Multiple patterns and selection (x − 1)(x − 2)(x − 3) − 6 x^{3} − 6x^{2} + 11x − 12 (x − 4)(x^{2} − 2x + 3)

• Adaptive pattern recognition

• Are the patterns really there?

Some history

• Physics

• Philosophy (theory of knowledge)

• Mathematics 1. Matrix manipulation

2. Topology

3. Algebra

4. Lie groups

5. Manifolds and relativity theory 6. Algebraic topology We have the map b_{n} : Σ^{2}U(n) → SU(n + 1) given by

b_{n}(g, r, s) = [i(g), v_{n}(r, s)]

where i(g) is the inclusion, [g, h] = ghg^{−1}h^{−1} and

v_{n}(r, s) =

[ \begin{matrix}α & 0 & 0 & ⋯ & 0 & β(−\overline{α})^{0} \\ β(−\overline{α})^{0} \overline{β} & α & 0 & ⋯ & 0 & β(−\overline{α})^{1} \\ β(−\overline{α})^{1} \overline{β} & β(−\overline{α})^{0} \overline{β} & α & ⋯ & 0 & β(−\overline{α})^{2} \\ ⋮ & ⋮ & ⋮ & & ⋮ & ⋮ \\ ⋮ & ⋮ & ⋮ & ... & ⋮ & ⋮ \\ ⋮ & ⋮ & ⋮ & & ⋮ & ⋮ \\ β(−\overline{α})^{n−1} \overline{β} & β(−\overline{α})^{n−2} \overline{β} & ⋯ & ⋯ & α & β(−\overline{α})^{n} \\ −(−\overline{α})^{n}\overline{β} & −(−\overline{α})^{n−1} \overline{β} & ⋯ & ⋯ & −(−\overline{α})^{0} \overline{β} & −(−\overline{α})^{n} \end{matrix} ]

where

α = α(r, s) = cos (πr) + i sin(πr) cos (πs)
β = β(r, s) = i sin(πr) sin(πs)

We have the map
$ b_n: \Sigma^2U(n) \rightarrow SU(n+1) $ \newline
given by
\[ b_n(g, r, s) = \left[ i(g), v_n(r, s) \right] \]
where $i(g)$ is the inclusion,
$\left[g, h\right] = ghg^{-1}h^{-1}$ \newline
and
$ v_n(r,s) = $
\[
\left[ \begin{array}{cccccc}
\alpha & 0 & 0 & \cdots & 0 & \beta (-\overline{\alpha})^0 \\
\beta (-\overline{\alpha})^0\overline{\beta} &
   \alpha  &  0  & \cdots & 0 &
   \beta (-\overline{\alpha})^1 \\
\beta (-\overline{\alpha})^1\overline{\beta} &
   \beta (-\overline{\alpha})^0\overline{\beta} &
   \alpha & \cdots & 0 & \beta (-\overline{\alpha})^2 \\
\vdots & \vdots & \vdots &  & \vdots & \vdots \\
\vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\
\vdots & \vdots & \vdots &  & \vdots & \vdots \\
\beta (-\overline{\alpha})^{n-1}\overline{\beta} &
   \beta (-\overline{\alpha})^{n-2}\overline{\beta} &
   \cdots &  \cdots & \alpha &
   \beta (-\overline{\alpha})^n \\
-(-\overline{\alpha})^n\overline{\beta} &
   -(-\overline{\alpha})^{n-1}\overline{\beta} &
   \cdots &  \cdots & -(-\overline{\alpha})^0
   \overline{\beta} & -(-\overline{\alpha})^n \\
\end{array} \right]
\]
where
\[ \alpha = \alpha(r,s) =
\cos(\pi r) + i \sin(\pi r)\cos(\pi s) \]
\[ \beta = \beta(r,s) = i \sin(\pi r)\sin(\pi s) \]

What’s wrong in computing today

• Not enough resolution on displays

• Not enough processing power and memory • Not enough parallelism

• Software tools are “flat” and sequential rather than hierarchical

The intelligent mathematical assistant

• Adaptive symbolic input and output • Strong basic skills (all of arithmetic

through college calculus and elementary discrete structures)

• First order logic capabilities

• Adaptive “patterning” and “symboling”

• Elementary hypothesis generation and testing