some work on the paper
This commit is contained in:
parent
579f7057cd
commit
53dffcc674
|
@ -371,6 +371,7 @@ This transformation toggles the neighbourhood of $a$ which is an operation
|
||||||
that will be used later.
|
that will be used later.
|
||||||
|
|
||||||
\begin{lemma}
|
\begin{lemma}
|
||||||
|
\label{lemma:M_a}
|
||||||
When applying $M_a$ to a state $\ket{\bar{G}}$ the new state
|
When applying $M_a$ to a state $\ket{\bar{G}}$ the new state
|
||||||
$\ket{\bar{G}'}$ is again a VOP-free graph state and the
|
$\ket{\bar{G}'}$ is again a VOP-free graph state and the
|
||||||
graph is updated according to
|
graph is updated according to
|
||||||
|
@ -454,6 +455,7 @@ can be constructed from $CZ$ and $C_L$ and in the following discussion it will b
|
||||||
clear that both $C_L$ and $CZ$ can be applied to a general graph state.
|
clear that both $C_L$ and $CZ$ can be applied to a general graph state.
|
||||||
|
|
||||||
\subsubsection{Graph States and Vertex Operators}
|
\subsubsection{Graph States and Vertex Operators}
|
||||||
|
\label{ref:g_states_vops}
|
||||||
|
|
||||||
\begin{definition}
|
\begin{definition}
|
||||||
\label{def:g_state}
|
\label{def:g_state}
|
||||||
|
@ -522,19 +524,105 @@ it is clear that just the vertex operators are changed and the new vertex operat
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
The action of a $CZ$ gate on the state $(V, E, O)$ is in most cases less trivial.
|
The action of a $CZ$ gate on the state $(V, E, O)$ is in most cases less trivial.
|
||||||
Let $i \neq j$ be two qbits, now consider the action of $CZ_{i,j}$ on $(V, E, O)$.
|
Let $i \neq j$ be two qbits, now consider the action of $CZ_{a,b}$ on $(V, E, O)$.
|
||||||
The following discussion closely follows \cite{andersbriegel2005} and is analogous
|
The cases given here follow the implementation of a $CZ$ application in \cite{pyqcs},
|
||||||
to the implementation.
|
the respective paragraphs from \cite{andersbriegel2005} are given in italic.
|
||||||
|
|
||||||
|
|
||||||
\textbf{Case 1:}
|
\textbf{Case 1}(\textit{Case 1})\textbf{:}\\
|
||||||
Both $o_i$ and $o_j$ commute with $CZ_{i,j}$. This is the case for exactly
|
Both $o_a$ and $o_b$ commute with $CZ_{a,b}$. This is the case for exactly
|
||||||
four vertex operators: $\mathcal{Z} = \left\{I, Z, S, S^\dagger\right\}$.
|
four vertex operators: $\mathcal{Z} = \left\{I, Z, S, S^\dagger\right\}$.
|
||||||
In this case the CZ can be pulled past the vertex operators and just the edges
|
In this case the CZ can be pulled past the vertex operators and just the edges
|
||||||
are changed to $E' = E \Delta \left\{\{i,j\}\right\}$.
|
are changed to $E' = E \Delta \left\{\{a,b\}\right\}$.
|
||||||
|
|
||||||
\textbf{Case 2:}
|
\textbf{Case 2}(\textit{Sub-Sub-Case 2.2.1})\textbf{:}\\
|
||||||
At least one vertex operator does not commute with $CZ_{i,j}$.
|
The two qbits are isolated: From the definition of the graph state it is clear that
|
||||||
|
any isolated clique of the graph can be treated independently. Therefore the two isolated qbits
|
||||||
|
can be treated as an independent state and the set of two qbit stabilizer states is finite. An
|
||||||
|
upper bound to the number of two qbit stabilizer states is given by $2\cdot24^2$: with or without
|
||||||
|
an edge between the qbits and $24$ Clifford operators on each vertex.
|
||||||
|
|
||||||
\textbf{Sub-Case 2.1}
|
All those states and the resulting state after a $CZ$ application can be computed and while doing so one
|
||||||
Both
|
gets another interesting result that will be useful later: If one vertex has the vertex operator $I$ the
|
||||||
|
resulting state can be chosen such that at least one of the vertex operators is $I$ again and in particular
|
||||||
|
the identity on the vertex can be preserved under the application of a $CZ$.
|
||||||
|
|
||||||
|
\textbf{Case 3}(\textit{Case 2, but one sub-case has been handled})\textbf{:}\\
|
||||||
|
At least one vertex operator does not commute with $CZ$ and at least one vertex
|
||||||
|
has non-operand neighbours. In this case one can try to clear the vertex operators
|
||||||
|
which will succeed for at least one qbit.
|
||||||
|
|
||||||
|
The transformation given in
|
||||||
|
Lemma \ref{lemma:M_a} is used to "clear" the vertex operators. Recalling that
|
||||||
|
the transformation $M_j$ toggles the neighbourhood of vertex $j$ gives substance
|
||||||
|
to the following theorem:
|
||||||
|
|
||||||
|
\begin{theorem}
|
||||||
|
A graph state $\ket{G}$ associated with $(V, E, O)$ is invariant when
|
||||||
|
simultaneously toggling the neighbourhood of a non-isolated qbit $j$
|
||||||
|
and right-multiplying $M_j^\dagger$ to the vertex operators in the sense
|
||||||
|
that $\sqrt{-iX}^\dagger = \sqrt{iX}$ is right-multiplied to $o_j$ and
|
||||||
|
$\sqrt{iZ}^\dagger = \sqrt{-iZ}$ is right-multiplied to $o_l$ for all
|
||||||
|
neighbours $l$ of $j$.
|
||||||
|
|
||||||
|
Without proof.
|
||||||
|
\end{theorem}
|
||||||
|
|
||||||
|
As stated in \ref{ref:g_states_vops} $C_L$ is also generated by $\sqrt{-iX}$ and $\sqrt{iZ}$.
|
||||||
|
This yields an algorithm to reduce the vertex operator of a non-isolated qbit $j$ to the identity.
|
||||||
|
The combined operation of toggling the neighbourhood of $j$ and right-multiplying
|
||||||
|
$M_j^\dagger$ is called $L_j$ transformation and it transforms $(V, E, O)$ into a so-called
|
||||||
|
local Clifford equivalent graphical representation.
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\item{Check whether $n_a \setminus \{b\} \neq \{\}$. If this condition does not hold
|
||||||
|
the vertex operator on $a$ cannot be cleared }
|
||||||
|
\item{Express the vertex operator $o_a$ as a product of $\sqrt{-iX}$ and $\sqrt{iZ}$.}
|
||||||
|
\item{Move from right to left through the product
|
||||||
|
\begin{enumerate}
|
||||||
|
\item{If the current matrix is $\sqrt{-iX}$ apply $L_a$}
|
||||||
|
\item{If the current matrix is $\sqrt{iZ}$ select a vertex
|
||||||
|
$j \in n_a \setminus \{b\}$ (which is possible as it has been checked before)
|
||||||
|
and apply $L_j$.}
|
||||||
|
\end{enumerate}
|
||||||
|
}
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
This algorithm has the important properties that if the algorithm succeeds
|
||||||
|
$o_a = I$ and $o_b$ has picked up powers of $\sqrt{iZ}^\dagger$.
|
||||||
|
If $b$ has non-operand neighbours after clearing the vertex operators on $a$ the vertex operators on $b$
|
||||||
|
can be cleared using the same algorithm which gives $o_b = I$ and $o_a = (\sqrt{iZ}^\dagger)^l = S^l \in \mathcal{Z}$
|
||||||
|
for some $l \in \{1, ..., 5\}$. Therefore Case 1 can now be applied.
|
||||||
|
|
||||||
|
If $o_a$ could not be cleared $o_b$ can be cleared using the same procedure and after
|
||||||
|
clearing $o_b$ one can retry to clear $o_a$.
|
||||||
|
|
||||||
|
In any case at least one vertex operator has been cleared. If both vertex operators have been
|
||||||
|
cleared Case 1 will be applied, if there is just one cleared vertex operator it is sure that it
|
||||||
|
is the vertex with non-operand neighbours. Using this one can still apply a $CZ$: Without loss of generality
|
||||||
|
assume that $a$ has non-operand neighbours and $b$ does not. Now the state $\ket{G}$ has the form\cite{andersbriegel2005}
|
||||||
|
|
||||||
|
\begin{equation}
|
||||||
|
\begin{aligned}
|
||||||
|
\ket{G} &= \left(\prod\limits_{o_i \in O} o_i\right) \left(\prod\limits_{\{i,j\} \in E} CZ_{i,j}\right) \ket{+}_n \\
|
||||||
|
&= \left(\prod\limits_{o_i \in O \setminus \{o_b\}} o_i \right) \left(\prod\limits_{\{i,j\} \in E \setminus \{a,b\}} CZ_{i,j}\right) o_b (CZ_{a,b})^s \ket{+}_n \\
|
||||||
|
&= \left(\prod\limits_{o_i \in O \setminus \{o_b\}} o_i \right) \left(\prod\limits_{\{i,j\} \in E \setminus \{a,b\}} CZ_{i,j}\right) \ket{+}_{n-2} \otimes \left(o_b (CZ_{a,b})^s \ket{+}_2\right) \\
|
||||||
|
\end{aligned}
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
as $o_b$ commutes with all operators but $CZ_{a,b}$ and $s \in \{0, 1\}$ indicates whether there is an edge between $a$ and $b$.
|
||||||
|
|
||||||
|
\begin{equation}
|
||||||
|
\begin{aligned}
|
||||||
|
CZ_{a,b}\ket{G} &= CZ_{a,b}\left(\prod\limits_{o_i \in O \setminus \{o_b\}} o_i \right) \left(\prod\limits_{\{i,j\} \in E \setminus \{a,b\}} CZ_{i,j}\right) o_b (CZ_{a,b})^s \ket{+} \\
|
||||||
|
&= \left(\prod\limits_{o_i \in O \setminus \{o_b\}} o_i \right) \left(\prod\limits_{\{i,j\} \in E \setminus \{a,b\}} CZ_{i,j}\right) \ket{+}_{n-2} \otimes \left(CZ_{a,b} o_b (CZ_{a,b})^s \ket{+}_2\right) \\
|
||||||
|
\end{aligned}
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
Using this one can re-use the method used in Case 2 to apply the $CZ$ while keeping the $o_a = I$.
|
||||||
|
|
||||||
|
As both $CZ$ and $C_L$ can be applied to a graph state $\ket{G}$ this proofs constructively that
|
||||||
|
the graphical representation of a stabilizer state is indeed able to represent any stabilizer state.
|
||||||
|
If one wants to do computations using this formalism it is however also necessary to perform measurements.
|
||||||
|
|
||||||
|
\subsubsection{Measurements on Graph States}
|
||||||
|
|
BIN
thesis/cover.png
BIN
thesis/cover.png
Binary file not shown.
Before Width: | Height: | Size: 175 KiB After Width: | Height: | Size: 184 KiB |
|
@ -129,3 +129,13 @@
|
||||||
author={Peter Shor},
|
author={Peter Shor},
|
||||||
note={https://journals.aps.org/pra/pdf/10.1103/PhysRevA.52.R2493}
|
note={https://journals.aps.org/pra/pdf/10.1103/PhysRevA.52.R2493}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@online{
|
||||||
|
pyqcs,
|
||||||
|
url={https://github.com/daknuett/pyqcs},
|
||||||
|
urldate={13.01.2020},
|
||||||
|
author={Daniel Knüttel},
|
||||||
|
title={PyQCS},
|
||||||
|
year=2020,
|
||||||
|
note={https://github.com/daknuett/pyqcs},
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user