diff --git a/thesis/chapters/stabilizer.tex b/thesis/chapters/stabilizer.tex index fafe142..4955f7c 100644 --- a/thesis/chapters/stabilizer.tex +++ b/thesis/chapters/stabilizer.tex @@ -371,6 +371,7 @@ This transformation toggles the neighbourhood of $a$ which is an operation that will be used later. \begin{lemma} + \label{lemma:M_a} 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 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. \subsubsection{Graph States and Vertex Operators} +\label{ref:g_states_vops} \begin{definition} \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} 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)$. -The following discussion closely follows \cite{andersbriegel2005} and is analogous -to the implementation. +Let $i \neq j$ be two qbits, now consider the action of $CZ_{a,b}$ on $(V, E, O)$. +The cases given here follow the implementation of a $CZ$ application in \cite{pyqcs}, +the respective paragraphs from \cite{andersbriegel2005} are given in italic. -\textbf{Case 1:} -Both $o_i$ and $o_j$ commute with $CZ_{i,j}$. This is the case for exactly +\textbf{Case 1}(\textit{Case 1})\textbf{:}\\ +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\}$. 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:} -At least one vertex operator does not commute with $CZ_{i,j}$. +\textbf{Case 2}(\textit{Sub-Sub-Case 2.2.1})\textbf{:}\\ +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} -Both +All those states and the resulting state after a $CZ$ application can be computed and while doing so one +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} diff --git a/thesis/cover.png b/thesis/cover.png index 224e64b..566a871 100644 Binary files a/thesis/cover.png and b/thesis/cover.png differ diff --git a/thesis/main.bib b/thesis/main.bib index 50674a8..cc3f5b0 100644 --- a/thesis/main.bib +++ b/thesis/main.bib @@ -129,3 +129,13 @@ author={Peter Shor}, 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}, +}