did a lot a work on the presentation
This commit is contained in:
parent
bac3697bb9
commit
d6d300a1b2
|
@ -330,7 +330,8 @@
|
|||
\begin{itemize}
|
||||
\item{\textbf{Definition}
|
||||
{\itshape
|
||||
$P := \{\pm1, \pm i\} \cdot \{X, Y, Z, I\}$ is called the Pauli group.\\
|
||||
$P := \{\pm1X, \pm1Y, \pm1Z, \pm1I, \pm iX, \pm iY, \pm iZ, \pm iI\}$ (with the matrix product)
|
||||
is called the Pauli group.\\
|
||||
$P_n := \left\{p_1 \otimes ... \otimes p_n \middle| p_i \in P \right\}$ is called the multilocal Pauli group.
|
||||
}}
|
||||
\pause
|
||||
|
@ -426,7 +427,7 @@
|
|||
$\ket{+}$ stabilized by $\langle X_i \rangle_i$ (and $\ket{-}$ analogously).
|
||||
}
|
||||
\item{
|
||||
$\ket{0b00} + \ket{0b11}$ the Bell/EPR state which is stabilized by $\langle X_1X_2, Z_1Z_2\rangle$.
|
||||
$\frac{\ket{0b00} + \ket{0b11}}{\sqrt{2}}$ the Bell/EPR state which is stabilized by $\langle X_1X_2, Z_1Z_2\rangle$.
|
||||
}
|
||||
\end{itemize}
|
||||
}
|
||||
|
@ -501,6 +502,33 @@
|
|||
\end{frame}
|
||||
}
|
||||
|
||||
{
|
||||
\begin{frame}{Measurements on Stabilizer States}
|
||||
\begin{itemize}
|
||||
\item{As the stabilizers and the observable are both multilocal Pauli operators
|
||||
they either commute or anticommute.}
|
||||
\item{Let $S^{(i)}, S^{(j)} \in A$ then
|
||||
\begin{equation}
|
||||
\begin{aligned}
|
||||
\ket{\psi'} &= \frac{I + g_a}{2} \ket{\psi}\\
|
||||
&= \frac{I + g_a}{2}S^{(i)}S^{(j)}\ket{\psi}\\
|
||||
&= S^{(i)}\frac{I - g_a}{2}S^{(j)}\ket{\psi}\\
|
||||
&= S^{(i)}S^{(j)}\frac{I + g_a}{2}\ket{\psi}.\\
|
||||
\end{aligned}
|
||||
\end{equation}
|
||||
I.e. the new state is stabilized by the product $S^{(i)}S^{(j)}$.}
|
||||
\item{
|
||||
This yields that the new state is stabilized by
|
||||
\begin{equation}
|
||||
\langle \{g_a\} \cup \{S^{(j)}S^{(i)} | S^{(i)} \in A \setminus \{S^{(j)}\} \rangle.
|
||||
\end{equation}
|
||||
}
|
||||
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
|
||||
\section{Graphical Description of Stabilizer States}
|
||||
|
||||
{
|
||||
|
@ -555,7 +583,7 @@
|
|||
M_a := \sqrt{-iX_i} \prod\limits_{\{i,j\} \in E} \sqrt{iZ_j}
|
||||
\end{equation}
|
||||
toggles the neighbourhood $n_a := \left\{ j \middle| \{a,j\} \in E\right\}$
|
||||
of a.
|
||||
of $a$. I.e. it toggles the edges $n_a \otimes n_a$.
|
||||
}
|
||||
\item{
|
||||
Many Clifford operations cannot be described by the VOP-free graph states.\\
|
||||
|
@ -574,4 +602,265 @@
|
|||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
{
|
||||
\begin{frame}{Graph States}
|
||||
\begin{itemize}
|
||||
\item{\textbf{Definition}
|
||||
{\itshape
|
||||
$(V, E, O)$ is called a graph with vertex operators (VOPs) iff $(V,E)$ is a
|
||||
graph as in the definition above and $O = (o_1, ..., o_n)$ where
|
||||
the $o_i \in C_1$.
|
||||
|
||||
The Stabilizers are given by
|
||||
|
||||
\begin{equation}
|
||||
\left(\bigotimes\limits_{i} o_i\right) K_G^{(i)} \left(\bigotimes\limits_{i} o_i\right)^\dagger
|
||||
\end{equation}
|
||||
|
||||
and the stabilizer state is
|
||||
|
||||
\begin{equation}
|
||||
\ket{G} = \left(\bigotimes\limits_{i} o_i\right) \ket{\bar{G}}.
|
||||
\end{equation}
|
||||
}}
|
||||
\item{One can show that there exist $24$ local Clifford gates. Therefore $O$
|
||||
can be represented by $n$ integers from $0$ to $23$.}
|
||||
\item{It is clear that any single qbit Clifford gate changes the VOPs
|
||||
to $o_i \rightarrow c_i o_i$.}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
{
|
||||
\begin{frame}{The $CZ$ Gate on Graph States}
|
||||
\begin{itemize}
|
||||
\item{As it is clear how local Clifford gates act on a graph state it is
|
||||
enough to show how a $CZ$ gate acts on the graph states to proof that
|
||||
any Clifford gate can be applied to a graph state.}
|
||||
\item{Consider the gate $CZ_{a,b}$ for $a,b \in V$.}
|
||||
\item{If $CZ_{a,b}$ commutes with $o_a$ and $o_b$ the gate just toggles the edge
|
||||
$\{a,b\}$ in $E$.}
|
||||
\end{itemize}
|
||||
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
{
|
||||
\begin{frame}{$CZ$ on Two Qbits}
|
||||
\begin{itemize}
|
||||
\item{If the vertices are a clique (i.e. are connected only to each other) or
|
||||
are isolated they separate from the rest of the state. In this case
|
||||
one can consider just the space of two qbits.
|
||||
}
|
||||
\item{
|
||||
The amount of stabilizer states on these two qbits is finite. An upper bound
|
||||
is given by $2\cdot24^2$, i.e. $24$ Clifford operators on each vertex and
|
||||
the graph with or without and edge.
|
||||
}
|
||||
\item{All those states and the result after applying a $CZ$ gate can be
|
||||
computed.}
|
||||
\item{If one vertex has the VOP $I$ the result can be chosen
|
||||
such that the VOP remains $I$.}
|
||||
\item{This is used to implement the $CZ$ on isolated (or 2-clique) vertices.}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
{
|
||||
\begin{frame}{Clearing Vertex Operators}
|
||||
\begin{itemize}
|
||||
\item{Recalling the transformation $M_a$ it is clear that the
|
||||
graph state $\ket{G}$ is invariant under this transformation:
|
||||
\begin{enumerate}[1]
|
||||
\item Toggle the neighbourhood of $a$.
|
||||
\item Right-multiply $M_a^\dagger$ to the VOPs.
|
||||
\end{enumerate}
|
||||
This transformation is called $L_a$.
|
||||
}
|
||||
\item{Using $\sqrt{-iX}$ and $\sqrt{iZ}$ as generators of $C_1$ one can
|
||||
express any VOP as a product of $\sqrt{-iX},\sqrt{iZ}$.}
|
||||
\item{Let the vertex $a$ have a neighbour $j \neq b$, then the VOP
|
||||
on $a$ can be reduced to the identity by moving from right to left through the
|
||||
product and applying $L_a$ for a $\sqrt{-iX}$ and $L_i$ for a $\sqrt{iZ}$.}
|
||||
\item{Any vertex $j \in n_a \setminus \{i\}$ picks up powers of $\sqrt{iZ}$ during this
|
||||
operation. As $\sqrt{iZ}$ commutes with $CZ$ this is no problem.}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
{
|
||||
\begin{frame}{Clearing Vertex Operators to Apply a $CZ$}
|
||||
\begin{itemize}
|
||||
\item{The VOP on $a$ ($b$) can be cleared if $a$ ($b$) has at least one
|
||||
neighbour that is not $b$ ($a$).}
|
||||
|
||||
\item{To apply a $CZ_{a,b}$ use the following algorithm to clear the
|
||||
VOPs as much as possible:
|
||||
\begin{enumerate}[1]
|
||||
\item Try to clear the VOP of $a$.
|
||||
\item{ Try to clear the VOP on $b$.}
|
||||
\item{If the VOP of $a$ wasn't clear yet, try to clear it again.}
|
||||
\end{enumerate}
|
||||
}
|
||||
\item{After this procedure it is certain that at least one VOP is $I$
|
||||
and possibly both VOPs commute with $CZ$. If they both commute
|
||||
applying the $CZ$ is done by toggling the edge $\{a,b\}$.
|
||||
}
|
||||
\item{If one VOP does not commute with $CZ$ this vertex is either isolated
|
||||
or connected to the other operand vertex only. One can show that the
|
||||
two qbit $CZ$ method can be applied here if the identity on the vertex
|
||||
connected to the rest of the graph is preserved.}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
{
|
||||
\begin{frame}{Measurements on Graph States}
|
||||
\begin{itemize}
|
||||
\item{When measuring $Z_a$ the projector $P_a := \frac{I \pm Z_a}{a}$ can be
|
||||
pulled behind the vertex operator $o_a$ by transforming the observable:
|
||||
|
||||
\begin{equation}
|
||||
\begin{aligned}
|
||||
P_a \ket{G} &= \left(\prod\limits{i \neq a} o_i\right) P_a o_a \ket{\bar{G}} \\
|
||||
&= \left(\prod\limits{i \neq a} o_i\right) o_a o_a^\dagger P_a o_a \ket{\bar{G}} \\
|
||||
&= \left(\prod\limits{i} o_i \right) \tilde{P}_a \ket{\bar{G}}\\
|
||||
\end{aligned}
|
||||
\end{equation}
|
||||
|
||||
With a new projector $\tilde{P}_a = \frac{I + g_a}{2}$.
|
||||
}
|
||||
\item{The anticommuting stabilizers are given by
|
||||
\begin{itemize}
|
||||
\item{$A_X = \{K_G^{(i)} | i \in n_a\}$ for $g_a = \pm X_a$,}
|
||||
\item{$A_Y = \{K_G^{(i)} | i \in n_a \cup a\}$ for $g_a = \pm Y_a$ and}
|
||||
\item{$A_Z = \{K_G^{(a)}$ for $g_a = Z_a$.}
|
||||
\end{itemize}}
|
||||
\item{This can be used to compute the probability amplitudes and update $(G,V,E)$ after
|
||||
the measurement.}
|
||||
\end{itemize}
|
||||
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
\section{Implementation and Performance}
|
||||
|
||||
{
|
||||
\begin{frame}{Implementation}
|
||||
\begin{itemize}
|
||||
\item{Both a dense vector simulator and a simulator using the graphical
|
||||
representation have been implemented in the \lstinline{python3} package
|
||||
\lstinline{pyqcs}.}
|
||||
\item{To increase simulation efficiency the core of both simulators has been
|
||||
implemented in \lstinline{C}.}
|
||||
\item{The dense vector states are stored in \lstinline{numpy} arrays.}
|
||||
\item{The graph is stored in an length $n$ array of linked lists. The vertex operators
|
||||
are stored in a \lstinline{uint8_t} array.}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
{
|
||||
\begin{frame}{Performance: Dense Vector vs. Graphical Representation}
|
||||
\includegraphics[width=\textwidth]{../performance/scaling_qbits_linear.png}
|
||||
\end{frame}
|
||||
}
|
||||
{
|
||||
\begin{frame}{Performance: Dense Vector vs. Graphical Representation}
|
||||
\includegraphics[width=\textwidth]{../performance/scaling_qbits_log.png}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
{
|
||||
\begin{frame}{Performance: Circuit Length on Graphical Representation}
|
||||
\includegraphics[width=\textwidth]{../performance/scaling_circuits_linear.png}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
{
|
||||
\begin{frame}{Performance: Circuit Length on Graphical Representation}
|
||||
\begin{itemize}
|
||||
\item{There seem to be three regimes: Low-linear regime, intermediate regime and high-linear regime.}
|
||||
\item{In the low-linear regime only few VOPs have to be cleared.
|
||||
The length of this regime increases with the number of qbits.
|
||||
}
|
||||
\item{In the high-linear regime the neighbourhoods are big; the probability that VOPs
|
||||
must be cleared is high. Clearing VOPs involves many vertices.}
|
||||
\item{The intermediate is dominated by growing neighbourhoods $\Rightarrow$
|
||||
no linear behaviour.}
|
||||
\end{itemize}
|
||||
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
\section{Limitations and Future Work}
|
||||
|
||||
{
|
||||
\begin{frame}{Non-Universality}
|
||||
\begin{itemize}
|
||||
\item{Recalling the discussion around measurement in the stabilizer formalism
|
||||
only probability amplitudes $0, \frac{1}{2}, 1$ are possible for any Pauli
|
||||
observable.}
|
||||
\item{As seen in the example simulation of a spin chain other probability amplitudes
|
||||
are important and particularely interesting.}
|
||||
\item{Only few unitaries and states can be simulated.}
|
||||
\item{The stabilizers have lost the vector space property:
|
||||
only special superpositions are allowed.}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
{
|
||||
{
|
||||
\begin{frame}{Possible Ways of Extending the Formalism I}
|
||||
\begin{itemize}
|
||||
\item{One possible way would be to use more qbits to increase the
|
||||
amount of possible measurement outcomes.}
|
||||
\item{One could describe the evolution of a general hermitian unitary
|
||||
by expressing it as a sum of multilocal Pauli operators. Applying
|
||||
non-Clifford gates would reintroduce exponential growth.
|
||||
}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
\begin{frame}{Possible Ways of Extending the Formalism II}
|
||||
\begin{itemize}
|
||||
\item{The reason why the multilocal Pauli operators can be stored
|
||||
so efficiently is that they are the tensor product of $SU(2)$ matrices.}
|
||||
\item{
|
||||
A key property of the Clifford group is that it preserves this feature:
|
||||
multilocal Pauli operators are mapped to multilocal Pauli operator, the
|
||||
result is a tensor product again.
|
||||
}
|
||||
\item{One interesting way to search for new/other states and circuits that can
|
||||
be simulated efficiently would be to check what hermitian matrices
|
||||
are tensor products of single qbit matrices and what operations would
|
||||
preserve this property.
|
||||
}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
{
|
||||
\begin{frame}{Possible Ways of Extending the Formalism II}
|
||||
\begin{itemize}
|
||||
\item{Single qbit gates will always preserve the tensor product property:
|
||||
\begin{equation}
|
||||
g_i' = U_k g_i U_k^\dagger = \left(\bigotimes\limits_{j<k} g_{i,j}\right) \otimes Ug_{i,k}U^\dagger \otimes \left(\bigotimes\limits_{j>k} g_{i,j}\right)
|
||||
\end{equation}
|
||||
}
|
||||
\item{It would probably be enough to search for matrices $g_1, g_2$
|
||||
for which
|
||||
\begin{equation}
|
||||
CX_{1,2} (g_1 \otimes g_2) CX_{1,2} = g_1' \otimes g_2'
|
||||
\end{equation}
|
||||
holds. The Pauli matrices are one group that fulfills this property.
|
||||
}
|
||||
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
|
||||
|
||||
\end{document}
|
||||
|
|
Loading…
Reference in New Issue
Block a user