some work on the paper

This commit is contained in:
Daniel Knüttel 2020-02-14 11:03:27 +01:00
parent 579f7057cd
commit 53dffcc674
3 changed files with 108 additions and 10 deletions

View File

@ -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}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 KiB

After

Width:  |  Height:  |  Size: 184 KiB

View File

@ -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},
}