1: %%%
2: % Analysis of postselected state preparation methods.
3: %%%
4: %\documentclass[pdftex,aps,prl,twocolumn,groupedaddress,amssymb,amsfonts,showpacs,floatfix]{revtex4}
5: %\documentclass[pdftex,12pt,aps,pra,groupedaddress,amssymb,amsfonts,nofootinbib,tightenlines,showpacs,floatfix]{revtex4}
6: %\usepackage[pdftex]{graphicx}
7: \documentclass[12pt,aps,pra,groupedaddress,amssymb,amsfonts,nofootinbib,tightenlines,floatfix]{revtex4}
8: \usepackage{graphicx}
9:
10: \graphicspath{{./}{graphics/}}
11: \usepackage{times,color}
12: \definecolor{purple}{rgb}{0.625,0.125,0.9375}
13:
14: %\usepackage{hyperref}\ifx\hypersetup\undefined\relax\else\hypersetup{colorlinks=true,urlcolor=blue,linkcolor=purple,pageanchor=false}\fi
15:
16: \usepackage{ekqc_b}
17:
18:
19: %%%
20: % Compile usable package for PRA submission (Red Hat Linux).
21: %%%
22: \ignore{
23: rm -R /tmp/analysis; mkdir /tmp/analysis
24: cp `texfls analysis.log | perl -e '$a=<>; $a =~ s:/\S*(revtex4|natbib)\S*(\s|$)::g; print "$a\n"'` /tmp/analysis
25: find /tmp/analysis -type f -name '*.pdf' -exec pdftops -eps {} \; -exec rm {} \;
26: find /tmp/analysis -type f -name '*.jpg' -exec perl -e '$f=shift; $g=f$; $g=~s/.jpg/.eps/; exec("convert $f $g");' {} \; -exec rm {} \;
27: %perl -i -n -e 's/^(.*)/%$1/; print;' /tmp/analysis/analysis.tex
28: perl -i -n -e 's/^%(.*)% _dvitex_/$1/; print;' /tmp/analysis/analysis.tex
29:
30: cp /usr/share/texmf/tex/latex/tools/calc.sty /tmp/analysis/phcalc.sty
31: perl -i -n -e 's/ProvidesPackage\{calc\}/ProvidesPackage\{phcalc\}/; print;' /tmp/analysis/phcalc.sty
32: perl -i -n -e 's/usepackage\{calc\}/usepackage\{phcalc\}/; print;' /tmp/analysis/ekqc_b.sty
33:
34: (cd /tmp/analysis; tar czvf analysis.tar.gz *)
35: }
36:
37: %%%
38: % Compile usable package for quant-ph submission (Red Hat Linux).
39: %%%
40: \ignore{
41: rm -R /tmp/analysis; mkdir /tmp/analysis
42: cp `texfls analysis.log | perl -e '$a=<>; $a =~ s:/\S*(revtex4|natbib)\S*(\s|$)::g; print "$a\n"'` /tmp/analysis
43: find /tmp/analysis -type f -name '*.pdf' -exec pdftops -eps {} \; -exec rm {} \;
44: find /tmp/analysis -type f -name '*.jpg' -exec perl -e '$f=shift; $g=f$; $g=~s/.jpg/.eps/; exec("convert $f $g");' {} \; -exec rm {} \;
45: %perl -i -n -e 's/^(.*)/%$1/; print;' /tmp/analysis/analysis.tex
46: perl -i -n -e 's/^%(.*)% _dvitex_/$1/; print;' /tmp/analysis/analysis.tex
47: %perl -i -n -e 's/^(.*)/%$1/; print;' /tmp/analysis/analysis.tex
48: perl -i -n -e 's/graphics\///; print;' /tmp/state/analysis.tex
49:
50: cp /usr/share/texmf/tex/latex/tools/calc.sty /tmp/analysis/phcalc.sty
51: perl -i -n -e 's/ProvidesPackage\{calc\}/ProvidesPackage\{phcalc\}/; print;' /tmp/analysis/phcalc.sty
52: perl -i -n -e 's/usepackage\{calc\}/usepackage\{phcalc\}/; print;' /tmp/analysis/ekqc_b.sty
53:
54: cp /usr/share/texmf/tex/latex/base/ifthen.sty /tmp/analysis/phifthen.sty
55: perl -i -n -e 's/ProvidesPackage\{ifthen\}/ProvidesPackage\{phifthen\}/; print;' /tmp/analysis/phifthen.sty
56: perl -i -n -e 's/usepackage\{ifthen\}/usepackage\{phifthen\}/; print;' /tmp/analysis/ekqc_b.sty
57:
58: cp retestate_fns.math /tmp/analysis
59:
60: (cd /tmp/analysis; tar czvf analysis.tar.gz *)
61: }
62:
63:
64:
65: \begin{document}
66: \title{Fault-Tolerant Postselected Quantum Computation: Threshold Analysis}
67: \author{E. Knill}
68: \email[]{knill@boulder.nist.gov}
69: \affiliation{Mathematical and Computational Sciences Division,
70: National Institute of Standards and Technology, Boulder CO 80305}
71:
72: \date{\today}
73:
74:
75:
76: \begin{abstract} The schemes for fault-tolerant postselected quantum
77: computation given in [Knill, Fault-Tolerant Postselected Quantum
78: Computation: Schemes, \texttt{http://arxiv.org/abs/quant-ph/0402171}]
79: are analyzed to determine their error-tolerance. The analysis is based
80: on computer-assisted heuristics. It indicates that if classical and
81: quantum communication delays are negligible, then scalable qubit-based
82: quantum computation is possible with errors above $1\;\%$ per
83: elementary quantum gate.
84: \end{abstract}
85:
86: \pacs{03.67.Lx, 03.67.Pp, 89.70.+c}
87:
88: \maketitle
89:
90: \ignore{
91: {\color{red}
92: Todo:
93: \begin{itemize}
94: \item How much closer to independence can I get by one
95: entanglement swapping step?
96: \end{itemize}
97: }
98: }
99:
100:
101: \section{Introduction}
102: \label{sect:introduction}
103:
104: In~\cite{knill:qc2004a} a scheme for fault-tolerant postselected
105: quantum computation based on concatenating four-qubit error-detecting
106: codes is presented. Here, the error behavior of the scheme is analyzed
107: with the help of computer-assisted heuristics and shown to tolerate
108: errors above $1\;\%$ per elementary quantum gate. This result
109: generalizes to standard quantum computation because fault-tolerant
110: postselected quantum computation can be used for preparing stabilizer
111: states with well constrained local errors. With this technique, any
112: sufficiently error-tolerant stabilizer code can be used with
113: teleported error correction~\cite{knill:qc2003b} to realize a general
114: fault-tolerant computation. In particular, the analysis indicates
115: that the error threshold for scalable quantum computation is also
116: above $1\;\%$. This substantially improves thresholds obtained
117: previously, both heuristically and by
118: proof~\cite{shor:qc1996a,kitaev:qc1996a,knill:qc1996b,aharonov:qc1996a,aharonov:qc1999a,knill:qc1997a,gottesman:qc1997a,knill:qc1998a,zalka:qc1996a,preskill:qc1998a,steane:qc1999a,gottesman:qc1999a,gottesman:qc2000b,knill:qc2000e,hughes:qc2002a,aharonov:qc2002a,duer:qc2002a,steane:qc2002a,steane:qc2002a,steane:qc2002b,steane:qc2003a}.
119:
120: The analysis given below assumes familiarity with the previous two
121: papers in the series~\cite{knill:qc2003b,knill:qc2004a}.
122: See~\cite{knill:qc2003b} for motivation, background, and a brief review
123: of the needed stabilizer code theory and teleported
124: error correction. For details of the scheme analyzed here
125: see~\cite{knill:qc2004a}.
126:
127: The following conventions are used: A \emph{postselected computation}
128: is one whose output is conditional on the outcomes of measurements of
129: ancilla qubits used during the computation. The usual model of quantum
130: computation is referred to as \emph{standard} quantum computation. A
131: scheme for fault-tolerant computation starts with \emph{physical
132: qubits} and an error model for a universal set of quantum gates
133: (including measurement and state preparation). The schemes discussed
134: here involve the construction of \emph{logical qubits} to be used in a
135: general-purpose computation. Logical qubits are manipulated with
136: \emph{logical gates}. The construction involves one or more levels of
137: encoding, each of which defines higher-level logical qubits in terms
138: of lower-level ones. In a given context, the term ``logical'' refers
139: to the highest-level logical qubits currently being discussed. The
140: terms \emph{encoded qubit}, \emph{encoded state} and \emph{encoded
141: gate} are used to refer to encoded quantum information if the emphasis
142: is on the code used rather than on logical computation. The most
143: important state used for implementing fault tolerance is the encoded
144: Bell pair. This state consists of two encoded qubits in the standard
145: Bell state, ${1\over\sqrt{2}}(\ket{\biz\biz}+\ket{\bio\bio})$. Thus,
146: there are two blocks of physical qubits, one for each encoded
147: qubit. The two blocks and their encoded qubits are referred to as the
148: \emph{origin} and \emph{destination} blocks and qubits, respectively.
149: The Bell pairs are used in teleportation by making a transversally
150: implemented Bell measurement on the block to be teleported and on the
151: origin block. Most of the states under consideration are $n$-qubit
152: stabilizer states characterized by an $n\times 2n$ binary generator
153: matrix whose rows specify a generating set of stabilizing Pauli
154: products. Errors in the state are characterized by the
155: \emph{syndrome}, a binary $n$-vector that specifies the eigenvalues
156: of the stabilizing Pauli products. The error-free state is
157: standardized to have a syndrome (vector) of $\mb{0}$. When talking
158: about encoded qubits, the generator matrix has fewer than $n$
159: rows. The syndrome specifies the eigenvalues of the Pauli products
160: determined by the rows of the generator matrix. The following
161: abbreviations are used: $X=\sigma_x$, $Z=\sigma_z$,
162: $Y=\sigma_x\sigma_z$. The states $\ket{\biz}$, $\ket{+}$ and
163: $\ket{i\pi/4}$ are, respectively, the $+1$ eigenstates of $Z$, $X$ and $iY$.
164: $\ket{\pi/8}$ is the $+1$ eigenstate of the Hadamard
165: gate.
166:
167:
168: \section{Assumptions}
169: \label{sect:assumptions}
170:
171: As is customary for theoretical threshold analyses, it is assumed that
172: it is possible to apply quantum gates in a parallel fashion without
173: geometrical constraints. In particular, in each time step, any pair
174: of qubits can be acted on with a controlled not (cnot) gate (no
175: quantum communication latency), and all qubits may be involved in a
176: non-trivial operation. All gates (one-qubit state preparations,
177: Hadamard gates, cnots, one-qubit measurements) are assumed to take the
178: same amount of time. As discussed in~\cite{knill:qc2004a}, for the
179: postselected computation scheme used here, gate times can vary between
180: gate types. In particular, the time needed for a measurement may be
181: longer than that for the cnot. Variations in gate time have an effect
182: only when prepared states are used in a standard quantum computation,
183: where an additional memory error may need to be accounted for. It is
184: assumed that classical computation based on measurement outcomes is
185: instantaneous and error-free (no classical communication or
186: computation latency). This condition is needed when prepared states
187: are to be used for standard quantum computation, as it is necessary to
188: determine whether all postselection criteria have been met and (for
189: efficient postselection) what the current syndrome is for the prepared
190: state.
191:
192: The error model used here is based on having all errors be
193: probabilistic Pauli products acting independently at error locations
194: associated with each gate. Specifically, a quantum computation is
195: described in terms of its quantum network. Each instance of a given
196: quantum computation is modified by probabilistically inserting Pauli
197: operators after each network element and before measurements. To
198: describe the constraints on the probabilities, an \emph{error
199: location} is associated with each network element. For a
200: state-preparation and the Hadamard gate, the error location is in the
201: qubit line immediately following the state-preparation gate. For the
202: cnot, it extends to both qubit lines immediately after the gate. For
203: measurements, it is on the qubit to be measured just before the
204: gate. For each Pauli operator $p$ (or product of two Pauli operators
205: in the case of the cnot) that can act at an error location $l$, there
206: is an associated error parameter $e_{p,l}$. The strongest assumption
207: one can make is that errors are probabilistic and independent between
208: locations, with $e_{p,l}$ the probability that $p$ acts at location
209: $l$.
210:
211:
212: The heuristic used for the analysis involves a method that uses an
213: independent-error model to approximate the error behavior in prepared
214: states. This method is used at each level of a concatenation
215: procedure. Given independence at the lower level, the true error
216: behavior is close to, but not exactly, independent. Ideally, the
217: independent-error model used should not underestimate any error
218: probabilities after postselection. The motivation for using such an
219: independent approximation comes from a classification of error models
220: that retain some of the crucial properties of independence. In
221: particular, the independence assumption can be weakened in three
222: steps. Consider sets of error locations $L$ and $K$ with $|L|+1=|K|$,
223: such that there is an injection $\pi$ from locations in $L$ to
224: equivalent locations in $K$. Locations are considered equivalent if
225: they are associated with identical gates. Let $r$ be the location in
226: $K$ not in the image of $\pi$. Let $p_l$ and $q_k$ be (non-identity)
227: Pauli operators acting at locations $l\in L$ and $k\in K$,
228: respectively, with the property $q_{\pi(l)}=p_l$. The error model is
229: independent$(A)$ if it is always the case that the relative
230: probability $\textrm{Prob}(\Pi_{k\in K} q_k)/\textrm{Prob}(\Pi_{l\in L} p_l)$
231: is bounded by $e_{q_r,r}$, and $e_{q_r,r}$ depends only on the type of
232: error location and $q_r$. (The notation ``$(A)$'' appended to
233: ``independent'' modifies the meaning of independent.)
234: Here, products such as $\Pi_{k\in K} q_k$ informally denote the
235: combination of error events where $q_k$ occurs at its location $k$.
236: If in this definition, $L$ is restricted to subsets of $K$, and $\pi$ is
237: the identity map, then the model is independent$(B)$. In particular,
238: $\textrm{Prob}\Pi_{k\in K}q_k/\textrm{Prob}(\one)$ is at most
239: $\Pi_{k\in K} e_{q_k,k}$, where $\textrm{Prob}(\one)$ is the
240: probability of no error at any of the error locations. An error model
241: satisfying only this last property is independent$(C)$ or
242: \emph{quasi-independent}~\cite{knill:qc1997a}. The heuristic analysis
243: reestablishes full independence at each stage and can be considered as
244: an attempt to capture and maintain independence$(A)$.
245:
246: In the three error models of the previous paragraph, the $e_{p,l}$ are
247: ratios of error probabilities, so they are called \emph{error
248: likelihoods} for the remainder of this paper. If the errors are
249: independent for different locations and the error parameters are
250: chosen optimally, then the (marginal) probability of $p\not=\one$
251: acting at $l$ is given by $e_{p,l}/(1+\sum_{q\not=\one} e_{q,l})$. In
252: particular, the error likelihood is larger than the marginal error
253: probability. The error likelihoods $e_{q,l}$ are assumed to depend
254: only on the type of gate with which the error location $l$ is
255: associated. The analysis is implemented so that any such
256: gate-dependent combination of $e_{q,l}$ can be used as the physical
257: error model. For the examples given, a uniform-error model is used
258: for physical gates. The computationally determined logical-gate error
259: models deviate significantly from the uniform-error model. For the
260: primary scheme, only cnot, preparation and measurement errors play a
261: role. These are parameterized by likelihoods $e_c$, $e_p$ and $e_m$.
262: For a cnot's error location, there are 15 possible non-identity Pauli
263: products, each of which has likelihood $e_c/15$. The total probability
264: of error is $e_c/(1+e_c)$. For preparation and measurement of $X$ and
265: $Z$ eigenstates, only one type of Pauli-operator error needs to be
266: considered ($Z$ and $X$ errors, respectively). For universal quantum
267: computation, the Hadamard gate and additional state preparations are
268: needed. For a Hadamard gate, each of the three non-identity Pauli
269: operators has likelihood $e_h/3$. The additional state-preparations'
270: errors can also be described as applications of one Pauli operator.
271: The error for preparation of $\ket{i\pi/4}$ ($\ket{\pi/8}$,
272: respectively) is taken to be random-$Z$ ($Y$, respectively) error with
273: a likelihood of $e_s$. To reduce the parameter space, set
274: $e_s=e_p=e_m$ and $e_h/(1+e_h) = 3e_p/(2(1+e_p))$. This is consistent
275: with the assumption that errors of one-qubit gates are depolarizing
276: and independent of the gate.
277:
278: Since the analysis assumes probabilistic errors, it does not directly
279: address the question of what happens when there are coherences between
280: different error combinations expressed as Pauli products. Such
281: coherences cannot be ignored. For example, decay of $\ket{\bio}$ to
282: $\ket{\biz}$ cannot be expressed as a probabilistic Pauli-operator
283: error. In this case, the likelihoods have to be replaced by
284: (relative) amplitudes. In principle, error amplitudes can be
285: formalized by means of environment-labeled error sums,
286: see~\cite{knill:qc1997a,knill:qc2001d}. Previous threshold analyses
287: that take this into account suggest that results obtained for
288: probabilistic errors extend to independent$(C)$ non-probabilistic
289: errors, but it may be necessary to square the maximum tolerable errors
290: in the worst case, see~\cite{terhal:qc2004a,alicki:qc2004a}. For
291: example, if $0.01$ probability of error is acceptable in the
292: probabilistic model, then in the coherent model, this may have to be
293: reduced to $0.0001$. However, this conclusion seems overly
294: pessimistic. First, error control based on stabilizer techniques is
295: designed to remove coherences between differently acting combinations
296: of Pauli-product errors as fast as possible, so there should be little
297: opportunity for coherences to add as amplitudes rather than as
298: probabilities. Second, at the cost of increasing the error per
299: operation, it is possible to deliberately randomize the computation by
300: applying canceling random Pauli products before and after Hadamard and
301: cnot gates. Random stabilizing Pauli operators may be applied after
302: state preparations and before measurements. This ensures that
303: interference between error amplitudes is well suppressed even before
304: error detection or correction is used. This is a version of the
305: twirling method used in entanglement
306: purification~\cite{bennett:qc1996a}. Finally, it is interesting to
307: note that one of the error-detecting codes used here is the same as
308: the amplitude damping code given on page 99 of Gottesman's
309: thesis~\cite{gottesman:qc1997b}.
310:
311: Another type of error not considered by the probabilistic model is
312: leakage and qubit-loss error, whereby amplitude is lost from a qubit
313: to an orthogonal state space. Fortunately, the teleportation based
314: methods solve this problem implicitly by constantly refreshing the
315: qubits used. The effect of leakage on the Bell state measurements
316: is no different from other measurement errors. For leakage due to
317: qubit-loss, there is in addition the opportunity to detect the error,
318: which can be taken advantage of in
319: error-correction~\cite{knill:qc2003b}.
320:
321:
322: \section{Analysis Outline}
323: \label{sect:analysis outline}
324:
325: Because the basic codes are CSS codes, encoding and decoding
326: operations require only cnots, $X$- and $Z$-postselected measurements,
327: and preparation of the $+1$ eigenstates of $X$ ($\ket{+}$) and $Z$
328: ($\ket{\biz}$). Therefore, the first task of the scheme is to use
329: concatenation to implement these operations with arbitrarily low error
330: after postselection. Errors are controlled by purifying prepared
331: states at each level and by using teleported error-detection in
332: conjunction with each operation implemented. At all times, the total
333: state is a CSS state, and error behavior can be tracked by computing
334: the likelihoods of each possible syndrome. Subroutines that compute
335: likelihoods either formally or with high-precision arithmetic were
336: implemented using a standard computer algebra language and are
337: described in Sect.~\ref{sect:functions}. Because there are
338: exponentially many syndromes, it is unfeasible to track them
339: explicitly except for small numbers of qubits at a time. To analyze
340: the scheme, the error behavior at each level is abstracted by modeling
341: it in terms of a \emph{logical-error model} associated with encoded
342: gates applied at the current top level, and a \emph{terminal-error
343: model} of errors acting on encoded qubits at each level after the
344: logical errors. The heuristic involves using independent errors for
345: the two models. The error likelihoods are chosen with the intention
346: of bounding the true error likelihoods from above after normalizing
347: the likelihood of having no error anywhere to $1$. The error models
348: are described in Sect.~\ref{sect:current state error bounds}. The
349: logical- and terminal-error models are constructed level by level. The
350: main step of this construction is to explicitly compute the error
351: behavior of the purified encoded Bell pair needed to implement gates
352: at the next level. Because the Bell pair involves only two blocks of
353: 4 qubits and a purification step uses two such pairs at a time
354: (involving a total of 16 qubits), this can be done to arbitrary
355: precision with reasonable computational resources. The original scheme
356: suggested using one purification cycle consisting of two purification
357: steps to prepare a ``good'' encoded Bell pair. Although this reduces
358: probabilities of undesirable syndromes (those involving an
359: undetectable encoded error) to second order, it is insufficient for
360: good independence properties. For the purpose of analysis, this is
361: remedied by a second purification cycle. At this point, the true error
362: in the encoded Bell pair has the same order behavior as independent
363: error applied to each qubit. The heuristic replaces the true error
364: model by a block-wise independent \emph{Bell-error model}. The
365: likelihoods for the Bell-error model are computed so as to approximate
366: relative likelihoods of the computed model without any obvious biases
367: that may reduce predicted error probabilities. The procedure is
368: discussed in Sect.~\ref{sect:preparation of the encoded Bell pair}.
369: Block-wise independence is needed to ensure that each logical gate's
370: error is independent and independent of the terminal-error model.
371: With this assumption, the teleported implementation of gates ensures
372: that different steps of a logical computation are isolated. The
373: independence of the Bell error model also makes it possible to
374: directly compute logical-error likelihoods for state preparation and
375: measurement (Sect.~\ref{sect:state preparation}). Similarly, the
376: logical-error likelihoods for the cnot can be computed. However,
377: because the cnot is implemented directly rather than by explicitly
378: using lower-level encoded cnots, the computation depends on whether it
379: is for the physical level or for higher levels. This is explained in
380: Sect.~\ref{sect:controlled-not}. The main application of postselected
381: fault-tolerant quantum computation is to the preparation of arbitrary
382: stabilizer states in a fault-tolerant manner. To do so one first
383: prepares the desired state in encoded form at the top level of the
384: concatenated error-detecting codes. One then decodes the error-detecting
385: codes, accepting the result only if no errors are detected. The error
386: associated with decoding is, according to the heuristic, independent
387: between logical qubits. How to compute it at each level of the
388: concatenation hierarchy is discussed in Sect.~\ref{sect:decoding a
389: prepared state}. To complete the analysis, it is necessary to
390: determine the error of encoded Hadamard gates and of encoding the two
391: states needed for universal quantum computation. This is done in
392: Sect.~\ref{sect:hadamard gate} and Sect.~\ref{sect:encoding an
393: arbitrary state}. The results for specific error models and the
394: implications for scalable quantum computations are given in
395: Sect.~\ref{sect:general threshold}. The results are discussed in
396: Sect.~\ref{sect:discussion}.
397:
398: \section{Representing the error behavior}
399: \label{sect:current state error bounds}
400:
401: The scheme for postselected quantum computation is to be analyzed one
402: level at a time. At a given level, an encoded postselected computation
403: is implemented. Although the entire computation occurs in parallel,
404: the analysis considers the computation sequentially from state
405: preparation onward. Thus, it makes sense to talk about the current state
406: $\ket{\psi}$ of the logical computation. $\ket{\psi}$ is a state of
407: $n$ logical qubits, each encoded with $4^h$ physical qubits, where $h$
408: is the current level of the concatenation hierarchy. (Level
409: $0$ is the physical level.) $\ket{\psi}$ is modified from the ideal,
410: error-free state $\ket{\psi_I}$ by errors. The effect of these errors
411: is separated into \emph{logical errors}, which can be attributed to
412: errors in the steps of the logical computation so far, and
413: \emph{terminal errors}, which act after the logical errors and directly on
414: encoded qubits at each level. Most terminal errors are detectable and
415: are eliminated in the next step of the computation.
416:
417: Logical errors are modeled by independent errors acting at error
418: locations associated with logical gates. Like the physical-error
419: model, they are characterized by likelihoods of Pauli products for
420: locations associated with each gate and depend only on the type of
421: gate, not the specific instance. logical errors on the
422: current state of the computation affect solely the logical qubits. They
423: can be detected only by implementing the next level's operations.
424:
425: Terminal errors are modeled as errors acting after, and independently
426: of, the logical errors. Consider the blocks of four physical qubits
427: encoding first-level qubits. The terminal error model $T_0$ consists
428: of a fixed distribution of four-qubit Pauli products acting
429: independently on each block. The distribution can be simplified using
430: the stabilizer for each block. For example, if the spectator qubit is
431: in the state $\kets{\biz}{S}$ (see~\cite{knill:qc2004a}), then the
432: stabilizer is generated by $[XXXX],[ZZZZ]$ and $[IIZZ]$, and consists of $8$
433: Pauli products. As a result, The $2^8$ four-qubit Pauli products
434: consist of $32=2^5=2^{8-3}$ distinct cosets of the stabilizer, where
435: each coset has the same effect on the block. Thus $T_0$ is defined by
436: associating a likelihood to each of the $31$ non-identity cosets,
437: normalizing the likelihood of the identity coset to $1$. These
438: likelihoods must be computed based on how the states of the blocks
439: are obtained. In this case, each block originates from the
440: destination block of an encoded Bell pair used in a teleportation
441: step. The explicitly computed likelihoods of the encoded Bell state's
442: errors are seen to satisfy some independence criteria between the two
443: blocks. In fact, the computed likelihoods are not far from what would
444: be obtained by acting on each qubit independently. This ensures that
445: using a block-wise independent error model to bound the likelihoods is
446: at least reasonable. That the computed likelihoods are related to a
447: qubit-independent error model can be used for choosing likelihoods for
448: the $31$ non-identity cosets. The likelihoods thus obtained form the
449: Bell-error model. The part acting on the destination blocks determines
450: the level-$1$ terminal-error model. For each level $l\geq 2$,
451: further independent terminal errors are obtained by computing the
452: error likelihoods for encoded Bell states prepared at this level by use of
453: lower level gates. The errors of $T_{l-1}$ act on level-$(l-1)$ qubits
454: that form a block encoding level $l$ qubits. The independent
455: combination of the errors of $T_l$ up to level $h$ constitutes the
456: terminal-error model for level $h$. If physical errors are
457: sufficiently low for the scheme to scale, each contribution $T_l$ to
458: the terminal error model has the property that errors with significant
459: likelihood change the syndrome for the code at level $l$, making them
460: detectable in future steps. Errors that change the encoded qubit
461: without affecting the syndrome are at least quadratically suppressed.
462: Although the actual state of the computation is always extremely noisy
463: due to the terminal error model, conditional on the syndrome of
464: the concatenated error-detecting code being $\mb{0}$, the state is
465: reliable. When using the state in a destructive measurement or by
466: decoding the error-detecting code, the relevant parts of the syndrome
467: are verified so that postselection eliminates the non-$\mb{0}$
468: syndrome events to the extent that it is necessary to do so.
469:
470: \section{Computational methods}
471: \label{sect:functions}
472:
473: There are two principal tasks that require computer assistance. The
474: first is to determine the error likelihoods of syndromes for
475: stabilizer states given a network to prepare them and given the error
476: likelihoods associated with gates and other states used by the
477: network. The second is to approximate the error likelihoods computed
478: for the purified encoded Bell pairs by block-wise independent
479: likelihoods. Functions to perform these tasks were implemented using
480: a standard computer-algebra system. The functions are included with
481: the electronic files submitted to \texttt{quant-ph (available at
482: http://arxiv.org/)} and are also available by request from the
483: author. For the first task, a stabilizer state with error is
484: represented by an array of error likelihoods with one entry for each
485: syndrome value. The stabilizer state is specified by the generator matrix
486: $Q$ for the stabilizer as defined in~\cite{knill:qc2003b}. The
487: syndrome is a $0-1$ vector characterizing the eigenvalues of the Pauli
488: product operators represented by the rows of $Q$. For a stabilizer
489: state on $n$ qubits, the generator matrix is $n\times 2n$ and the
490: syndrome is an $n$-vector. Thus, a stabilizer state with error is
491: specified by the pair $Q$ and an array of $2^n$ likelihoods, one for
492: each of the $2^n$ possible values of the syndrome. The probabilities
493: can be derived from the likelihoods by dividing by the sum of the
494: $2^n$ likelihood values. For flexibility, the functions were
495: implemented so that the likelihoods could be computed as polynomials
496: of a single error parameter. Typically, higher degree terms of these
497: polynomials contribute very little, and to take advantage of this, the
498: computations estimate the highest-degree term by making use of an
499: upper bound on the value of the error parameter. These formal
500: computations were used to verify that undetected errors are indeed
501: suppressed to second order. However, for determining whether a given
502: error rate is below the threshold, high precision arithmetic was used.
503:
504: To compute syndrome likelihoods for states produced by small networks,
505: the following four functions are needed:
506:
507: 1. Adding a new qubit in the state
508: $\ket{\biz}$ or $\ket{+}$. This involves expanding the generator
509: matrix, adding a new row, and expanding the likelihood array by a
510: factor of two.
511:
512: 2. Applying error-free cnots and Hadamard gates. This
513: is a transformation of the generator matrix that requires
514: multiplication on the right by the appropriate linear transformation.
515: The syndrome array is not affected.
516:
517: 3. Applying errors according to an
518: error model. Error models include those corresponding to applying
519: Pauli products to an error location involving one or two qubits
520: according to a likelihood distribution. This was implemented by
521: subroutines that compute the effect of Pauli products on syndromes
522: (the generator matrix is unchanged) and that are able to convolve the
523: error model's likelihoods with the syndrome likelihoods.
524:
525: 4. Projecting
526: a qubit's state onto the $\ket{0}$ or $\ket{+}$ states. This is the
527: step involving postselection. It requires a row transformation of the
528: generator matrix with an associated transformation of the syndrome
529: array to ensure that only the last row (if any, case 1) involves an
530: operator not commuting with the qubit projection. If there are no
531: such rows (case 2), then the row transformation is such that the first
532: $n-1$ rows involve the identity operator acting on the projected
533: qubit. In case 2, the transformation is arranged so that the last
534: row's operator acts only on the projected qubit. The syndrome array
535: is then reduced. In case 1, the new syndrome likelihoods are obtained
536: as sums of the two likelihoods associated with the two possible
537: eigenvalues of the operator represented by the last row. In case 2,
538: the new syndrome likelihoods are given by the likelihoods associated
539: with eigenvalue $+1$ of the operator represented by the last row.
540: After the new syndrome array has been obtained, the two columns
541: corresponding to the projected qubit and the last row are deleted from
542: the generator matrix.
543:
544: In addition to the four functions above, several
545: auxiliary functions were implemented. For example, it is convenient to
546: be able to apply any desired row transformation to the generator
547: matrix, which also permutes the syndrome array. The mathematical
548: details needed to implement all these functions are given
549: in~\cite{knill:qc2003b}.
550:
551: It is useful to observe that the likelihoods are always positive and
552: that all the operations used involve only addition and multiplication
553: of positive numbers. This ensures that numerical errors do not spread
554: too rapidly. The computer algebra system used has the capability to
555: keep track of the precision of likelihoods and likelihood ratios
556: obtained. That the results have sufficient precision was verified by
557: inspecting the recorded precision provided by the computer-algebra
558: system.
559:
560: The method for obtaining the Bell-error model from the computed
561: likelihood distribution for the purified encoded Bell pair is
562: described in the next section.
563:
564: \section{Preparation of the encoded Bell pair}
565: \label{sect:preparation of the encoded Bell pair}
566:
567: The original scheme for postselected quantum computation is based on
568: concatenation of two four-qubit error-detecting codes that are used
569: alternately at different steps of the computation. Each step of the
570: computation is based on teleportation through a Bell pair encoded in
571: the two codes. This state is purified once before being used. For the
572: purpose of the computer-assisted analysis used here, the scheme is
573: modified in two ways. First, only one four-qubit code is used within a
574: level, necessitating a change in the preparation of the encoded Bell
575: state. See Fig.~\ref{fig:encoded Bell}. Second, a single purification
576: does not result in sufficient independence between the two codes
577: supporting the Bell pair, so two purification steps are used. This
578: results in independence to lowest order. It is expected that it is not
579: necessary to implement this in practice. Ideally, the purification
580: method used asymptotically leads to block-wise independent error
581: behavior. Unfortunately, this is not the case for the purification
582: scheme used here, which is based on the standard entanglement
583: purification protocol~\cite{bennett:qc1996b}. An alternative approach
584: to purification is to use the methods of Shor~\cite{shor:qc1996a} and
585: generalized by Steane~\cite{steane:qc1997a} to purify the encoded Bell
586: state by measuring syndromes with specially prepared ``cat'' states.
587: Although this still does not lead to asymptotic independence, it may
588: reduce the resources required while still approaching independence
589: sufficiently well for practical purposes.
590:
591: \begin{herefig}
592: \label{fig:encoded Bell}
593: \begin{picture}(0,4.2)(0,-3.9)
594: \nputbox{0,.1}{t}{
595: \setlength{\fboxrule}{0pt}\setlength{\fboxsep}{0pt}
596: \fcolorbox[rgb]{.92,.92,.92}{.92,.92,.92}{\rule{6.5in}{0pt}\rule{0pt}{3.7in}}
597: }
598: \nputbox{-3.2,0}{tl}{\large\textbf{a.}}
599: \nputgr{-1.8,0}{t}{scale=.6}{enc4e4zz}
600: \nputbox{.4,0}{tl}{\large\textbf{b.}}
601: \nputgr{1.8,0}{t}{scale=.6}{enc4e4xx}
602: \end{picture}
603: \nopagebreak
604: \herefigcap{States used to teleport encoded qubits. The conventions
605: for network elements are as in~\cite{knill:qc2004a} At each level a
606: choice is made whether to have the spectator qubit in its $\kets{0}{S}$
607: or its $\kets{+}{S}$ state. Network \textbf{a.} makes the encoded Bell
608: state with both spectator qubits in state $\kets{0}{S}$. The output of
609: network \textbf{b.} has both in state $\kets{+}{S}$.
610: The stabilizer of \textbf{a.}'s output is
611: \begin{eqnarray*}
612: &[XXXXIIII], [ZZZZIIII], [IIZZIIII],&\\
613: &[IIIIXXXX], [IIIIZZZZ], [IIIIIIZZ],&\\
614: &[XXIIXXII], [ZIZIZIZI].&
615: \end{eqnarray*}
616: The third and sixth Pauli product are the spectator qubits' $Z$ operators.
617: The logical qubits' operators are
618: $\slb{X}{L_1}=[XXIIIIII], \slb{Z}{L_1}=[ZIZIIIII],
619: \slb{X}{L_2}=[IIIIXXII], \slb{Z}{L_2}=[IIIIZIZI]$. Thus the last
620: two operators are stabilizers of the encoded Bell pair.
621: Similarly, the stabilizer of \textbf{b.}'s output is
622: \begin{eqnarray*}
623: &[XXXXIIII], [ZZZZIIII], [IXIXIIII],&\\
624: &[IIIIXXXX], [IIIIZZZZ], [IIIIIXIX],&\\
625: &[XXIIXXII], [ZIZIZIZI],&
626: \end{eqnarray*}
627: where the third and sixth Pauli product are the spectator qubits' $X$
628: operators.
629: }
630: \end{herefig}
631: \pagebreak
632:
633: The first step of the analysis requires determining the syndrome
634: likelihood distribution of the encoded Bell pair if the preparation
635: method of Fig.~\ref{fig:encoded Bell} is used with two purification
636: cycles. Each purification cycle involves two steps, purifying $Z$-type
637: and $X$-type syndromes, respectively. The order of the two steps is
638: randomized. At each level, a choice is made of whether to use
639: spectators in $\kets{\biz}{S}$ or $\kets{+}{S}$ states. The choice
640: must be made based on the error models for gates at the current level,
641: as $\kets{\biz}{S}$ spectators help with suppressing $X$ errors,
642: whereas $\kets{+}{S}$ spectators suppress $Z$ errors. In either case,
643: the syndrome distribution of the prepared encoded Bell pairs is
644: computed by using the functions that can simulate the preparation
645: networks and apply each step's error model. The randomization of the
646: purification order is implemented by computing likelihoods for both
647: possible orders and averaging them. In order for this averaging to be
648: correct, the normalization (sum of the likelihoods) must be identical
649: in the two cases. This condition is satisfied because each case
650: involves the same gates but in a different order. This procedure
651: yields the \emph{computed error model} for the encoded Bell pairs.
652:
653: If the likelihood distribution is computed formally, with cnot
654: preparation and measurement errors all being a multiple of a single
655: error parameter $e$, inspection shows that the lowest-degree
656: contribution to the likelihood of a syndrome is the same as the
657: minimum weight of the set of Pauli products that can give rise to that
658: syndrome. In other words, the likelihood distribution has error
659: behavior of the same order as that obtained if independent errors are
660: applied to each qubit after preparing the stabilizer state without
661: errors. (This is not the case if only one purification cycle is used.)
662: This motivates the next step, which is to heuristically bound the
663: error-likelihood distribution with an independent-error model. Only
664: independence between the origin and destination block of the encoded
665: Bell pair is needed. The error model is therefore designed to
666: independently apply certain Pauli products to each block of the
667: encoded Bell pair. Consider the origin block. Because the stabilizer
668: consists of products of the three operators $[XXXX], [ZZZZ]$ and
669: $[IIZZ]$ or $[IXIX]$ (depending on whether the spectator qubit's state
670: is $\kets{\biz}{S}$ or $\kets{+}{S}$), and because two Pauli products
671: differing by an element of the stabilizer have the same effect, the
672: set of Pauli products can be partitioned into 32 cosets, where two
673: operators in the same coset have the same effect on the encoded Bell
674: pair. The independent-error model assigns a likelihood to each of
675: these 32 cosets for the origin block, and similarly for the
676: destination block. Because of the encoded stabilizer operators
677: $[XXIIXXII]$ and $[ZIZIZIZI]$ characterizing the encoded Bell state,
678: each syndrome of the encoded Bell pair can be obtained in four
679: different ways from errors on the two blocks as classified by the 32
680: cosets. The problem is to choose the origin and destination
681: Bell-error models to match the computed error model as closely as
682: possible without unintentionally improving future error behavior.
683: Thus, the goal is to have the Bell-error model's normalized
684: likelihoods exceed the computed error model's normalized
685: likelihoods. (The normalized likelihoods are such that the likelihood
686: of the $\mb{0}$ syndrome is $1$.) Although it cannot be excluded that
687: increasing likelihoods in this way leads to sufficient error
688: cancellation to improve the error behavior, this seems unlikely. A
689: second goal is to recover the same error model if indeed it is induced
690: by independent errors. The computational method used to obtain the
691: independent Bell-error model is heuristic (see the next paragraph),
692: but achieves these goals to good approximation. One way to measure
693: the quality of the Bell-error model is to calculate the maximum and
694: minimum ratios of the normalized likelihoods of corresponding
695: syndromes in the Bell-error model and the computed error model for the
696: encoded Bell state. Ideally, the minimum ratio should be $1$. It was
697: found to be greater than $1-10^{-6}$ in all cases and usually much
698: closer to $1$. The maximum ratio varies significantly and is largest
699: when the preparation/measurement error dominates. See
700: Fig.~\ref{fig:contours}.
701:
702: To obtain the block-wise independent Bell-error model, each encoded
703: Bell pair syndrome is assigned a weight. For unbiased errors, the
704: weight should be the minimum weight of Pauli products that can give
705: rise to the syndrome. Because errors in the models in effect at
706: higher levels of concatenation are highly biased, the weight
707: computation is modified as follows. First a one-qubit error model is
708: derived from the maximum marginal error probabilities of the
709: likelihoods for Pauli products after the cnot. After normalizing the
710: identity error to $1$, the negative logarithm of the error likelihoods
711: of $X$, $Y$ and $Z$ are assigned as weights to each of these Pauli
712: operators. The weight of a Pauli product is the sum of the weights of
713: each one-qubit factor. Each syndrome's weight is given by the minimum
714: weight of Pauli products that give rise to it. Similarly, the weights
715: of the 32 cosets for the origin and destination blocks are computed
716: and each coset $c$ is assigned to the minimum weight Pauli product
717: $p(c)$ that belongs to the coset. Next, each computed error
718: likelihood associated with a non-zero syndrome $s$ for the encoded
719: Bell pair is attributed to one of the four pairs of origin and
720: destination block cosets that can give rise to $s$. The choice is
721: made so as to minimize the sum of the weights of the two cosets. As a
722: result, each pair of cosets $c_1,c_2$ is assigned an error likelihood
723: $e(c_1, c_2)$, which is $0$ if it does not have minimum weight for the
724: encoded Bell-pair syndrome that is determined by the pair. Let
725: $s(c_1,c_2)$ be the encoded Bell-pair syndrome determined by
726: $(c_1,c_2)$. The last step is to obtain independent origin and
727: destination likelihoods $e_o(c)$ and $e_d(c)$ that, in a sense, bound
728: the likelihoods obtained for the pairs. This is done by minimizing
729: the independent likelihoods of each block subject to the constraint
730: that if $(c_1,c_2)$ is a pair of cosets and the weight of $s(0,c_2)$
731: is less than the weight of $s(c_1,c_2)$, then $e_o(c_1)/e(0)\geq
732: e(c_1,c_2)/e(0,c_2)$, and similarly if the weight of $s(c_1,0)$ is less
733: than the weight of $s(c_1,c_2)$. The idea is for the
734: independent-error model to have larger relative likelihoods consistent
735: with independence$(B)$.
736:
737: The Bell-error model need not have the same error behavior for the
738: origin and destination blocks. However, the two blocks can be made to
739: behave similarly by symmetrizing the preparation procedure. This is
740: done by randomizing the orientation of the Bell pair, which is made
741: possible by using the same spectator qubit state on each block.
742:
743: In the next sections, the independence of the Bell error model is used
744: both to simplify the computation of the next level's encoded gates and
745: to ensure that the desired independence properties apply throughout a
746: computation. Numerical results are presented in
747: Sect.~\ref{sect:postselected threshold}.
748:
749: \section{State preparation}
750: \label{sect:state preparation}
751:
752: Preparation of encoded states is implemented by postselected
753: measurements of the origin block of an encoded Bell pair. For
754: preparing the logical $\kets{\biz}{L}$ ($\kets{+}{L}$) state, $Z$
755: ($X$) measurements on each origin qubit postselected on the $+1$
756: eigenvalue are used. The resulting state on the destination qubits
757: must be modeled by an independent preparation error acting on the
758: logical qubit, followed by the terminal-error model derived from the
759: destination block's Bell-error model. With the independence heuristic,
760: the effect of the measurement of the origin block's qubits depends
761: only on the errors acting on the origin and propagates into the
762: encoded qubit via the encoded entanglement. To compute the propagated
763: error, observe that because the origin errors are now assumed to be
764: independent of the destination errors, it is possible to abstract the
765: destination before the destination errors are applied as a single,
766: error-free qubit $\sysfnt{B}$ entangled with the origin's encoded
767: qubit. The effect of measurement can then be computed explicitly
768: using the functions of Sect.~\ref{sect:functions}. The measurement
769: results in either the desired state on $\sysfnt{B}$ or the orthogonal
770: state. The probability that the orthogonal state is obtained defines
771: the independent contribution to the logical error due to state
772: preparation.
773:
774:
775: \section{Measurement}
776: \label{sect:measurement}
777:
778: Postselected measurement is similar to state preparation. It involves
779: making the same measurements, but on the destination block of an
780: encoded Bell pair. As a result, the analysis can be done in the same
781: way, which is by modeling the origin half as an ideal single qubit
782: entangled with the logical qubit of the destination. The effect of
783: measurement can be computed explicitly to determine the likelihoods
784: for the state that the single qubit ends up in. Note that in an
785: implementation it may be the case that the origin half has already
786: been involved in a postselected Bell measurement. The effect of such
787: prior operations is taken into account by independent logical errors
788: active in the current state. These errors are independent of the
789: destination errors, making it possible to model the effects of
790: measurement as has been done here. The randomized symmetrization of
791: the Bell pair result in logical errors for measurements that are
792: essentially the same as the logical errors for preparation.
793:
794: \section{Cnot}
795: \label{sect:controlled-not}
796:
797: The encoded cnot is implemented transversally by applying cnots to
798: corresponding qubits in the two blocks encoding the qubit to be
799: acted on. This is followed by a teleportation step that involves
800: postselected Bell measurements from the encoded qubits' blocks to the
801: origin blocks of two encoded Bell pairs. To avoid delays, the cnots
802: of the Bell measurements can be interleaved with the transversal
803: cnots~\cite{knill:qc2004a}. The independence heuristic implies that
804: logical errors attributable to the transversal cnots and Bell
805: measurements are independent of earlier logical errors, terminal
806: errors of qubits not involved in the gate, and destination Bell errors
807: for the two Bell pairs used for teleportation. As a result, the
808: effect of the encoded cnot can be computed by using only four blocks
809: whose errors are characterized by the independent destination and
810: origin Bell-error models. As was done for measurement and preparation
811: errors, each of these four blocks' encoded qubit is considered
812: entangled with an ideal reference qubit. In this way, the complete error
813: behavior of the cnot implementation can be computed.
814:
815: If the qubits of the blocks are themselves encoded with the
816: error-detecting codes of the scheme, the cnot analysis is
817: modified. This is necessary because rather than implementing each cnot
818: according to the lower-level instructions, the cnots are implemented
819: as transversal physical cnots, acting on corresponding physical
820: qubits. This improves the error behavior of the encoded cnot because
821: the effect at higher levels is that the implementation of the cnot
822: behaves as if the Bell measurement were error-free. To see this,
823: consider the logical-error model for the cnot derived at level $1$. It
824: is possible to virtually rearrange the cnots and errors of the cnots
825: and measurements so that (a) the transversal cnot is applied first
826: without errors, (b) all the errors occur (including those due to
827: origin and destination error models), and finally, (c) the Bell
828: measurements are implemented without errors. The computed logical
829: error of the procedure is determined by those error combinations in
830: this virtual representation that satisfy the condition that
831: corresponding origin and destination syndromes are identical.
832: Consider the next level of encoding. The cnot implementation consists
833: of applying the lower-level scheme to corresponding physical origin
834: and destination blocks. The computed error for these cnots anticipates
835: the Bell-measurement errors so that it is not necessary to
836: re-introduce them. That is, in computing the next-level cnot's
837: logical-error likelihoods, the transversal cnots come with the
838: previously computed logical errors, but the Bell measurements can be
839: taken to be error-free.
840:
841: \ignore{ Here is something to puzzle over: If the postselection is
842: done efficiently, then instead of postselecting each Bell measurement
843: independently, postselection is based on parities associated with the
844: bits of the syndrome. Higher level parity checks involving multiple
845: blocks, which makes sense. However, for analysis, it is simpler to
846: postselect each Bell measurement on its neutral outcome. Given the
847: Pauli-product probabilistic error model, this works. The puzzle is
848: that the postselection in the implementation of the cnot (for example)
849: is block by block, and it is not obvious how the higher level
850: syndromes enter into the picture. In particular, any non-zero higher
851: level syndrome implies that some individual Bell measurement must be
852: non-neutral. The puzzle is to ``understand'' how these local
853: conditions can propagate to global ones, a puzzle that is not
854: unfamiliar in quantum mechanics. }
855:
856: \section{Hadamard gate}
857: \label{sect:hadamard gate}
858:
859: The Hadamard gate is not needed for scalable postselected generation
860: of CSS states. However, it is helpful for achieving universality. The
861: computation of its contributions to the logical error is similar to
862: that of the cnot. A teleported implementation may be used where the
863: Hadamard is applied transversally to the current block of a logical
864: qubit, followed by a Bell measurement involving an origin block of an
865: encoded Bell pair. The code requires that the middle two qubits be
866: swapped after the transversal Hadamard, which can be taken into
867: account by ``crossing'' the middle two Bell measurements. Again, at
868: levels other than the first, the Hadamard is implemented in a
869: transversal fashion rather than reimplemented using explicit
870: lower-level gates. As a result, the computation of higher-level
871: logical errors can be simplified by having error-free Bell
872: measurements.
873:
874: \section{Decoding a prepared state}
875: \label{sect:decoding a prepared state}
876:
877: The main application of postselected fault-tolerant quantum
878: computation is to the preparation of stabilizer states with errors
879: that are primarily local. These states can then be used in a
880: standard fault-tolerant quantum computation.
881: They are prepared first in encoded form at a sufficiently high
882: level of encoding using the error-detecting codes. Once such a state
883: is obtained, the error-detecting codes are decoded from the bottom up.
884: The heuristic error model used to describe the error behavior of the
885: scheme implies that any encoded stabilizer state obtained before
886: decoding the error-detecting code is subject to logical errors due to
887: the gates used to prepare the encoded state, and terminal-errors that
888: are independently applied to each block at every level. The bottom-up
889: decoding process adds errors to the final state only through
890: undetected terminal errors and errors introduced in the decoding
891: process itself. Because of independence, the error introduced in this
892: way in the first step of the bottom-up decoding process can be
893: computed from the terminal error model that applies to physical
894: blocks. This error propagates as an additional local error in the
895: next-level blocks. Since the terminal-error models at each level are
896: themselves independent, this local error can be added independently to
897: the next level's terminal error model. The effect of the next level
898: of decoding can then be computed as before. Thus, in each decoding
899: cycle, additional local error from below is merged with terminal
900: errors and decoding errors, conditioned on a successful
901: decoding. Scalability is verified by confirming that the error pushed
902: into the decoded qubit is bounded. A bound can be estimated by
903: implementing this procedure for the first few levels to compute the
904: decoding error in each step. In the examples computed (see
905: Tables~\ref{tab:examples1},~\ref{tab:examples2}), the local error
906: introduced by decoding at each level appears to slowly decrease toward
907: a steady state.
908:
909: \section{Encoding an arbitrary state}
910: \label{sect:encoding an arbitrary state}
911:
912: To encode an arbitrary state, a Bell pair is encoded at the top level
913: of the concatenation hierarchy. The origin block of the pair is
914: decoded bottom-up as in the process for preparing a stabilizer state
915: in the previous section. The last step is to teleport a state prepared
916: in a physical qubit into the top-level code using the decoded origin
917: qubit. This process may be referred to as \emph{injecting} a state
918: into a code. The new state's error model fits the logical/terminal
919: error model scheme used before, where the terminal error is due to the
920: terminal-error model applicable to the destination block of the
921: encoded Bell pair. The logical error comes from the bottom-up decoding,
922: the (post-selected) Bell measurement used for teleportation, and
923: any error in the physical qubit's state. Given the bound on the
924: bottom-up decoding error, it suffices to combine it with a bound on
925: the error in preparing the desired state in a physical qubit and the
926: error due to a physical Bell measurement.
927:
928: \section{Postselected threshold}
929: \label{sect:postselected threshold}
930:
931: By use of the computer-assisted heuristics described in the previous
932: sections, it is now possible to determine whether a given
933: physical-error model is scalable for postselected computation with the
934: error-detecting schemes under analysis. A physical-error model is
935: scalable for preparing CSS states if the logical error probabilities
936: can be made arbitrarily small. Universality requires logical state
937: preparations and purifications. Consider preparation of logical
938: $\ket{\pi/8}$ states. A version of the purification scheme for
939: $\ket{\pi/8}$ states given in~\cite{knill:qc2004a} is analyzed by
940: Bravyi and Kitaev~\cite{bravyi:qc2004a} in the context of ``magic
941: states distillation''. They show that magic states, which include
942: $\ket{\pi/8}$, are distillable given a way of preparing them with
943: probability of error below about $35\;\%$, assuming no error in
944: Clifford group operations. Encoding $\ket{\pi/8}$ by decoding one-half
945: of a logical Bell pair and teleporting introduces relatively little
946: additional error (see below). These observations apply also to
947: $\ket{i\pi/4}$ preparation. As a result, error in preparation of
948: logical $\ket{\pi/8}$ and $\ket{i\pi/4}$ states is not a bottleneck
949: for scalability.
950:
951: To illustrate the computer-assisted heuristic analysis, the logical
952: error probabilities are graphed for a range of preparation/measurement
953: and cnot errors in Fig.~\ref{fig:contours}, which maps the maximum of
954: the logical-error probabilities for encoded preparation, measurement,
955: cnot, and Hadamard gates as a function of the physical-error
956: probabilities and the number of levels of encoding. As can be seen, a
957: small number of levels suffice to strongly suppress the logical-error
958: probabilities. A boundary between the region where errors are scalable
959: and where they are unscalable (by these schemes) emerges as the number
960: of levels are increased. For measurement/preparation error
961: probabilities well below the cnot error probability, the boundary is
962: between $3.5\;\%$ and $5\;\%$.
963:
964: \begin{herefig} \label{fig:contours} \begin{picture}(0,6.8)(0,-6.6)
965: \fboxpars{0pt}{0pt}
966: \nputgr{-.2,0}{tr}{}{cplotw1}
967: \nputbox{-2.2,-.1}{tl}{\fcolorbox[rgb]{1,1,1}{1,1,1}{\large Level 1}}
968: \nputbox{-.2,-3.1}{tr}{$\log_{10}(\textrm{cnot error})$}
969: \nputbox{-2.9,-0.05}{tl}{\rotatebox{90}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$\log_{10}(\textrm{prep.~error})$}}}
970: \nputbox{-.46,-1.1}{c}{\rotatebox{-85}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-1}$}}}
971: \nputbox{-.98,-.94}{c}{\rotatebox{-50}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-2}$}}}
972: \nputbox{-1.38,-1.16}{c}{\rotatebox{-35}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-3}$}}}
973: \nputbox{-1.9,-1.63}{c}{\rotatebox{-30}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-4}$}}}
974: \nputbox{-2.5,-2.05}{c}{\rotatebox{-20}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-5}$}}}
975:
976: \nputgr{.2,0}{tl}{}{cplotw2}
977: \nputbox{1.4,-.1}{tl}{\fcolorbox[rgb]{1,1,1}{1,1,1}{\large Level 2}}
978: \nputbox{3.35,-3.1}{tr}{$\log_{10}(\textrm{cnot error})$}
979: \nputbox{.65,-0.05}{tl}{\rotatebox{90}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$\log_{10}(\textrm{prep.~error})$}}}
980: \nputbox{2.7,-.7}{c}{\rotatebox{-40}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-2}$}}}
981: \nputbox{2.3,-1.05}{c}{\rotatebox{-30}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-4}$}}}
982: \nputbox{1.8,-1.5}{c}{\rotatebox{-30}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-6}$}}}
983: \nputbox{1.35,-2.01}{c}{\rotatebox{-30}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-8}$}}}
984:
985: \nputgr{-.2,-3.5}{tr}{}{cplotw3}
986: \nputbox{-2.2,-3.6}{tl}{\fcolorbox[rgb]{1,1,1}{1,1,1}{\large Level 3}}
987:
988: \nputbox{-.2,-6.6}{tr}{$\log_{10}(\textrm{cnot error})$}
989: \nputbox{-2.9,-3.55}{tl}{\rotatebox{90}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$\log_{10}(\textrm{prep.~error})$}}}
990: \nputbox{-.65,-4.7}{c}{\rotatebox{-90}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-3}$}}}
991: \nputbox{-1.1,-4.49}{c}{\rotatebox{-50}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-6}$}}}
992: \nputbox{-1.48,-4.78}{c}{\rotatebox{-30}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-9}$}}}
993: \nputbox{-1.85,-5.13}{c}{\rotatebox{-30}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-12}$}}}
994: \nputbox{-2.45,-5.4}{c}{\rotatebox{-15}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-15}$}}}
995:
996: \nputgr{.2,-3.5}{tl}{}{cplotw4}
997: \nputbox{1.4,-3.6}{tl}{\fcolorbox[rgb]{1,1,1}{1,1,1}{\large Level 4}}
998: \nputbox{3.35,-6.6}{tr}{$\log_{10}(\textrm{cnot error})$}
999: \nputbox{.65,-3.55}{tl}{\rotatebox{90}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$\log_{10}(\textrm{prep.~error})$}}}
1000: \nputbox{2.64,-4.26}{c}{\rotatebox{-40}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-5}$}}}
1001: \nputbox{2.36,-4.46}{c}{\rotatebox{-30}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-10}$}}}
1002: \nputbox{2.1,-4.7}{c}{\rotatebox{-30}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-15}$}}}
1003: \nputbox{1.74,-4.95}{c}{\rotatebox{-30}{\fcolorbox[rgb]{1,1,1}{1,1,1}{$10^{-20}$}}}
1004:
1005: \end{picture}
1006: \herefigcap{Plots of error probabilities achieved after one, two,
1007: three and four levels of concatenation. The spectator qubits for the
1008: first level are in state $\kets{+}{S}$. For the next three levels
1009: they are in state $\kets{\biz}{S}$. The $x$- and $y$-axes show the
1010: $\log_{10}$ of the total error probabilities of the physical cnot and
1011: the physical preparation/measurement, respectively. The Hadamard
1012: gate's error probability is $3/2$ times the preparation/measurement
1013: error probability, consistent with the assumption that preparation and
1014: measurement error is comparable to other one-qubit gate errors except
1015: that one of the Pauli operators has no effect. The probability of
1016: each non-identity Pauli product contributing to the error is assumed
1017: to be identical. The contours show the maximum error probability of
1018: the encoded cnot, Hadamard and preparation/measurement gates at
1019: logarithmic intervals. The highest contour corresponds to a maximum
1020: error probability of $.25$. The contour intervals are adjusted from
1021: level to level. Darker shadings correspond to higher error
1022: probabilities. Black indicates the region where scalability clearly
1023: fails due to the error probabilities having exceeded $.25$. The
1024: contours were obtained by computing the error probabilities at $100$
1025: points in a $10\times 10$ logarithmic grid. The separation between
1026: adjacent grid points corresponds to a change in error probabilities by
1027: a factor of $2$. An additional $20$ points were computed for
1028: logarithmic cnot error probabilities of $\log_10(0.071)=-1.15$. and
1029: $\log_10(0.0354)=-1.45$. The positions of the points at which the
1030: probabilities were computed are shown as white dots. Interpolation
1031: was used to derive the contours. Note that the grid point separation
1032: corresponds to logarithmic intervals of about $0.3$ ($0.15$ near the
1033: right scalability boundary). The contour positions, particularly the
1034: one at the scalability boundary, should therefore be regarded as
1035: having positional uncertainties of that order. The contours indicate
1036: decreasing error with increasing cnot error probabilities at high,
1037: constant measurement/preparation error rates. This is an artifact of
1038: the method used for obtaining the independent Bell-error error
1039: model. In particular, the quality of approximation of the
1040: independent-error model is not very good when preparation/measurement
1041: error is high compared to cnot error. This is probably because the
1042: method is based on cnot error and does not take
1043: preparation/measurement error into account. When the approximation is
1044: bad, the computed logical errors grow. The region where the maximum
1045: normalized likelihood ratio between the independent Bell-error model
1046: and the computed error model (see Sect.~\ref{sect:preparation of the
1047: encoded Bell pair}) exceeds 100 is above the gray staircase line in
1048: each plot. To determine the behavior of specific examples more
1049: precisely requires further computation. Two examples are given in
1050: Tables~\ref{tab:examples1} and~\ref{tab:examples2}. The locations of the
1051: error probabilities used in the examples are indicated by the two gray
1052: points.} \end{herefig}
1053:
1054: \pagebreak
1055:
1056: Two example error combinations are examined in detail in
1057: Tables~\ref{tab:examples1} and~\ref{tab:examples2}. The first is near the
1058: scalability boundary for the scheme analyzed here. The second is lower
1059: by about
1060: a factor of $5$. The measurement/preparation error probability
1061: is taken to be a factor of 3-4 below the cnot error probability. This
1062: choice is motivated by an estimate of how well measurement error can
1063: be suppressed by using ancillas and
1064: cnots~\cite{divincenzo:qc2000a}. As in Fig.~\ref{fig:contours}, the
1065: Hadamard-gate error probability is $3/2$ of the
1066: measurement/preparation error. The first example has all gate-error
1067: probabilities above $1\;\%$. Specifically, the measurement/preparation
1068: error is $1\;\%$ and the cnot error is $3\;\%$. Four levels are required
1069: to reach logical gate-error probabilities near or below $10^{-4}$.
1070: One more level reduces them below $10^{-7}$. The choice of spectator
1071: qubit state at each level significantly affects the logical gate error
1072: distributions. Note that $Y$ errors are always significantly
1073: suppressed, which is a feature of CSS codes. Also, having the
1074: spectator qubit be in state $\kets{\biz}{S}$ strongly suppresses $X$
1075: errors compared to $Z$ errors, except for the Hadamard gate. This is
1076: because the implementation of the Hadamard gate voids the ability
1077: of the teleportation step to detect errors affecting only the part of
1078: the syndrome due to the spectator qubits' states. The biases suggest
1079: that it may be worth using different codes adapted to this bias at the
1080: higher levels. The decoding error is clearly stable as more levels
1081: are added. In fact, it is monotone decreasing. By extrapolation, the
1082: total decoding error is below $2.3\;\%$ no matter how many levels are
1083: used. This implies that if a $\ket{\pi/8}$ state is injected into the top
1084: level as discussed above, the newly encoded $\ket{\pi/8}$ state should
1085: have error probability of at most $9\;\%$, bounding the sum of the
1086: measurement/preparation error ($1\;\%$), the decoding error ($2.3\;\%$),
1087: and the Bell measurement error ($5\;\%$, due to the cnot and two
1088: measurements). This is well below the purification
1089: threshold~\cite{bravyi:qc2004a}.
1090:
1091: The second example involves measurement/preparation error of $0.2\;\%$
1092: and cnot error of $0.8\;\%$, and exhibits similar features except that
1093: only two levels are needed to suppress the maximum error probability
1094: below $10^{-5}$. The decoding error probability decreases to a value
1095: below $0.55\;\%$.
1096:
1097:
1098: \begin{heretab}
1099: \label{tab:examples1}
1100: {\small\begin{tabular}{|l||l|l|l|ll||}
1101: \hline
1102: Error probabilities: & \multicolumn{5}{l||}{$e_p=e_m=0.01, e_c=0.03$}
1103: \\\hline\hline
1104: Level 1 &\multicolumn{5}{l||}{Spectator:\ $\kets{+}{S}$}
1105: \\\hline
1106: Independence quality & % locRange[1,1,0]
1107: \multicolumn{5}{l||}{3.20}
1108: \\\hline
1109: Prep./Meas. error& % eemProbs[eem[1,1,1]]
1110: $X: 4.14*10^{-3}$ & $Z: 9.82*10^{-4}$ & &
1111: Max: & $4.14*10^{-3}$
1112: \\\hline
1113: Cnot marginal error& % eemProbs[margec[eec[1,1,1]]]
1114: $X: 1.83*10^{-2}$ & $Z: 6.11*10^{-3}$ & $Y:3.70*10^{-4} $ &
1115: Total: & $2.98*10^{-2}$% Apply[Plus,eecProbs[eec[1,1,1]]]
1116: \\\hline
1117: Hadamard error & % eemProbs[eeh[1,1,1]]
1118: $X: 1.10*10^{-2}$ & $Z: 1.10*10^{-2}$ & $Y: 2.31*10^{-3}$ &
1119: Total: & $2.44*10^{-2}$% Apply[Plus,eemProbs[eeh[1,1,1]]]
1120: \\\hline
1121: Decode error & % eemProbs[dloc[1,1,1]]
1122: $X: 5.61*10^{-3}$ & $Z: 1.30*10^{-2}$ & $Y: 4.75*10^{-3}$ &
1123: Total: & $2.34*10^{-2}$% Apply[Plus,eemProbs[dloc[1,1,1]]]
1124: \\\hline\hline
1125: Level 2 &\multicolumn{5}{l||}{Spectator:\ $\kets{\biz}{S}$}
1126: \\\hline
1127: Independence quality & % locRange[1,1,1]
1128: \multicolumn{5}{l||}{8.59}
1129: \\\hline
1130: Prep./Meas. error& % eemProbs[eem[1,1,2]]
1131: $X: 4.87*10^{-4}$ & $Z: 4.34*10^{-4}$ & &
1132: Max: & $4.87*10^{-4}$
1133: \\\hline
1134: Cnot marginal error& % eemProbs[margec[eec[1,1,2]]]
1135: $X: 5.03*10^{-3}$ & $Z: 3.39*10^{-3}$ & $Y: 8.33*10^{-6} $ &
1136: Total: & $9.53*10^{-3}$% Apply[Plus,eecProbs[eec[1,1,2]]]
1137: \\\hline
1138: Hadamard error & % eemProbs[eeh[1,1,2]]
1139: $X: 6.02*10^{-3}$ & $Z: 6.02*10^{-3}$ & $Y: 1.24*10^{-4}$ &
1140: Total: & $1.22*10^{-2}$ % Apply[Plus,eemProbs[eeh[1,1,2]]]
1141: \\\hline
1142: Decode error & % eemProbs[dloc[1,1,2]]
1143: $X: 1.30*10^{-2}$ & $Z: 4.86*10^{-3}$ & $Y: 4.56*10^{-3}$ &
1144: Total: & $2.24*10^{-2}$% Apply[Plus,eemProbs[dloc[1,1,2]]]
1145: \\\hline\hline
1146: Level 3 &\multicolumn{5}{l||}{Spectator:\ $\kets{\biz}{S}$}
1147: \\\hline
1148: Independence quality & % locRange[1,1,2]
1149: \multicolumn{5}{l||}{2.64}
1150: \\\hline
1151: Prep./Meas. error& % eemProbs[eem[1,1,3]]
1152: $X: 5.10*10^{-6}$ & $Z: 2.42*10^{-4}$ & &
1153: Max: & $2.42*10^{-4}$
1154: \\\hline
1155: Cnot marginal error& % eemProbs[margec[eec[1,1,3]]]
1156: $X: 9.37*10^{-5}$ & $Z: 1.22*10^{-3}$ & $Y: 4.19*10^{-8} $ &
1157: Total: & $1.57*10^{-3}$ % Apply[Plus,eecProbs[eec[1,1,3]]]
1158: \\\hline
1159: Hadamard error & % eemProbs[eeh[1,1,3]]
1160: $X: 7.27*10^{-4}$ & $Z: 7.27*10^{-4}$ & $Y: 7.39*10^{-7}$ &
1161: Total: & $1.45*10^{-3}$ % Apply[Plus,eemProbs[eeh[1,1,3]]]
1162: \\\hline
1163: Decode error & % eemProbs[dloc[1,1,3]]
1164: $X: 1.23*10^{-2}$ & $Z: 4.55*10^{-3}$ & $Y: 4.34*10^{-3}$ &
1165: Total: & $2.12*10^{-2}$ % Apply[Plus,eemProbs[dloc[1,1,3]]]
1166: \\\hline\hline
1167: Level 4 &\multicolumn{5}{l||}{Spectator:\ $\kets{\biz}{S}$}
1168: \\\hline
1169: Independence quality & % locRange[1,1,3]
1170: \multicolumn{5}{l||}{1.90}
1171: \\\hline
1172: Prep./Meas. error& % eemProbs[eem[1,1,4]]
1173: $X: 3.11*10^{-10}$ & $Z: 2.70*10^{-5}$ & &
1174: Max: & $2.70*10^{-5}$
1175: \\\hline
1176: Cnot marginal error& % eemProbs[margec[eec[1,1,4]]]
1177: $X: 2.08*10^{-8}$ & $Z: 1.32*10^{-4}$ & $Y: 1.07*10^{-12} $ &
1178: Total: & $1.59*10^{-4}$ % Apply[Plus,eecProbs[eec[1,1,4]]]
1179: \\\hline
1180: Hadamard error & % eemProbs[eeh[1,1,4]]
1181: $X: 3.60*10^{-5}$ & $Z: 3.60*10^{-5}$ & $Y: 1.31*10^{-9}$ &
1182: Total: & $7.19*10^{-5}$ % Apply[Plus,eemProbs[eeh[1,1,4]]]
1183: \\\hline
1184: Decode error & % eemProbs[dloc[1,1,4]]
1185: $X: 1.22*10^{-2}$ & $Z: 4.24*10^{-3}$ & $Y: 4.22*10^{-3}$ &
1186: Total: & $2.07*10^{-2}$ % Apply[Plus,eemProbs[dloc[1,1,4]]]
1187: \\\hline\hline
1188: Level 5 &\multicolumn{5}{l||}{Spectator:\ $\kets{+}{S}$}
1189: \\\hline
1190: Independence quality & % locRange[1,1,4]
1191: \multicolumn{5}{l||}{1.94}
1192: \\\hline
1193: Prep./Meas. error& % eemProbs[eem[1,1,5]]
1194: $X: 3.65*10^{-15}$ & $Z: 7.37*10^{-9}$ & &
1195: Max: & $7.37*10^{-9}$
1196: \\\hline
1197: Cnot marginal error& % eemProbs[margec[eec[1,1,5]]]
1198: $X: 2.35*10^{-14}$ & $Z: 6.12*10^{-8}$ & $Y: 3.74*10^{-22} $ &
1199: Total: & $6.87*10^{-8}$ % Apply[Plus,eecProbs[eec[1,1,5]]]
1200: \\\hline
1201: Hadamard error & % eemProbs[eeh[1,1,5]]
1202: $X: 1.76*10^{-8}$ & $Z: 1.76*10^{-8}$ & $Y: 3.10*10^{-16}$ &
1203: Total: & $3.51*10^{-8}$ % Apply[Plus,eemProbs[eeh[1,1,5]]]
1204: \\\hline
1205: Decode error & % eemProbs[dloc[1,1,5]]
1206: $X: 4.16*10^{-3}$ & $Z: 1.22*10^{-2}$ & $Y: 4.16*10^{-3}$ &
1207: Total: & $2.05*10^{-2}$ % Apply[Plus,eemProbs[dloc[1,1,5]]]
1208: \\\hline\hline
1209: \end{tabular}}
1210: \vspace*{.2in} \heretabcap{Details for physical error probabilities of
1211: $1\;\%$ for state preparation and measurement and $3\;\%$ for cnot. The
1212: independence quality is the maximum ratio of the normalized
1213: likelihoods of the independent Bell and the computed error models
1214: (see Sect.~\ref{sect:preparation of the encoded Bell pair}).
1215: The minimum ratio found was $0.99999957$. Errors are given in
1216: probabilities. Preparation and measurement errors are identical, due
1217: to randomization of the encoded Bell pair preparation to ensure
1218: bilateral symmetry of the errors. For preparation and measurement,
1219: the probabilities are assigned to only one operator that affects the
1220: state or measurement result. For example, a $\ket{\biz}$ preparation
1221: is affected only by $X$ errors. The cnot errors shown are the maximum
1222: marginal probabilities for the given Pauli operators. The total error
1223: probabilities are computed by summing the probabilities of each Pauli
1224: error. The number of physical qubits per logical qubits at
1225: level $5$ is $1024$.
1226: }
1227: \end{heretab}
1228:
1229: \begin{heretab}
1230: \label{tab:examples2}
1231: {\small\begin{tabular}{|l||l|l|l|ll||}
1232: \hline
1233: Error probabilities: & \multicolumn{5}{l||}{$e_p=e_m=0.002, e_c=0.008$}
1234: \\\hline\hline
1235: Level 1 &\multicolumn{5}{l||}{Spectator:\ $\kets{+}{S}$}
1236: \\\hline
1237: Independence quality & % locRange[1,1,0]
1238: \multicolumn{5}{l||}{1.11}
1239: \\\hline
1240: Prep./Meas. error& % eemProbs[eem[1,1,1]]
1241: $X: 1.71*10^{-4}$ & $Z: 3.61*10^{-5}$ & &
1242: Max: & $1.71*10^{-4}$
1243: \\\hline
1244: Cnot marginal error& % eemProbs[margec[eec[1,1,1]]]
1245: $X: 8.09*10^{-4}$ & $Z: 2.35*10^{-4}$ & $Y:2.76*10^{-6} $ &
1246: Total: & $1.27*10^{-3}$% Apply[Plus,eecProbs[eec[1,1,1]]]
1247: \\\hline
1248: Hadamard error & % eemProbs[eeh[1,1,1]]
1249: $X: 4.46*10^{-4}$ & $Z: 4.47*10^{-4}$ & $Y: 6.62*10^{-5}$ &
1250: Total: & $9.59*10^{-4}$% Apply[Plus,eemProbs[eeh[1,1,1]]]
1251: \\\hline
1252: Decode error & % eemProbs[dloc[1,1,1]]
1253: $X: 1.15*10^{-3}$ & $Z: 3.26*10^{-3}$ & $Y: 1.11*10^{-3}$ &
1254: Total: & $5.52*10^{-3}$% Apply[Plus,eemProbs[dloc[1,1,1]]]
1255: \\\hline\hline
1256: Level 2 &\multicolumn{5}{l||}{Spectator:\ $\kets{\biz}{S}$}
1257: \\\hline
1258: Independence quality & % locRange[1,1,1]
1259: \multicolumn{5}{l||}{1.14}
1260: \\\hline
1261: Prep./Meas. error& % eemProbs[eem[1,1,2]]
1262: $X: 2.58*10^{-7}$ & $Z: 5.32*10^{-7}$ & &
1263: Max: & $5.32*10^{-7}$
1264: \\\hline
1265: Cnot marginal error& % eemProbs[margec[eec[1,1,2]]]
1266: $X: 2.56*10^{-6}$ & $Z: 3.63*10^{-6}$ & $Y: 1.85*10^{-11} $ &
1267: Total: & $7.01*10^{-6}$% Apply[Plus,eecProbs[eec[1,1,2]]]
1268: \\\hline
1269: Hadamard error & % eemProbs[eeh[1,1,2]]
1270: $X: 3.82*10^{-6}$ & $Z: 3.82*10^{-6}$ & $Y: 1.07*10^{-8}$ &
1271: Total: & $7.66*10^{-6}$ % Apply[Plus,eemProbs[eeh[1,1,2]]]
1272: \\\hline
1273: Decode error & % eemProbs[dloc[1,1,2]]
1274: $X: 3.21*10^{-3}$ & $Z: 1.08*10^{-2}$ & $Y: 1.08*10^{-3}$ &
1275: Total: & $5.38*10^{-3}$% Apply[Plus,eemProbs[dloc[1,1,2]]]
1276: \\\hline\hline
1277: Level 3 &\multicolumn{5}{l||}{Spectator:\ $\kets{\biz}{S}$}
1278: \\\hline
1279: Independence quality & % locRange[1,1,2]
1280: \multicolumn{5}{l||}{1.52}
1281: \\\hline
1282: Prep./Meas. error& % eemProbs[eem[1,1,3]]
1283: $X: 5.95*10^{-13}$ & $Z: 1.16*10^{-10}$ & &
1284: Max: & $1.16*10^{-10}$
1285: \\\hline
1286: Cnot marginal error& % eemProbs[margec[eec[1,1,3]]]
1287: $X: 1.86*10^{-11}$ & $Z: 9.03*10^{-10}$ & $Y: 9.29*10^{-21} $ &
1288: Total: & $1.04*10^{-9}$ % Apply[Plus,eecProbs[eec[1,1,3]]]
1289: \\\hline
1290: Hadamard error & % eemProbs[eeh[1,1,3]]
1291: $X: 3.52*10^{-10}$ & $Z: 3.52*10^{-10}$ & $Y: 2.48*10^{-16}$ &
1292: Total: & $7.04*10^{-10}$ % Apply[Plus,eemProbs[eeh[1,1,3]]]
1293: \\\hline
1294: Decode error & % eemProbs[dloc[1,1,3]]
1295: $X: 3.21*10^{-3}$ & $Z: 1.08*10^{-3}$ & $Y: 1.08*10^{-3}$ &
1296: Total: & $5.37*10^{-3}$ % Apply[Plus,eemProbs[dloc[1,1,3]]]
1297: \\\hline\hline
1298: \end{tabular}}
1299: \vspace*{.2in}
1300: \heretabcap{Details for physical error probabilities of $0.2\;\%$ for state
1301: preparation and measurement and $0.8\;\%$ for cnot. See Table~\ref{tab:examples1}
1302: for a description of the entries. The number of physical qubits
1303: per logical qubit at level $3$ is $64$.}
1304: \end{heretab}
1305:
1306: \section{General threshold}
1307: \label{sect:general threshold}
1308:
1309: A strategy for implementing a standard quantum computation is to use
1310: postselected quantum computation for preparing the encoded states
1311: needed for operations and error-correction based on a code $C$ with
1312: good error-correction properties. Provided the logical errors
1313: ($C$-logical errors) for gates acting on states encoded with $C$ are
1314: sufficiently small, standard schemes can be applied to $C$-encoded
1315: qubits to achieve scalability. These schemes are most efficient if the
1316: starting error rates (in this case the $C$-logical error rates) are
1317: already small. However, the cost of small $C$-logical errors can be a
1318: substantial increase in overhead for postselected state
1319: preparation. The tradeoffs involved are yet to be investigated. The
1320: states needed for computation with $C$-encoded qubits are encoded
1321: stabilizer states, encoded Bell pairs with cnot or Hadamard gates
1322: pre-applied, and encoded states such as $\ket{\pi/8}$. The latter may
1323: be noisy and purified later if desired. State preparation proceeds by
1324: first obtaining the desired state encoded at a suitable level of the
1325: concatenated error-detecting codes, then decoding the error-detecting
1326: code hierarchy. Three types of error affect the prepared state. The
1327: first is error associated with the encoded network used to prepare the
1328: state in encoded form. These errors are estimated by the logical error
1329: model at the top level of the error-detecting code hierarchy. The
1330: second is local error from decoding. It is, to a good approximation,
1331: independent from qubit to qubit and can be computed as shown in
1332: Tables~\ref{tab:examples1},~\ref{tab:examples2}. The third is due to
1333: any memory errors arising from delays while waiting for the
1334: postselected measurements to complete. The contribution of the first
1335: error type to $C$-logical errors can be estimated as the product of
1336: the number of logical gates used in the preparation of the needed
1337: states and the maximum error probability for top-level encoded
1338: gates. For scaling to work straightforwardly with $C$-encoded qubits
1339: and gates, the contribution of the first error type needs to be small
1340: compared to the effect on the logical qubits of local error due to
1341: decoding. This can be achieved by using sufficiently many levels of
1342: the error-detecting code.
1343:
1344: To be specific, assume that the maximum $C$-logical error must be
1345: below $10^{-4}$ for standard scalability schemes to apply and consider
1346: the first example, with memory/preparation error of $1\;\%$ and cnot
1347: error of $3\;\%$. The decoding error is less than $2.3\;\%$ per qubit at
1348: any level after the second. Choose $C$ such that given an error
1349: probability per qubit of $11\;\%$ or less, the probability that the
1350: error is not correctable is less than $0.5*10^{-4}$. Such codes exist.
1351: Let $L$ be the length of an encoding network for pairs of encoded Bell
1352: pairs with a cnot pre-applied. Choose a level of encoding with the
1353: error-detecting code such that the top level logical error rate
1354: is much less than $0.5*10^{-4}/L$ per gate. This implies that the
1355: intrinsically uncorrectable error per $C$-logical gate implemented by
1356: error-correcting teleportation is well below $0.5*10^{-4}$. It
1357: suffices to show that error that cannot be corrected due to excessive
1358: local errors arising from decoding the error-detecting code and other
1359: operations needed for the $C$-logical gate implementation is also
1360: below $0.5*10^{-4}$. Referring to~\cite{knill:qc2003b}, the scheme
1361: works if the total error probability from a Bell measurement, a
1362: possible memory delay and twice the $2.3\;\%$ decoding error is less
1363: than $11\;\%$. The Bell measurement error can be estimated as $5\;\%$
1364: (one cnot, two measurements). Therefore, if the contribution from
1365: memory error is less than about $0.4\;\%$, the scheme is expected to be
1366: successful. However, the resources required for state preparation as
1367: outlined are daunting: at least five levels of concatenation of the
1368: error-detecting codes are required and the code $C$ is likely to be
1369: complex. If the error rates of the second example apply, the number
1370: of levels of error-detecting codes and the required error-tolerance of
1371: $C$ can both be significantly reduced. In general, a large reduction
1372: in overhead results from having lower physical error rates.
1373:
1374:
1375: \section{Discussion}
1376: \label{sect:discussion}
1377:
1378: The evidence presented above suggests that it is possible to quantum
1379: compute with error rates above $1\;\%$ per gate. The next steps are to
1380: improve the efficiency of the scheme and to better determine the
1381: resources required as a function of error rates. Some aspects of the
1382: scheme as used in the analysis above are chosen for the purpose of
1383: simplifying the analysis. For example, the two purification steps in
1384: each encoded-Bell-state preparation can probably be replaced by one,
1385: or by a cat-state syndrome-extraction procedure as mentioned in
1386: Sect.~\ref{sect:preparation of the encoded Bell pair}. Further
1387: improvements can be obtained by adapting the code used to each level's
1388: error behavior. An important contribution to resource overheads is
1389: the probability of successful state preparations. This probability
1390: decreases rapidly with more levels of error-detecting code or with the
1391: complexity of the first level codes used for standard quantum
1392: computation. Without using special techniques, this probability
1393: decreases exponentially with the number of qubits involved. As a
1394: result, one should switch from a purely postselected scheme to one
1395: that permits recovery from error as soon as possible. One idea is to
1396: combine the advantages of both for state preparation at higher levels.
1397:
1398: An interesting question is to consider the relationship between
1399: postselected and standard quantum computation in the presence of
1400: errors. Is it true that if postselected quantum computation is
1401: scalable for an error model, then so is standard quantum computation?
1402: Alternatively, it is possible that there are error models for which
1403: one can quantum compute arbitrarily accurately, but only with
1404: exponentially small probability of success. In the calculations shown
1405: here, scalability of CSS gates seems to imply that universal quantum
1406: computation is scalable. Is this always the case?
1407:
1408:
1409:
1410: \begin{acknowledgments}
1411: This work was supported by the U.S. National Security Agency. It is a
1412: contribution of the National Institute of Standards and Technology, an
1413: agency of the U.S. government, and is not subject to U.S. copyright.
1414: \end{acknowledgments}
1415:
1416: \bibliography{journalDefs,qc,analysis}
1417:
1418: \ignore{
1419: \pagebreak
1420: \appendix
1421: \section{Implementation of the computer assisted heuristic analysis}
1422: \label{sect:mathematica functions}
1423:
1424: {
1425: \footnotesize
1426: \input{retestate_fns.math}
1427: }
1428:
1429: }
1430:
1431: \ignore{
1432: \pagebreak
1433: \section{Instructions for generating the data needed for analysis}
1434:
1435: {\footnotesize
1436: \begin{verbatim}
1437: (* Mathematica code. *)
1438: SetOptions["stdout", PageWidth->124];
1439: <<retestate_fns.math (* Functions needed. *)
1440:
1441: eptruncate = -1;
1442: epmaxe = 1/400; (* Maximum error likelihood, used for truncating
1443: * likelihood polynomials in one variable. *)
1444: eprec = 48; (* Number of digits of precision for real numbers. *)
1445:
1446: noerr = {{"X", {0}},{"Z", {0}}, {"Y", {0}}};
1447: (* One qubit error model with zero error. *)
1448:
1449: (*
1450: * Task:
1451: * Determine error behavior after one level for a large number
1452: * of points parametrized by error probability for
1453: * preparation/measurement and error probability for cnot.
1454: * Unform distributions over Pauli products are assumed.
1455: *)
1456:
1457: llsize = 10;
1458: maxp = SetPrecision[1/10,eprec]; pratio = 2;
1459: minp = SetPrecision[1/10,eprec]*pratio^(-llsize);
1460: lregion = Table[Table[{minp*pratio^(j-1), minp*pratio^(k-1)},{j,1,llsize}],{k,1,llsize}];
1461: probuBnd = .25;
1462: sched = {"X","Z","Z","Z","X"};
1463:
1464: (* Run the following sets independently. *)
1465:
1466: (* Set: ...an3_b1.math...*)
1467: runlevel[lregion, sched, probuBnd, "b1", 1, 1, 2];
1468: (* <<analysis1_f:b1.mx *)
1469: runlevel[lregion, sched, probuBnd, "b1", 2, 1, 2];
1470: (* <<analysis2_f:b1.mx *)
1471: runlevel[lregion, sched, probuBnd, "b1", 3, 1, 2];
1472: (* <<analysis3_f:b1.mx *)
1473: runlevel[lregion, sched, probuBnd, "b1", 4, 1, 2];
1474: (* <<analysis4_f:b1.mx *)
1475: runlevel[lregion, sched, probuBnd, "b1", 5, 1, 2];
1476: (* Full data set in analysis5_f:b1.mx *)
1477:
1478: (* Set: ...an3_b2.math...*)
1479: runlevel[lregion, sched, probuBnd, "b2", 1, 3, 4];
1480: (* <<analysis1_f:b2.mx *)
1481: runlevel[lregion, sched, probuBnd, "b2", 2, 3, 4];
1482: (* <<analysis2_f:b2.mx *)
1483: runlevel[lregion, sched, probuBnd, "b2", 3, 3, 4];
1484: (* <<analysis3_f:b2.mx *)
1485: runlevel[lregion, sched, probuBnd, "b2", 4, 3, 4];
1486: (* <<analysis4_f:b2.mx *)
1487: runlevel[lregion, sched, probuBnd, "b2", 5, 3, 4];
1488: (* Full data set in analysis5_f:b2.mx *)
1489:
1490: (* Set: ...an3_b3.math...*)
1491: runlevel[lregion, sched, probuBnd, "b3", 1, 5, 7];
1492: (* <<analysis1_f:b3.mx *)
1493: runlevel[lregion, sched, probuBnd, "b3", 2, 5, 7];
1494: (* <<analysis2_f:b3.mx *)
1495: runlevel[lregion, sched, probuBnd, "b3", 3, 5, 7];
1496: (* <<analysis3_f:b3.mx *)
1497: runlevel[lregion, sched, probuBnd, "b3", 4, 5, 7];
1498: (* <<analysis4_f:b3.mx *)
1499: runlevel[lregion, sched, probuBnd, "b3", 5, 5, 7];(* Full data set in analysis5_f:b3.mx *)
1500:
1501: (* Set: ...an3_b4.math...*)
1502: runlevel[lregion, sched, probuBnd, "b4", 1, 8, 10];
1503: (* <<analysis1_f:b4.mx *)
1504: runlevel[lregion, sched, probuBnd, "b4", 2, 8, 10];
1505: (* <<analysis2_f:b4.mx *)
1506: runlevel[lregion, sched, probuBnd, "b4", 3, 8, 10];
1507: (* <<analysis3_f:b4.mx *)
1508: runlevel[lregion, sched, probuBnd, "b4", 4, 8, 10];
1509: (* <<analysis4_f:b4.mx *)
1510: runlevel[lregion, sched, probuBnd, "b4", 5, 8, 10];
1511: (* Full data set in analysis5_f:b4.mx *)
1512:
1513: (* Fill in near the threshold for cnot error. *)
1514: lregion = Table[Join[lregion[[k]],Table[{maxp*pratio^(-3+1/2+j),
1515: minp*pratio^(k-1)},{j,1,2}]],{k,1,llsize}];
1516: (* Set: ...an3_b5.math...*)
1517: runlevel[lregion, sched, probuBnd, "b5", 1, 11, 12];
1518: (* <<analysis1_f:b5.mx *)
1519: runlevel[lregion, sched, probuBnd, "b5", 2, 11, 12];
1520: (* <<analysis2_f:b5.mx *)
1521: runlevel[lregion, sched, probuBnd, "b5", 3, 11, 12];
1522: (* <<analysis3_f:b5.mx *)
1523: runlevel[lregion, sched, probuBnd, "b5", 4, 11, 12];
1524: (* <<analysis4_f:b5.mx *)
1525: runlevel[lregion, sched, probuBnd, "b5", 5, 11, 12];
1526: (* Full data set in analysis5_f:b5.mx *)
1527:
1528:
1529: (*
1530: * Task:
1531: * Special cases.
1532: * elp = .01, elc = .03
1533: * elp = .002, elc = .008
1534: *)
1535:
1536: lregion = {{{SetPrecision[3/100,eprec],SetPrecision[1/100,eprec]}}};
1537: sched = {"X","Z","Z","Z","X"};
1538: For[lvl=1,lvl<=5,lvl=lvl+1,
1539: runlevel[lregion, sched, 1, "sp1", lvl, 1, 1];
1540: ];
1541: (* Full data set in analysis5_f:sp1.mx *)
1542:
1543: lregion = {{{SetPrecision[8/1000,eprec],SetPrecision[2/1000,eprec]}}};
1544: sched = {"X","Z","Z","X","Z"};
1545: For[lvl=1,lvl<=5,lvl=lvl+1,
1546: runlevel[lregion, sched, 1, "sp2", lvl, 1, 1];
1547: ];
1548: (* Full data set in analysis5_f:sp2.mx *)
1549:
1550:
1551: \end{verbatim}
1552: }}
1553:
1554: \ignore{
1555: Some experiences in comparing different approaches, for the record:
1556: \begin{itemize}
1557: \item I tried several variations of the method for approximating
1558: with an upper-bounding independent error model. The first
1559: is the one described in the text. Modifying it by computing
1560: the marginals based on decoding a perfectly encoded state
1561: improved the approxmation in some ranges, but not others.
1562: It did a little, but not much, better in the range where
1563: preparation/measurement errors dominate. It did a little
1564: worse in the range where cnot errors dominate.
1565:
1566: A more significantly different method was to use the singular value
1567: decomposition to obtain the error model. This is a little more
1568: sophisticated. It is based on analyzing the Hadamard transform of the
1569: sets of four cosets that give rise to the same syndrome. If the error
1570: model is exactly independent, it obtains a solution. Some work (using
1571: heurstics) had to be done to ensure it is bounding if not. My
1572: implementation approximates fairly well, though not quite as
1573: well as the original method in the range where cnot errors dominate.
1574: If preparation/measurement errors dominate, it (sometimes?) does better
1575: than the original method and worse than the original method
1576: with the second marginal distribution computation. I only
1577: spot checked the behaviors, so I can't be more specific on how
1578: these methods compare. One note: The singular-value-based method
1579: was designed to be strictly bounding, unlike the weight based (original)
1580: method.
1581: \end{itemize}
1582: }
1583:
1584: \ignore{
1585: Batch execution instructions:
1586: 1. Create file with mathematica instructions (say an1.math).
1587: 2. # nice +20 at now
1588: 3. Enter on terminal, followed by ^d:
1589: math5 < an3_b1.math > an3_b1.out
1590: 4. You can watch the output with # tail -f an1.out.
1591: }
1592:
1593: \ignore{
1594:
1595: (* Contour plot instructions. *)
1596: (*
1597: * 1. Make an "interpolation" object from each data set.
1598: *)
1599:
1600: maxlvl = 5;
1601: Get[StringJoin["analysis", ToString[maxlvl], "_f:b1.mx"]];
1602: Get[StringJoin["analysis", ToString[maxlvl], "_f:b2.mx"]];
1603: Get[StringJoin["analysis", ToString[maxlvl], "_f:b3.mx"]];
1604: Get[StringJoin["analysis", ToString[maxlvl], "_f:b4.mx"]];
1605: Get[StringJoin["analysis", ToString[maxlvl], "_f:b5.mx"]];
1606:
1607: For[lvl=1,lvl<=maxlvl,lvl=lvl+1,
1608: (* cnot error varies with second index in eeMaxProb[j,k,lvl]. *)
1609: tbl[lvl] = Flatten[Table[
1610: {Log[10,lregion[[j,k,1]]],
1611: Log[10,lregion[[j,k,2]]], Log[10,eeMaxProb[j,k,lvl]]},
1612: {k,1,Length[lregion[[1]]]}, {j,1,Length[lregion]}],1];
1613: ];
1614:
1615:
1616: For[lvl=1,lvl<=maxlvl,lvl=lvl+1,
1617: fndt[lvl] = Interpolation[
1618: tbl[lvl],
1619: InterpolationOrder->1];
1620: ];
1621:
1622:
1623: xvls = Table[lregion[[1,k,1]], {k,1,Length[lregion[[1]]]}];
1624: oxvls = Ordering[xvls];
1625: yvls = Table[lregion[[j,1,2]], {j,1,Length[lregion]}];
1626: oyvls = Ordering[yvls];
1627: fx = Log[10,Min[xvls]]; lx = Log[10,Max[xvls]];
1628: fy = Log[10,Min[yvls]]; ly = Log[10,Max[yvls]];
1629:
1630: locRangeCut = 100;
1631: llocRangeMin = Log[10,1-Min[Table[If[eeMaxProb[i,j,maxlvl] < 1,
1632: locRange[i,j,l-1][[1]],
1633: 1],
1634: {i,1, Length[lregion]},
1635: {j,1,Length[lregion[[1]]]}, {l,1,maxlvl}]]];
1636: (* 04/01/04: llocRangeMin = -6.0378 *)
1637: locRangeMax = Table[If[eeMaxProb[i,j,maxlvl] < 1,
1638: locRange[i,j,l-1][[2]],
1639: 1],
1640: {i,1, Length[lregion]},
1641: {j,1,Length[lregion[[1]]]}, {l,1,maxlvl}];
1642: locRangeMax = SetPrecision[locRangeMax,5];
1643:
1644: whitepnts = {};
1645: For[k=1,k<=Length[xvls],k=k+1,
1646: For[j=1,j<=Length[yvls],j=j+1,
1647: dowhite = 0;
1648: For[lvl=1,lvl<=maxlvl,lvl=lvl+1,
1649: If[(eeMaxProb[oyvls[[j]],oxvls[[k]],lvl] < 1) &&
1650: (locRange[oyvls[[j]],oxvls[[k]],lvl-1][[2]] > locRangeCut),
1651: dowhite = 1; Break[];
1652: ,
1653: Null;
1654: ];
1655: ];
1656: If[dowhite > 0,
1657: xpos = Log[10,xvls[[oxvls[[k]]]]];
1658: If[k>1, xlpos = (xpos+Log[10,xvls[[oxvls[[k-1]]]]])/2, xlpos = xpos];
1659: If[k<Length[xvls], xrpos = (xpos+Log[10,xvls[[oxvls[[k+1]]]]])/2, xrpos=xpos];
1660: ypos = Log[10,yvls[[oyvls[[j]]]]];
1661: If[j>1, ypos = (ypos+Log[10,yvls[[oyvls[[j-1]]]]])/2, ylpos = ypos];
1662: whitepnts = Append[Append[whitepnts,
1663: {xlpos, ypos}],
1664: {xrpos, ypos}];
1665: Break[];
1666: ,
1667: Null;
1668: ];
1669: ];
1670: ];
1671: grdpts = Flatten[Table[
1672: Point[{Log[10,lregion[[j,k,1]]],
1673: Log[10,lregion[[j,k,2]]]}],
1674: {k,1,Length[lregion[[1]]]}, {j,1,Length[lregion]}],1];
1675:
1676:
1677: (*
1678: * 2. Contour plot.
1679: *)
1680: cntrlist = {-8,-7,-6,-5,-4,-3,-2,-1, -.6021,0};
1681: cntrlvls = {1,.975,.95,.925,.9,.875,.85,.825,.8,0,0};
1682: grlv[x_] := Block[{j,l},
1683: l = 11;
1684: For[j=1,j<=Length[cntrlist],j=j+1,
1685: If[x<cntrlist[[j]],
1686: l=j;
1687: Break[];
1688: ,
1689: Null;
1690: ];
1691: ];
1692: GrayLevel[cntrlvls[[l]]]
1693: ];
1694: cntrs[1] = {-8,-7,-6,-5,-4,-3,-2,-1, -.6021};
1695: cntrs[2] = {-16,-14,-12,-10,-8,-6,-4,-2, -.6021};
1696: cntrs[3] = {-24,-21,-18,-15,-12,-9,-6,-3, -.6021};
1697: cntrs[4] = {-40,-35,-30,-25,-20,-15,-10,-5, -.6021};
1698: cntrs[5] = {-64,-56,-48,-40,-32,-24,-16,-8, -.6021};
1699: ticks = {{-4,"-4",{.02,.0}},{-3,"-3",{.02,.0}},{-2,"-2",{.02,.0}},
1700: {-3.5,"",{.015,.0}},{-2.5,"",{.015,.0}},
1701: {-1.5,"",{.015,.0}}};
1702: ticks = Join[ticks, Table[{j,"",{.005,.0}}, {j,-4.1,0,.1}]];
1703: For[lvl=1,lvl<=maxlvl,lvl=lvl+1,
1704: cplot[lvl]=ContourPlot[Evaluate[fndt[lvl]][x,y],{x,fx,lx},{y,fy,ly},
1705: ContourShading -> True,
1706: ColorFunction -> Evaluate[(grlv[#1])&],
1707: ColorFunctionScaling -> False,
1708: Contours -> cntrs[lvl],
1709: ContourStyle ->{{AbsoluteThickness[4]}},
1710: ImageSize -> {76*3,76*3},
1711: Frame -> True,
1712: FrameTicks -> {ticks,ticks, Automatic, Automatic}
1713: ];
1714: Export[StringJoin["cplotb", ToString[lvl], ".eps"],cplot[lvl]];
1715: cplot[lvl] = Show[cplot[lvl],
1716: Graphics[{GrayLevel[.5], AbsoluteThickness[2], Line[whitepnts]}]];
1717: cplot[lvl] = Show[cplot[lvl],
1718: Graphics[{GrayLevel[.5], AbsolutePointSize[10],
1719: Point[{Log[10,.03], Log[10,.01]}]}]];
1720: cplot[lvl] = Show[cplot[lvl],
1721: Graphics[{GrayLevel[.5], AbsolutePointSize[10],
1722: Point[{Log[10,.008], Log[10,.002]}]}]];
1723: cplot[lvl] = Show[cplot[lvl],
1724: Graphics[{GrayLevel[1], AbsolutePointSize[2], grdpts}]];
1725: Export[StringJoin["cplotw", ToString[lvl], ".eps"],cplot[lvl]];
1726: ];
1727:
1728: (* Puzzle: Why does the error improve at high preparation/measurement
1729: * error as cnot error is small but increasing?
1730: * Conjecture: Better independence approximation.
1731: * Indeed, that is what happens. The approximation is in fact
1732: * terrible when preparation/measurement error dominates.
1733: * this shouldn't be surprising, since the heuristic
1734: * used to get the approximation is cued to cnot error.
1735: * For visualization: There is no reason to cover the
1736: * part where prep/measurement >> cnot errors.
1737: *)
1738:
1739: }
1740:
1741: \ignore{
1742: (* analysis5_f:sp1.mx data.
1743: ***
1744: * Level 0:
1745: ***
1746: eep[1,1,0]//InputForm
1747: {{"X", {0.0102040816326530612244897959183673469387755102040816326530612244898`47.991226075692495}},
1748: {"Z", {0.0102040816326530612244897959183673469387755102040816326530612244898`47.991226075692495}}, {"Y", {0}}}
1749: eem[1,1,0]//InputForm
1750: {{"X", {0.0102040816326530612244897959183673469387755102040816326530612244898`47.991226075692495}},
1751: {"Z", {0.0102040816326530612244897959183673469387755102040816326530612244898`47.991226075692495}}, {"Y", {0}}}
1752: eeh[1,1,0]//InputForm
1753: {{"X", {0.0050761421319796954314720812182741116751269035532994923857868020304`47.993436230497615}},
1754: {"Z", {0.0050761421319796954314720812182741116751269035532994923857868020304`47.993436230497615}},
1755: {"Y", {0.0050761421319796954314720812182741116751269035532994923857868020304`47.993436230497615}}}
1756: margec[eec[1,1,0]]//InputForm
1757: {{"X", {0.008247422680412371134020618556701030927835051546391752577319587629`47.98677173426625}},
1758: {"Z", {0.008247422680412371134020618556701030927835051546391752577319587629`47.98677173426625}},
1759: {"Y", {0.008247422680412371134020618556701030927835051546391752577319587629`47.98677173426625}}}
1760: ***
1761: * Level 1:
1762: ***
1763: locRange[1,1,0]//InputForm
1764: {0.99999956954544654414807073183148382540755609207659793103`44.96964290801767,
1765: 3.199702954906327516046572388650711775998042181062925216976`44.793128014244}
1766: eepProb[1,1,1]//InputForm
1767: 0.004143760382413792300227014579552590892257271663500369704`45.28522188568683
1768: eemProb[1,1,1]//InputForm
1769: 0.004143760382413792300227014579552590892257271663500369704`45.28522188568683
1770: eehProb[1,1,1]//InputForm
1771: 0.024362656418140047065091541213176368533021780988011435062`45.26224246225716
1772: eecProb[1,1,1]//InputForm
1773: 0.029815038089576523433537591475995351939585243309505025797`45.20679351191002
1774: dloc[1,1,1]//InputForm
1775: {{"X", {0.005741066482047630609488150406562441826911376579355834084`45.808976429708856}},
1776: {"Z", {0.01333962649571216283693044642797952317450076178822979471`46.26076355102456}},
1777: {"Y", {0.0048661923280948285600927744241886925484151582829033410133473148449`46.06936317184592}}}
1778: eep[1,1,1]//InputForm
1779: {{"X", {0.004165108739926061880835223564534422697836417752820528041`45.287413917092664}},
1780: {"Z", {0.0009868198326990509371716260439596140468522790243579148380558230456`45.31736450782705}}, {"Y", {0}}}
1781: eem[1,1,1]//InputForm
1782: {{"X", {0.004165108739926061880835223564534422697836417752820528041`45.287413917092664}},
1783: {"Z", {0.0009868198326990509371716260439596140468522790243579148380603352601`45.31736450782705}}, {"Y", {0}}}
1784: eeh[1,1,1]//InputForm
1785: {{"X", {0.011299313190647923564056476919890519601381065990715696215`45.27704427568225}},
1786: {"Z", {0.011299313190647923564056476919890519601381065990715696215`45.27704427568223}},
1787: {"Y", {0.002372390337577748152373290129483570591538212296564636818`45.23332432287745}}}
1788: margec[eec[1,1,1]]//InputForm
1789: {{"X", {0.018735887731946405727005153241966279149678574280820412763`45.18737745049856}},
1790: {"Z", {0.006266654690966731489367514115021890630409092809227336863`45.30787557310199}},
1791: {"Y", {0.0003797315479978968836204832806293894736257837680653182571731939565`45.096052416093706}}}
1792: eec[1,1,1]//InputForm
1793: {{"ZI", {0.005120052681986838322289712635897987513775279267470900087`45.344730009543696}},
1794: {"XI", {0.004579425318455346336826885358085002301052665842419519717`45.217964881635226}},
1795: {"YI", {0.000212358832014465311935234027583191651660060247952895999483683801`45.12268850613883}},
1796: {"IZ", {0.0012956790392236884928330906186513556402839917524892569951436684764`45.33640688313759}},
1797: {"ZZ", {0.0005522481101212086830846822484758280510616401376633166222543838864`45.21839378814136}},
1798: {"XZ", {0.0000112470662175449716257852497355234125467565788093888560105547892`44.967864138622545}},
1799: {"YZ", {6.7835070069405615234168455217121102926391759856062102003780487`44.93001329386263*^-6}},
1800: {"IX", {0.015650211631923683050637599202148469463196500795270136951`45.2023143418987}},
1801: {"ZX", {0.00052306174559936059164087687291053642816258806016321110314761307`45.13930792204877}},
1802: {"XX", {0.002407088850395084281422622662568260992000353898053013685`45.11701626228654}},
1803: {"YX", {0.0001555255040282778033040545043390122663191315273340510244302306133`45.07799249631432}},
1804: {"IY", {0.0001331989075366446642672000368063833804261726473039689643955744732`45.14219875715595}},
1805: {"ZY", {0.00007129215325932389235224235773753863740958534392990905067852508`45.10612725779307}},
1806: {"XY", {8.0557008494011908186661012489374336512379696219849919274510029`44.92824890930977*^-6}},
1807: {"YY", {5.0637049482132068577779031854734453539528167927650230589014935`44.90103103479929*^-6}}}
1808: ***
1809: * Level 2:
1810: ***
1811: locRange[1,1,1]//InputForm
1812: {0.999999972103567512287604097113351901886071135554717132141`43.98183456148802,
1813: 8.59079172535126095276898303601219723493086813972546293668`43.59976061144932}
1814: eepProb[1,1,2]//InputForm
1815: 0.000486760361820963149680136869388465333884943544435188328`44.08358626681283
1816: eemProb[1,1,2]//InputForm
1817: 0.000486760361820963149680136869388465333884943544435188328`44.08358626681283
1818: eehProb[1,1,2]//InputForm
1819: 0.012158368413350817092256516062620660090962881614752916691`43.98240184877827
1820: eecProb[1,1,2]//InputForm
1821: 0.009528698787593667604729351993152218212836162871805756547`43.976723237807285
1822: dloc[1,1,2]//InputForm
1823: {{"X", {0.01325867652296955079984180374576767210358333243680695375`45.29181888583016}},
1824: {"Z", {0.004975051604920249340674906060737170666928731780186089379`45.028873121225864}},
1825: {"Y", {0.004666088605670124125151986034685389963195562880661096215`45.18602166638236}}}
1826: eep[1,1,2]//InputForm
1827: {{"X", {0.000487209071991267799543768070851964896736040897577404102`44.08395049039164}},
1828: {"Z", {0.000434620652651946583764109578760033223295328962214842077`44.17481314989139}}, {"Y", {0}}}
1829: eem[1,1,2]//InputForm
1830: {{"X", {0.000487209071991267799543768070851964896736040897577404102`44.08395049039164}},
1831: {"Z", {0.000434620652651946583764109578760033223295328962214842077`44.17481314989139}}, {"Y", {0}}}
1832: eeh[1,1,2]//InputForm
1833: {{"X", {0.006091471258833871296748986288542526533580197578054847444`43.98841017576801}},
1834: {"Z", {0.006091471258833871296748986288542526533580197578054847444`43.98841017576801}},
1835: {"Y", {0.000125071261648600944369521183677313484575129994580289256`43.91936073808654}}}
1836: margec[eec[1,1,2]]//InputForm
1837: {{"X", {0.005070960460442039810619683708133765086684963233143550475`43.947311379239295}},
1838: {"Z", {0.003416577572944896876385817882746294122751900973862965329`44.01670056840416}},
1839: {"Y", {8.4040391693402258730348128358097274453343234865200625222563619`43.83796238906846*^-6}}}
1840: eec[1,1,2]//InputForm
1841: {{"ZI", {0.002946340653066843828547642008167062822403010521316258902`44.009245705460614}},
1842: {"XI", {0.000618807632018730346410296590058305926876470890716481606`43.980705664663}},
1843: {"YI", {3.7731700548188479396500126158752139606503815033098014322881586`43.85296057977735*^-6}},
1844: {"IZ", {0.000524315680785012028913489157337005500880062395711031208`44.09952725430032}},
1845: {"ZZ", {0.000447051127174710385689424940419109309950680896131328142`44.09129752888513}},
1846: {"XZ", {3.851618692526812910191919904956616742363246225603694985734585`43.74657582440318*^-7}},
1847: {"YZ", {3.304555327110239010241713817556741138445524273690132815158235`43.743314413736286*^-7}},
1848: {"IX", {0.004625941456104323969064997175500199868142152747301093089`43.949549979431126}},
1849: {"ZX", {0.0000195904365235491226898296289179129075589448014101409064563621837`43.73625298683079}},
1850: {"XX", {0.000422655959736237711778634739898356728056149067513485516`43.936408764095496}},
1851: {"YX", {2.7726080779290070862221638172955829277166169188309636457415296`43.83970407721837*^-6}},
1852: {"IY", {4.2986112099218218791707347107153097083447617721541189240462257`43.84944969504721*^-6}},
1853: {"ZY", {3.5953561797935394589213052422090828392647550052373785061370618`43.843124827726356*^-6}},
1854: {"XY", {2.746746244199061694284586569745879259997238502801331227332483`43.72434609458103*^-7}},
1855: {"YY", {2.35397155204958365514314225910746971725082858848431969339826`43.721271729962204*^-7}}}
1856: ***
1857: * Level 3:
1858: ***
1859: locRange[1,1,2]//InputForm
1860: {1.`44.000193396945036, 2.635012757903696076097798571127943420494550207005904915484`42.97875347724326}
1861: eepProb[1,1,3]//InputForm
1862: 0.000241512889842071165786332457892029122656165384479197748`43.12154788996729
1863: eemProb[1,1,3]//InputForm
1864: 0.000241512889842071165786332457892029122656165384479197748`43.12154788996729
1865: eehProb[1,1,3]//InputForm
1866: 0.001453897601884872972126551877048548051453638408166810886`43.16432599446505
1867: eecProb[1,1,3]//InputForm
1868: 0.001571543672364227261917850439655729872441129535112742439`43.09115827170774
1869: dloc[1,1,3]//InputForm
1870: {{"X", {0.012609265423285113669715840835448049730403712785683980902`44.98955978213129}},
1871: {"Z", {0.004651752245667568342209580983447750404322070643932347581`44.220742339626945}},
1872: {"Y", {0.004431920881977543956683797200871612690677363001605963271`44.59480352797065}}}
1873: eep[1,1,3]//InputForm
1874: {{"X", {5.098518930790848225420740910291757796373149412593950529946255`43.12648555398236*^-6}},
1875: {"Z", {0.000241572464064014425602223104511429128102540858004646865`43.121654953710895}}, {"Y", {0}}}
1876: eem[1,1,3]//InputForm
1877: {{"X", {5.0985189307908482254207409102917577963731494125939505298174704`43.12648555398236*^-6}},
1878: {"Z", {0.000241572464064014425602223104511429128102540858004646865`43.121654953710895}}, {"Y", {0}}}
1879: eeh[1,1,3]//InputForm
1880: {{"X", {0.000727637193257167894653028546502548973810055628602356475`43.16508610069041}},
1881: {"Z", {0.000727637193257167894653028546502548973810055628602356475`43.16508610069041}},
1882: {"Y", {7.401113573023650151935436232021066850338327674306994757979417`42.965030660998096*^-7}}}
1883: margec[eec[1,1,3]]//InputForm
1884: {{"X", {0.000093822673015261787457312601862286968079804910178914905`43.20150846930617}},
1885: {"Z", {0.00122038825610895652275724893567661049362260922542960135`43.08096472344877}},
1886: {"Y", {4.19771761234672255764501314353060415408467033359678832385252`42.910693578914014*^-8}}}
1887: eec[1,1,3]//InputForm
1888: {{"ZI", {0.000970025186632786177224916758564111148498528488129225803`43.07446994703092}},
1889: {"XI", {5.9932590351910279266308468252542515081124986549564272021510858`43.12705364841102*^-6}},
1890: {"YI", {4.7227568894547968338170609880008474647802437738348474611964`42.888040015389684*^-9}},
1891: {"IZ", {0.000253873551570063638218462728492541903940774807834922862`43.1083856775013}},
1892: {"ZZ", {0.000250252916553387752456146085842724163873410590352741981`43.10723779347772}},
1893: {"XZ", {1.5224449457983702774699447011891408213824475232202076663204`42.81990796410679*^-9}},
1894: {"YZ", {1.5001222111211489862717553025957638647899320453040894422017`42.81932516963561*^-9}},
1895: {"IX", {0.000088925278055914608811927765586228498565180499365239564`43.207216094786375}},
1896: {"ZX", {9.05902405688181384742376486197574081553901777352116254645307`42.8434596237671*^-8}},
1897: {"XX", {4.8032591388326422461563463835538342502507067646843399544509578`43.11630450315519*^-6}},
1898: {"YX", {3.545579945718260754252243884877856218313871255789728728604`42.880187582236736*^-9}},
1899: {"IY", {1.99951386248214267840422991222442266219747781672104267057154`42.91805639481377*^-8}},
1900: {"ZY", {1.95626822137749377118536211554238425147567698983537590765328`42.91658873946219*^-8}},
1901: {"XY", {1.2186340525255640165373799340441719919970353907217514948689`42.81477810496857*^-9}},
1902: {"YY", {1.2007212323452970640168312235938004121181198796819459614081`42.81420976100313*^-9}}}
1903: ***
1904: * Level 4:
1905: ***
1906: locRange[1,1,3]//InputForm
1907: {1.`43.70793981389, 1.896403618176583622206917867356977505576186811716144674978`42.179395280629365}
1908: eepProb[1,1,4]//InputForm
1909: 0.000026961657139311234969472562352980013942135285211786865`42.32352203433315
1910: eemProb[1,1,4]//InputForm
1911: 0.000026961657139311234969472562352980013942135285211786865`42.32352203433315
1912: eehProb[1,1,4]//InputForm
1913: 0.000071930167349915200956028661103764320752330478813776804`42.33998463679237
1914: eecProb[1,1,4]//InputForm
1915: 0.000159290710590523520264192285957980166974121907207002071`42.27605579092628
1916: dloc[1,1,4]//InputForm
1917: {{"X", {0.01247199702610099760056677664264321964879939371393937883`44.69835445358396}},
1918: {"Z", {0.004333661183451201176071162516457094984238601674081441343`44.084878425143344}},
1919: {"Y", {0.004310699986861043416216758103830404872760634185777978074`44.24198514004032}}}
1920: eep[1,1,4]//InputForm
1921: {{"X", {3.113507075878409811114544849900896866510385112021180682111`42.36695358338233*^-10}},
1922: {"Z", {0.000026962384098261481740931340668474325257567675684392417`42.32353374359656}}, {"Y", {0}}}
1923: eem[1,1,4]//InputForm
1924: {{"X", {3.113507075878409811114544849900896866510385112021180682021`42.36695358338233*^-10}},
1925: {"Z", {0.000026962384098261481740931340668474325257567675684392417`42.32353374359656}}, {"Y", {0}}}
1926: eeh[1,1,4]//InputForm
1927: {{"X", {0.000035967014577997313819321899772731876513079579353052009`42.340023678170205}},
1928: {"Z", {0.000035967014577997313819321899772731876513079579353052009`42.340023678170205}},
1929: {"Y", {1.3125150853474285984806638209758804540458800879534149729506`42.04230393303154*^-9}}}
1930: margec[eec[1,1,4]]//InputForm
1931: {{"X", {2.08162075365488552845310821522609370081999124216367986189714`42.68471368051316*^-8}},
1932: {"Z", {0.000131824212465229029466555751560674146517480639268542746`42.26798753901471}},
1933: {"Y", {1.0743278688086800347434880486983145483917770730428250746`42.19675369496549*^-12}}}
1934: eec[1,1,4]//InputForm
1935: {{"ZI", {0.000104412975729751741835990982615442270647319249727134534`42.25595899303527}},
1936: {"XI", {3.53334346811126189373928428567349747287379570380967462429`42.38358186518365*^-10}},
1937: {"YI", {2.86967065250008542279034561575179695790908432122497594`42.10417133619436*^-14}},
1938: {"IZ", {0.000027470707720079891003513250763335218279580578437550079`42.31722531744653}},
1939: {"ZZ", {0.000027411234049303817310730438147686050992132194935263613`42.31712400671571}},
1940: {"XZ", {9.6966624868679323874472271907239739331520908731455759`42.04909630729029*^-15}},
1941: {"YZ", {9.6755252718357914363768519608781385081315426190714184`42.04904251969748*^-15}},
1942: {"IX", {2.05150296885453732044168852387251734451708945331649021403514`42.69179627071091*^-8}},
1943: {"ZX", {2.1578987581990174263509402765573014390517921704758821045`42.121526145017384*^-12}},
1944: {"XX", {2.989965338005168428697260401482755085656644334078422289909`42.36446753517042*^-10}},
1945: {"YX", {2.34154447662198181199331109307530243016628935783675245`42.09960843934826*^-14}},
1946: {"IY", {5.296634186381509571228178436326035566060271235884599725`42.19972631414277*^-13}},
1947: {"ZY", {5.282747121208169044466055483207277555543524289173338008`42.19964126329561*^-13}},
1948: {"XY", {8.2038064374046912410510506300898620608237527511394493`42.040218762106726*^-15}},
1949: {"YY", {8.185931612307481933013606114893374170573767785891852`42.04016639047615*^-15}}}
1950: ***
1951: * Level 5:
1952: ***
1953: locRange[1,1,4]//InputForm
1954: {1.`43.85757665419749, 1.942763116087148315138026684406998124175295508351444902985`41.55451855871383}
1955: eepProb[1,1,5]//InputForm
1956: 7.3704269298149762105797175529986849286768011719176806707539`41.73427054657455*^-9
1957: eemProb[1,1,5]//InputForm
1958: 7.3704269298149762105797175529986849286768011719176806621632`41.73427054657455*^-9
1959: eehProb[1,1,5]//InputForm
1960: 3.51462606258179672832149013081242583560947379971051129960024`41.72248099012232*^-8
1961: eecProb[1,1,5]//InputForm
1962: 6.86900710400226838910818672173196732340109579861032441887203`41.727088734118645*^-8
1963: dloc[1,1,5]//InputForm
1964: {{"X", {0.0042506986590404329315325004782369002603193851399186495215255604905`46.636717574831785}},
1965: {"Z", {0.01241302699683422048571297707767051878686422607758443228`46.06160018567665}},
1966: {"Y", {0.0042506986590368785182436207326304948074799611395884726906595985624`46.636717611780675}}}
1967: eep[1,1,5]//InputForm
1968: {{"X", {3.6536732162757472248168583912244660877546226889377763`41.63011483384364*^-15}},
1969: {"Z", {7.3704269841381966678383267674849881706467250346450808971268`41.73427054977549*^-9}}, {"Y", {0}}}
1970: eem[1,1,5]//InputForm
1971: {{"X", {3.6536732162757472248168583912244660877546226889377763`41.63011483384364*^-15}},
1972: {"Z", {7.3704269841381966678383267674849881706467250346450808885361`41.73427054977549*^-9}}, {"Y", {0}}}
1973: eeh[1,1,5]//InputForm
1974: {{"X", {1.75731307755392302030572591367478525349412006883988880987542`41.72248100920408*^-8}},
1975: {"Z", {1.75731307755392302030572591367478525349412006883988881572313`41.72248100920408*^-8}},
1976: {"Y", {3.099991862697813887969961923096406828509955177069513`41.42216935160926*^-16}}}
1977: margec[eec[1,1,5]]//InputForm
1978: {{"X", {2.35164398418560148383348602419943519347132317276909946`41.66342978732542*^-14}},
1979: {"Z", {6.12069844404563663161767669480986257846061450749211138847443`41.72630169451627*^-8}},
1980: {"Y", {3.7419751712724315701007339371157593258058049673487243652`41.43842183401628*^-22}}}
1981: eec[1,1,5]//InputForm
1982: {{"ZI", {5.37370008683664462079903601986306341802991907949321975733804`41.72531366818599*^-8}},
1983: {"XI", {3.6613168592547997753346363892310306595998919075938393`41.630330040959194*^-15}},
1984: {"YI", {1.60030536403201080925807610409945561732456283023743608`41.44974057450576*^-22}},
1985: {"IZ", {7.4830641401364789377916650376772947462739759251344056518265`41.733580910003155*^-9}},
1986: {"ZZ", {7.4699835720887310910984980906073043016613047044194316171398`41.73347631235671*^-9}},
1987: {"XZ", {2.739718077062459335027769678005384955185065391776298096`41.37788432416996*^-23}},
1988: {"YZ", {2.734928756918166131532963888357603132111689089507020515`41.37783822637195*^-23}},
1989: {"IX", {1.9864756451464307888477933839251868513077178549689152`41.66984454931077*^-14}},
1990: {"ZX", {1.06876795400549743974953630737889244397760217935894556994`41.39585970077305*^-21}},
1991: {"XX", {3.6516821620833754817249348970495189060620168205330409`41.630102816650464*^-15}},
1992: {"YX", {1.5954037746263455175615665713668159237986662235672043748`41.44964411404685*^-22}},
1993: {"IY", {1.205003735669521860860196090296888357396878751448351195`41.48019143538578*^-22}},
1994: {"ZY", {1.2024913390316142093776633827068312550709204481718556405`41.48017404296856*^-22}},
1995: {"XY", {2.73250825631425943530922689497634761407523678717149211`41.37775720310112*^-23}},
1996: {"YY", {2.727731569222586301277948728137274714714070045933818588`41.37771111974207*^-23}}}
1997: *)
1998:
1999:
2000: (* analysis5_f:sp2.mx data.
2001: ***
2002: * Level 0:
2003: ***
2004: eep[1,1,0]//InputForm
2005: {{"X", {0.002008032128514056224899598393574297188755020080321285140562248996`47.9982593384237}},
2006: {"Z", {0.002008032128514056224899598393574297188755020080321285140562248996`47.9982593384237}}, {"Y", {0}}}
2007: eem[1,1,0]//InputForm
2008: {{"X", {0.002008032128514056224899598393574297188755020080321285140562248996`47.9982593384237}},
2009: {"Z", {0.002008032128514056224899598393574297188755020080321285140562248996`47.9982593384237}}, {"Y", {0}}}
2010: eeh[1,1,0]//InputForm
2011: {{"X", {0.001003009027081243731193580742226680040120361083249749247743229689`47.99869515831166}},
2012: {"Z", {0.001003009027081243731193580742226680040120361083249749247743229689`47.99869515831166}},
2013: {"Y", {0.001003009027081243731193580742226680040120361083249749247743229689`47.99869515831166}}}
2014: margec[eec[1,1,0]]//InputForm
2015: {{"X", {0.0021505376344086021505376344086021505376344086021505376344086021505`47.99651167215418}},
2016: {"Z", {0.0021505376344086021505376344086021505376344086021505376344086021505`47.99651167215418}},
2017: {"Y", {0.0021505376344086021505376344086021505376344086021505376344086021505`47.99651167215418}}}
2018: ***
2019: * Level 1:
2020: ***
2021: locRange[1,1,0]//InputForm
2022: {1.`45.275162520728024, 1.107842530092498734539217097178882541583986142007270738434`44.80333937734433}
2023: eepProb[1,1,1]//InputForm
2024: 0.0001709610375146190653102477333614649168877199068841857089905399054`45.310246669269084
2025: eemProb[1,1,1]//InputForm
2026: 0.0001709610375146190653102477333614649168877199068841857089905909959`45.310246669269084
2027: eehProb[1,1,1]//InputForm
2028: 0.0009591926252090960195053901354149910709213557835818243810505132591`45.34603693690272
2029: eecProb[1,1,1]//InputForm
2030: 0.0012670397853021707434671541390798939479444812882927754740438772126`45.306946188804055
2031: dloc[1,1,1]//InputForm
2032: {{"X", {0.0011597206585051100379689307249132725488359118741854843911544092657`46.29347304326884}},
2033: {"Z", {0.0032738130891607365567582620684012732695044971915021665501224059478`46.61594655314276}},
2034: {"Y", {0.0011147224220950402675010488531577023675239939571124106609209464267`46.50274521432766}}}
2035: eep[1,1,1]//InputForm
2036: {{"X", {0.0001709964505834145852748048274933022901351734208471788611903500926`45.31033467070901}},
2037: {"Z", {0.0000361447162598888446694066229157533630155264047768792027336426983`45.367363227052735}}, {"Y", {0}}}
2038: eem[1,1,1]//InputForm
2039: {{"X", {0.0001709964505834145852748048274933022901351734208471788611904012797`45.31033467070901}},
2040: {"Z", {0.0000361447162598888446694066229157533630155264047768792027340946839`45.367363227052735}}, {"Y", {0}}}
2041: eeh[1,1,1]//InputForm
2042: {{"X", {0.0004469254875620506554884758060161459385195880429714202447787459373`45.34604818832187}},
2043: {"Z", {0.0004469254875620506554884758060161459385195880429714202447799844017`45.34604818832187}},
2044: {"Y", {0.000066262583930202854982404922547955565275548781895332895210454486`45.351955456924486}}}
2045: margec[eec[1,1,1]]//InputForm
2046: {{"X", {0.0008102353821787173279497437451759032290127753916149797595374648641`45.25846008044019}},
2047: {"Z", {0.000235708669099418290757448797977989432254694427760545973940255058`45.495045042030526}},
2048: {"Y", {2.7657841877894668585130361721491794777732439757128980989614341`45.20393929838675*^-6}}}
2049: eec[1,1,1]//InputForm
2050: {{"ZI", {0.0002100501423811829362997602364794089876723900260309245949381438533`45.52361180822297}},
2051: {"XI", {0.0001780966879119469763995969665137449658119817012237472831002644114`45.30930908628308}},
2052: {"YI", {1.6096286026205696748075630670175526361231236702422825003965314`45.22815211934781*^-6}},
2053: {"IZ", {0.0000466189540737213083281572726857580247771361779953994948383286262`45.45693294349431}},
2054: {"ZZ", {0.0000203941667761623709714644727491072241139952044557608689683305624`45.328086485181885}},
2055: {"XZ", {1.64928028208994886918208332754836723989173283673724378357439`45.04238021810717*^-8}},
2056: {"YZ", {9.6928368854206902410036963142982645066549685433850803095483`45.00289369439031*^-9}},
2057: {"IX", {0.0007165921189346423539829695939295782040940196301481300015459446552`45.262299693004216}},
2058: {"ZX", {4.7087214050635156258177456638942469464696879032445143875414646`45.267136205722856*^-6}},
2059: {"XX", {0.0000877949721033461640011965095576137149259207735408929733636095293`45.229003703658876}},
2060: {"YX", {1.1395697356652943397598960248170630463653000227122702403692149`45.175685794997555*^-6}},
2061: {"IY", {1.0421539459800180631117072468361977449115209855585670078380904`45.224462052823846*^-6}},
2062: {"ZY", {5.556385370094678604063430855789735218395093706159956462391777`45.19152752204449*^-7}},
2063: {"XY", {1.13787333596977416723374739442083938705008167144508346636384`44.99869451866078*^-8}},
2064: {"YY", {6.8930126181821537045733840002655307781653142149602778861395`44.96787975995433*^-9}}}
2065: ***
2066: * Level 2:
2067: ***
2068: locRange[1,1,1]//InputForm
2069: {0.999999999999942554162293511232626210547862108103047567014`44.59658045350525,
2070: 1.14318143791905166504208816902845883545931549420424220521`44.059504326634894}
2071: eepProb[1,1,2]//InputForm
2072: 5.315251499480068709553677396659504187743576252069557012863066`44.815297410056274*^-7
2073: eemProb[1,1,2]//InputForm
2074: 5.31525149948006870955367739665950418774357625206955701286312`44.815297410056274*^-7
2075: eehProb[1,1,2]//InputForm
2076: 7.6555944907584717819987334794366414156409236971458354461698917`44.550362584829855*^-6
2077: eecProb[1,1,2]//InputForm
2078: 7.0142044852353781793556505904571221805137391610946551416817703`44.58454450794309*^-6
2079: dloc[1,1,2]//InputForm
2080: {{"X", {0.0032325604376852864174272832450494651087763191560725484179356158642`46.69949079072594}},
2081: {"Z", {0.0010873445703331823887219147899428996832189210724745384039966082147`46.629268396653686}},
2082: {"Y", {0.001086924789532411307137406779083498378068969672217641654579770242`46.638293004890976}}}
2083: eep[1,1,2]//InputForm
2084: {{"X", {2.576884234206528775437651838373150707039000409957433143829877`44.5625456087433*^-7}},
2085: {"Z", {5.315255694350927646707936052273770049413862303886550064752916`44.81529784117152*^-7}}, {"Y", {0}}}
2086: eem[1,1,2]//InputForm
2087: {{"X", {2.576884234206528775437651838373150707039000409957433143829926`44.5625456087433*^-7}},
2088: {"Z", {5.315255694350927646707936052273770049413862303886550064752969`44.81529784117152*^-7}}, {"Y", {0}}}
2089: eeh[1,1,2]//InputForm
2090: {{"X", {3.8224619365509015435249769259960688932081383658374220108258137`44.550067204075496*^-6}},
2091: {"Z", {3.8224619365509015435249769259960688932081383658374220108959818`44.550067204075496*^-6}},
2092: {"Y", {1.07292262323591155804554671785711470403755328650504902316743`44.843004313018184*^-8}}}
2093: margec[eec[1,1,2]]//InputForm
2094: {{"X", {2.5570922736965131816543342817892131804136699585817224781028313`44.534011363599326*^-6}},
2095: {"Z", {3.6298078080049472054491205102240816931223852570468302178681921`44.59937766794925*^-6}},
2096: {"Y", {1.85228377862911200775741007065087428175894416704978758182`44.49027173683732*^-11}}}
2097: eec[1,1,2]//InputForm
2098: {{"ZI", {3.1483061095543864281306572988282172735513529817597724677147219`44.573407354799635*^-6}},
2099: {"XI", {2.661301096313404881750906611076867136391552363850323538089923`44.55532553645983*^-7}},
2100: {"YI", {9.2213436152871827436744686071232357285599139324190410359`44.428968897610694*^-12}},
2101: {"IZ", {5.612474455153884323739358843295735013481110601422858641381114`44.790821294923845*^-7}},
2102: {"ZZ", {4.814497014526702521070417911134384775160750256286341000961906`44.823426507788454*^-7}},
2103: {"XZ", {1.624901627518890496851002075217849290483663203717811576`44.3531870029713*^-13}},
2104: {"YZ", {1.381231704826952588966947795754925048449758356328923667`44.363488784816674*^-13}},
2105: {"IX", {2.4084514311287493882666225638427834438694481431032551271398302`44.532807089841505*^-6}},
2106: {"ZX", {4.39657229456887079649361091786912171389698026405024502021`44.37615828913918*^-11}},
2107: {"XX", {1.485910122114034838719588485149897102306174440614913712197435`44.55407556842515*^-7}},
2108: {"YX", {5.8646334146208077879333222613350964654016143354772930555`44.42707624448988*^-12}},
2109: {"IY", {1.03210543942918271135468861681959186297494774500214622034`44.48339661649441*^-11}},
2110: {"ZY", {8.0312749448365034564841732472508378182798557831476070775`44.502838124174936*^-12}},
2111: {"XY", {9.23611279463378995997989859586194961759764711915992641`44.346129529627284*^-14}},
2112: {"YY", {7.81473192164516079432423051033668733841319661372072733`44.3572200973633*^-14}}}
2113: ***
2114: * Level 3:
2115: ***
2116: locRange[1,1,2]//InputForm
2117: {0.999999999999999999991838464246464075052552426273200585171`43.98894315277017,
2118: 1.516802122551022127195933308548600279146236351378630250435`43.44822701208532}
2119: eepProb[1,1,3]//InputForm
2120: 1.163607811384738770356740657275279038280256450242651924746`44.175818926039476*^-10
2121: eemProb[1,1,3]//InputForm
2122: 1.163607811384738770356740657275279038280256450242651924746`44.17581892603946*^-10
2123: eehProb[1,1,3]//InputForm
2124: 7.042685555017418958553957772267703879938646306402475527591`43.9553065960545*^-10
2125: eecProb[1,1,3]//InputForm
2126: 1.0402013054197336886682909015442310871849861285349076408807`43.90608046074788*^-9
2127: dloc[1,1,3]//InputForm
2128: {{"X", {0.0032287296177652700196408487401926597118042884824815407672854960126`46.76470974917555}},
2129: {"Z", {0.0010839811536032107839636970066696826107532945270367249428941180993`46.75631397610238}},
2130: {"Y", {0.0010839810635528342021046710199720671119002488161430316290249393168`46.75632451479937}}}
2131: eep[1,1,3]//InputForm
2132: {{"X", {5.951633516336626990191044751852731141532296129410459491`43.83725866857438*^-13}},
2133: {"Z", {1.163607811520829620969145326692654834666225022057150529525`44.17581892609057*^-10}}, {"Y", {0}}}
2134: eem[1,1,3]//InputForm
2135: {{"X", {5.951633516336626990191044751852731141532296129410459491`43.83725866857438*^-13}},
2136: {"Z", {1.163607811520829620969145326692654834666225022057150529525`44.17581892609056*^-10}}, {"Y", {0}}}
2137: eeh[1,1,3]//InputForm
2138: {{"X", {3.521341541983618184662763125830657646065111323280564301905`43.95530649777881*^-10}},
2139: {"Z", {3.521341541983618184662763125830657646065111323280564301972`43.9553064977788*^-10}},
2140: {"Y", {2.4760101245754066637506428236285661128319790473927856916911526`44.40587410206958*^-16}}}
2141: margec[eec[1,1,3]]//InputForm
2142: {{"X", {1.86366351048471363379324116948052348593770259223905244116`43.91980088156824*^-11}},
2143: {"Z", {9.03058628341891976210680024645864605755661255584199999501`43.88098143707589*^-10}},
2144: {"Y", {9.28526541232751206777596972984435619540609981489868176278`43.8144911075394*^-21}}}
2145: eec[1,1,3]//InputForm
2146: {{"ZI", {7.892363689817959655619212438319194027008664347708239635277`43.85086056106122*^-10}},
2147: {"XI", {6.144947285042168773561080042579229421402405190039789899`43.83453978926002*^-13}},
2148: {"YI", {1.59153955516832352049884210023155465694627547209326782694`43.69941636393814*^-21}},
2149: {"IZ", {1.178915483473976838311408959460798818780546560002822883293`44.1671063909827*^-10}},
2150: {"ZZ", {1.138222593281875569048968459111379005952567656737668493721`44.180259180780375*^-10}},
2151: {"XZ", {7.2839054836228185038462124580517098456317971373952888`43.669425768971415*^-23}},
2152: {"YZ", {7.024205514674240868847680815347594382627376758458933858`43.67365349939354*^-23}},
2153: {"IX", {1.82658980748511581652351148238940256950757116910255820068`43.92129143218286*^-11}},
2154: {"ZX", {2.751963947133288902879135227316190908330238693525209741793`43.64088970142694*^-20}},
2155: {"XX", {3.707370014646867166703733339416293771547092624791156383`43.85205781429115*^-13}},
2156: {"YX", {1.01165198469403450817822751398469588558343983116637498732`43.71466393532193*^-21}},
2157: {"IY", {4.81017211961477350395169884685377244008598226752131791888`43.811333062425156*^-21}},
2158: {"ZY", {4.38881427252904587401595018637614605630679966599260611114`43.82102738452907*^-21}},
2159: {"XY", {4.392260455078755484252530064392485621741090271275772794`43.68103346065706*^-23}},
2160: {"YY", {4.235641563290513496579539597051284279590697867200000482`43.68547037218291*^-23}}}
2161: *)
2162:
2163: }
2164:
2165:
2166: \end{document}
2167:
2168:
2169: