HTML conversions sometimes display errors due to content that did not convert correctly from the source. This paper uses the following packages that are not yet supported by the HTML conversion tool. Feedback on these issues are not necessary; they are known and are being worked on.

  • failed: stackrel
  • failed: centernot

Authors: achieve the best HTML results from your LaTeX submissions by following these best practices.

License: CC BY 4.0
arXiv:2401.10079v1 [quant-ph] 18 Jan 2024

Parity Quantum Computing as YZ-Plane Measurement-Based Quantum Computing

Isaac D. Smith isaac.smith@uibk.ac.at    Hendrik Poulsen Nautrup Institute for Theoretical Physics, University of Innsbruck, Innsbruck, Austria    Hans J. Briegel Institute for Theoretical Physics, University of Innsbruck, Innsbruck, Austria Fachbereich Philosophie, Universität Konstanz, Konstanz, Germany
(January 18, 2024)
Abstract

We show that universal parity quantum computing employing a recently introduced constant depth decoding procedure is equivalent to measurement-based quantum computation (MBQC) on a bipartite graph using only YZ-plane measurements. We further show that any unitary MBQC using only YZ-plane measurements must occur on a bipartite graph.

preprint: APS/123-QED

In the present era of pre-fault-tolerant quantum computation [1], there exists an array of theoretical proposals for computation that display certain advantages and differing levels of suitability for implementation on current physical devices.

Parity quantum computation [2, 3, 4, 5, 6, 7] refers to one such proposal, initially based on quantum annealing [2]. The universal parity computing framework [3] leverages the properties of a certain type of quantum state encoding, the parity encoding. This encoding maps an n𝑛nitalic_n-qubit logical state onto n(n+1)/2𝑛𝑛12n(n+1)/2italic_n ( italic_n + 1 ) / 2 physical qubits, some of which obtain parity information related to subsets of logical qubits. Consequently, certain rotations acting locally on these parity qubits translate to multi-qubit logical rotations on the corresponding subset [3]. The parity code is in particular a stabiliser code [8, 9] and many of the properties of the code are well understood using the stabiliser formalism.

Stabiliser states and stabiliser codes are known to have a canonical form, namely graph states [10, 11] and graph codes [12, 13, 14] respectively. Graph states form an important class of highly entangled states that support measurement-based quantum computation (MBQC) [15, 16, 17, 18, 19, 20]. MBQC is a well-known alternative to the quantum circuit model driven by single qubit projective measurements instead of unitary gates.

Recently, a proposal for measurement-based encoding and decoding procedures were put forward for the parity computing regime [21], demonstrating beneficial properties in terms of their computational depth. Due to the close connection between stabiliser codes and graph codes, an investigation of the potential connections to MBQC is warranted, which we initiate in this work.

After presenting the required background, we demonstrate that every parity code is local Clifford equivalent to a bipartite graph code (1). Consequently, we show that parity quantum computation with the measurement-based decoding is MBQC where all measurements are from the YZ-plane of the Bloch sphere, and where re-entanglement and some local operations are allowed (1). We further show that any MBQC using only YZ-plane measurements and with input and output sets of equal size must use bipartite graph states (2). To conclude, we briefly outline some consequences of these results for both computing paradigms.

I Background

Parity Quantum Computing - A parity quantum computation commences by encoding the computational input state using the LHZ architecture [2] (see Figure 0(a)). The computation proceeds by applying unitaries from a native gate set for the parity encoding, such as that outlined in [3], which largely consists of local rotations. To finish, a decoding procedure returns the computational output. Presently, we will focus on the parity encoding procedure and universal gate set presented in [3] in combination with the measurement-based decoding procedure outlined in [21].

The parity encoding procedure maps a state on n𝑛nitalic_n logical qubits to a state on n(n+1)/2𝑛𝑛12n(n+1)/2italic_n ( italic_n + 1 ) / 2 physical qubits. Following [3], we consider an LHZ layout where n𝑛nitalic_n physical qubits (the ‘data’ qubits) directly correspond to the n𝑛nitalic_n logical qubits. The remaining N=n(n1)/2𝑁𝑛𝑛12N=n(n-1)/2italic_N = italic_n ( italic_n - 1 ) / 2 qubits will be referred to as ‘parity’ qubits. We denote the sets of data and parity qubits by I𝐼Iitalic_I and VI𝑉𝐼V\setminus Iitalic_V ∖ italic_I respectively.

Encoding consists of applying a sequence of CNOTs to an input state |ψket𝜓\ket{\psi}| start_ARG italic_ψ end_ARG ⟩ and the parity qubits, which are all initialised to |0ket0\ket{0}| start_ARG 0 end_ARG ⟩. Letting C𝐶Citalic_C represent the set of control-target pairs, the encoded state is:

|LHZψ=Uenc|0N|ψ=(c,t)CCNOT(c,t)|0N|ψ.ket𝐿𝐻subscript𝑍𝜓subscript𝑈encsuperscriptket0tensor-productabsent𝑁ket𝜓subscriptproduct𝑐𝑡𝐶subscriptCNOT𝑐𝑡superscriptket0tensor-productabsent𝑁ket𝜓\displaystyle\ket{LHZ_{\psi}}=U_{\text{enc}}\ket{0}^{\otimes N}\ket{\psi}=% \prod_{(c,t)\in C}\text{CNOT}_{(c,t)}\ket{0}^{\otimes N}\ket{\psi}.| start_ARG italic_L italic_H italic_Z start_POSTSUBSCRIPT italic_ψ end_POSTSUBSCRIPT end_ARG ⟩ = italic_U start_POSTSUBSCRIPT enc end_POSTSUBSCRIPT | start_ARG 0 end_ARG ⟩ start_POSTSUPERSCRIPT ⊗ italic_N end_POSTSUPERSCRIPT | start_ARG italic_ψ end_ARG ⟩ = ∏ start_POSTSUBSCRIPT ( italic_c , italic_t ) ∈ italic_C end_POSTSUBSCRIPT CNOT start_POSTSUBSCRIPT ( italic_c , italic_t ) end_POSTSUBSCRIPT | start_ARG 0 end_ARG ⟩ start_POSTSUPERSCRIPT ⊗ italic_N end_POSTSUPERSCRIPT | start_ARG italic_ψ end_ARG ⟩ . (1)

Different constraint sets C𝐶Citalic_C can produce the same encoded state. For example, C𝐶Citalic_C could contain only pairs where every control is a data qubit and every target a parity qubit, which may involve non-nearest neighbour interactions for a given physical layout. Equivalently, it is possible to take C𝐶Citalic_C to contain only nearest-neighbour CNOTs, where now some control qubits are parity qubits (see e.g., Figure 0(a)). The compilation of a given parity code into a nearest-neighbour layout is an interesting optimisation problem and a topic of ongoing research [7, 6, 5].

For each |ψket𝜓\ket{\psi}| start_ARG italic_ψ end_ARG ⟩, |LHZψket𝐿𝐻subscript𝑍𝜓\ket{LHZ_{\psi}}| start_ARG italic_L italic_H italic_Z start_POSTSUBSCRIPT italic_ψ end_POSTSUBSCRIPT end_ARG ⟩ is a state in the parity codespace for the given architecture. The stabilizer of the parity code is generated by operators of the form

K(ijk):=Z(ijk)ZiZjZkassignsubscriptsuperscript𝐾𝑖𝑗𝑘tensor-productsubscript𝑍𝑖𝑗𝑘subscript𝑍𝑖subscript𝑍𝑗subscript𝑍𝑘\displaystyle K^{\prime}_{(ij...k)}:=Z_{(ij...k)}\otimes Z_{i}\otimes Z_{j}% \otimes...\otimes Z_{k}italic_K start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ( italic_i italic_j … italic_k ) end_POSTSUBSCRIPT := italic_Z start_POSTSUBSCRIPT ( italic_i italic_j … italic_k ) end_POSTSUBSCRIPT ⊗ italic_Z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊗ italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⊗ … ⊗ italic_Z start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT (2)

where the single subscripts i𝑖iitalic_i, j𝑗jitalic_j, etc. indicate data qubits and the subscript (ijk)𝑖𝑗𝑘(ij...k)( italic_i italic_j … italic_k ) indicates the parity qubit that encodes the parity information of data qubits i𝑖iitalic_i, j𝑗jitalic_j and so on. The operators K(ijk)subscriptsuperscript𝐾𝑖𝑗𝑘K^{\prime}_{(ij...k)}italic_K start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ( italic_i italic_j … italic_k ) end_POSTSUBSCRIPT for all parity qubits are mutually independent and generate the codespace. Note that often each parity qubit is taken to encode the parity of just two data qubits.

A benefit of this encoding consists in the ability to implement diagonal multi-qubit logical operations via single qubit physical rotations. For example, applying a local Z𝑍Zitalic_Z-rotation to a parity qubit (ij)𝑖𝑗(ij)( italic_i italic_j ) effectively applies a logical ZiZjtensor-productsubscript𝑍𝑖subscript𝑍𝑗Z_{i}\otimes Z_{j}italic_Z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊗ italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT-rotation, from which a controlled-phase gate between logical qubits i𝑖iitalic_i and j𝑗jitalic_j can be obtained via local Z𝑍Zitalic_Z-rotations on the corresponding data qubits [3]. For full universal quantum computation, in conjunction with Z𝑍Zitalic_Z-rotations and controlled-phase gates, it suffices to be able to implement a logical X𝑋Xitalic_X-rotation. For a data qubit i𝑖iitalic_i, this can be done via a decoding sequence of CNOTs along all parity qubits containing parity information about i𝑖iitalic_i, a local X𝑋Xitalic_X-rotation at data qubit i𝑖iitalic_i, and a re-encoding sequence of CNOTs (see [3] for more details).

