Ancilladriven quantum computation with
twisted graph states
Abstract
We introduce a new paradigm for quantum computing called AncillaDriven Quantum Computation (ADQC) combines aspects of the quantum circuit Deutsch89 and the oneway model RB01 to overcome challenging issues in building largescale quantum computers. Instead of directly manipulating each qubit to perform universal quantum logic gates or measurements, ADQC uses a fixed twoqubit interaction to couple the memory register of a quantum computer to an ancilla qubit. By measuring the ancilla, the measurementinduced backaction on the system performs the desired logical operations.
By demanding that the ancillasystem qubit interaction should lead to unitary and stepwise deterministic evolution, and that it should be possible to standardise the computation, that is, applying all global operations at the beginning, we are able to place conditions on the interactions that can be used for ADQC. We prove there are only two such classes of interactions characterised in terms of the nonlocal part of the interaction operator. This leads to the definition of a new entanglement resource called twisted graph states generated from noncommuting operators. The ADQC model is formalised in an algebraic framework similar to the Measurement Calculus Mcal06. Furthermore, we present the notion of causal flow for twisted graph states, based on the stabiliser formalism, to characterise the determinism. Finally we demonstrate compositional embedding between ADQC and both the oneway and circuit models which will allow us to transfer recently developed theory and toolkits of measurementbased quantum computing directly into ADQC.
keywords:
Models of Quantum Computation, Multipartite Entanglement.1 Introduction
There are two main paradigms which have driven both the theory and implementation of quantum computation; gatebased quantum computing (GBQC) Deutsch89, and measurementbased quantum computing (MBQC) RB01. Though these two models are computationally equivalent, in practice each has their own advantages and disadvantages which have major implications for the choice of physical system, design, and operation. We introduce a new paradigm called ancilladriven quantum computing which combines features of both models, in order to parallelise the architecture of quantum computers, to decrease decoherence effects, and simplify their physical implementation and operation.
GBQC requires, in general, arbitrary networks of dynamic operations which in turn complicates the design and characterisation of the entire computer. There are many scenarios where it would be desirable to physically separate preparation, measurement, and coherent interaction regions to reduce control complexity, circuitry congestion, and decoherence due to crosstalk. In contrast, MBQC performs computation purely through singlequbit measurement on a preexisting static multipartite entangled state, distilling and processing nonlocal correlation. However, the generation of the initial highly entangled state, incorporation of quantum error correction and faulttolerance, and individual measurement of each qubit are issues in many candidate systems.
Our new model of ancilladriven quantum computing (ADQC) is partly inspired by the previous works of Andersson and Oi in AO07, and also Perdrix and Jorrand in PJ04. Andersson and Oi introduced an efficient method to implement any generalised quantum measurement by coupling the system with an ancilla qubit. The method, however, assumes arbitrary dynamic coupling operations between ancilla and system. Perdrix and Jorrand, on the other hand, describe a probabilistic version of MBQC in terms of a Turing machine where one can view the readwrite head as an ancillary qubit, though this is not the way the model is presented. Moreover their approach still requires direct manipulation of the memory register and dynamic global measurement operators.
ADQC attempts to overcome such issues by performing computation where the memory register (input data) can only be remotely manipulated through interaction with a supply of prepared ancillas. In other words, instead of directly manipulating data qubits to perform universal quantum logic gates or measurements, ADQC uses a fixed twoqubit unitary interaction to couple the memory register of a quantum computer to an ancilla qubit. By measuring the ancilla, the measurementinduced backaction on the system performs the desired logical operation. Practically, a single fixed unitary interaction coupling the data and ancilla qubits greatly simplifies design, construction, and operation of the computer since only one particular discrete operation needs to be generated and characterised. Furthermore, separating interaction and measurement leads to a parallel structure with possibly reduced decoherence BK06. A requisite interaction for ADQC already exists in a variety of physical systems ranging from ion microtraps, neutral atoms, nuclear spin donors in semiconductors, SQUIDs and cavity QED which greatly increases the scope for implementation of the core ideas. ADQC also naturally benefits from optimisation of the qubit species employed for memory and ancilla. Memory qubits can be chosen for long coherence time at the expense of being static and difficult to manipulate directly, whilst ancilla qubits may be chosen for high mobility and rapid initialisation and measurement, e.g. donor nuclear spins in isotopically pure silicon as memory and electron spins conveyed via charge transport by adiabatic passage as ancilla in solid state quantum computing.
So far we have mentioned only the practical advantages of our proposed architecture. The formalisation of the computational model underlying ADQC, which is the focus of the current paper, leads to the introduction of a new multipartite entanglement resource. Only recently has it been demonstrated that a very restricted class of multipartite entangled states are useful for universal MBQC GFE08; BMW08. However a full characterisation of such states GESP2007 remains an open problem which this paper aims to make progress upon.
The entangled graph states graphstates have emerged as an elegant and powerful quantum resource, especially for measurementbased quantum computation (MBQC) RB01. Many important results on their entanglement properties NDMB07, information flow Flow06; gflow, implementation BK05, and novel applications in cryptography MS08; BFK08, are due to their simple description. The generating operator for graph states, called controlledphase, is a symmetric and commuting operator which leads to a simple graphical notation and hence the name for these states. Additionally, the elegant result by van den Nest et al. VDD04; NDMB07 shows that any stabiliser state is equivalent to a graph state up to local Clifford operators. This greatly expands the scope of the results for graph states, and leads to a natural extension of the above constructions into stabiliser states, as well as allowing a convenient graphical notation for a very general class of states. If we consider open graph states, graph states where some nodes (called input nodes) are given in arbitrary states (rather than being prepared in a particular fixed state which is the case for graph states) much of the theory still follows. However open stabiliser states with arbitrary input nodes no longer fulfil the prerequisites of the theorem by van den Nest et. al., and in general they do not admit a trivial graphical notation.
Moreover, not all twoqubit interactions between system and ancillary qubits can be used for ADQC. To characterise interactions that will eventually enable universal ADQC we demand that the ancillasystem interaction leads to a unitary and stepwise deterministic evolution of the system qubit, and that it should be possible to standardise the computation, that is, applying all global operations at the beginning. By doing so we are able to place conditions on the possible interactions resulting in two classes of interactions that are necessary and sufficient for ADQC. This naturally leads to the definition of a particular class of open stabiliser states, called twisted graph states which, despite being generated by noncommuting operations, still admits a simple graph representation. They form the key ingredient for ADQC. We then show how this new class of states can be viewed as open graph states up to somelocal swap operations. We also develop an algebraic framework similar to the measurement calculus, which is the mathematical framework underlying MBQC computation. This makes it possible to derive the standardisation theory for the ADQC patterns of computation. As we will see, any ADQC computation requires a classical control structure to compensate for the probabilistic nature of the measurement. In order to characterise the determinism, we introduce the notion of causal flow for twisted graph states based on the stabiliser formalism. Compared to the open graph state, the stabiliser state has a more complicated and global structure. We construct, however, direct translations between ADQC and MBQC for a subclass of deterministic patterns with flow which preserve depth, in order to prove that ADQC is as parallel as MBQC. We also present the embedding between GBQC and ADQC and show how, as for MBQC, a separation in depth can be obtained.
2 Preliminaries
We briefly review the required concepts from quantum computing. A more detailed introduction can be found in NC00. Let \mathcal{H} denote a 2dimensional complex vector space, equipped with the standard inner product. We pick an orthonormal basis for this space, label the two basis vectors 0\rangle and 1\rangle, and identify them with the vectors (1,0)^{T} and (0,1)^{T}, respectively. A qubit is a unit length vector in this space, and so can be expressed as a linear combination of the basis states:
\alpha_{0}0\rangle+\alpha_{1}1\rangle=\left(\begin{array}[]{c}\alpha_{0}\\ \alpha_{1}\end{array}\right). 
Here \alpha_{0},\alpha_{1} are complex amplitudes, and \alpha_{0}^{2}+\alpha_{1}^{2}=1.
An mqubit state is a unit vector in the mfold tensor space \mathcal{H}\otimes\cdots\otimes\mathcal{H}. The 2^{m} basis states of this space are the mfold tensor products of the states 0\rangle and 1\rangle. We abbreviate 1\rangle\otimes0\rangle to 1\rangle0\rangle or 10\rangle. With these basis states, an mqubit state \phi\rangle is a 2^{m}dimensional complex unit vector
\phi\rangle=\sum_{i\in\{0,1\}^{m}}\alpha_{i}i\rangle. 
There exist quantum states that cannot be written as the tensor product of other quantum states. Such states are called entangled states, e.g. 00\rangle+11\rangle.
We use \langle\phi=\phi\rangle^{*} to denote the conjugate transpose of the vector \phi\rangle, and \langle{\phi}\mid{\psi}\rangle=\langle\phi\cdot\psi\rangle for the inner product between states \phi\rangle and \psi\rangle. These two states are orthogonal if \langle{\phi}\mid{\psi}\rangle=0. The norm of \phi\rangle is \mid\mid\phi\mid\mid=\sqrt{\langle{\phi}\mid{\phi}\rangle}.
A quantum state can evolve by a unitary operation or by a measurement. A unitary transformation is a linear mapping that preserves the norm of the states. If we apply a unitary U to a state \phi\rangle, it evolves to U\phi\rangle. The Pauli operators are a wellknown set of unitary transformations for quantum computing:
X=\begin{pmatrix}0&1\\ 1&0\end{pmatrix},\,\,\,Y=\begin{pmatrix}0&i\\ i&0\end{pmatrix},\,\,\,Z=\begin{pmatrix}1&0\\ 0&1\end{pmatrix}\,, 
and the Pauli group on n qubits is generated by Pauli operators. Several other unitary transformations that we will use in this paper are the identity \mathbbm{1}, the phase gate P(\alpha), of which P(\pi/4) and P(\pi/2) are a special cases, the Hadamard H, the controlledZ (\mathop{\wedge}\hskip1.72ptZ) and the SWAP operation:
\begin{array}[c]{lllllllllllllll}\mathbbm{1}:=\begin{pmatrix}1&0\\ 0&1\end{pmatrix},\;\;\;\;P(\alpha):=\begin{pmatrix}1&0\\ 0&e^{i\alpha}\end{pmatrix},\;\;\;H:=\frac{1}{\sqrt{2}}\begin{pmatrix}1&1\\ 1&1\end{pmatrix},\\ \\ \mathop{\wedge}\hskip1.72ptZ:=\begin{pmatrix}1&0&0&0\\ 0&1&0&0\\ 0&0&1&0\\ 0&0&0&1\end{pmatrix},\;\;\;\;\text{SWAP}:=\begin{pmatrix}1&0&0&0\\ 0&0&1&0\\ 0&1&0&0\\ 0&0&0&1\end{pmatrix}.\end{array} 
The Clifford group on n qubits is generated by the matrices Z, H, P({\pi/2}) and \mathop{\wedge}\hskip1.72ptZ, and is the normaliser of the Pauli group. This set of matrices is not universal for quantum computation, but by adding any singlequbit gate not in the Clifford group (such as P({\pi/4})), we do get a set that is approximately universal for quantum computing NC00.
The most general measurement allowed by quantum mechanics is specified by a family of positive semidefinite operators E_{i}=M_{i}^{*}M_{i}, 1\leq i\leq k, subject to the condition that \sum_{i}E_{i}=\mathbbm{1}. A projective measurement is defined in the special case where the operators E_{i} are projections. Let \phi\rangle be an mqubit state and \mathcal{B}=\{b_{1}\rangle,\ldots,b_{2^{m}}\rangle\} an orthonormal basis of the mqubit space. A projective measurement of the state \phi\rangle in the \mathcal{B} basis means that we apply the projection operators P_{i}=b_{i}\rangle\langle b_{i} to \phi\rangle. The resulting quantum state is b_{i}\rangle with probability p_{i}=\langle{\phi}\mid{b_{i}}\rangle^{2}. An important class of projective measurements are Pauli measurements, i.e. projections onto eigenstates of Pauli operators.
So far we have dealt with pure quantum states. A more general representation with density matrices also allows us to describe open physical systems, where one can prepare a classical stochastic mixture of pure quantum states, called mixed quantum states. For a system in a pure state \psi\rangle, the density matrix is just the projection operator \psi\rangle\langle\psi. Suppose that we only know that a system is one of several possible states \psi_{1}\rangle,\ldots,\psi_{k}\rangle with probabilities p_{1},\ldots,p_{k} respectively. We define the density matrix for such a state to be
\rho=\sum_{i=1}^{k}p_{i}\psi_{i}\rangle\langle\psi_{i}. 
The most general physical operator that acts over density matrices is a completely positive trace preserving map (CPTP) \mathcal{E}:\mathcal{B}(\mathfrak{H}_{1})\to\mathcal{B}(\mathfrak{H}_{2}) with Kraus decomposition
\mathcal{E}(\rho)=\sum_{m}K_{m}\rho K_{m}^{\dagger} 
where the K_{m}:\mathfrak{H}_{1}\to\mathfrak{H}_{2}, \mathcal{B}(\mathfrak{H}) is the Banach space of bounded linear operators and we require that
\sum_{m}K_{m}^{\dagger}K_{m}=\mathbbm{1}. 
Any unitary operation U can be approximated with a circuit C, using gates from a fixed universal set of gates. The size of a circuit is the number of gates and its depth is the largest number of gates on any inputoutput path. Equivalently, the depth is the number of layers that are required for the parallel execution of the circuit, where a qubit can be involved in at most one interaction per layer. In this paper, we adopt the model according to which at any given timestep, a single qubit can be involved in at most one interaction. This differs from the concurrency viewpoint, according to which all interactions for commuting operations can be done simultaneously.
2.1 Measurementbased model
We give a brief introduction to measurementbased quantum computing (MBQC) RB01; RB02; RBB03. A more detailed description is available in Jozsa05; Nielsen05; BB06; Mcal06. Our notation follows that of Mcal06. In MBQC, computations are represented as patterns, which are sequences of commands acting on the qubits in the pattern. These commands are of four types:

N_{i} is a onequbit preparation command which prepares the auxiliary qubit i in state +\rangle=\frac{1}{\sqrt{2}}(0\rangle+1\rangle). The preparation commands can be implicit from the pattern: when not specified, all noninput qubits are prepared in the +\rangle state.

E_{ij} is a twoqubit entanglement command which applies the controlledZ operation, \mathop{\wedge}\hskip1.72ptZ, to qubits i and j. Note that the \mathop{\wedge}\hskip1.72ptZ operation is symmetric so that E_{ij}=E_{ji}. Also, E_{ij} commutes with E_{jk} and thus the ordering of the entanglement commands in not important.

{M}_{i}^{\alpha} is a onequbit measurement on qubit i which depends on parameter \alpha\in[0,2\pi) called the angle of measurement. {M}_{i}^{\alpha} is the orthogonal projection onto the states
\displaystyle+_{\alpha}\rangle \displaystyle=\frac{1}{\sqrt{2}}(0\rangle+e^{i\alpha}1\rangle) \displaystyle_{\alpha}\rangle \displaystyle=\frac{1}{\sqrt{2}}(0\ranglee^{i\alpha}1\rangle), followed by a traceout operator, since measurements are destructive. We denote the classical outcome of a measurement performed at qubit i by m_{i}\in{\mathbb{Z}}_{2}. We take the specific convention that m_{i}=0 if the measurement outcome is +_{\alpha}\rangle, and that m_{i}=1 if the measurement outcome is _{\alpha}\rangle. Outcomes can be summed together resulting in expressions of the form
m=\sum_{i\in I}m_{i} which are called signals, and where the summation is understood as being done modulo 2. The domain of a signal is the set of qubits on which it depends (in this example, the domain of m is I).

X_{i} and Z_{i} are onequbit Pauli corrections which correspond to the application of the Pauli X and Z matrices, respectively, on qubit i.
In order to obtain universality, we have to add a classical control mechanism, called feedforward, which allows measurement angles and corrections to be dependent on the results of previous measurements RB01; Mcal06. Let m and n be signals. Dependent corrections are written as X_{i}^{m} and Z_{i}^{n} and dependent measurements are written as {}_{n}[{M}_{i}^{\alpha}]^{m}. The meaning of dependencies for corrections is straightforward: X_{i}^{0}=Z_{i}^{0}=\mathbbm{1} (no correction is applied), while X_{i}^{1}=X_{i} and Z_{i}^{1}=S_{i} . In the case of dependent measurements, the measurement angle depends on m, n and \alpha as follows:
\displaystyle{}_{n}[{M}_{i}^{\alpha}]^{m}={M}_{i}^{(1)^{m}\alpha+n\pi}  (1) 
so that, depending on the parity of m and n, one may have to modify the angle of measurement \alpha to one of \alpha, \alpha+\pi and \alpha+\pi. These modifications correspond to conjugations of measurements under X and Z:
\displaystyle X_{i}^{m}{M}_{i}^{{\alpha}}X_{i}^{m}  \displaystyle={M}_{i}^{{(1)^{m}\alpha}}  (2)  
\displaystyle Z_{i}^{n}{M}_{i}^{{\alpha}}Z_{i}^{n}  \displaystyle={M}_{i}^{{\alpha+n\pi}}  (3) 
and we will therefore refer to them as the X and Zactions, or alternatively as the X and Zdependencies. Since measurements are destructive, the above equations simplify to
\displaystyle{M}_{i}^{{\alpha}}X_{i}^{m}  \displaystyle={M}_{i}^{{(1)^{m}\alpha}}  (4)  
\displaystyle{M}_{i}^{{\alpha}}Z_{i}^{n}  \displaystyle={M}_{i}^{{\alpha+n\pi}}.  (5) 
Note that these two actions commute, since \alpha+\pi=\alpha\pi up to 2\pi, and hence the order in which one applies them does not matter.
A pattern is defined by the choice of a finite set V of qubits, two not necessarily disjoint sets I\subseteq V and O\subseteq V determining the pattern inputs and outputs, and a finite sequence of commands acting on V. We require that no command depend on an outcome not yet measured, that no command act on a qubit already measured, that a qubit be measured if and only if it is not an output qubit and that a qubit be prepared if and only if it is not an input qubit. This set of rules is known as the definiteness condition.
A pattern is said to be in standard form if all the preparation commands N_{i} and entanglement operators E_{ij} appear first in its command sequence, followed by measurements and finally corrections. A pattern that is not in standard form is called a wild pattern. Any wild pattern can be put in its unique standard form Mcal06; this form can reveal implicit parallelism in the computation. The procedure of rewriting a pattern in its standard form is called standardisation. This can be done by applying the following rewrite rules:
\displaystyle E_{ij}X_{i}^{m}  \displaystyle\Rightarrow  \displaystyle X_{i}^{m}Z_{j}^{m}E_{ij}  (6)  
\displaystyle E_{ij}Z_{i}^{m}  \displaystyle\Rightarrow  \displaystyle Z_{i}^{m}E_{ij}  (7)  
\displaystyle{}_{n}[{M}_{i}^{\alpha}]^{m}X_{i}^{p}  \displaystyle\Rightarrow  \displaystyle{}_{n}[{M}_{i}^{\alpha}]^{m+p}  (8)  
\displaystyle{}_{n}[{M}_{i}^{\alpha}]^{m}Z_{i}^{p}  \displaystyle\Rightarrow  \displaystyle{}_{n+p}[{M}_{i}^{\alpha}]^{m}.  (9) 
The rewrite rules also contain the following free commutation rules which tell us that if we are dealing with disjoint sets of target qubits, then measurement, corrections and entanglement commands commute pairwise Mcal06, so that
\displaystyle E_{ij}A_{{\bf k}}  \displaystyle\Rightarrow A_{{\bf k}}E_{ij}\quad\hbox{where $A$ is not an entanglement command}  (10)  
\displaystyle A_{{\bf k}}X_{i}^{m}  \displaystyle\Rightarrow X_{i}^{m}A_{{\bf k}}\quad\hbox{where $A$ is not a correction command}  (11)  
\displaystyle A_{{\bf k}}Z_{i}^{m}  \displaystyle\Rightarrow Z_{i}^{m}A_{{\bf k}}\quad\hbox{where $A$ is not a correction command}  (12) 
where {\bf k} represent the qubits acted upon by command A, and are distinct from i and j.
Standardisation allows us to graphically present the global operation of a pattern. We define an open graph state (G,I,O) to consist of an undirected graph G together with two subsets of nodes I and O, called inputs and outputs. We write V for the set of vertices in G, E for the set of edges, I^{c}, and O^{c} for the complements of I and O in V and E_{G}:=\prod_{\{i,j\}\in E}E_{ij} for the global entanglement operator associated with G. Trivially, any standard pattern has a unique underlying open graph state, obtained by neglecting measurements and correction commands.
We now give a condition on geometries under which it is possible to synthesize a set of dependent corrections such that the obtained pattern is uniformly and strongly deterministic, i.e. all the branches of the computation are equal, independently of the angles of the measurements. In what follows, x\sim y denotes that x is adjacent to y in G and N_{I^{c}} denotes the sequence of preparation commands \prod_{i\in I^{c}}N_{i}.
Definition 1
A flow (f,\preceq) for a geometry (G,I,O) consists of a map f:O^{c}\rightarrow I^{c} and a partial order \preceq over V such that for all x\in O^{c}:

(i) x\sim f(x);

(ii) x\preceq f(x);

(iii) for all y\sim f(x), x\preceq y .
The coarsest order \preceq for which (f,\preceq) is a flow is called the dependency order induced by f and its depth is called flow depth.
Theorem 1
Suppose the geometry (G,I,O) has flow f. Then the pattern
\begin{array}[c]{lllllllllllllll}\mathcal{P}_{f,G,{\bf\alpha}}&:=&\prod\limits% _{i\in O^{c}}{}^{\preceq}\,\,\,\Big{(}X_{f(i)}^{s_{i}}\prod\limits_{% \begin{subarray}{c}k\sim f(i)\\ k\neq i\end{subarray}}Z_{k}^{s_{i}}{M}_{i}^{\alpha_{i}}\Big{)}E_{G}\end{array} 
where the product follows the dependency order \preceq of f, is uniformly and strongly deterministic, and realizes the unitary embedding
\begin{array}[c]{lllllllllllllll}U_{G,I,O,{\bf\alpha}}&:=&{2}^{O^{c}/2}\;% \Big{(}\prod\limits_{i\in O^{c}}\langle{+_{\alpha_{i}}}_{i}\;\Big{)}\,E_{G}.% \end{array} 
If the underlying geometry of a pattern has a flow and its pattern command sequence is constructed as given by the flow theorem, we call this pattern a pattern with flow.
3 AncillaDriven Model
As mentioned in the introduction, in ancilladriven quantum computing we are interested in two essential properties:

The only global operation is a fixed twoqubit interaction between any ancilla and system qubit.

Only ancilla qubits will be measured.
We introduce the ADQC model within an algebraic framework similar to that of the measurement calculus recalled in the previous section. We have a set of fixed basic commands described below where the indices i, j, \dots represent the qubits on which each of these operations apply. A pattern is a sequence of commands defined over a set of qubits in the list V, called computation space, where the particular sublist S represents the system qubits (we may refer to them as data or memory register) and the rest A=V\setminus S are the ancilla qubits. We define an arbitrary pure single qubit state by
\begin{array}[c]{lllllllllllllll}+_{\theta,\phi}\rangle=\cos(\frac{\theta}{2}% )0\rangle+e^{i\phi}\sin(\frac{\theta}{2})1\rangle\,,\end{array} 
and denote its orthogonal state (the opposite point in the Bloch sphere) with
\begin{array}[c]{lllllllllllllll}_{\theta,\phi}\rangle=\sin(\frac{\theta}{2}% )0\ranglee^{i\phi}\cos(\frac{\theta}{2})1\rangle\,,\end{array} 
where 0\leq\theta\leq\pi and 0\leq\phi\leq 2\pi.

Preparation. N^{\psi\rangle}_{a} (a\in A) prepares an ancilla qubit in the state \psi\rangle.

Interaction. \widetilde{E}_{as} (s\in S,a\in A) entangle a system qubit and an ancilla qubit with interaction operator \mathop{\wedge}\hskip1.72ptZ followed by Hadamard on each qubit:
\widetilde{\mathop{\wedge}\hskip1.72ptZ}:=H_{s}\otimes H_{a}\mathop{\wedge}% \hskip1.72ptZ_{as} Note that a \text{SWAP}\mathop{\wedge}\hskip1.72ptZ interaction would be another possible choice. In section LABEL:sec:characteriseE we will prove that \mathop{\wedge}\hskip1.72ptZ and \text{SWAP}\mathop{\wedge}\hskip1.72ptZ are the only two possible interactions, up to local unitary equivalence, that allow for universal ADQC. Choosing one over the other will depend on the natural dynamics of the physical system used for an implementation.

Ancilla Measurement. {M}_{a}^{\lambda,\alpha} (a\in A) measures qubit a on plane \lambda\in\{(X,Y),(X,Z),(Y,Z)\}, defined by orthogonal projections into:

\pm_{(X,Y),\alpha}\rangle:=\pm_{\frac{\pi}{2},\alpha}\rangle if \lambda=(X,Y)

\pm_{(X,Z),\alpha}\rangle:=\pm_{\alpha,0}\rangle if \lambda=(X,Z)

\pm_{(Y,Z),\alpha}\rangle:=\pm_{\alpha,\frac{\pi}{2}}\rangle if \lambda=(Y,Z)
with the convention that +_{\theta,\phi}\rangle\langle+_{\theta,\phi}_{a} corresponds to the outcome m_{a}=0, while _{\theta,\phi}\rangle\langle_{\theta,\phi}_{a} corresponds to m_{a}=1. The propagation of dependent corrections (next command) defines dependent measurement:
\begin{array}[c]{lllllllllllllll}{}_{n}[{M}_{a}^{\lambda,\alpha}]^{m}:={M}_{a}% ^{\lambda,\alpha}X_{a}^{m}Z_{a}^{n}\end{array} where m,n,\dots are module 2 summation of several measurements outcomes, also called signals. The domain of a signal is the set of qubits on which it depends.^{1}^{1}1Depending on the context we sometimes use the notation m for syntax, i.e., a set of qubits (representing a formal sum) and sometimes for semantics, i.e., 0 or 1.


