\documentclass[11pt]{article}
\include{lecture}

\DeclareMathOperator{\obs}{obs}
\DeclareMathOperator{\NAND}{NAND}
\DeclareMathOperator{\COIN}{COIN-FLIP}
\DeclareMathOperator{\SQG}{SINGLE-QUBIT-GATE}
\DeclareMathOperator{\CNOT}{CNOT}
\DeclareMathOperator{\D}{D}

\begin{document}
\lecture{3}{9/9/2010}{Constructing a Quantum Model}{Brian Nixon}
%\draft % put this here only if you want to indicate this is a draft

This lecture focuses on quantum computation by contrasting it with the
deterministic and probabilistic models. We define the model and discuss
how it benefits from quantum interference and how observations
affect the quantum behavior. Then we talk about the smallest sets of
gates that can be used to generate the quantum model and approximations
of that model (after defining an approximation). This should set us up
to discuss quantum algorithms in the near future.

\section{Defining the Quantum Model}
We're building a model of quantum computing as a set of linear operations
on a register of qubits. We have previously done this for deterministic 
and probabilistic models of computation; here we compare them to get our 
desired model.

\subsection{Probabilistic Model}
As shown last time, the probabilistic model consists of
\begin{enumerate}
\item State:
We conside the data register to exist in a ``pure'' state - 
a superposition $|\psi\rangle = \sum_s p_s|s\rangle$ where $\sum_s p_s = 1$ and 
$\forall s$, $0 \leq p_s \leq 1$. Each $|s\rangle$ is the representative
for a given bit vector.
\item Operations: 
\begin{enumerate}
\item Local probabilistic gates $T$. These can take the form of stochastic matrices.
\item Observation. Look at the register and see what bit vector it contains.
Can think of as a map $|\psi\rangle \rightarrow |s\rangle$ with likelihood $p_s$.
\end{enumerate}
\item Uniformity issues. The gates have to be described concisely. Refer to the last
lecture but can be imposed by using a deterministic Turing machine to control sequence
of gates.
\end{enumerate}

We can ask what effect observation has on the computation process. While the result
after an observation is always a single bit vector, it is useful to treat it abstractly
by considering the likelihood of all possiblities. This leads to the following definition.
\begin{definition}
A ``mixed'' state - a probability distribution over a set of pure states 
Given a pure state,
$\obs(\sum_s p_s|s\rangle) = \{(|s\rangle, p_s)\}_s$ where our notation describes
the set of possibilities as tuples of the state and its likelihood.
\end{definition}
We can run an algorithm on a mixed state by using $|s\rangle$ as the input and multiplying the output
by the likelihood, $p_s$.
\begin{exercise}
Prove that intermediate observations in the probabilistic model can be suspended in favor
of one observation at the end without altering the likelihood of each output.
\end{exercise}

\subsection{Quantum Model}

Using this as a template we can describe the quantum model of computing similarly.
\begin{enumerate}
\item State:
The ``pure'' state - single superposition $|\psi\rangle = \sum_{s\in \{0,1\}^m} \alpha_s |s\rangle$
where $\forall s, \alpha_s\in \mathbb{C}$ and $\sum_s |\alpha_s|^2 = 1$. We can also
consider the register to be in a mixed state.
\item Operations:
\begin{enumerate}
\item Local unitary operations. These take the form of unitary matrices (i.e. $T^*T
=I=TT^*$).
\item Observation. Collapses $\sum_s \alpha_s |s\rangle$ to a distribution where
$|s\rangle$ occurs with probability $|\alpha_s|^2$. Unlike the probabilistic model, in the quantum
model intermediate observations will affect the final distribution. Consider the following:
\end{enumerate}
\item Uniformity conditions that we'll talk about later.
\end{enumerate}

\begin{example}
Let $H$ be the Hadamard matrix $\frac1{\sqrt{2}}\left(\begin{array}{cc}1 & 1\\ 1 & -1 \end{array}\right)$.
We saw last lecture that $H^2|x\rangle=|x\rangle$. Now $\obs(H|x\rangle)=
\{(|0\rangle, \frac12), (|1\rangle, \frac12)\}$ where our notation
for the mixed state matches that of the definition above. $H(\obs(H|x\rangle))=\{(\frac{|0\rangle+|1\rangle}{\sqrt{2}},
\frac12), (\frac{|0\rangle-|1\rangle}{\sqrt{2}}, \frac12)\}$ not $|x\rangle$. The intermediate observation has a distinct
affect in our output.
\end{example}

Just as interference is lost by making observations in the quantum model, interference
can also be gained by failing to make an observation step. In particular, this affects
composition of quantum machines. We can remove the necessity of these intermediate
observation steps if we use $\CNOT$ to copy the output after each subfunction terminates.
Consider the following diagram. Here C1 and C2 are the machines we want to compose.
By saving the state of the register after C1, we remove the potential interference. Subsequent
observation of that register state is not necessary so long as it exists in a state where it can
be observed.

%\begin{figure}[h]
\begin{center}
\epsfig{file=3.defer.eps}
%\caption{Deferring observations.}
\label{3:fig:defer}
%\end{figure}
\end{center}

As discussed in the last lecture, simulating the deterministic model using the quantum
model by making the algorithm reversible requires only a little more resources. If we 
make an observation after every step in the quantum model we can
simulate any probabilistic machine. Of course, this sacrifices the destructive
interference we obtained by using the phase information in the quantum model.

\subsection{Uniformity}

Certain conditions have to be placed on our circuits to make them physically realizable, we
call these the uniformity conditions. 
We defined our uniformity conditions in the deterministic model by using Turing
machines to describe behavior (or the equivalent circuit model). For the probabilistic
model we imposed the restriction that any ``coin flip'' choices had to be done with
a fair coin. For quantum machines we can impose two conditions. 
First, we specify that the gates used need to be formed
in polynomial time using a deterministic Turing machine. We could use a quantum Turing
machine instead but would require some orthogonality conditions to restrict the transition
function that we're not going to go into. 
Second, the amplitudes in our circuits can't be too complicated. While theoretically we have access
to all unitary matrices, practically there should be a limit to the degree of precision we can use
in generating the matrix entries. It is not probable that a randomly selected complex number can
be generated from a base set using simple operations, however it is possible to get close while
maintaining restrictions on the number and type of operations used. If we allow arbitrary precision
we can encode objects, such as the characteristic sequence of the halting function, which will cause
large problems.

We should note that the power of quantum computing doesn't come from there somehow being
more computational paths that it can take but from the interference between these paths. If you look
at the possible state diagrams of a quantum machine vs. a probabilistic machine, they are formed on
the same decision tree over the register. However, the coefficient types defining how probable a
given state is are different.

\begin{center}
\scalebox{0.5}{\epsfig{file=3.tree.eps}}
%\caption{Deferring observations.}
\label{3:fig:tree}
%\end{figure}
\end{center}

\section{Universal Sets}

Uniformity can be more formally expressed using universal sets of gates. 

\begin{definition}
$S$ is an {\em exact universal set} 
for a model if any gate from that model can be realized exactly
using only combinations of gates from $S$.
\end{definition}

For the deterministic model, $\{\NAND\}$ is an exact universal set (i.e. any deterministic gate can be composed
of NAND gates operating on the correct bits). For the probabilistic model, $\{\NAND, \COIN_p\}$
generates an exact universal set where $\COIN_p$ is a coin flip operation on a single bit operating
with bias $p$. 

Exact universal sets require a degree of precision that is not always helpful when trying to physically
realize circuits for a model. We can relax the constraints to get sets that are ``good enough'' for
general purposes.

\begin{definition}
$S$ is an {\em universal set} 
for a model if any gate from that model can be realized arbitrarily precisely
using only combinations of gates from $S$.
\end{definition}