Until recently, the typical parity decoding procedures involved applying the encoding sequence of CNOT gates in reverse. In [21], an equivalent decoding procedure was proposed involving local X𝑋Xitalic_X-measurements on parity qubits followed by local Z𝑍Zitalic_Z-operations conditional on measurement outcomes. One benefit of this approach is that full and partial decoding can be performed in constant-depth regardless of the size of the architecture.

For this gate set and measurement-based decoding, a unitary U𝑈Uitalic_U applied to input state |ψket𝜓\ket{\psi}| start_ARG italic_ψ end_ARG ⟩ in the parity regime can be decomposed into a series of layers, where each layer involves parity qubit rotations followed by decoding. For notational simplicity, we consider full decoding in each layer. Denoting the set of layers by L𝐿Litalic_L, the set of data qubits by I𝐼Iitalic_I and the set of parity qubits by VI𝑉𝐼V\setminus Iitalic_V ∖ italic_I, the computation can be written as:

U|ψ𝑈ket𝜓\displaystyle U\ket{\psi}italic_U | start_ARG italic_ψ end_ARG ⟩ =l=1L(Udata(l)(𝜶(l),ϕ(l))Ddec(l)(𝜽(l))Uenc|0N)|ψabsentsuperscriptsubscriptproduct𝑙1𝐿superscriptsubscript𝑈data𝑙superscript𝜶𝑙superscriptbold-italic-ϕ𝑙superscriptsubscript𝐷dec𝑙superscript𝜽𝑙subscript𝑈encsuperscriptket0tensor-productabsent𝑁ket𝜓\displaystyle=\prod_{l=1}^{L}\left(U_{\text{data}}^{(l)}(\bm{\alpha}^{(l)},\bm% {\phi}^{(l)})D_{\text{dec}}^{(l)}(\bm{\theta}^{(l)})U_{\text{enc}}\ket{0}^{% \otimes N}\right)\ket{\psi}= ∏ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT ( italic_U start_POSTSUBSCRIPT data end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ( bold_italic_α start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT , bold_italic_ϕ start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ) italic_D start_POSTSUBSCRIPT dec end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ( bold_italic_θ start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ) italic_U start_POSTSUBSCRIPT enc end_POSTSUBSCRIPT | start_ARG 0 end_ARG ⟩ start_POSTSUPERSCRIPT ⊗ italic_N end_POSTSUPERSCRIPT ) | start_ARG italic_ψ end_ARG ⟩ (3)

where Uencsubscript𝑈encU_{\text{enc}}italic_U start_POSTSUBSCRIPT enc end_POSTSUBSCRIPT acts on both the ancilla |0Nsuperscriptket0tensor-productabsent𝑁\ket{0}^{\otimes N}| start_ARG 0 end_ARG ⟩ start_POSTSUPERSCRIPT ⊗ italic_N end_POSTSUPERSCRIPT as well as the qubits in I𝐼Iitalic_I, Ddec(l)(𝜽(l))superscriptsubscript𝐷dec𝑙superscript𝜽𝑙D_{\text{dec}}^{(l)}(\bm{\theta}^{(l)})italic_D start_POSTSUBSCRIPT dec end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ( bold_italic_θ start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ) is the operator involving parity qubit rotations and decoding for layer l𝑙litalic_l given by

Ddec(l)(𝜽(l)):=(ijk)VI+(ijk)|RZ(ijk)(θ(ijk)(l))assignsuperscriptsubscript𝐷dec𝑙superscript𝜽𝑙subscripttensor-product𝑖𝑗𝑘𝑉𝐼brasubscript𝑖𝑗𝑘subscript𝑅subscript𝑍𝑖𝑗𝑘superscriptsubscript𝜃𝑖𝑗𝑘𝑙\displaystyle D_{\text{dec}}^{(l)}(\bm{\theta}^{(l)}):=\bigotimes_{(ij...k)\in V% \setminus I}\bra{+_{(ij...k)}}R_{Z_{(ij...k)}}(\theta_{(ij...k)}^{(l)})italic_D start_POSTSUBSCRIPT dec end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ( bold_italic_θ start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ) := ⨂ start_POSTSUBSCRIPT ( italic_i italic_j … italic_k ) ∈ italic_V ∖ italic_I end_POSTSUBSCRIPT ⟨ start_ARG + start_POSTSUBSCRIPT ( italic_i italic_j … italic_k ) end_POSTSUBSCRIPT end_ARG | italic_R start_POSTSUBSCRIPT italic_Z start_POSTSUBSCRIPT ( italic_i italic_j … italic_k ) end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_θ start_POSTSUBSCRIPT ( italic_i italic_j … italic_k ) end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ) (4)

and Udata(l)(𝜶(l),ϕ(l))superscriptsubscript𝑈data𝑙superscript𝜶𝑙superscriptbold-italic-ϕ𝑙U_{\text{data}}^{(l)}(\bm{\alpha}^{(l)},\bm{\phi}^{(l)})italic_U start_POSTSUBSCRIPT data end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ( bold_italic_α start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT , bold_italic_ϕ start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ) is the product of local rotation on data qubits for layer l given by:

Udata(l)(𝜶(l),ϕ(l)):=iIRXi(αi(l))RZi(ϕi(l)).assignsuperscriptsubscript𝑈data𝑙superscript𝜶𝑙superscriptbold-italic-ϕ𝑙subscripttensor-product𝑖𝐼subscript𝑅subscript𝑋𝑖superscriptsubscript𝛼𝑖𝑙subscript𝑅subscript𝑍𝑖superscriptsubscriptitalic-ϕ𝑖𝑙\displaystyle U_{\text{data}}^{(l)}(\bm{\alpha}^{(l)},\bm{\phi}^{(l)}):=% \bigotimes_{i\in I}R_{X_{i}}(\alpha_{i}^{(l)})R_{Z_{i}}(\phi_{i}^{(l)}).italic_U start_POSTSUBSCRIPT data end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ( bold_italic_α start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT , bold_italic_ϕ start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ) := ⨂ start_POSTSUBSCRIPT italic_i ∈ italic_I end_POSTSUBSCRIPT italic_R start_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_α start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ) italic_R start_POSTSUBSCRIPT italic_Z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ) . (5)

Note that the only distinction in the case of partial decoding is that Ddec(l)superscriptsubscript𝐷dec𝑙D_{\text{dec}}^{(l)}italic_D start_POSTSUBSCRIPT dec end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT contains measurements in some subset of VI𝑉𝐼V\setminus Iitalic_V ∖ italic_I, the ancilla prepared in |0ket0\ket{0}| start_ARG 0 end_ARG ⟩ in the subsequent layer correspond to the same subset, and the relevant Uencsubscript𝑈encU_{\text{enc}}italic_U start_POSTSUBSCRIPT enc end_POSTSUBSCRIPT is replaced by Uenc(l+1)superscriptsubscript𝑈enc𝑙1U_{\text{enc}}^{(l+1)}italic_U start_POSTSUBSCRIPT enc end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_l + 1 ) end_POSTSUPERSCRIPT which applies only the appropriate CNOTs to re-encode back to the full LHZ state.

Refer to caption
(a) An example of an LHZ architecture.
Refer to caption
(b) The equivalent bipartite graph code.
Figure 1: (a) The parity encoding encodes an input state prepared on the data qubits (white circles). The grey circles denote parity qubits prepared in |0ket0\ket{0}| start_ARG 0 end_ARG ⟩ and CNOT gates are applied to data and parity according to the layout as shown. This parity code in is equivalent to a graph code for the bipartite graph shown in (b).

Measurement-Based Quantum Computing - Measurement-based quantum computing (MBQC) [15, 16, 17, 18] consists of three things: (i) a highly entangled graph state [10, 11], (ii) a sequence of single qubit projective measurements in certain planes of the Bloch sphere, and (iii) classical, adaptive corrections of future measurements conditioned on prior measurement outcomes. Despite the indeterminacy of quantum measurements, deterministic computation can be performed, provided the sequence of measurements and underlying graph state satisfy certain properties [22].

Graph states take their name from their connection to mathematical graphs, where vertices correspond to qubits and edges correspond to two-qubit gates. We consider here graph states where a computational input state |ψket𝜓\ket{\psi}| start_ARG italic_ψ end_ARG ⟩ can be prepared on a selected subset of vertices, denoted I𝐼Iitalic_I.

Let G𝐺Gitalic_G be a graph with vertex set V𝑉Vitalic_V and edge set E~~𝐸\tilde{E}over~ start_ARG italic_E end_ARG. Let IV𝐼𝑉I\subset Vitalic_I ⊂ italic_V be a set of distinguished vertices such that |I|=n𝐼𝑛|I|=n| italic_I | = italic_n and |VI|=N𝑉𝐼𝑁|V\setminus I|=N| italic_V ∖ italic_I | = italic_N. Let |ψket𝜓\ket{\psi}| start_ARG italic_ψ end_ARG ⟩ be a state in the Hilbert space associated to the input vertices, Isubscript𝐼\mathcal{H}_{I}caligraphic_H start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT. Let E𝐸Eitalic_E denote the set of edges that are not entirely contained in I𝐼Iitalic_I. The graph state with input is then