Corrections. X_{i} and Z_{i} (i\in V), 1qubit Pauli operators. As in MBQC, to control the nondeterminism of the measurement outcomes certain local corrections will depend upon previous measurement outcomes. These will be written as C_{i}^{m}, with C_{i}^{0}=\mathbbm{1}, and C_{i}^{1}=C_{i}.
We write \mathfrak{H}_{V} for the associated quantum state space \otimes_{i\in V}{\mathbb{C}}^{2}. To run a pattern, one prepares the system qubits in some given input state \Psi\in\mathfrak{H}_{S}, while the ancilla qubits are all prepared according to the N commands in fixed \psi\rangle states. The commands are then executed in sequence, and finally the result of the pattern computation is read back from the system qubits^{2}^{2}2Preparation and readout of the system qubits can be performed by using suitable ancilla states and measurements.. Similar to the oneway model we will consider only patterns satisfying definiteness conditions.
The main differences between ADQC and MBQC are: (1) The interaction operator being \widetilde{\mathop{\wedge}\hskip1.72ptZ} instead of \mathop{\wedge}\hskip1.72ptZ, which still belongs to the socalled Clifford group, the normaliser of the Pauli group; (2) Only ancilla qubits can be measured, that is to say in the terminology of MBQC any ADQC pattern has the same number of inputs and outputs which are overlapping (system qubits). Apart from universality, which we will prove later most of the theory of measurement calculus Mcal06 which was developed for the oneway quantum computer can be easily adapted to ADQC. For completeness we briefly review this here.
The first way to combine patterns is by composing them. Two patterns \mathfrak{P}_{1} and \mathfrak{P}_{2} may be composed if S_{1}=S_{2}. Provided that \mathfrak{P}_{1} has as many system qubits as \mathfrak{P}_{2}, by renaming these qubits, one can always make them composable. However it is important to emphasise that since the \widetilde{E}_{ij} operators are noncommuting, their order of appearance in each pattern must be preserved under the renaming and composition. The other way of combining patterns is to tensor them. Two patterns \mathfrak{P}_{1} and \mathfrak{P}_{2} may be tensored if V_{1}\cap V_{2}=\emptyset. Again one can always meet this condition by renaming qubits in a way that these sets are made disjoint.
3.1 The semantics of patterns
We present a formal operational semantics for ADQC patterns as a probabilistic labelled transition system, similar to Mcal06. Besides quantum states, one needs a classical state recording the outcomes of the successive measurements made in a pattern. If we let U stand for the finite set of qubits that are still active (i.e. not yet measured) and W stands for the set of qubits that have been measured (i.e. they are now just classical bits recording the measurement outcomes), it is natural to define the computation state space as
\begin{array}[c]{lllllllllllllll}\mathcal{C}&:=&\Sigma_{U,W}\mathfrak{H}_{U}% \times{\mathbb{Z}}_{2}^{W}.\end{array} 
In other words, the computation states form a U,Windexed family of pairs q, \Gamma, where q is a quantum state from \mathfrak{H}_{U} and \Gamma is a map from some W to the outcome space {\mathbb{Z}}_{2}. We call this classical component \Gamma an outcome map, and denote by \emptyset the empty outcome map in {\mathbb{Z}}_{2}^{\emptyset}. We need further notation. For any signal m and classical state \Gamma\in{\mathbb{Z}}_{2}^{W}, such that the domain of m is included in W, we take m_{\Gamma} to be the value of m given by the outcome map \Gamma. That is to say, if m=\sum_{I}m_{i}, then m_{\Gamma}:=\sum_{I}\Gamma(i) where the sum is taken in {\mathbb{Z}}_{2}. Also if \Gamma\in{\mathbb{Z}}_{2}^{W}, and x\in{\mathbb{Z}}_{2}, we define
\begin{array}[c]{lllllllllllllll}\Gamma[x/i](i)=x,\,\Gamma[x/i](j)=\Gamma(j)% \hbox{ for }j\neq i\end{array} 
which is a map in {\mathbb{Z}}_{2}^{W\cup\{i\}}.
We may now view each of our commands as acting on the state space \mathcal{C}:
\begin{array}[c]{lllllllllllllll}q,\Gamma&\lx@stackrel{{\scriptstyle N_{i}^{% \psi\rangle}}}{{\longrightarrow}}&q\otimes\psi\rangle_{i},\Gamma\\ q,\Gamma&\lx@stackrel{{\scriptstyle\widetilde{E}_{ij}}}{{\longrightarrow}}&% \widetilde{\mathop{\wedge}\hskip1.72ptZ}_{ij}q,\Gamma\\ q,\Gamma&\lx@stackrel{{\scriptstyle X_{i}^{m}}}{{\longrightarrow}}&X_{i}^{m_{% \Gamma}}q,\Gamma\\ q,\Gamma&\lx@stackrel{{\scriptstyle Z_{i}^{m}}}{{\longrightarrow}}&Z_{i}^{m_{% \Gamma}}q,\Gamma\\ U\cup\{i\},W,q,\Gamma&\lx@stackrel{{\scriptstyle{}^{n}[{M}_{i}^{\lambda,\alpha% }]^{m}}}{{\longrightarrow}}&U,W\cup\{i\},{\langle\hskip0.43pt+_{\lambda,% \alpha_{\Gamma}}}_{i}q,\Gamma[0/i]\\ U\cup\{i\},W,q,\Gamma&\lx@stackrel{{\scriptstyle{}^{n}[{M}_{i}^{\lambda,\alpha% }]^{m}}}{{\longrightarrow}}&U,W\cup\{i\},{\langle\hskip0.43pt_{\lambda,% \alpha_{\Gamma}}}_{i}q,\Gamma[1/i]\end{array} 
where \alpha_{\Gamma}=(1)^{m_{\Gamma}}\alpha+n_{\Gamma}\pi. We introduce an additional command called signal shifting:
\begin{array}[c]{lllllllllllllll}q,\Gamma&\lx@stackrel{{\scriptstyle F_{i}^{m_% {\Gamma}}}}{{\longrightarrow}}&q,\Gamma[\Gamma(i)+m_{\Gamma}/i]\end{array} 
It consists in shifting the measurement outcome at i by the amount m_{\Gamma}. Note that the Zaction leaves measurements globally invariant, in the sense that \hskip0.43pt+_{\alpha+\pi}\rangle,\hskip0.43pt_{\alpha+\pi}\rangle=% \hskip0.43pt_{\alpha}\rangle,\hskip0.43pt+_{\alpha}\rangle. Thus changing \alpha to \alpha+\pi amounts to exchanging the outcomes of the measurements, and one has
\displaystyle{}^{n_{\Gamma}}[{M}_{i}^{\alpha}]^{m_{\Gamma}}  \displaystyle=  \displaystyle F_{i}^{n_{\Gamma}}\,{}^{0}[{M}_{i}^{\alpha}]^{m_{\Gamma}}.  (13) 
Signal shifting allows us to dispose of the Z action of a measurement, sometimes resulting in convenient optimisations of standard forms. In the rest of the paper, for simplicity, we omit the superscript \Gamma on the measurement outcomes.
The convention is that when one does a measurement the resulting state is renormalised and the probabilities are associated with the transition. We do not adhere to this convention here, but instead leave the states unnormalized. The reason for this choice is that in this way, the probability of reaching a given state can be read off its norm, and the overall treatment is simpler.
3.2 Denotational Semantics
We now present the denotational semantics of ADQC patterns. If n is the number of measurements then the run may follow 2^{n} different branches. Each branch is associated with a unique binary string \mathbf{n} of length n, representing the classical outcomes of the measurements along that branch, and a unique branch map (Kraus operator) K_{\mathbf{n}} representing the linear transformation from \mathfrak{H}_{S} to \mathfrak{H}_{S} along that branch. This map is obtained from the (unnormalised) operational semantics via the sequence (q_{i},\Gamma_{i}) with 1\leq i\leq m (where m is the total number of commands), such that
\begin{array}[c]{lllllllllllllll}q_{1},\Gamma_{1}=q\otimes\hskip1.72pt+% \ldots+\rangle,\emptyset\\ \hbox{and for all }i\leq m:q_{i1},\Gamma_{i1}\lx@stackrel{{\scriptstyle K_{i% }}}{{\longrightarrow}}q_{i},\Gamma_{i}.\end{array} 
and all measurement commands in the sequence \{K_{i}\} have been replaced by appropriate projections corresponding to the outcome index \mathbf{n}.
Definition 2
A pattern \mathfrak{P} realizes a map on density matrices \rho given by \rho\mapsto\sum_{\mathbf{s}}K_{\mathbf{s}}(\rho)K_{\mathbf{s}}^{{}^{\dagger}}. We write [\hskip1.505pt[\mathfrak{P}]\hskip1.505pt] for the map realised by \mathfrak{P}.
It is then easy to prove Mcal06 that each pattern realizes a completely positive trace preserving (CPTP) map and if a pattern is strongly deterministic (see section 2), then it realizes a unitary embedding Mcal06. Hence the denotational semantics of a pattern is a CPTPmap. It is also compositional, as the following theorem shows.
Theorem 2
For two patterns \mathfrak{P}_{1} and \mathfrak{P}_{2} we have [\hskip1.505pt[\mathfrak{P}_{1}\mathfrak{P}_{2}]\hskip1.505pt]=[\hskip1.505% pt[\mathfrak{P}_{2}]\hskip1.505pt][\hskip1.505pt[\mathfrak{P}_{1}]\hskip1.5% 05pt] and [\hskip1.505pt[\mathfrak{P}_{1}\otimes\mathfrak{P}_{2}]\hskip1.505pt]=[% \hskip1.505pt[\mathfrak{P}_{2}]\hskip1.505pt]\otimes[\hskip1.505pt[% \mathfrak{P}_{1}]\hskip1.505pt].
Proof. Recall that two patterns \mathfrak{P}_{1}, \mathfrak{P}_{2} may be combined by composition provided \mathfrak{P}_{1} has as many system qubits as \mathfrak{P}_{2}. Suppose this is the case, and suppose further that \mathfrak{P}_{1} and \mathfrak{P}_{2} respectively realise some CPTPmaps T_{1} and T_{2}. We need to show that the composite pattern \mathfrak{P}_{2}\mathfrak{P}_{1} realizes T_{2}T_{1}. Indeed, the two diagrams representing branches in \mathfrak{P}_{1} and \mathfrak{P}_{2}:
\begin{array}[c]{lllllllllllllll}\xymatrix@=10pt@M=3pt@R=20pt@C=7pt{{}% \mathfrak{H}_{S_{1}}{}{}{}{}{}{}{}{}{}{}\xy@@ix@{{\hbox{}\end{array}}}} 