For practical reasons, we don't want our generating set to be infinite and
so try to get finite universal sets to approximate our model.  
For example, for the probabilistic model, $\{\NAND, \COIN_{1/2}\}$ is a universal set and,
being finite, is better suited for circuit realization that the exact universal set. 
For the quantum model, $\{\CNOT, \SQG\}$ generates the exact 
universal set where $\SQG$ refers to any unitary operation on a single qubit (i.e. any
$2\times 2$ unitary matrix). Every local unitary operation on a constant number of qubits
can be formed by a composition of these operators. However, this too is an infinite set and
we would like to be able to approximate its behavior using a finite generating set. 

It is necessary to be formal when we talk of approximating. Given a fixed error term $\epsilon > 0$
we want a generating set that lets us get close to any operation of a fixed complexity with error
less than $\epsilon$. 
If $U$ denotes the exact unitary transformation and $\tilde{U}$ an
approximation, we want it to be the case that for each initial state
$|\psi\rangle$, the probability distributions obtained by observing
$U|\psi\rangle$ and $\tilde{U}|\psi\rangle$ are at most $\epsilon$ 
apart, i.e., for $p =\obs(T|\psi\rangle)$ and 
$\tilde{p} = \obs(\tilde{T}|\psi\rangle)$, 
$\D(p, \tilde{p}) = ||p-\tilde{p}||_1=\sum_s |p_s-\tilde{p}_s| \leq \epsilon$. 

The sequence of unitary operations before the final observation gives
rise to an overall unitary transformation that is the product of
unitary transformations $U$ of the form
$U = T_i \otimes I_m$, where $T$ denotes an elementary quantum gates. 
Letting $\D(U, \tilde{U}) = ||U-\tilde{U}||_2$ it is left as an exercise 
to show the following: 
\begin{exercise} Prove the relations.
\begin{itemize}
\item $\D(p, \tilde{p}) \leq 2\D(U, \tilde{U})$. 
\item $\D(U_tU_{t-1}...U_1, \tilde{U}_t\tilde{U}_{t-1}...\tilde{U}_1) \leq \sum_{i=1}^t \D(U_i, \tilde{U}_i)$.
\item $\D(T\otimes I_m, \tilde{T} \otimes I_m) = \D(T, \tilde{T})$.
\end{itemize}
\end{exercise}

Note that $||A||_2 = \max_{x\neq 0} (\frac{||Ax||_2}{||x||_2})$ which is equivalent to the square
root of the maximal eigenvalue of $A^*A$. These relations tell us if our operations are restricted to be
combinations of at most $t$ elements of $S$ then to get error of $\epsilon$ it suffices to show
$||T_i-\tilde{T}_i||_2 \leq \epsilon'$ where $\epsilon'$ is taken to be $\frac{\epsilon}{2t}$.

The following theorems have their proofs omitted.

\begin{theorem}
For any universal set $S$, $\forall \epsilon > 0$ we can approximate any $T$ to within $\epsilon$
by a combination of $\polylog(1/\epsilon')=\polylog(2t/\epsilon)$ gates 
from $S$ and $S^-1$ (any gates from $S$ and their inverses).
\end{theorem}

\begin{theorem}
$S=\{\CNOT, H, R_{\pi/4}\}$ is universal. Here $H$ is the Hadamard matrix used above and 
$R_\theta= \left(\begin{array}{cc} 1 & 0\\ 0 & e^{i\theta}\end{array} \right)$.
\end{theorem}

%\section{Environments}
%\begin{theorem}
%This is an example of the theorem environment.
%Other theorem-like environments are: claim and exercise.
%\end{theorem}
%\begin{example}
%Here, we use the Q-Circuit package to draw a quantum circuit:
%\[
%\Qcircuit @C=.7em @R=.4em @! {
%\lstick{\ket{\psi}} & \qw & \qw & \ctrl{1} & \gate{H} & \meter & \control \cw\\
%\lstick{\ket{0}} & \qw & \targ & \targ & \qw & \meter & \cwx\\
%\lstick{\ket{0}} & \gate{H} & \ctrl{-1} & \qw & \qw & \gate{X} \cwx & \gate{Z} \cwx & \rstick{\ket{\psi}} \qw
%}
%\]
%\end{example}

\end{document}