|Gψ:={v,v}ECZv,v|ψI|+N.assignketsubscript𝐺𝜓subscriptproduct𝑣superscript𝑣𝐸subscriptCZ𝑣superscript𝑣subscriptket𝜓𝐼superscriptkettensor-productabsent𝑁\displaystyle\ket{G_{\psi}}:=\prod_{\{v,v^{\prime}\}\in E}\text{CZ}_{v,v^{% \prime}}\ket{\psi}_{I}\ket{+}^{\otimes N}.| start_ARG italic_G start_POSTSUBSCRIPT italic_ψ end_POSTSUBSCRIPT end_ARG ⟩ := ∏ start_POSTSUBSCRIPT { italic_v , italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT } ∈ italic_E end_POSTSUBSCRIPT CZ start_POSTSUBSCRIPT italic_v , italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT | start_ARG italic_ψ end_ARG ⟩ start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT | start_ARG + end_ARG ⟩ start_POSTSUPERSCRIPT ⊗ italic_N end_POSTSUPERSCRIPT . (6)

For any input state |ψket𝜓\ket{\psi}| start_ARG italic_ψ end_ARG ⟩, the graph state with input is invariant under the application of any operation in the set {Kv:vVI}conditional-setsubscript𝐾𝑣𝑣𝑉𝐼\{K_{v}:v\in V\setminus I\}{ italic_K start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT : italic_v ∈ italic_V ∖ italic_I } where

Kv:=XvZNvGassignsubscript𝐾𝑣tensor-productsubscript𝑋𝑣subscript𝑍superscriptsubscript𝑁𝑣𝐺\displaystyle K_{v}:=X_{v}\otimes Z_{N_{v}^{G}}italic_K start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT := italic_X start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ⊗ italic_Z start_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT end_POSTSUBSCRIPT (7)

with NvGsuperscriptsubscript𝑁𝑣𝐺N_{v}^{G}italic_N start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT denoting the set of neighbours of vertex v𝑣vitalic_v in G𝐺Gitalic_G and ZNvG:=vNvGZvassignsubscript𝑍superscriptsubscript𝑁𝑣𝐺subscripttensor-productsuperscript𝑣superscriptsubscript𝑁𝑣𝐺subscript𝑍superscript𝑣Z_{N_{v}^{G}}:=\bigotimes_{v^{\prime}\in N_{v}^{G}}Z_{v^{\prime}}italic_Z start_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT end_POSTSUBSCRIPT := ⨂ start_POSTSUBSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_N start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_Z start_POSTSUBSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT. The Kvsubscript𝐾𝑣K_{v}italic_K start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT are all mutually independent and the set {Kv:vVI}conditional-setsubscript𝐾𝑣𝑣𝑉𝐼\{K_{v}:v\in V\setminus I\}{ italic_K start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT : italic_v ∈ italic_V ∖ italic_I } generates a 2nsuperscript2𝑛2^{n}2 start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT-dimensional subspace of vsubscript𝑣\mathcal{H}_{v}caligraphic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT, the graph codespace corresponding to G𝐺Gitalic_G (see e.g., [12, 14] for further details on graph codes 111Just as [3] modified the original LHZ architecture [2] to contain data qubits, we are considering graph codes where the input qubits remain unmeasured, a modification to be removed in future work.).

In the measurement-based regime, computation is driven by single-qubit projective measurements restricted to the XY𝑋𝑌XYitalic_X italic_Y-, XZ𝑋𝑍XZitalic_X italic_Z- and YZ𝑌𝑍YZitalic_Y italic_Z-planes of the Bloch sphere. A given computation is defined by one specific outcome for each measurement, and the restriction to the given planes allows for the correction of undesired outcomes via an effective application of an appropriate stabiliser element (or products thereof). However, even with these restrictions not every sequence of measurements for a given graph states is possible. The combination of graph state and measurements that do allow for computation are well characterised by a property called gflow (see Appendix A) which is known to be a necessary and sufficient condition for deterministic MBQC [22].

II Results

It is known that every stabiliser code is equivalent to a graph code [13] (see also [24]). The following is an instance of this result using the specific properties exhibited by parity codes.

Proposition 1.

Every parity code is local Clifford equivalent to a bipartite graph code, where all data qubits are contained in one partition.

Proof.

A parity code is defined by a stabiliser generated by the operators K(ijk)=Z(ijk)ZiZjZksubscriptsuperscript𝐾𝑖𝑗𝑘tensor-productsubscript𝑍𝑖𝑗𝑘subscript𝑍𝑖subscript𝑍𝑗subscript𝑍𝑘K^{\prime}_{(ij...k)}=Z_{(ij...k)}\otimes Z_{i}\otimes Z_{j}\otimes...\otimes Z% _{k}italic_K start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ( italic_i italic_j … italic_k ) end_POSTSUBSCRIPT = italic_Z start_POSTSUBSCRIPT ( italic_i italic_j … italic_k ) end_POSTSUBSCRIPT ⊗ italic_Z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊗ italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⊗ … ⊗ italic_Z start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT for each parity qubit (ijk)𝑖𝑗𝑘(ij...k)( italic_i italic_j … italic_k ). The set of qubits upon which these operators act includes only a single parity qubit. Via conjugation by Hadamards on each parity qubit, we obtain the local Clifford equivalent stabiliser generated by K(ij)=X(ijk)ZiZjZksubscript𝐾𝑖𝑗tensor-productsubscript𝑋𝑖𝑗𝑘subscript𝑍𝑖subscript𝑍𝑗subscript𝑍𝑘K_{(ij...)}=X_{(ij...k)}\otimes Z_{i}\otimes Z_{j}\otimes...\otimes Z_{k}italic_K start_POSTSUBSCRIPT ( italic_i italic_j … ) end_POSTSUBSCRIPT = italic_X start_POSTSUBSCRIPT ( italic_i italic_j … italic_k ) end_POSTSUBSCRIPT ⊗ italic_Z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊗ italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⊗ … ⊗ italic_Z start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. Since the K(ijk)subscript𝐾𝑖𝑗𝑘K_{(ij...k)}italic_K start_POSTSUBSCRIPT ( italic_i italic_j … italic_k ) end_POSTSUBSCRIPT are of the form X(ijk)ZN(ijk)Gtensor-productsubscript𝑋𝑖𝑗𝑘subscript𝑍superscriptsubscript𝑁𝑖𝑗𝑘𝐺X_{(ij...k)}\otimes Z_{N_{(ij...k)}^{G}}italic_X start_POSTSUBSCRIPT ( italic_i italic_j … italic_k ) end_POSTSUBSCRIPT ⊗ italic_Z start_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT ( italic_i italic_j … italic_k ) end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT end_POSTSUBSCRIPT which generate a graph code for a graph G𝐺Gitalic_G with edges between parity and data qubits. That is, each neighbourhood N(ijk)Gsuperscriptsubscript𝑁𝑖𝑗𝑘𝐺N_{(ij...k)}^{G}italic_N start_POSTSUBSCRIPT ( italic_i italic_j … italic_k ) end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT contains only vertices corresponding to data qubits, which enforces a parity qubit-data qubit bipartition. ∎

An example of this correspondence is shown in Figure 0(a) and Figure 0(b). Note that there exist graph codes that are not local Clifford equivalent to bipartite graph codes, and hence are inequivalent to any parity code.

An immediate consequence of 1 is that, for any |ψket𝜓\ket{\psi}| start_ARG italic_ψ end_ARG ⟩, we have

|LHZψ=vVIHv|Gψket𝐿𝐻subscript𝑍𝜓subscripttensor-product𝑣𝑉𝐼subscript𝐻𝑣ketsubscript𝐺𝜓\displaystyle\ket{LHZ_{\psi}}=\bigotimes_{v\in V\setminus I}H_{v}\ket{G_{\psi}}| start_ARG italic_L italic_H italic_Z start_POSTSUBSCRIPT italic_ψ end_POSTSUBSCRIPT end_ARG ⟩ = ⨂ start_POSTSUBSCRIPT italic_v ∈ italic_V ∖ italic_I end_POSTSUBSCRIPT italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT | start_ARG italic_G start_POSTSUBSCRIPT italic_ψ end_POSTSUBSCRIPT end_ARG ⟩ (8)

where G𝐺Gitalic_G denotes the bipartite graph corresponding to the parity code, I𝐼Iitalic_I denotes the set of vertices corresponding to data qubits and V𝑉Vitalic_V is the set of all qubits. We will use VI𝑉𝐼V\setminus Iitalic_V ∖ italic_I to denote the set of parity qubits forthwith.

Consider the parity computation U𝑈Uitalic_U described in Equation 3. For simplicity, let us first consider only the initial layer l=1𝑙1l=1italic_l = 1 and drop the parameters 𝜶𝜶\bm{\alpha}bold_italic_α, ϕbold-italic-ϕ\bm{\phi}bold_italic_ϕ and 𝜽𝜽\bm{\theta}bold_italic_θ from the notation since the following holds for all parameter values. Using Equation 8, we get that

Udata(1)Ddec(1)Uenc|0N|ψ=Udata(1)Ddec(1)HVI|Gψsuperscriptsubscript𝑈data1superscriptsubscript𝐷dec1subscript𝑈encsuperscriptket0tensor-productabsent𝑁ket𝜓superscriptsubscript𝑈data1superscriptsubscript𝐷dec1subscript𝐻𝑉𝐼ketsubscript𝐺𝜓\displaystyle U_{\text{data}}^{(1)}D_{\text{dec}}^{(1)}U_{\text{enc}}\ket{0}^{% \otimes N}\ket{\psi}=U_{\text{data}}^{(1)}D_{\text{dec}}^{(1)}H_{V\setminus I}% \ket{G_{\psi}}italic_U start_POSTSUBSCRIPT data end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT italic_D start_POSTSUBSCRIPT dec end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT italic_U start_POSTSUBSCRIPT enc end_POSTSUBSCRIPT | start_ARG 0 end_ARG ⟩ start_POSTSUPERSCRIPT ⊗ italic_N end_POSTSUPERSCRIPT | start_ARG italic_ψ end_ARG ⟩ = italic_U start_POSTSUBSCRIPT data end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT italic_D start_POSTSUBSCRIPT dec end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT italic_H start_POSTSUBSCRIPT italic_V ∖ italic_I end_POSTSUBSCRIPT | start_ARG italic_G start_POSTSUBSCRIPT italic_ψ end_POSTSUBSCRIPT end_ARG ⟩ (9)

where HVIsubscript𝐻𝑉𝐼H_{V\setminus I}italic_H start_POSTSUBSCRIPT italic_V ∖ italic_I end_POSTSUBSCRIPT is shorthand for vVIHvsubscripttensor-product𝑣𝑉𝐼absentsubscript𝐻𝑣\otimes_{v\in V\setminus I}H_{v}⊗ start_POSTSUBSCRIPT italic_v ∈ italic_V ∖ italic_I end_POSTSUBSCRIPT italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT. Both Ddec(1)superscriptsubscript𝐷dec1D_{\text{dec}}^{(1)}italic_D start_POSTSUBSCRIPT dec end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT and HVIsubscript𝐻𝑉𝐼H_{V\setminus I}italic_H start_POSTSUBSCRIPT italic_V ∖ italic_I end_POSTSUBSCRIPT act on the same qubits and can be simplified as:

Ddec(1)HVI=vVI0v|RXv(θv(1)).superscriptsubscript𝐷dec1subscript𝐻𝑉𝐼subscripttensor-product𝑣𝑉𝐼brasubscript0𝑣subscript𝑅subscript𝑋𝑣superscriptsubscript𝜃𝑣1\displaystyle D_{\text{dec}}^{(1)}H_{V\setminus I}=\bigotimes_{v\in V\setminus I% }\bra{0_{v}}R_{X_{v}}(\theta_{v}^{(1)}).italic_D start_POSTSUBSCRIPT dec end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT italic_H start_POSTSUBSCRIPT italic_V ∖ italic_I end_POSTSUBSCRIPT = ⨂ start_POSTSUBSCRIPT italic_v ∈ italic_V ∖ italic_I end_POSTSUBSCRIPT ⟨ start_ARG 0 start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT end_ARG | italic_R start_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_θ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ) . (10)

The operator 0v|RXv(θv(1))brasubscript0𝑣subscript𝑅subscript𝑋𝑣superscriptsubscript𝜃𝑣1\bra{0_{v}}R_{X_{v}}(\theta_{v}^{(1)})⟨ start_ARG 0 start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT end_ARG | italic_R start_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_θ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ) is a measurement in the YZ-plane of the Bloch sphere, and hence Ddec(1)HVI|Gψsuperscriptsubscript𝐷dec1subscript𝐻𝑉𝐼ketsubscript𝐺𝜓D_{\text{dec}}^{(1)}H_{V\setminus I}\ket{G_{\psi}}italic_D start_POSTSUBSCRIPT dec end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT italic_H start_POSTSUBSCRIPT italic_V ∖ italic_I end_POSTSUBSCRIPT | start_ARG italic_G start_POSTSUBSCRIPT italic_ψ end_POSTSUBSCRIPT end_ARG ⟩ is precisely a measurement-based computation where all measurements are restricted to that plane (the issue of measurement corrections is covered below). Denote the output of the first layer as |ψ(1)ketsuperscript𝜓1\ket{\psi^{(1)}}| start_ARG italic_ψ start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT end_ARG ⟩, which is the resultant state of applying Udata(1)superscriptsubscript𝑈data1U_{\text{data}}^{(1)}italic_U start_POSTSUBSCRIPT data end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT to the output state of the MBQC. The remaining computation is then given by

l=2L(Udata(l)Ddec(l)Uenc|0N)|ψ(1)superscriptsubscriptproduct𝑙2𝐿superscriptsubscript𝑈data𝑙superscriptsubscript𝐷dec𝑙subscript𝑈encsuperscriptket0tensor-productabsent𝑁ketsuperscript𝜓1\displaystyle\prod_{l=2}^{L}\left(U_{\text{data}}^{(l)}D_{\text{dec}}^{(l)}U_{% \text{enc}}\ket{0}^{\otimes N}\right)\ket{\psi^{(1)}}∏ start_POSTSUBSCRIPT italic_l = 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT ( italic_U start_POSTSUBSCRIPT data end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT italic_D start_POSTSUBSCRIPT dec end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT italic_U start_POSTSUBSCRIPT enc end_POSTSUBSCRIPT | start_ARG 0 end_ARG ⟩ start_POSTSUPERSCRIPT ⊗ italic_N end_POSTSUPERSCRIPT ) | start_ARG italic_ψ start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT end_ARG ⟩ (11)

for which the above process can be repeated. We have thus shown the following:

Theorem 1.

Universal parity quantum computing is repeated measurement-based quantum computation using YZ-plane measurements, interleaved with local rotations.

It should be noted that typically, MBQC is done on a fully pre-prepared graph state where input I𝐼Iitalic_I and output O𝑂Oitalic_O are distinct. However, proposals for repeated MBQC which de- and re-encode graph codes have been considered previously [25]; see also [20] for a recent perspective.

In light of the above, it is prudent to demarcate the parity computing regime with respect to the MBQC regime. One could reasonably ask if there exist YZ-only measurement-based computations on graphs that are not bipartite. However, the following theorem demonstrates that this in fact not the case. The theorem also takes care of any issues regarding correction of measurements (this is explained further in Appendix A).

As mentioned above, MBQC on a graph state G𝐺Gitalic_G typically includes specifying an input and output set of vertices, denoted by I𝐼Iitalic_I and O𝑂Oitalic_O respectively. For a deterministic MBQC to produce a unitary transformation (as opposed to an isometry), we require |I|=|O|𝐼𝑂|I|=|O|| italic_I | = | italic_O |.

Theorem 2.

MBQC on a (simple, connected) graph G𝐺Gitalic_G with |I|=|O|𝐼𝑂|I|=|O|| italic_I | = | italic_O | and using only YZ-plane measurements is deterministic if and only if G𝐺Gitalic_G is bipartite with I𝐼Iitalic_I forming one partition.

The proof makes use of technical lemmas related to gflow which are proved along with the theorem in Appendix A.

III Discussion

This work has demonstrated that (i) parity codes are local Clifford equivalent to bipartite graph codes, (ii) as a consequence, parity quantum computing can be understood as repeated MBQC where all measurements are made in the YZ-plane, supplemented by local rotations, and (iii) MBQC with equivalent input and output qubits and using only YZ-plane measurements must use a bipartite graph state.

Interestingly, these results demonstrate that the universal parity computing regime has effectively singled out YZ-plane unitary MBQC exactly. To the best of our knowledge, the restriction to having equivalent input and output and only YZ-measurements has not been considered before in the MBQC literature. On the other hand, this is a restriction of the full MBQC framework, which means that there is ample scope for future investigation into what other aspects of MBQC could be brought to bear on the parity computing regime, and vice versa.

There are a number of consequences of these results worth mentioning already here. In [21], it was noted that the parity measurement-based encoding and decoding procedures can be implemented in constant depth regardless of architecture size. Since the decoding procedure corresponds to measuring vertices in one partition of a bipartite graph, it is clear that all measurements can be done simultaneously and corrected for in the other partition. The encoding procedure can be understood as measuring ancilla vertices of a larger graph state in the X𝑋Xitalic_X-basis, which in particular produces the required bipartite graph (see e.g., [10, 11] for a characterisation of graph state deformations under Pauli measurements). It is known that all Pauli-measurements can be performed simultaneously in MBQC [18].

Bipartite graph states have previously received substantial attention in the MBQC literature; see e.g., [26, 27, 28]. The set of bipartite graph states includes both cluster states and GHZ states, which are both known to be useful for computation and communication protocols. There exist multi-particle entanglement purification protocols for bipartite graph states which exhibit favourable error thresholds for realistic scenarios [26, 27, 28]. Similar techniques may be of benefit for error mitigation in the parity regime - an avenue for future work.

Acknowledgements: We would like to thank B. Klaver and A. Messinger for useful discussions. This research was funded in whole or in part by the Austrian Science Fund (FWF) through the DK-ALM W1259125912591259-N27272727 and the SFB BeyondC F7102. For open access purposes, the authors have applied a CC BY public copyright license to any author-accepted manuscript version arising from this submission. This work was also co-funded by the European Union (ERC, QuantAI, Project No. 101055129101055129101055129101055129). Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Research Council. Neither the European Union nor the granting authority can be held responsible for them.

References

  • Preskill [2018] J. Preskill, Quantum Computing in the NISQ era and beyond, Quantum 2, 79 (2018).
  • Lechner et al. [2015] W. Lechner, P. Hauke, and P. Zoller, A quantum annealing architecture with all-to-all connectivity from local interactions, Science advances 1, e1500838 (2015).
  • Fellner et al. [2022a] M. Fellner, A. Messinger, K. Ender, and W. Lechner, Universal parity quantum computing, Phys. Rev. Lett. 129, 180503 (2022a).
  • Fellner et al. [2022b] M. Fellner, A. Messinger, K. Ender, and W. Lechner, Applications of universal parity quantum computation, Phys. Rev. A 106, 042442 (2022b).
  • Fellner et al. [2023] M. Fellner, K. Ender, R. ter Hoeven, and W. Lechner, Parity Quantum Optimization: Benchmarks, Quantum 7, 952 (2023).
  • Drieb-Schön et al. [2023] M. Drieb-Schön, K. Ender, Y. Javanmard, and W. Lechner, Parity Quantum Optimization: Encoding Constraints, Quantum 7, 951 (2023).
  • Ender et al. [2023] K. Ender, R. ter Hoeven, B. E. Niehoff, M. Drieb-Schön, and W. Lechner, Parity Quantum Optimization: Compiler, Quantum 7, 950 (2023).
  • Gottesman [1997] D. Gottesman, Stabilizer codes and quantum error correction (California Institute of Technology, 1997).
  • Nielsen and Chuang [2010] M. A. Nielsen and I. L. Chuang, Quantum Computation and Quantum Information: 10th Anniversary Edition (Cambridge University Press, 2010).
  • Hein et al. [2004] M. Hein, J. Eisert, and H. J. Briegel, Multiparty entanglement in graph states, Phys. Rev. A 69, 062311 (2004).
  • Hein et al. [2006] M. Hein, W. Dür, J. Eisert, R. Raussendorf, M. Van den Nest, and H. J. Briegel, Entanglement in graph states and its applications, in Volume 162: Quantum Computers, Algorithms and Chaos, Proceedings of the International School of Physics ”Enrico Fermi” (IOS Press Ebooks, 2006) pp. 115–218.
  • Schlingemann [2002] D. Schlingemann, Logical network implementation for cluster states and graph codes, arXiv preprint quant-ph/0202007  (2002).
  • Schlingemann [2001] D. Schlingemann, Stabilizer codes can be realized as graph codes, arXiv preprint quant-ph/0111080  (2001).
  • Schlingemann and Werner [2001] D. Schlingemann and R. F. Werner, Quantum error-correcting codes associated with graphs, Phys. Rev. A 65, 012308 (2001).
  • Raussendorf and Briegel [2001a] R. Raussendorf and H. J. Briegel, A one-way quantum computer, Phys. Rev. Lett. 86, 5188 (2001a).
  • Briegel et al. [2009] H. J. Briegel, D. E. Browne, W. Dür, R. Raussendorf, and M. Van den Nest, Measurement-based quantum computation, Nature Physics 5, 19 (2009).
  • Raussendorf and Briegel [2001b] R. Raussendorf and H. Briegel, Computational model underlying the one-way quantum computer, arXiv preprint quant-ph/0108067 https://doi.org/10.48550/arXiv.quant-ph/0108067 (2001b).
  • Raussendorf et al. [2003] R. Raussendorf, D. E. Browne, and H. J. Briegel, Measurement-based quantum computation on cluster states, Phys. Rev. A 68, 022312 (2003).
  • Walther et al. [2005] P. Walther, K. J. Resch, T. Rudolph, E. Schenck, H. Weinfurter, V. Vedral, M. Aspelmeyer, and A. Zeilinger, Experimental one-way quantum computing, Nature 434, 169 (2005).
  • Poulsen Nautrup and Briegel [2023] H. Poulsen Nautrup and H. J. Briegel, Measurement-based quantum computation from clifford quantum cellular automata, arXiv preprint arXiv:2312.13185  (2023).
  • Messinger et al. [2023] A. Messinger, M. Fellner, and W. Lechner, Constant depth code deformations in the parity architecture, in 2023 IEEE International Conference on Quantum Computing and Engineering (QCE), Vol. 01 (2023) pp. 120–130.
  • Browne et al. [2007] D. E. Browne, E. Kashefi, M. Mhalla, and S. Perdrix, Generalized flow and determinism in measurement-based quantum computation, New Journal of Physics 9, 250 (2007).
  • Note [1] Just as [3] modified the original LHZ architecture [2] to contain data qubits, we are considering graph codes where the input qubits remain unmeasured, a modification to be removed in future work.
  • Van den Nest et al. [2004] M. Van den Nest, J. Dehaene, and B. De Moor, Graphical description of the action of local clifford transformations on graph states, Phys. Rev. A 69, 022316 (2004).
  • Zwerger et al. [2014] M. Zwerger, H. Briegel, and W. Dür, Hybrid architecture for encoded measurement-based quantum computation, Scientific reports 4, 5364 (2014).
  • Dür et al. [2003] W. Dür, H. Aschauer, and H.-J. Briegel, Multiparticle entanglement purification for graph states, Phys. Rev. Lett. 91, 107903 (2003).
  • Aschauer et al. [2005] H. Aschauer, W. Dür, and H.-J. Briegel, Multiparticle entanglement purification for two-colorable graph states, Phys. Rev. A 71, 012319 (2005).
  • Zwerger et al. [2013] M. Zwerger, H. J. Briegel, and W. Dür, Universal and optimal error thresholds for measurement-based entanglement purification, Phys. Rev. Lett. 110, 260503 (2013).

Appendix A Appendix A: Proof of 2

A computation in MBQC is defined by the positive measurement outcomes of a sequence of single qubit projective measurements on a graph state |Gket𝐺\ket{G}| start_ARG italic_G end_ARG ⟩. To compute deterministically, a method for effectively correcting for the occurrence of negative outcomes is required. By restricting measurements to the XY-, XZ- or YZ-planes of the Bloch sphere, the positive and negative projections are related by conjugation via Z𝑍Zitalic_Z, XZ𝑋𝑍XZitalic_X italic_Z and X𝑋Xitalic_X respectively. Since each of these operators features in a tensor factor of some element of the stabiliser for |Gket𝐺\ket{G}| start_ARG italic_G end_ARG ⟩, it is possible to correct for a negative outcome by conditionally “completing” that stabiliser element.

The following definition, due to Browne et al. [22], outlines the criteria that a graph G𝐺Gitalic_G, choice of input and output sets I𝐼Iitalic_I and O𝑂Oitalic_O, and assignment of measurement planes to qubits must satisfy so that any measurement is correctable.

Definition 1.

Let G=(V,E)𝐺𝑉𝐸G=(V,E)italic_G = ( italic_V , italic_E ) be a graph, I𝐼Iitalic_I and O𝑂Oitalic_O be input and output subsets of V𝑉Vitalic_V respectively, and ω:VO{XY,XZ,YZ}:𝜔𝑉𝑂𝑋𝑌𝑋𝑍𝑌𝑍\omega:V\setminus O\rightarrow\{XY,XZ,YZ\}italic_ω : italic_V ∖ italic_O → { italic_X italic_Y , italic_X italic_Z , italic_Y italic_Z } be a map assigning measurement planes to qubits (the superscript c𝑐citalic_c denotes set complement). The tuple (G,I,O,ω)𝐺𝐼𝑂𝜔(G,I,O,\omega)( italic_G , italic_I , italic_O , italic_ω ) has gflow if there exists a map g:VO𝒫(VI):𝑔𝑉𝑂𝒫𝑉𝐼g:V\setminus O\rightarrow\mathcal{P}(V\setminus I)italic_g : italic_V ∖ italic_O → caligraphic_P ( italic_V ∖ italic_I ), where 𝒫𝒫\mathcal{P}caligraphic_P denotes the powerset, and a partial order over V𝑉Vitalic_V such that the following hold for all vVO𝑣𝑉𝑂v\in V\setminus Oitalic_v ∈ italic_V ∖ italic_O:

  1. 1.

    if vg(v)superscript𝑣𝑔𝑣v^{\prime}\in g(v)italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_g ( italic_v ) and vvsuperscript𝑣𝑣v^{\prime}\neq vitalic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≠ italic_v, then v<v𝑣superscript𝑣v<v^{\prime}italic_v < italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT;

  2. 2.

    if vOdd(g(v))superscript𝑣Odd𝑔𝑣v^{\prime}\in\operatorname{Odd}(g(v))italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ roman_Odd ( italic_g ( italic_v ) ) and vvsuperscript𝑣��v^{\prime}\neq vitalic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≠ italic_v, then v<v𝑣superscript𝑣v<v^{\prime}italic_v < italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT;

  3. 3.

    if ω(v)=XY𝜔𝑣𝑋𝑌\omega(v)=XYitalic_ω ( italic_v ) = italic_X italic_Y, then vg(v)𝑣𝑔𝑣v\notin g(v)italic_v ∉ italic_g ( italic_v ) and vOdd(g(v))𝑣Odd𝑔𝑣v\in\operatorname{Odd}(g(v))italic_v ∈ roman_Odd ( italic_g ( italic_v ) );

  4. 4.

    if ω(v)=XZ𝜔𝑣𝑋𝑍\omega(v)=XZitalic_ω ( italic_v ) = italic_X italic_Z, then vg(v)𝑣𝑔𝑣v\in g(v)italic_v ∈ italic_g ( italic_v ) and vOdd(g(v))𝑣Odd𝑔𝑣v\in\operatorname{Odd}(g(v))italic_v ∈ roman_Odd ( italic_g ( italic_v ) );

  5. 5.

    if ω(v)=YZ𝜔𝑣𝑌𝑍\omega(v)=YZitalic_ω ( italic_v ) = italic_Y italic_Z, then vg(v)𝑣𝑔𝑣v\in g(v)italic_v ∈ italic_g ( italic_v ) and vOdd(g(v))𝑣Odd𝑔𝑣v\notin\operatorname{Odd}(g(v))italic_v ∉ roman_Odd ( italic_g ( italic_v ) );

where Odd(K):={v~V:|Nv~GK|=1mod2}assignOdd𝐾conditional-set~𝑣𝑉superscriptsubscript𝑁~𝑣𝐺𝐾modulo12\operatorname{Odd}(K):=\{\tilde{v}\in V:|N_{\tilde{v}}^{G}\cap K|=1\bmod 2\}roman_Odd ( italic_K ) := { over~ start_ARG italic_v end_ARG ∈ italic_V : | italic_N start_POSTSUBSCRIPT over~ start_ARG italic_v end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT ∩ italic_K | = 1 roman_mod 2 } for any KV𝐾𝑉K\subseteq Vitalic_K ⊆ italic_V.

An intuition for the above definition is as follows. For each v𝑣vitalic_v, the sets g(v)𝑔𝑣g(v)italic_g ( italic_v ) and Odd(g(v))Odd𝑔𝑣\operatorname{Odd}(g(v))roman_Odd ( italic_g ( italic_v ) ) specify the stabiliser element for the correction: g(v)𝑔𝑣g(v)italic_g ( italic_v ) is the set of vertices that receive an X𝑋Xitalic_X and Odd(g(v))Odd𝑔𝑣\operatorname{Odd}(g(v))roman_Odd ( italic_g ( italic_v ) ) is the set of vertices that receive a Z𝑍Zitalic_Z. The first two conditions of the definition stipulate that the measurement corrections must occur in the future of the measurement, and the last three conditions enforce the correcting stabiliser element to have the correct tensor factor at each vertex corresponding to which plane that vertex was measured in. It was shown in Theorems 2222 and 3333 of [22] that the gflow is a necessary and sufficient condition for deterministic MBQC. Accordingly, an equivalent statement to 2 in the main text is:

Theorem 3.

(G,I,O,ωYZ)𝐺𝐼𝑂𝜔𝑌𝑍(G,I,O,\omega\equiv YZ)( italic_G , italic_I , italic_O , italic_ω ≡ italic_Y italic_Z ) with |I|=|O|𝐼𝑂|I|=|O|| italic_I | = | italic_O | has gflow if and only if G𝐺Gitalic_G is bipartite with I𝐼Iitalic_I forming one partition.

Before giving the proof of the above theorem, we require the following lemmas:

Lemma 1.

If (G,I,O,ωYZ)𝐺𝐼𝑂𝜔𝑌𝑍(G,I,O,\omega\equiv YZ)( italic_G , italic_I , italic_O , italic_ω ≡ italic_Y italic_Z ) with |I|=|O|𝐼𝑂|I|=|O|| italic_I | = | italic_O | has gflow, then I=O𝐼𝑂I=Oitalic_I = italic_O.

Proof.

Let (g,<)𝑔(g,<)( italic_g , < ) be a gflow for (G,I,O,ω)𝐺𝐼𝑂𝜔(G,I,O,\omega)( italic_G , italic_I , italic_O , italic_ω ) and suppose for a contradiction that IO𝐼𝑂I\neq Oitalic_I ≠ italic_O. Since |I|=|O|𝐼𝑂|I|=|O|| italic_I | = | italic_O | this means that there exists some vI𝑣𝐼v\in Iitalic_v ∈ italic_I such that vO𝑣𝑂v\notin Oitalic_v ∉ italic_O. Accordingly, v𝑣vitalic_v is an element of the domain of the map g𝑔gitalic_g but not the codomain so vg(v)𝑣𝑔𝑣v\notin g(v)italic_v ∉ italic_g ( italic_v ). Via criterion 5555 of 1, this contradicts the assumption that ω(v)=YZ𝜔𝑣𝑌𝑍\omega(v)=YZitalic_ω ( italic_v ) = italic_Y italic_Z. ∎

Lemma 2.

Let (G,I,O,ω)𝐺𝐼𝑂𝜔(G,I,O,\omega)( italic_G , italic_I , italic_O , italic_ω ) with I=O𝐼𝑂I=Oitalic_I = italic_O have gflow (g,<)𝑔(g,<)( italic_g , < ) and let precedes\prec denote the partial order obtained by restricting <<< to VI𝑉𝐼V\setminus Iitalic_V ∖ italic_I. Then any maximal element v𝑣vitalic_v of precedes\prec must be such that g(v)={v}𝑔𝑣𝑣g(v)=\{v\}italic_g ( italic_v ) = { italic_v } and hence ω(v)=YZ𝜔𝑣𝑌𝑍\omega(v)=YZitalic_ω ( italic_v ) = italic_Y italic_Z.

Proof.

Since I=O𝐼𝑂I=Oitalic_I = italic_O, g𝑔gitalic_g maps from VI𝑉𝐼V\setminus Iitalic_V ∖ italic_I to 𝒫(VI)𝒫𝑉𝐼\mathcal{P}(V\setminus I)caligraphic_P ( italic_V ∖ italic_I ). If v𝑣vitalic_v is maximal and g(v){v}𝑔𝑣𝑣g(v)\neq\{v\}italic_g ( italic_v ) ≠ { italic_v } then there exists a vg(v)vsuperscript𝑣𝑔𝑣𝑣v^{\prime}\in g(v)\setminus vitalic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_g ( italic_v ) ∖ italic_v (no g(v)𝑔𝑣g(v)italic_g ( italic_v ) can be empty otherwise this would contradict criteria 3333, 4444 or 5555 of 1). By criterion 1111 of 1, this would mean that v<v𝑣superscript𝑣v<v^{\prime}italic_v < italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and hence also vvprecedes𝑣superscript𝑣v\prec v^{\prime}italic_v ≺ italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, contradicting the maximality of v𝑣vitalic_v. Hence g(v)={v}𝑔𝑣𝑣g(v)=\{v\}italic_g ( italic_v ) = { italic_v } and this must mean that ω(v)=YZ𝜔𝑣𝑌𝑍\omega(v)=YZitalic_ω ( italic_v ) = italic_Y italic_Z since otherwise this would contradict criteria 3333 or 4444. ∎

It is worth noting that, in the case where I=O𝐼𝑂I=Oitalic_I = italic_O, the restriction from <<< to precedes\prec is not a significant one since every vI𝑣𝐼v\in Iitalic_v ∈ italic_I is maximal in <<<.

Lemma 3.

Let (G,I,O,ωYZ)𝐺𝐼𝑂𝜔𝑌𝑍(G,I,O,\omega\equiv YZ)( italic_G , italic_I , italic_O , italic_ω ≡ italic_Y italic_Z ) with I=O𝐼𝑂I=Oitalic_I = italic_O have gflow. Then for every u,vVI𝑢𝑣𝑉𝐼u,v\in V\setminus Iitalic_u , italic_v ∈ italic_V ∖ italic_I and wg(u)𝑤𝑔𝑢w\in g(u)italic_w ∈ italic_g ( italic_u ) and xg(v)𝑥𝑔𝑣x\in g(v)italic_x ∈ italic_g ( italic_v ), wNxG𝑤superscriptsubscript𝑁𝑥𝐺w\notin N_{x}^{G}italic_w ∉ italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT.

Before giving the proof, let us consider some consequences of this lemma. Taking u=v=x𝑢𝑣𝑥u=v=xitalic_u = italic_v = italic_x, we get that NuGg(u)=superscriptsubscript𝑁𝑢𝐺𝑔𝑢N_{u}^{G}\cap g(u)=\emptysetitalic_N start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT ∩ italic_g ( italic_u ) = ∅. Taking u=v𝑢𝑣u=vitalic_u = italic_v but xw𝑥𝑤x\neq witalic_x ≠ italic_w, we get that no two elements of g(u)𝑔𝑢g(u)italic_g ( italic_u ) are connected by an edge. Taking uv𝑢𝑣u\neq vitalic_u ≠ italic_v, we get that no element of g(u)𝑔𝑢g(u)italic_g ( italic_u ) is connected to an element of g(v)𝑔𝑣g(v)italic_g ( italic_v ). As a result, there are no edges between any elements in vVIg(v)subscript𝑣𝑉𝐼𝑔𝑣\bigcup_{v\in V\setminus I}g(v)⋃ start_POSTSUBSCRIPT italic_v ∈ italic_V ∖ italic_I end_POSTSUBSCRIPT italic_g ( italic_v ), which is used in the proof of the theorem below.

Proof.

Suppose (g,<)𝑔(g,<)( italic_g , < ) is a valid gflow for (G,I,O,ωYZ)𝐺𝐼𝑂𝜔𝑌𝑍(G,I,O,\omega\equiv YZ)( italic_G , italic_I , italic_O , italic_ω ≡ italic_Y italic_Z ) with I=O𝐼𝑂I=Oitalic_I = italic_O, which in particular means that <<< is a valid partial order and criteria 1111, 2222 and 5555 in 1 are satisfied. Pursuant to 2, we make use of the partial order precedes\prec which is the restriction of <<< to VI𝑉𝐼V\setminus Iitalic_V ∖ italic_I.

Let u,vVI𝑢𝑣𝑉𝐼u,v\in V\setminus Iitalic_u , italic_v ∈ italic_V ∖ italic_I and wg(u)𝑤𝑔𝑢w\in g(u)italic_w ∈ italic_g ( italic_u ) and xg(v)𝑥𝑔𝑣x\in g(v)italic_x ∈ italic_g ( italic_v ). Since G𝐺Gitalic_G is a simple graph, for w=x𝑤𝑥w=xitalic_w = italic_x, wNxG𝑤superscriptsubscript𝑁𝑥𝐺w\notin N_{x}^{G}italic_w ∉ italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT by definition, so we consider wx𝑤𝑥w\neq xitalic_w ≠ italic_x forthwith. Suppose for a contradiction that wNxG𝑤superscriptsubscript𝑁𝑥𝐺w\in N_{x}^{G}italic_w ∈ italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT. If wOdd(g(x))𝑤Odd𝑔𝑥w\in\operatorname{Odd}(g(x))italic_w ∈ roman_Odd ( italic_g ( italic_x ) ) and xOdd(g(w))𝑥Odd𝑔𝑤x\in\operatorname{Odd}(g(w))italic_x ∈ roman_Odd ( italic_g ( italic_w ) ), then a contradiction arises since criterion 2222 requires wxprecedes𝑤𝑥w\prec xitalic_w ≺ italic_x and xwprecedes𝑥𝑤x\prec witalic_x ≺ italic_w. We consider the following two cases in turn: (a) wOdd(g(x))𝑤Odd𝑔𝑥w\notin\operatorname{Odd}(g(x))italic_w ∉ roman_Odd ( italic_g ( italic_x ) ) and xOdd(g(w))𝑥Odd𝑔𝑤x\in\operatorname{Odd}(g(w))italic_x ∈ roman_Odd ( italic_g ( italic_w ) ) or wOdd(g(x))𝑤Odd𝑔𝑥w\in\operatorname{Odd}(g(x))italic_w ∈ roman_Odd ( italic_g ( italic_x ) ) and xOdd(g(w))𝑥Odd𝑔𝑤x\notin\operatorname{Odd}(g(w))italic_x ∉ roman_Odd ( italic_g ( italic_w ) ) and (b) wOdd(g(x))𝑤Odd𝑔𝑥w\notin\operatorname{Odd}(g(x))italic_w ∉ roman_Odd ( italic_g ( italic_x ) ) and xOdd(g(w))𝑥Odd𝑔𝑤x\notin\operatorname{Odd}(g(w))italic_x ∉ roman_Odd ( italic_g ( italic_w ) ).

Case (a): Since the two sub-cases are the same up to swapping w𝑤witalic_w and x𝑥xitalic_x, we consider without loss of generality the case where wOdd(g(x))𝑤Odd𝑔𝑥w\notin\operatorname{Odd}(g(x))italic_w ∉ roman_Odd ( italic_g ( italic_x ) ) but xOdd(g(w))𝑥Odd𝑔𝑤x\in\operatorname{Odd}(g(w))italic_x ∈ roman_Odd ( italic_g ( italic_w ) ). Since wx𝑤𝑥w\neq xitalic_w ≠ italic_x, the latter gives that wxprecedes𝑤𝑥w\prec xitalic_w ≺ italic_x. Since xNwG𝑥superscriptsubscript𝑁𝑤𝐺x\in N_{w}^{G}italic_x ∈ italic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT by assumption, there must exist a x1g(x)xsubscript𝑥1𝑔𝑥𝑥x_{1}\in g(x)\setminus xitalic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ italic_g ( italic_x ) ∖ italic_x such that x1NwGsubscript𝑥1superscriptsubscript𝑁𝑤𝐺x_{1}\in N_{w}^{G}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ italic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT in order for wOdd(g(x))𝑤Odd𝑔𝑥w\notin\operatorname{Odd}(g(x))italic_w ∉ roman_Odd ( italic_g ( italic_x ) ) to hold. If wOdd(g(x1))𝑤Odd𝑔subscript𝑥1w\in\operatorname{Odd}(g(x_{1}))italic_w ∈ roman_Odd ( italic_g ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ), then a contradiction arises since the criteria of gflow would require that wxx1wprecedes𝑤𝑥precedessubscript𝑥1precedes𝑤w\prec x\prec x_{1}\prec witalic_w ≺ italic_x ≺ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≺ italic_w. If wOdd(g(x1))𝑤Odd𝑔subscript𝑥1w\notin\operatorname{Odd}(g(x_{1}))italic_w ∉ roman_Odd ( italic_g ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ), then there must exist a x2g(x1)x1subscript𝑥2𝑔subscript𝑥1subscript𝑥1x_{2}\in g(x_{1})\setminus x_{1}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_g ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ∖ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT such that x2NwGsubscript𝑥2superscriptsubscript𝑁𝑤𝐺x_{2}\in N_{w}^{G}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT. By iterating the above reasoning, a sequence of vertices x1,x2,,xlsubscript𝑥1subscript𝑥2subscript𝑥𝑙x_{1},x_{2},...,x_{l}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_x start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT is generated for which xi+1g(xi)xisubscript𝑥𝑖1𝑔subscript𝑥𝑖subscript𝑥𝑖x_{i+1}\in g(x_{i})\setminus x_{i}italic_x start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ∈ italic_g ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ∖ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, xi+1NwGsubscript𝑥𝑖1superscriptsubscript𝑁𝑤𝐺x_{i+1}\in N_{w}^{G}italic_x start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ∈ italic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT, and wOdd(g(xi+1))𝑤Odd𝑔subscript𝑥𝑖1w\notin\operatorname{Odd}(g(x_{i+1}))italic_w ∉ roman_Odd ( italic_g ( italic_x start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ) ) for each i=1,,l1𝑖1𝑙1i=1,...,l-1italic_i = 1 , … , italic_l - 1. However, after finitely many steps, this sequence must terminate with some xl+1subscript𝑥𝑙1x_{l+1}italic_x start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT such that wOdd(g(xl+1))𝑤Odd𝑔subscript𝑥𝑙1w\in\operatorname{Odd}(g(x_{l+1}))italic_w ∈ roman_Odd ( italic_g ( italic_x start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT ) ): in the worst case, this occurs when xl+1subscript𝑥𝑙1x_{l+1}italic_x start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT is a maximal element of precedes\prec, which from 2 means that g(xl+1)={xl+1}𝑔subscript𝑥𝑙1subscript𝑥𝑙1g(x_{l+1})=\{x_{l+1}\}italic_g ( italic_x start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT ) = { italic_x start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT } and thus wOdd(g(xl+1))𝑤Odd𝑔subscript𝑥𝑙1w\in\operatorname{Odd}(g(x_{l+1}))italic_w ∈ roman_Odd ( italic_g ( italic_x start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT ) ). The contradiction arises since wxx1xlxl+1wprecedes𝑤𝑥precedessubscript𝑥1precedesprecedessubscript𝑥𝑙precedessubscript𝑥𝑙1precedes𝑤w\prec x\prec x_{1}\prec...\prec x_{l}\prec x_{l+1}\prec witalic_w ≺ italic_x ≺ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≺ … ≺ italic_x start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ≺ italic_x start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT ≺ italic_w.

Case (b): If wOdd(g(x))𝑤Odd𝑔𝑥w\notin\operatorname{Odd}(g(x))italic_w ∉ roman_Odd ( italic_g ( italic_x ) ) and xOdd(g(w))𝑥Odd𝑔𝑤x\notin\operatorname{Odd}(g(w))italic_x ∉ roman_Odd ( italic_g ( italic_w ) ) but wNxG𝑤superscriptsubscript𝑁𝑥𝐺w\in N_{x}^{G}italic_w ∈ italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT, then there must exist w1g(w)wsubscript𝑤1𝑔𝑤𝑤w_{1}\in g(w)\setminus witalic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ italic_g ( italic_w ) ∖ italic_w and x1g(x)xsubscript𝑥1𝑔𝑥𝑥x_{1}\in g(x)\setminus xitalic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ italic_g ( italic_x ) ∖ italic_x such that x1NwGsubscript𝑥1superscriptsubscript𝑁𝑤𝐺x_{1}\in N_{w}^{G}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ italic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT and w1NxGsubscript𝑤1superscriptsubscript𝑁𝑥𝐺w_{1}\in N_{x}^{G}italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT. If wOdd(g(x1))𝑤Odd𝑔subscript𝑥1w\in\operatorname{Odd}(g(x_{1}))italic_w ∈ roman_Odd ( italic_g ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ) and xOdd(g(w1))𝑥Odd𝑔subscript𝑤1x\in\operatorname{Odd}(g(w_{1}))italic_x ∈ roman_Odd ( italic_g ( italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ), then a contradiction arises since ww1xx1wprecedes𝑤subscript𝑤1precedes𝑥precedessubscript𝑥1precedes𝑤w\prec w_{1}\prec x\prec x_{1}\prec witalic_w ≺ italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≺ italic_x ≺ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≺ italic_w. If wOdd(g(x1))𝑤Odd𝑔subscript𝑥1w\notin\operatorname{Odd}(g(x_{1}))italic_w ∉ roman_Odd ( italic_g ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ) and xOdd(g(w1))𝑥Odd𝑔subscript𝑤1x\in\operatorname{Odd}(g(w_{1}))italic_x ∈ roman_Odd ( italic_g ( italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ) or wOdd(g(x1))𝑤Odd𝑔subscript𝑥1w\in\operatorname{Odd}(g(x_{1}))italic_w ∈ roman_Odd ( italic_g ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ) and xOdd(g(w1))𝑥Odd𝑔subscript𝑤1x\notin\operatorname{Odd}(g(w_{1}))italic_x ∉ roman_Odd ( italic_g ( italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ), then we are in a similar situation to Case (a) above. By analogous reasoning, we obtain a sequence of vertices x1x2xlprecedessubscript𝑥1subscript𝑥2precedesprecedessubscript𝑥𝑙x_{1}\prec x_{2}\prec...\prec x_{l}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≺ italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ≺ … ≺ italic_x start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT such that there exists a xl+1g(xl)xlsubscript𝑥𝑙1𝑔subscript𝑥𝑙subscript𝑥𝑙x_{l+1}\in g(x_{l})\setminus x_{l}italic_x start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT ∈ italic_g ( italic_x start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ) ∖ italic_x start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT for which wOdd(g(xl+1)w\in\operatorname{Odd}(g(x_{l+1})italic_w ∈ roman_Odd ( italic_g ( italic_x start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT ), producing a contradiction via ww1xx1xl+1wprecedes𝑤subscript𝑤1precedes𝑥precedessubscript𝑥1precedesprecedessubscript𝑥𝑙1precedes𝑤w\prec w_{1}\prec x\prec x_{1}\prec...\prec x_{l+1}\prec witalic_w ≺ italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≺ italic_x ≺ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≺ … ≺ italic_x start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT ≺ italic_w.

If both wOdd(g(x1))𝑤Odd𝑔subscript𝑥1w\notin\operatorname{Odd}(g(x_{1}))italic_w ∉ roman_Odd ( italic_g ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ) and xOdd(g(w1))𝑥Odd𝑔subscript𝑤1x\notin\operatorname{Odd}(g(w_{1}))italic_x ∉ roman_Odd ( italic_g ( italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ) hold then we are in a scenario similar to that defining Case (b) to begin with. Accordingly, there must exist w2g(w1)w1subscript𝑤2𝑔subscript𝑤1subscript𝑤1w_{2}\in g(w_{1})\setminus w_{1}italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_g ( italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ∖ italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and x2g(x1)x1subscript𝑥2𝑔subscript𝑥1subscript𝑥1x_{2}\in g(x_{1})\setminus x_{1}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_g ( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ∖ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT such that x2NwGsubscript𝑥2superscriptsubscript𝑁𝑤𝐺x_{2}\in N_{w}^{G}italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT and w2NxGsubscript𝑤2superscriptsubscript𝑁𝑥𝐺w_{2}\in N_{x}^{G}italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_N start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_G end_POSTSUPERSCRIPT. By iterating the above splitting into cases and the corresponding reasoning, we obtain sequences of vertices ww1wlprecedes𝑤subscript𝑤1precedesprecedessubscript𝑤𝑙w\prec w_{1}\prec...\prec w_{l}italic_w ≺ italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≺ … ≺ italic_w start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT and xx1xlprecedes𝑥subscript𝑥1precedesprecedessubscript𝑥𝑙x\prec x_{1}\prec...\prec x_{l}italic_x ≺ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≺ … ≺ italic_x start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT which must terminate (in the worst case) with either g(wl)wl𝑔subscript𝑤𝑙subscript𝑤𝑙g(w_{l})\setminus w_{l}italic_g ( italic_w start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ) ∖ italic_w start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT or g(xl)xl𝑔subscript𝑥𝑙subscript𝑥𝑙g(x_{l})\setminus x_{l}italic_g ( italic_x start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ) ∖ italic_x start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT containing a maximal element wl+1subscript𝑤𝑙1w_{l+1}italic_w start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT or xl+1subscript𝑥𝑙1x_{l+1}italic_x start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT respectively, and hence wOdd(g(xl+1))𝑤Odd𝑔subscript𝑥𝑙1w\in\operatorname{Odd}(g(x_{l+1}))italic_w ∈ roman_Odd ( italic_g ( italic_x start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT ) ) or xOdd(g(wl+1))𝑥Odd𝑔subscript𝑤𝑙1x\in\operatorname{Odd}(g(w_{l+1}))italic_x ∈ roman_Odd ( italic_g ( italic_w start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT ) ). Without loss of generality, suppose that xOdd(g(wl+1))𝑥Odd𝑔subscript𝑤𝑙1x\in\operatorname{Odd}(g(w_{l+1}))italic_x ∈ roman_Odd ( italic_g ( italic_w start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT ) ). If wOdd(g(xl+1))𝑤Odd𝑔subscript𝑥𝑙1w\in\operatorname{Odd}(g(x_{l+1}))italic_w ∈ roman_Odd ( italic_g ( italic_x start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT ) ), then we obtain a contradiction via ww1wl+1xx1xl+1wprecedes𝑤subscript𝑤1precedesprecedessubscript𝑤𝑙1precedes𝑥precedessubscript𝑥1precedesprecedessubscript𝑥𝑙1precedes𝑤w\prec w_{1}\prec...\prec w_{l+1}\prec x\prec x_{1}\prec...\prec x_{l+1}\prec witalic_w ≺ italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≺ … ≺ italic_w start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT ≺ italic_x ≺ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≺ … ≺ italic_x start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT ≺ italic_w. If wOdd(g(xl+1))𝑤Odd𝑔subscript𝑥𝑙1w\notin\operatorname{Odd}(g(x_{l+1}))italic_w ∉ roman_Odd ( italic_g ( italic_x start_POSTSUBSCRIPT italic_l + 1 end_POSTSUBSCRIPT ) ), then we are again in a scenario similar to Case (a), which by analogous reasoning also terminates in a contradiction. ∎

The proof of 3 proceeds as follows:

Proof.

Suppose G𝐺Gitalic_G is bipartite and denote one partition by I𝐼Iitalic_I. Consider (g,<)𝑔(g,<)( italic_g , < ) where g𝑔gitalic_g is defined by v{v}maps-to𝑣𝑣v\mapsto\{v\}italic_v ↦ { italic_v } for all vVI𝑣𝑉𝐼v\in V\setminus Iitalic_v ∈ italic_V ∖ italic_I and (ii) <<< is the coarsest partial order such that the vertices in VI𝑉𝐼V\setminus Iitalic_V ∖ italic_I precede those in I𝐼Iitalic_I. That criteria 1111, 2222 and 5555 in the definition of gflow are satisfied for all vVI𝑣𝑉𝐼v\in V\setminus Iitalic_v ∈ italic_V ∖ italic_I can be readily verified, hence (g,<)𝑔(g,<)( italic_g , < ) is a valid gflow for (G,I,O=I,ωYZ)formulae-sequence𝐺𝐼𝑂𝐼𝜔𝑌𝑍(G,I,O=I,\omega\equiv YZ)( italic_G , italic_I , italic_O = italic_I , italic_ω ≡ italic_Y italic_Z ). Clearly, with this choice of O𝑂Oitalic_O, the requirement that |I|=|O|𝐼𝑂|I|=|O|| italic_I | = | italic_O | is satisfied.

For the opposite direction, suppose (G,I,O,ω)𝐺𝐼𝑂𝜔(G,I,O,\omega)( italic_G , italic_I , italic_O , italic_ω ) with ωYZ𝜔𝑌𝑍\omega\equiv YZitalic_ω ≡ italic_Y italic_Z and |I|=|O|𝐼𝑂|I|=|O|| italic_I | = | italic_O | has gflow (g,<)𝑔(g,<)( italic_g , < ). From 1, we know that I=O𝐼𝑂I=Oitalic_I = italic_O. From 3, we know that for each u,vVI𝑢𝑣𝑉𝐼u,v\in V\setminus Iitalic_u , italic_v ∈ italic_V ∖ italic_I, there are no edges between elements of g(u)𝑔𝑢g(u)italic_g ( italic_u ) and also no edges between elements of g(u)𝑔𝑢g(u)italic_g ( italic_u ) and g(v)𝑔𝑣g(v)italic_g ( italic_v ). Consequently, there are no edges between elements of g(VI):=vVIg(v)assign𝑔𝑉𝐼subscript𝑣𝑉𝐼𝑔𝑣g(V\setminus I):=\bigcup_{v\in V\setminus I}g(v)italic_g ( italic_V ∖ italic_I ) := ⋃ start_POSTSUBSCRIPT italic_v ∈ italic_V ∖ italic_I end_POSTSUBSCRIPT italic_g ( italic_v ). Accordingly, we can partition G𝐺Gitalic_G into those vertices in g(VI)VI𝑔𝑉𝐼𝑉𝐼g(V\setminus I)\equiv V\setminus Iitalic_g ( italic_V ∖ italic_I ) ≡ italic_V ∖ italic_I and those in I𝐼Iitalic_I. ∎