geometrically local quantum codes provide intriguing models of quantum many - body physics , and also have potential applications to fault - tolerant quantum computation in systems with short - range interactions .
there has been impressive recent progress in understanding the properties of such codes .
bravyi , poulin , and terhal @xcite showed that for codes defined by geometrically local commuting projectors in @xmath0 dimensions , the code length @xmath4 , distance @xmath1 and number of encoded qubits @xmath5 are related by @xmath6 bravyi and terhal @xcite showed that @xmath7 for subsystem codes with geometrically local gauge generators , and bravyi @xcite showed that @xmath8 for two - dimensional subsystem codes with geometrically local gauge generators .
bravyi and terhal @xcite , and kay and colbeck @xcite , also showed that no two - dimensional local stabilizer code can be a _ self - correcting quantum memory _  if we regard the code as a system governed by a local hamiltonian , the energy barrier protecting against logical errors is a constant independent of system size .
a self - correcting memory based on a geometrically local stabilizer code is possible in four dimensions @xcite , where the storage time increases sharply as the system size grows . in three dimensions
there are codes such that the energy barrier increases logarithmically with system size @xcite , but where the storage time is bounded above by a constant independent of system size @xcite .
we address a related but somewhat different question . to illustrate the question , consider the three - dimensional toric code @xcite , on a cubic lattice with linear size @xmath9 .
this code provides different degrees of protection against different types of errors .
for example , we can arrange for the logical bit flip acting on the code space to have weight @xmath9 ( _ i.e. _ , to be supported on a set of @xmath9 qubits ) , while the logical phase flip has weight @xmath10 . in that case
, the energy barrier protecting against logical phase errors grows linearly with @xmath9 , though the energy barrier protecting against bit flips is only a constant .
we might say this system is _ partially self correcting _ , meaning it has very robust physical protection against phase errors , but weaker protection against bit flips .
we find limitations on partial self correction in two - dimensional local subsystem codes with local stabilizer generators ; in particular the logical phase flip must have weight @xmath11 if the logical bit flip has weight @xmath12 .
more generally , we study how the code distance @xmath1 constrains the weight of logical operators , for both local commuting projector codes and subsystem codes , finding that @xmath1 limits not just the weight of the lowest - weight logical operator but also the higher - weight logical operators .
let us say that two logical operators are _ equivalent _ if they act in the same way on the protected system .
our result , which applies to both local subsystem codes and to local commuting projector codes in @xmath13 dimensions , says that for any logical operator there is an equivalent logical operator with weight @xmath2 such that @xmath14 where @xmath9 is the linear size of the lattice .
we call this result the tradeoff theorem for logical operators , since , _
e.g. _ , increasing the weight of the lowest - weight logical operator reduces the upper bound on the weight of other logical operators .
one immediate consequence is that , since @xmath15 , @xmath16 a result previously known for local subsystem codes but not for local commuting projector codes with @xmath17 . for @xmath18 the tradeoff becomes @xmath19 , and hence @xmath20 .    we also show that for any two - dimensional local commuting projector code there is a nontrivial logical `` string '' operator supported on a narrow strip ( or on a narrow slab in higher dimensions ) , where the operator is only slightly entangling across any cut through the strip .
however , we have not settled the question whether two - dimensional local commuting projector codes can be self correcting .
we review the theory of stabilizer codes and subsystem codes in sec .
ii . in sec .
iii we prove a `` cleaning lemma '' for subsystem codes previously stated by bravyi @xcite ; our proof uses tools developed by yoshida and chuang @xcite , and may be of independent interest .
we prove the tradeoff theorem for local subsystem codes in sec .
iv and for local commuting projector codes in sec .
v. in sec .
vi we show that any two - dimensional commuting projector code admits a nontrivial logical `` string '' operator supported on a narrow strip . in sec .
vii we explain why partial self - correction is impossible for two - dimensional local stabilizer codes with distance @xmath21 . in sec .
viii we show that the logical string operator in a two - dimensional local commuting projector code can be chosen to be slightly entangling across any cut through the string . sec .
ix contains our conclusions .
a _ stabilizer code _
@xcite embeds @xmath5 protected qubits in the hilbert space of @xmath4 physical qubits .
the code has a stabilizer group @xmath22 , an abelian subgroup with @xmath23 independent generators of the @xmath4-qubit pauli group @xmath24 , and the code is the simultaneous eigenspace with eigenvalue 1 of all elements of @xmath22 .
it is convenient to abelianize @xmath24 by ignoring the phase in the product of two pauli operators , thus obtaining a @xmath25-dimensional vector space over the binary field , which we also denote by @xmath24 .
the vector space @xmath24 is equipped with a symplectic form , such that two vectors are orthogonal if and only if the corresponding pauli operators commute .
if @xmath26 is a subgroup of @xmath24 , we use the symbol @xmath26 to denote both the subgroup and the corresponding subspace of @xmath24 .    viewed as a vector space
, @xmath22 is @xmath27-dimensional .
we denote by @xmath28 the vector space orthogonal to @xmath22 , which has dimension @xmath29 = @xmath30 .
it can be decomposed as a direct sum of @xmath22 and a @xmath31 dimensional vector space corresponding to the logical pauli group , which acts nontrivially on the @xmath5 protected qubits .
we define the weight of a pauli operator as the number of qubits on which the operator acts nontrivially , and the distance @xmath1 of the stabilizer code is the minimum weight of a nontrivial logical operator ( one contained in @xmath28 but not in @xmath22 ) .    a _ subsystem code _
@xcite can be viewed as a stabilizer code with @xmath32 encoded qubits , but where only @xmath5 of these qubits are used to store protected quantum information .
the stabilizer group @xmath22 together with pauli operators acting on the @xmath33 unused qubits generate the code s _ gauge group _ @xmath26 .
equivalently , we may say that the subsystem code is defined by its gauge group @xmath34 , and that the code s stabilizer group @xmath35 is the subgroup of @xmath26 that commutes with all elements of @xmath26 .    logical operations in the subsystem code
preserve the @xmath36-dimensional hilbert space spanned by the @xmath5 protected qubits .
we distinguish between _ bare _ logical operators , which act trivially on the gauge qubits , and _ dressed _ logical operators , which may act nontrivially on the gauge qubits as well as the protected qubits .
thus , nontrivial bare logical operators are in @xmath37 but not in @xmath26 , while nontrivial dressed logical operators are in @xmath28 but not in @xmath26 .
the code distance @xmath1 is the minimum weight of a nontrivial dressed logical operator .
a bare logical operator @xmath38 acts trivially on the protected qubits as well as the gauge qubits if and only if @xmath39 ; hence we may regard @xmath40 as the group of bare logical operators . a dressed logical operator @xmath41 acts trivially on the protected qubits ( but perhaps nontrivially on the gauge qubits ) if and only if @xmath42 ;
hence we may regard @xmath43 as the group of dressed logical operators , where we regard two dressed logical operators as equivalent if they act the same way on the protected qubits .
we denote by @xmath44 $ ] the dimension of the vector space @xmath26 ( the number of independent generators of the corresponding group ) ; by counting the number of independent bare logical operators , we find that the number @xmath5 of protected qubits satisfies @xmath45=[g^\perp ] - [ s ] \\   & = & [ p ] - [ g ] - [ s]= 2n - [ g ] - [ s].\end{aligned}\ ] ] similarly , by counting the number of independent dressed logical operators , we find @xmath46=[s^\perp ] - [ g ] \\   & = & [ p ] - [ s ] - [ g]= 2n - [ s ] - [ g].\end{aligned}\ ] ] a stabilizer code is the special case of a subsystem code in which @xmath47 , and in that case , @xmath48 $ ]
.    we will also consider stabilizer codes and subsystem codes of the css type @xcite , where each generator of the gauge group , and each logical operator , may be chosen to be either of the @xmath49-type or the @xmath50-type .
we use @xmath51 ( @xmath52 ) to denote the group of @xmath49-type ( @xmath50-type ) pauli operators , @xmath53 ( @xmath54 ) to denote the @xmath49-type ( @xmath50-type ) gauge group , and @xmath55 ( @xmath56 ) to denote the @xmath49-type ( @xmath50-type ) stabilizer group .
we use ( @xmath57 to denote the subgroup of @xmath52 that commutes with @xmath53 , etc .
then the group of bare @xmath50-type logical operators is @xmath58 and the group of bare @xmath49-type logical operators is @xmath59 .
therefore the number @xmath5 of protected qubits is @xmath60=   n - [ g^x ] - [ s^z],\\ k & = & [ ( g^z)^\perp / s^x]= n - [ g^z ] - [ s^x].\end{aligned}\ ] ]    we wish to study stabilizer codes in which the stabilizer generators are geometrically local and subsystem codes in which the gauge generators are geometrically local . to be concrete
, we may imagine that the qubits reside at the vertices of a @xmath0-dimensional hypercubic lattice ( with either open or periodic boundary conditions ) , and that each generator acts nontrivially only inside a hypercube ( containing @xmath61 vertices ) with linear size @xmath62 .
in fact our results can be easily extended to codes with geometrically local generators defined on any graph embedded in @xmath0-dimensional space .
note that for a subsystem code the stabilizer generators might be nonlocal even if the gauge generators are local .
some of our results also apply to a larger class of local codes that includes local stabilizer codes . for this class , which we call _ local commuting projector codes _ ,
the code space is the simultaneous eigenspace with eigenvalue one of a set of mutually commuting geometrically local projection operators , where the projectors do not necessarily project onto eigenspaces of pauli operators . a local stabilizer code , but
not a local subsystem code , is a special case of a local commuting projector code .
the cleaning lemma for subsystem codes relates the number of independent bare logical operators supported on a set of qubits @xmath63 to the number of independent dressed logical operators supported on the complementary set @xmath64 .
the concept of the cleaning lemma was introduced in @xcite , then generalized in @xcite and @xcite .
here we use ideas from @xcite to prove a version stated in @xcite .
( see also @xcite . ) as in the sec .
[ sec : background ] , we will regard a subgroup of the pauli group as a vector space , allowing us to obtain the cleaning lemma from straightforward dimension counting .
we use @xmath65 to denote the subgroup of the pauli group @xmath24 supported on a set @xmath66 of qubits ; likewise for any subgroup @xmath26 of the pauli group @xmath67 , is the subgroup of @xmath26 supported on @xmath66 .
we denote by @xmath68 the restriction map that maps a pauli operator to its restriction supported on the set @xmath66 , and we use @xmath69 to denote the number of qubits contained in @xmath66 ; thus @xmath70 = 2|a|$ ] .
if we divide @xmath4 qubits into two complementary sets @xmath66 and @xmath71 , then a subgroup @xmath26 of @xmath24 can be decomposed into @xmath72 , @xmath73 , and a `` remainder , '' as follows :    _ ( decomposition of pauli subgroups ) _ suppose that @xmath66 and @xmath71 are complementary sets of qubits . then for any subgroup @xmath26 of the pauli group , @xmath74 for some @xmath75 , where @xmath76 & = 2|a| - [ g_a ] - [ g ' ] , \\   [ ( g^\perp)_b ] & = 2|b| - [ g_b ] - [ g']\end{aligned}\ ] ]    if @xmath77 is a vector space and @xmath78 is a subspace of @xmath77 , then there is a vector space @xmath79 such that @xmath80 ; we may choose @xmath79 to be the span of the basis vectors that extend a basis for @xmath78 to a basis for @xmath77 .
since @xmath72 and @xmath73 are disjoint , i.e. , @xmath81 , @xmath82 is a subspace of @xmath26 , and thus there exists an auxiliary vector space @xmath83 such that @xmath84 the choice of @xmath75 is not canonical , but we need only its existence .
since the restriction map @xmath85 obviously annihilates @xmath73 , we may regard it as a map from @xmath86 onto @xmath87 .
in fact this map is injective .
note that if @xmath88 for some @xmath89 . then since @xmath90 it must be that @xmath91 .
but because the sum is direct , i.e. @xmath92 , it follows that @xmath93 , which proves injectivity . hence @xmath94 is an isomorphism .
now , we may calculate @xmath95 by solving a system of linear equations .
noting that @xmath96 is contained in @xmath37 if and only if @xmath97 commutes with the restriction to @xmath66 of each element of @xmath26 , we see that the number of independent linear constraints is @xmath98 = [ g_a ] + [ g']$ ] ; hence @xmath99=[p_a ] - [ g_a ] - [ g']= 2|a| - [ g_a ] - [ g']$ ] .
likewise , @xmath100 is also an isomorphism , and hence @xmath101=[p_b ] - [ g_b ] - [ g']= 2|b| - [ g_b ] - [ g']$ ] .
now we are ready to state and prove the cleaning lemma . for a subsystem code , let @xmath102 be the number of independent non - trivial bare logical operators supported on @xmath63 , and let @xmath103 be the number of independent non - trivial dressed logical operators supported on @xmath63 , i.e. , @xmath104 = [ ( g^\perp)_m / s_m ] , \\   g(m )         & = [ s^\perp \cap p_m / g_m ] = [ ( s^\perp)_m / g_m].\end{aligned}\ ] ] likewise , for a css subsystem code , let @xmath105 be the number of independent non - trivial bare @xmath49-type logical operators supported on @xmath63 , and let @xmath106 be the number of independent non - trivial dressed @xmath49-type logical operators supported on @xmath63 , i.e. , @xmath107 , \\
g^x(m )         & = [ ( s^z)^\perp \cap p^x_m / g^x_m],\end{aligned}\ ] ] and similarly for the @xmath50-type logical operators .    _
( cleaning lemma for subsystem codes ) _ for any subsystem code , we have @xmath108 where @xmath63 is any set of qubits and @xmath64 is its complement .
moreover , for a css subsystem code @xmath109 [ lem : counting_op ]    we use lemma 1 to prove the cleaning lemma by a direct calculation : @xmath110 \\ & = 2|m| - [ g_m ] - [ g ' ] - [ s_m ] , \end{aligned}\ ] ] and @xmath111 \\ & = 2|m^c| - [ s_{m^c } ] - [ s ' ] - [ g_{m^c } ] .\end{aligned}\ ] ] summing , we find @xmath112 + [ g_{m_c } ] + [ g'])\\ & -([s_m ] + [ s_{m_c } ] + [ s'])\end{aligned}\ ] ] and invoking lemma 1 once again , @xmath113 - [ s ] = 2k , \end{aligned}\ ] ] which proves the claim for general subsystem codes . for the css case , we apply the analogue of lemma 1 to the @xmath49-type and @xmath50-type pauli operators , finding @xmath114 \\ & = |m| - [ g^x_{m } ] - [ ( g^x ) ' ] - [ s^z_{m}]\end{aligned}\ ] ] and also @xmath115 \\ & = |m^c| - [ s^z_{m^c } ] - [ ( s^z ) ' ] - [ g^x_{m^c } ] .
\end{aligned}\ ] ] summing and using lemma 1 we have @xmath116-[s^z ] = k ; \end{aligned}\ ] ] a similar calculation yields @xmath117-[s^x ] = k , \end{aligned}\ ] ] proving the claim for css subsystem codes .
of course , for a stabilizer code there is no distinction between bare and dressed logical operators ; the statement of the cleaning lemma becomes @xmath118 for general stabilizer codes , and @xmath119 for css stabilizer codes .    to understand how the cleaning lemma gets its name ,
note that it implies that if no bare logical operator can be supported on the set @xmath63 then all dressed logical operators can be supported on its complement @xmath64 .
that is , any of the code s dressed logical pauli operators can be `` cleaned up '' by applying elements of the gauge group @xmath26 .
the cleaned operator acts the same way on the protected qubits as the original operator ( though it might act differently on the gauge qubits ) , and acts trivially on @xmath63 .
we say that a region @xmath63 is _ correctable _ if erasure of the qubits in @xmath63 is a correctable error . for a subsystem code
, it follows that no nontrivial dressed logical operators are supported on @xmath63 if @xmath63 is correctable ; hence @xmath120 and thus @xmath121 .
the cleaning lemma then asserts that all dressed logical operators can be supported on @xmath64 .
let us say that two dressed logical operators @xmath97 and @xmath122 are _ equivalent _ if @xmath123 and @xmath124 is an element of the gauge group @xmath26 , so that @xmath97 and @xmath122 act the same way on the protected qubits .
we have obtained :    _ ( cleaning lemma for dressed logical operators ) _ [ lem : clean - region ] for any subsystem code , if @xmath63 is a correctable region and @xmath97 is a dressed logical operator , then there is a dressed logical operator @xmath122 supported on @xmath64 that is equivalent to @xmath97 .
in this section we consider local subsystem codes with qubits residing at the sites of a @xmath0-dimensional hypercubic lattice @xmath125 .
the code has _
interaction range _ @xmath62 , meaning that the generators of the gauge group @xmath26 can be chosen so that each generator has support on a hypercube containing @xmath61 sites .
[ defn : boundary ] given a set of gauge generators for a subsystem code , and a set of qubits @xmath63 , let @xmath126 denote the support of all the gauge generators that act nontrivially on @xmath63 .
the _ external boundary _ of @xmath63 is @xmath127 , where @xmath64 is the complement of @xmath63 , and the _ internal boundary _ of @xmath63 is @xmath128 .
the _ boundary _ of @xmath63 is @xmath129 , and the _ interior _ of @xmath63 is @xmath130 .
recall that a region ( _ i.e. _ , set of qubits ) @xmath63 is said to be _ correctable _ if no nontrivial dressed logical operation is supported on @xmath63 , in which case erasure of @xmath63 can be corrected .
since the code distance @xmath1 is defined as the minimum weight of a dressed logical operator , @xmath63 is certainly correctable if @xmath131 .
but in fact much larger regions are also correctable , as follows from this lemma :    _ ( expansion lemma for local subsystem codes ) _ for a local subsystem code , if @xmath63 and @xmath66 are both correctable , where @xmath66 contains @xmath132 , then @xmath133 is correctable .
[ lem : subsystem - extend ]    given a subsystem code @xmath134 with gauge group @xmath26 , we may define a subsystem code @xmath135 on @xmath64 with gauge group @xmath136 , where @xmath137 maps a pauli operator to its restriction supported on @xmath64 .
we note that a pauli operator @xmath97 supported on @xmath64 is a bare logical operator for @xmath134 if and only if @xmath97 is a bare logical operator for @xmath135 ; that is , @xmath97 commutes with all elements of @xmath26 if and only if it commutes with all elements of the restriction of @xmath26 to @xmath64 .    furthermore ,
if @xmath97 is a dressed logical operator for @xmath135 supported on @xmath138 , then @xmath97 can be extended to a dressed logical operator @xmath139 for @xmath134 supported on @xmath132 . indeed , suppose @xmath123 , where @xmath122 is a bare logical operator for @xmath135 ( and hence also a bare logical operator for @xmath134 supported on @xmath64 ) , while @xmath124 is an element of the gauge group @xmath140 of @xmath135 .
then @xmath124 can be written as a product @xmath141 of generators of @xmath140 , each of which can be expressed as @xmath142 , where @xmath143 is a generator of @xmath26 supported on @xmath144 .
thus @xmath145 is a dressed logical operator for @xmath134 supported on @xmath132 .
it follows that if @xmath132 is correctable for the code @xmath134 ( _ i.e _ , code @xmath134 has no nontrivial dressed logical operators supported on @xmath132 ) , then @xmath146 is correctable for the code @xmath135 ( @xmath135 has no nontrivial dressed logical operators supported on @xmath146 ) . by similar logic ,
if @xmath66 is correctable for @xmath134 and contains @xmath132 , then @xmath147 is correctable for @xmath135 .
suppose now that the code @xmath134 has @xmath5 encoded qubits and that @xmath63 is correctable , _
i.e. _ @xmath148 . therefore , applying lemma [ lem : counting_op ] to the code @xmath134 , @xmath149 .
suppose further that the set @xmath66 containing @xmath132 is correctable for @xmath134 , implying that @xmath147 is correctable for @xmath135 , _
i.e. _ @xmath150 . then applying lemma [ lem : counting_op ] to the code @xmath135 ,
we conclude that @xmath151 . since each bare logical operator for @xmath135 , supported on @xmath152 , is also a bare logical operator for @xmath134 , supported on @xmath152 , we can now apply lemma [ lem : counting_op ] once again to the code @xmath134 , using the partition into @xmath152 and @xmath133 , finding @xmath153 .
thus @xmath154 is correctable .
if the interaction range is @xmath62 , and @xmath63 is a correctable hypercube with linear size @xmath155 , then we may choose @xmath156 so that @xmath133 is a hypercube with linear size @xmath157 and @xmath158 is a hypercube with linear size @xmath159 .
then @xmath66 contains @xmath160^d \le 4(w-1)dl^{d-1}\ ] ] qubits , and @xmath66 is surely correctable provided @xmath161 , where @xmath1 is the code distance .
suppose that @xmath162 , so a single site is correctable .
applying lemma [ lem : subsystem - extend ] repeatedly , we can build up larger and larger correctable hypercubes , with linear size @xmath163 .
this process continues as long as @xmath164 .
we conclude :    _ ( holographic principle for local subsystem codes ) _ [ lem : subsystem - hypercube ] for a @xmath0-dimensional local subsystem code with interaction range @xmath165 and distance @xmath166 , a hypercube with linear size @xmath157 is correctable if @xmath167    thus ( roughly speaking ) for the hypercube to be correctable it suffices for its @xmath168$]-thickened _ boundary _ , rather than its volume , to be smaller than the code distance .
bravyi @xcite calls this property `` the holographic principle for error correction , '' because the _ absence _ of information encoded at the boundary of a region ensures that no information is encoded in the `` bulk . '' for local stabilizer codes , the criterion for correctability is slightly weaker than for local subsystem codes , as we discuss in appendix [ app : holographic_lemma_stabilizer_codes ] .
now we are ready to prove our first tradeoff theorem .
and the white gap between squares has width @xmath169 .
the solid blue curve represents the support of a nontrivial logical operator ; because the square @xmath170 is correctable , this square can be `` cleaned ''  we can find an equivalent logical operator supported on @xmath171 , the complement of @xmath170 . when all squares are cleaned , the logical operator is supported on the narrow strips between the squares . ,
scaledwidth=42.0% ]    _ ( tradeoff theorem for local subsystem codes ) _ for a local subsystem code in @xmath13 dimensions with interaction range @xmath165 and distance @xmath172 , defined on a hypercubic lattice with linear size @xmath9 , every dressed logical operator is equivalent to an operator with weight @xmath2 satisfying @xmath173 where @xmath174 is a constant depending on @xmath62 and @xmath0 .
[ thm : subsystem - tradeoff ]    as shown in fig .
[ fig : cleaning ] , we fill the lattice with hypercubes , separated by distance @xmath169 , such that each hypercube has linear size @xmath157 satisfying eq ..
( by `` distance '' we mean the number of sites in between  _ e.g. _ we say that adjacent sites are `` distance zero '' apart . )
thus no gauge generator acts nontrivially on more than one hypercube , and each hypercube is correctable by lemma [ lem : subsystem - hypercube ] . consider any nontrivial dressed logical operator @xmath97 , and label the hypercubes @xmath175 . by lemma 3
there exists a gauge operator @xmath176 that `` cleans '' the logical operator in the hypercube @xmath170 , _
i.e. _ , such that @xmath177 acts trivially in @xmath170 .
furthermore , since no gauge generator acts nontrivially on more than one hypercube , we can choose @xmath176 so that it acts trivially in all other hypercubes . taking the product of all the @xmath176
s we construct a gauge operator that cleans all hypercubes simultaneously ; thus @xmath178 is equivalent to @xmath97 and supported on the complement of the union of hypercubes @xmath179 .
therefore , the weight @xmath2 of @xmath180 is upper bounded by @xmath181 .
the lattice is covered by hypercubes of linear size @xmath182 , each centered about one of the @xmath170 s .
there are @xmath183^d$ ] such hypercubes in this union , each containing no more than @xmath184^d - l^d \le ( w-1)d\left[l+(w-1)\right]^{d-1}$ ] elements of @xmath64 .
thus @xmath185^{d-1}\frac{l^d}{\left[l+(w-1)\right]^d } \nonumber\\ & = \frac{(w-1)d}{l+(w-1)}l^d.\end{aligned}\ ] ] we optimize this upper bound on @xmath2 by choosing @xmath157 to be the largest integer such that a hypercube with linear size @xmath157 is known to be correctable , _
i.e. _ , satisfying @xmath186 thus obtaining eq .. note that eq . is trivial if @xmath1 is a constant independent of @xmath9 , since the weight @xmath2 can not be larger than @xmath187 .
in this section we consider a local commuting projector code , defined as the simultaneous eigenspace with eigenvalue one of a set of commuting projectors . as in sec .
[ sec : subsystem - tradeoff ] we assume that the qubits reside on a hypercubic lattice @xmath125 and that each projector acts trivially outside a hypercube of linear size @xmath62 , where @xmath62 is the interaction range . by a
_ logical operator _ we mean any transformation that preserves the code space , and we say that two logical operators are _ equivalent _ if they have the same action on the code space .
the weight of a logical operator is the number of qubits on which it acts nontrivially .
we say that a set of qubits @xmath63 is correctable if erasure of @xmath63 can be reversed by a trace - preserving completely positive recovery map .
the distance @xmath1 of the code is the minimum size of a noncorrectable set of qubits .
bravyi , poulin , and terhal @xcite proved some useful properties of these codes .
to state their results , we use the definition    [ defn : boundary - projector ] given a set of commuting projectors defining a code , and a set of qubits @xmath63 , let @xmath126 denote the support of all the projectors that act nontrivially on @xmath63 .
the _ external boundary _ of @xmath63 is @xmath127 , where @xmath64 is the complement of @xmath63 , and the _ internal boundary _ of @xmath63 is @xmath128 .
the _ boundary _ of @xmath63 is @xmath129 , and the _ interior _ of @xmath63 is @xmath130 .
[ lem : disentangling ] _ ( disentangling lemma @xcite ) _ consider a local commuting projector code and suppose that @xmath63 and @xmath138 are both correctable regions .
then there exists a unitary operator @xmath188 acting only on the boundary @xmath132 such that , for any pure code vector @xmath189 , @xmath190 here @xmath191 , supported on @xmath63 , does not depend on the code vector @xmath189 , while @xmath192 , supported on @xmath64 , does depend on @xmath189 .
the disentangling lemma says that , if @xmath63 and @xmath138 are both correctable , then the entanglement of code vectors across the cut between @xmath63 and @xmath64 is localized in @xmath132 and can be removed by a unitary transformation acting on only @xmath132 .
furthermore , in the resulting product state , no information distinguishing one code vector from another is available in @xmath63 .
this lemma has a simple but important corollary :    _ ( expansion lemma for local commuting projector codes @xcite ) _ for a local commuting projector code , if @xmath63 and @xmath66 are both correctable , where @xmath66 contains @xmath132 , then @xmath133 is correctable .
[ lem : commuting - projector - extend ]    by eq.([eq : disentangling ] ) , if @xmath66 is erased the resulting state on @xmath158 is independent of the code vector @xmath189 ; all the information needed to reconstruct @xmath189 resides in @xmath152 .
therefore , we can erase @xmath158 as well without compromising our ability to reconstruct @xmath189 ; that is , @xmath133 is correctable
.    definition [ defn : boundary - projector ] and lemma [ lem : commuting - projector - extend ] for commuting projector codes are parallel to definition [ defn : boundary ] and lemma [ lem : subsystem - extend ] for subsystem codes . arguing as in the proof of lemma [ lem : subsystem - hypercube ]
, we see that one consequence is a holographic principle for these codes :    _ ( holographic principle for local commuting projector codes ) _ [ lem : projector - hypercube ] for a @xmath0-dimensional local commuting projector code with interaction range @xmath165 and distance @xmath166 , a hypercube with linear size @xmath157 is correctable if @xmath193    we will need an analog of the cleaning lemma to analyze the logical operator tradeoff for local commuting projector codes ; it can be derived from the disentangling lemma .    _
( cleaning lemma for local commuting projector codes ) _ consider a local commuting projector code , and suppose that @xmath63 and @xmath146 are both correctable .
for any logical operator @xmath78 there exists an equivalent logical operator @xmath77 supported on the complement of the interior @xmath194 of @xmath63 .
if @xmath78 is an isometry , then @xmath77 can be chosen to be unitary . [
lem : cleaning - projector ]    let us name the regions : @xmath195 let @xmath196 be an orthonormal basis for the code space . by lemma [ lem : disentangling ] , there exists a unitary transformation @xmath197 , and vectors @xmath198 such that @xmath199 where the normalized vector @xmath200 does not depend on @xmath201 and the vectors @xmath202 are normalized and mutually orthogonal . because @xmath78 is a logical operator , @xmath203 is also a code vector , and therefore @xmath204 where @xmath205 is another set of vectors ; if @xmath78 is an isometry then these vectors , too , are normalized and mutually orthogonal . define a transformation @xmath79 by @xmath206 , and choose an arbitrary extension so that @xmath79 becomes an operator on @xmath207 . if @xmath78 is an isometry , then this extension @xmath208 can be chosen to be unitary .
we now have @xmath209 for all @xmath201 . defining @xmath210
we observe that @xmath211 acts trivially on @xmath212 and has the same action on code vectors as @xmath78 , completing the proof .    to prove the tradeoff theorem we will need a further lemma establishing that a union of correctable sets is correctable under suitable conditions .
recall that we say a set of qubits @xmath63 is correctable if and only if erasure of @xmath63 can be corrected .
equivalently , @xmath63 is correctable if and only if , for any operator @xmath213 supported on @xmath63 , @xmath214 where @xmath215 denotes the projector onto the code space and @xmath216 is a constant ( possibly zero ) depending on @xmath213 @xcite .    _
( the union of separated correctable regions is correctable ) _ for a local commuting projector code , suppose that @xmath63 and @xmath217 are correctable regions such that no projector acts nontrivially on both @xmath63 and @xmath217
. then @xmath218 is also correctable .
[ lem : extension_of_correctable_region ]    a weaker version of this lemma was proved in @xcite .
let @xmath219 be the set of local commuting projectors that define the code .
we denote by @xmath220 the set of projectors in @xmath219 that act nontrivially on @xmath217 .
define @xmath221 and note that the projector onto the code space is @xmath222 also note that the support of @xmath223 does not intersect @xmath63 and the support of @xmath224 does not intersect @xmath217 .
let @xmath213 be an arbitrary operator supported on @xmath218 ; we will show that @xmath213 satisfies eq .. since @xmath63 and @xmath217 are disjoint , @xmath213 has a schmidt decomposition @xmath225 where each @xmath226 is supported on @xmath63 and each @xmath227 is supported on @xmath217 . since @xmath223 commutes with @xmath226 and @xmath224 commutes with @xmath227 , @xmath228 where in the fourth equality we used the correctability of @xmath63 and @xmath217 .
thus @xmath213 obeys eq . , and @xmath218 is correctable .
now we are ready to state and prove our second tradeoff theorem .    _
( tradeoff theorem for local commuting projector codes ) _ for a local commuting projector code in @xmath13 dimensions with interaction range @xmath165 and distance @xmath172 , defined on a hypercubic lattice with linear size @xmath9 , every logical operator is equivalent to an operator with weight @xmath2 satisfying @xmath229 where @xmath174 is a constant depending on @xmath62 and @xmath0 .
[ thm : commuting_tradeoff ]    the proof is similar to the proof of theorem [ thm : subsystem - tradeoff ] .
we fill the lattice with hypercubes , separated by distance @xmath169 , where each hypercube @xmath170 has linear size @xmath157 sufficiently small so that @xmath170 and @xmath230 are both correctable . applying lemma [ lem : extension_of_correctable_region ] repeatedly ,
we conclude that the union @xmath63 of all @xmath170 is correctable , and the union @xmath138 of all @xmath231 is correctable .    for any logical operator , lemma [ lem : cleaning - projector ] now
ensures the existence of an equivalent logical operator supported outside the interior @xmath232 of @xmath63 , and hence the weight @xmath2 of this equivalent logical operator is bounded above by @xmath233 .
the lattice is covered by hypercubes with linear size @xmath234 , each centered about one of the @xmath170 , and there are @xmath183^d$ ] such hypercubes , each containing no more than @xmath235^d - \left[l-2(w-1)\right]^d \nonumber\\ \le 3(w-1)d\left[l+(w-1)\right]^{d-1}\end{aligned}\ ] ] elements of @xmath236 ; therefore , @xmath237^{d-1}\frac{l^d}{\left[l+(w-1)\right]^d}\\ & = \frac{3(w-1)d}{l+(w-1)}l^d.\end{aligned}\ ] ]    to ensure that @xmath170 and @xmath231 are correctable , it suffices that @xmath238 , where @xmath1 is the code distance , or @xmath239^d - \left[l-2(w-1)\right]^d \\ & \le 4(w-1)d\left[l+2(w-1)\right]^{d-1 } < d.\end{aligned}\ ] ] we choose the largest such integer value of @xmath157 , obtaining eq ..
because the code distance @xmath1 is defined as the size of the smallest noncorrectable set , and because a set supporting a nontrivial logical operator is noncorrectable , we have @xmath240 and hence theorem [ thm : commuting_tradeoff ] implies @xmath241 in fact we can make a stronger statement , specifying the geometry of a region that supports a nontrivial logical operator with weight @xmath242 . on the hypercube @xmath243 , we refer to the set @xmath244 as a _ slab _ of width @xmath245 .
let us say that a code is nontrivial if the code space dimension is greater than one . then :    _ ( existence of a noncorrectable thin slab ) _ for a nontrivial local commuting projector code in @xmath246 dimensions with interaction range @xmath165 , there is a noncorrectable slab of width @xmath247 .
[ lem : slab ]    suppose , contrary to the claim , that any slab of width @xmath247 is correctable .
choose a correctable slab @xmath63 of width @xmath247 .
the boundary @xmath132 of @xmath63 is contained in two slabs @xmath248 and @xmath249 , each of width @xmath250 .
hence @xmath248 and @xmath249 are both correctable , and since @xmath63 has width @xmath247 , @xmath248 and @xmath249 are separated by @xmath169 .
therefore , no local projector acts on both @xmath248 and @xmath249 , and by lemma [ lem : extension_of_correctable_region ] , @xmath251 is correctable
. then lemma [ lem : commuting - projector - extend ] implies that the slab @xmath252 of width @xmath253 is correctable . repeating the argument
, we see that if a slab @xmath63 of width @xmath245 is correctable , so is the slab of width @xmath254 containing @xmath63 .
if the system obeys open boundary conditions , then by induction the entire lattice is correctable .
if the lattice is periodic , we may consider two thick correctable slabs @xmath255 such that @xmath256 is the entire lattice and @xmath257 ; in that case lemma [ lem : commuting - projector - extend ] implies that the entire lattice @xmath256 is correctable . for either type of boundary condition , then , there are no nontrivial logical operators at all .
but we assumed that the code is nontrivial , and therefore reach a contradiction .
it follows from lemma [ lem : slab ] that the distance @xmath1 of a local commuting projector code satisfies @xmath258 it was previously known that @xmath259 for a local stabilizer code @xcite and @xmath260 for a local subsystem code @xcite .
now we may wonder about the geometry of a set that supports a nontrivial logical operator . for a subsystem code
, there is a nontrivial logical operator supported by any noncorrectable set , but this statement is not true for general codes ( see appendix [ app : counter_example_nolop_noncorrectable ] ) .
we say that an operator @xmath213 is a _ logical _ operator if it preserves the code space , and that it is a _ nontrivial _ logical operator if it preserves the code space and its restriction to the code space is not proportional to the identity . from the definition of correctability , then , @xmath63 is not correctable if it supports a nontrivial logical operator .
but for some codes the converse is false .
if @xmath63 is not correctable , then an operator @xmath213 exists that fails to satisfy eq . ; however @xmath213 might not preserve the code space .
but for a local commuting projector code , a correctable set can be extended to a slightly larger set that does support a nontrivial logical operator .
suppose the code is the simultaneous eigenspace with eigenvalue one of a set of commuting projectors @xmath261 .
for any set of qubits @xmath63 , we define @xmath126 as the support of all the projectors that act nontrivially on @xmath63 .
then if @xmath63 is noncorrectable a nontrivial unitary logical operator is supported on @xmath126 .
[ lem : projector - support ] _ ( support for nontrivial logical operator ) _ for a commuting projector code , if the set @xmath63 is not correctable , then there is a nontrivial unitary logical operator supported on @xmath126 that commutes with every projector in @xmath219 .
let @xmath262 be the projector onto the code space .
we claim that there exists a pauli operator @xmath263 supported on @xmath63 such that @xmath264 is not proportional to @xmath215 .
indeed , if @xmath63 is not correctable , then there exists an operator @xmath265 supported on @xmath63 such that @xmath266 . expanding @xmath267 as a linear combination of pauli operators , we see that at least one pauli operator @xmath268 must satisfy @xmath269 .
we denote by @xmath270 the set of projectors in @xmath219 that act nontrivially on @xmath63 , and define @xmath271 we claim that @xmath272 is a nontrivial hermitian logical operator supported on @xmath126 .
to see that @xmath273 is a logical operator , note that if @xmath274 , then @xmath275 , because @xmath276 ; hence @xmath277 _ i.e. _ , @xmath278 commutes with @xmath273 .
if @xmath279 , then @xmath278 is supported in the complement @xmath64 of @xmath63 ; hence it commutes trivially with @xmath263 , and therefore also with @xmath280 .
since @xmath280 commutes with each projector in @xmath219 , it certainly commutes with @xmath215 and hence preserves the code space .
furthermore , because @xmath281 @xmath273 acts on the code space in the same way as @xmath282 , and therefore must be nontrivial .
thus @xmath283 preserves the code space and is unitary for any real @xmath284 . since @xmath273 ,
restricted to the code space , has at least two distinct eigenvalues , the same is true of @xmath285 for a generic choice of @xmath284 ; _ i.e. _ , @xmath285 is a nontrivial unitary logical operator .
lemmas [ lem : slab ] and [ lem : projector - support ] now imply :    _ ( a logical operator is supported on one thin slab ) _ for a nontrivial local commuting projector code in @xmath246 dimensions , with interaction range @xmath286 , there is a nontrivial unitary logical operator ( commuting with all projectors ) supported on a slab of width @xmath253 .
[ thm : slab ]    note that , though the proof of theorem  [ thm : slab ] establishes the existence of a logical operator supported on a slab of constant width , it provides no algorithm for constructing the operator .    in @xmath18 dimensions ,
the slab becomes a strip of constant width stretching across the @xmath287 code block , and the logical operator supported on the strip may be called a `` string '' operator .
it was previously known that for @xmath18 a string operator can be supported on a strip of width @xmath62 in a local stabilizer code @xcite , and of width @xmath288 in a local subsystem code @xcite .
theorems 1 and 2 constrain the weight of logical operators , but the proofs tell us more  they specify the _ geometry _ of a region that supports a logical operator .
this geometry has further implications for the physical robustness of quantum memories .
consider a subsystem code whose stabilizer group @xmath22 has a set of geometrically local generators @xmath289 , where the qubits reside at the sites of a @xmath0-dimensional hypercubic lattice with linear size @xmath9 .
the generating set @xmath289 might be overcomplete , but we assume that the number of generators acting nontrivially on each qubit is a constant independent of @xmath9 .
the local hamiltonian @xmath290 has a @xmath291-fold degenerate ground state with energy @xmath292 , where @xmath5 is the number of protected qubits and @xmath33 is the number of gauge qubits of the subsystem code  each ground state is a simultaneous eigenstate with eigenvalue one of all elements of @xmath289 .
if a quantum memory governed by this hamiltonian is subjected to thermal noise , how well protected is the @xmath36-dimensional code space ?
if @xmath189 is a zero - energy eigenstate of @xmath293 and @xmath294 , then @xmath295 is an eigenstate of @xmath293 with eigenvalue @xmath296 , where @xmath296 is the number of elements of @xmath289 that anticommute with @xmath97 .
thermal fluctuations may excite the memory , but excitations with energy cost @xmath297 are suppressed by the boltzmann factor @xmath298 where @xmath299 is the temperature ( and boltzmann s constant @xmath300 has been set to one ) .
following @xcite , we suppose that the environment applies a sequence of weight - one pauli operators to the system , so that the error history after @xmath301 steps can be described as a walk on the pauli group , starting at the identity : @xmath302 where @xmath303 , and @xmath304 has weight one .
let @xmath305 denote the set of all such walks , with any number of steps , that start at @xmath306 and terminate at @xmath307 .
we define @xmath308 the minimum energy barrier that must be surmounted by any walk that reaches pauli operator @xmath124 .
thus such walks occur with a probability per unit time suppressed by the boltzmann factor @xmath309 .
we also define @xmath310 here @xmath311 is the lowest energy barrier protecting any nontrivial dressed logical operator ( representing a nontrivial coset of @xmath312 ) , and @xmath313 is the highest such energy barrier .
we say that a quantum memory is _ self correcting _ if @xmath311 grows faster than logarithmically with @xmath9 . in that case
_ all _ nontrivial logical operators are suppressed by a boltzmann factor whose reciprocal grows super - polynomially with @xmath9 .
we say that the quantum memory is _ partially self correcting _ if @xmath313 grows faster than logarithmically with @xmath9 . in that case _ at least one _ logical operator is protected by an energy barrier that increases with system size .
though the pauli walk may not be a particularly accurate description of noise in realistic systems , it allows us to define the notion of barrier height precisely , and to state the criteria for self correction and partial self correction simply .
furthermore , we expect the boltzmann factor @xmath314 suppressing the pauli walk to provide a reasonable ( though crude ) estimate of the logical error rate for more realistic noise models , assuming that the system attains thermal equilibrium .
bravyi and terhal @xcite , and kay and colbeck @xcite , showed that no two - dimensional local subsystem code with local stabilizer generators can be self correcting . on the other hand , partially self - correcting quantum memories are certainly possible in two dimensions  the ising model , regarded as a quantum repetition code , is an example . in the ising model
, the logical bit flip operator flips every qubit , hence @xmath315 . in the pauli
walk that reaches the logical bit flip and traverses the lowest barrier , a domain wall of length @xmath12 sweeps across the system ; hence @xmath316 .
theorem [ thm : subsystem - tradeoff ] shows that this high value of @xmath2 for the logical bit flip is possible only because the code distance @xmath1 is @xmath317 , and hence a logical phase flip can be realized by an operator of constant weight .    but suppose that , as in the toric code @xcite , a logical phase flip can occur only if a thermally activated localized quasiparticle propagates across the system .
thus @xmath318 for the logical phase flip .
can the logical bit flip still be protected by a high barrier ?
arguing as in @xcite , and invoking theorem [ thm : subsystem - tradeoff ] , we see that under this condition robust protection against bit flips can not be achieved using a local subsystem code with local stabilizer generators .    _
( limitation on partial self correction in local subsystem codes ) _ for a two - dimensional local subsystem code , with qubits residing at sites of an @xmath287 square lattice , suppose that @xmath289 is a ( possibly overcomplete ) set of _ geometrically local _ stabilizer generators , where the number of generators acting on each qubit is an @xmath9-independent constant .
consider a quantum memory governed by the hamiltonian eq .. if the code distance is @xmath21 , then the memory is not partially self correcting  _
i.e. _ , @xmath319 .
more generally , if the code distance is @xmath320 in @xmath0 spatial dimensions , then @xmath321 , where @xmath322 .
[ thm : no - partial ]    let @xmath62 be the interaction range of the gauge generators of the subsystem code and let @xmath323 be the interaction range of the stabilizer generators .
for any dressed logical operator @xmath97 supported on this set , we may build a pauli walk that starts at @xmath306 and ends at @xmath97 by first building the horizontal strings column by column and then building the vertical strings row by row . at each stage of this walk ,
any `` excited '' local stabilizer @xmath324 such that @xmath325 acts only on qubits in a @xmath326 square that contains qubits either at the boundary of the walk or in the intersection of a horizontal and vertical string .
the number of such qubits is @xmath317 and the total number of stabilizer generators acting on these qubits is @xmath317 .
therefore , the energy cost of the partially completed walk , and hence @xmath313 , are @xmath317 .    in @xmath0 spatial dimensions ,
the proof of theorem [ thm : subsystem - tradeoff ] shows that the support of any dressed logical operator can be reduced to a network of overlapping @xmath327-dimensional slabs , where each slab has constant width and slabs with the same orientation are separated by distance @xmath157 such that @xmath328 ; hence @xmath329 if @xmath330 .
for any dressed logical operator supported on this set of slabs , we may build a pauli walk that sweeps across the system , such that at each stage of the walk the excited stabilizer generators are confined to a @xmath327-dimensional `` surface . ''
this surface may be oriented such that it cuts across each slab on a @xmath331-dimensional surface with weight @xmath332 .
there are @xmath333 such intersections ; therefore during the walk the total number of excited stabilizer generators ( and hence the energy cost ) is @xmath334 , where @xmath335 .
we needed to assume that each @xmath324 is geometrically local to ensure that eq .
is a geometrically local hamiltonian . for any local subsystem code with geometrically local gauge generators , whether or not the stabilizer generators are also geometrically local , the hamiltonian @xcite @xmath336 is geometrically local , where now @xmath337 is the set of gauge generators .
however , because the gauge generators are not mutually commuting , the energetics of a pauli walk is not easy to study in this model , which is beyond the scope of theorem [ thm : no - partial ] .
for a two - dimensional local commuting projector code , the simultaneous eigenspace with eigenvalue one of the projectors @xmath338 , the code space is the degenerate ground state with energy @xmath292 of the hamiltonian @xmath339 if only a constant number of projectors act on each qubit , then an operator supported on a set @xmath63 can increase the energy by at most @xmath340 , where @xmath174 is a constant . since theorem [ thm : slab ] establishes the existence of a nontrivial logical operator supported on a narrow strip , one might anticipate that , by arguing as in the proof of theorem [ thm : no - partial ] , we can show that this system is not self correcting or partially self correcting .
we may envision a sequence of operations interpolating between the identity and a nontrivial logical operator , where each operation in the sequence could plausibly evolve from the previous operation due to the action of a thermal bath . in the strip @xmath63 of constant width that supports a nontrivial logical operator @xmath213
, we can divide the qubits into two subsets @xmath66 and @xmath341 , imagining that the interface between @xmath66 and @xmath71 gradually creeps along the strip .
now , however , we encounter an important distinction between stabilizer codes and more general commuting projector codes . for a stabilizer code , the nontrivial logical operator supported in @xmath63 can be chosen to be a pauli operator , and hence the product of an operator supported in @xmath66 and an operator supported in @xmath71 . for a commuting projector code , a logical operator supported in @xmath63 may actually be _ entangling _ across the @xmath66-@xmath71 cut .
are we assured that this entangling operation can be built up gradually due to the effects of local noise ?
we have not been able to settle this question .
we _ can _ say that in any two - dimensional local commuting projector code there exists a nontrivial logical operator that is only _ slightly entangling _ across any cut through the strip .
this property , however , might not suffice to guarantee that the logical operator can be constructed as a product of physical operations , where each operation acts on a constant number of system qubits near the @xmath66-@xmath71 cut and also on a constant number of ancillary qubits in the `` environment . ''    to define the notion of `` slightly entangling '' for an operator @xmath213 supported on @xmath342 , we perform a schmidt decomposition @xmath343 here @xmath344 is a set of nonnegative real numbers , while @xmath345 is a set of operators supported on @xmath66 and @xmath346 is a set of operators supported on @xmath71 , with the normalization conditions @xmath347 the number of nonzero terms in the schmidt decomposition is the schmidt rank of @xmath213 , and we say that @xmath213 is slightly entangling if its schmidt rank is a constant independent of system size .    as we know from theorem [ thm : slab ] , for a two - dimensional local commuting projector code on an @xmath287 lattice , there is a nontrivial logical operator supported on a vertical strip @xmath63 with dimensions @xmath348 , where @xmath245 is a constant .
@xmath63 can be regarded as the disjoint union of an @xmath349 rectangle @xmath66 covering the bottom of @xmath63 and an @xmath350 rectangle @xmath71 covering the top of @xmath63 .
we can prove    [ lem : e_slightly_entangling_lop ] _ ( existence of slightly entangling logical operators ) _ for a nontrivial two - dimensional local commuting projector code , there is a nontrivial hermitian logical operator @xmath273 supported on a strip of constant width @xmath126 such that , for any division of @xmath126 into constant - width rectangles @xmath66 and @xmath71 , @xmath273 is slightly entangling across the @xmath66-@xmath71 cut .
we know from lemmas [ lem : slab ] and [ lem : projector - support ] that there is a noncorrectable constant - width strip @xmath63 and a pauli operator @xmath263 supported on @xmath63 such that @xmath272 is a nontrivial hermitian logical operator supported on @xmath126 ; here @xmath351 and @xmath270 is the set of projectors that act nontrivially on @xmath63 .
the pauli operator @xmath263 is a product operator , with schmidt number one across the @xmath66-@xmath71 cut . among the local projectors occurring in the product @xmath352 , those fully supported on either @xmath66 or @xmath71 have no effect on the schmidt number of @xmath353 , and only a constant number of the projectors act nontrivially on both @xmath66 and @xmath71 . since each such @xmath278
is supported on a constant number of qubits , the action of @xmath278 increases the schmidt number by a constant .
thus @xmath273 has constant schmidt number , _
i.e. _ is slightly entangling .
we may relax the notion of slightly entangling , regarding an operator @xmath213 as slightly entangling if it may be _ well approximated _ by an operator with constant schmidt rank .
in this sense the unitary logical operator @xmath354 is also slightly entangling .
we may expand the exponential as a power series where each term has a schmidt rank independent of system size ; furthermore , the power series expansion truncated at constant order approximates the exponential function very well with respect to the operator norm .
now we might hope to construct a slightly entangling logical operator @xmath213 , supported on a constant - width vertical strip , by gradually building its support one horizontal row of qubits at a time .
however , lamata _
@xcite showed that , if @xmath213 is entangling , then it can not be obtained as a product of _ unitary _ operators where each of these operators acts on just a few rows of system qubits and on a shared ancillary system .
an alternative procedure for gradually building a nontrivial logical error has been proposed by landon - cardinal and poulin @xcite .
they envision a walk along the strip such that , in each step of the walk , first a constant size set of qubits depolarizes , and then the code projectors acting on that set are applied . if the projection fails to accept the state , the step can be repeated until the projection succeeds
.    this procedure could fail if at some stage the projection succeeds with zero probability .
but landon - cardinal and poulin @xcite have shown that their procedure eventually generates a nontrivial logical error ( and hence that the code is not self correcting ) for any local commuting projector code obeying a `` local topological order '' criterion @xcite .
whether self - correcting two - dimensional local commuting projector codes are possible remains open , though , because topologically ordered codes that violate _ local _ topological order have not been ruled out .
the quantum accuracy threshold theorem @xcite shows that quantum information can be reliably stored and processed by a noisy physical system if the noise is not too strong . but can quantum information be protected `` passively '' in a macroscopic physical system governed by a static local hamiltonian , at a sufficiently low nonzero temperature ?
this question @xcite , aside from its far - reaching potential implications for future quantum technologies , is also a fundamental issue in quantum many - body physics .
hamiltonians derived from local quantum codes , whose properties are relatively easy to discern , can provide us with valuable insights .
a two - dimensional ferromagnet can be a self - correcting classical memory , but a hamiltonian based on a two - dimensional local subsystem code with local stabilizer generators can not be a self - correcting quantum memory @xcite .
we have shown that for two - dimensional local subsystem code with local stabilizer generators on an @xmath355 square lattice , robust _ classical _ protection is impossible if the code distance is @xmath21 , as expected for a topologically ordered two - dimensional system .
more generally , we have studied how the code distance @xmath1 limits the size of the support of arbitrary nontrivial logical operators , in both local subsystem codes and local commuting projector codes . in view of the upper bound @xmath356 on the code distance , we may write @xmath357 where @xmath358 , and thus our upper bound eq . on the weight of logical operators becomes @xmath359 in particular , in three dimensions , @xmath21 implies @xmath360 .
we have also shown that any two - dimensional local commuting projector code admits a nontrivial logical string operator which is only slightly entangling across any cut through the string .
our arguments modestly extend the findings of @xcite , and use similar ideas . in passing
, we also proved a cleaning lemma for subsystem codes based on ideas from @xcite , proved a cleaning lemma for local commuting projector codes .
our methods might find further applications in future studies of quantum memories based on local codes .
we are grateful to salman beigi , alexei kitaev , robert knig , olivier landon - cardinal , and norbert schuch for helpful discussions , and we especially thank david poulin for useful comments on the manuscript .
this research was supported in part by nsf under grant no .
phy-0803371 , by doe under grant no .
de - fg03 - 92-er40701 , by nsa / aro under grant no .
w911nf-09 - 1 - 0442 , and by the korea foundation for advanced studies .
the institute for quantum information and matter ( iqim ) is an nsf physics frontiers center with support from the gordon and betty moore foundation .
we say that a local stabilizer code has interaction range @xmath62 if each stabilizer generator has support on a hypercube containing @xmath61 sites . for this case
, we can improve the criterion for correctability of a hypercube , found for local subsystem codes in lemma [ lem : subsystem - hypercube ] .    _
( expansion lemma for local stabilizer codes ) _ for a local stabilizer code , suppose that @xmath138 , @xmath66 , and @xmath158 are all correctable , where @xmath361
. then @xmath63 is also correctable .
suppose , contrary to the claim , that there is a nontrivial logical operator @xmath97 supported on @xmath63 .
then , because @xmath66 is correctable , lemma [ lem : clean - region ] implies that there is a stabilizer generator @xmath122 such that @xmath362 acts trivially on @xmath66 .
furthermore , @xmath122 can be expressed as a product of local stabilizer generators , each supported on @xmath363 .
thus @xmath362 is a product of two factors , one supported on @xmath158 and the other supported on @xmath138 . because @xmath364 , no local stabilizer generator acts nontrivially on both @xmath158 and @xmath138 ; therefore , each factor commutes with all stabilizer generators and hence is a logical operator . because @xmath158 and @xmath138 are both correctable , each factor is a trivial logical operator and therefore @xmath362 is also trivial .
it follows that @xmath97 is trivial , a contradiction .
now , if the interaction range is @xmath62 and @xmath63 is a hypercube with linear size @xmath157 , we choose @xmath66 so that @xmath158 is a hypercube with linear size @xmath155 , and we notice that @xmath138 is contained in a hypercube with linear size @xmath365 .
thus both @xmath158 and @xmath146 are correctable provided that @xmath366^{d-1 } < d.\end{aligned}\ ] ] reasoning as in the proof of lemma [ lem : subsystem - hypercube ] , we conclude that :    _ ( holographic principle for local stabilizer codes ) _ [ lem : stabilizer - hypercube ] for a @xmath0-dimensional local stabilizer code with interaction range @xmath165 and distance @xmath166 , a hypercube with linear size @xmath157 is correctable if @xmath367^{d-1 } < d.\ ] ]    to ensure that the hypercube @xmath63 is correctable , it suffices for its @xmath368-thickened boundary , rather than its @xmath168$]-thickened boundary , to be smaller than the code distance .
here we give a simple example illustrating that for some quantum codes a noncorrectable set need not support a nontrivial logical operator . for @xmath369 qubits ,
consider the three - dimensional code space spanned by the orthogonal vectors @xmath370 this is the eigenspace with eigenvalue 1 of the projector @xmath371 if the first qubit is mapped to @xmath372 , then @xmath373 is no longer perfectly distinguishable from @xmath189 or @xmath374 ; hence erasure of this qubit is not correctable .
( similarly , the second qubit is also a noncorrectable set . )
is there a logical operator supported on the first qubit ?
suppose that @xmath375 is an operator acting on the first qubit .
then @xmath376 is a code vector only if @xmath377 , and @xmath378 is a code vector only if @xmath379 .
furthermore , if @xmath380 , then @xmath381 is a code vector only if @xmath382 .
thus @xmath9 is a multiple of the identity , a trivial operator .
s. bravyi , d. poulin , and b. terhal , tradeoffs for reliable quantum information storage in 2d systems , phys .
rev . lett .
104 , 050503 ( 2010 ) , arxiv:0909.5200 .
s. bravyi and b. terhal , no - go theorem for two - dimensional self - correcting quantum memory based on stabilizer codes , new j. phys .
11 , 043029 ( 2009 ) , arxiv:0810.1983 .
s. bravyi , subsystem codes with spatially local generators , arxiv:1008.1029 ( 2010 ) .
a. kay and r. colbeck , quantum self - correcting stabilizer codes , arxiv:0810.3557 ( 2008 ) .
e. dennis , a. kitaev , a. landahl , and j. preskill , topological quantum memory , j. math .
43 , 4452 - 4505 ( 2002 ) , arxiv : quant - ph/0110143 .
r. alicki , m. horodecki , p. horodecki , and r. horodecki , on thermal stability of topological qubit in kitaev s 4d model , open syst .
17 , 1 ( 2010 ) , arxiv:0811.0033 .
j. haah , local stabilizer codes in three dimensions without string logical operators , phys .
a 83 , 042330 ( 2011 ) , arxiv:1101.1962 .
s. bravyi and j. haah , on the energy landscape of 3d spin hamiltonians with topological order , phys .
107 , 150504 ( 2011 ) , arxiv:1105.4159 .
s. bravyi and j. haah , analytic and numerical demonstration of quantum self - correction in the 3d cubic code , arxiv:1112.3252 ( 2011 ) . c. castelnovo and c. chamon , topological order in a 3d toric code at finite temperature , phys
b 78 , 155120 ( 2008 ) , arxiv:0804.3591 .
b. yoshida and i.  l. chuang , framework for classifying logical operators in stabilizer codes , phys .
a 81 , 052302 ( 2010 ) , arxiv:1002.0085 .
a.  r. calderbank , e.  m. rains , p.  w. shor , and n.  j.  a. sloane , quantum error correction and orthogonal geometry , phys .
lett 78 , 405 - 408 ( 1997 ) , arxiv : quant - ph/9605005 .
d. gottesman , class of quantum error - correcting codes saturating the quantum hamming bound , phys .
a 54 , 18621868 ( 1996 ) , arxiv : quant - ph/9604038 .
d. bacon , operator quantum error - correcting subsystems for self - correcting quantum memories , phys .
a 73 , 012340 ( 2006 ) , arxiv:/quant - ph/0506023 .
d. poulin , stabilizer formalism for operator quantum error correction , phys .
lett 95 , 230504 ( 2005 ) , arxiv : quant - ph/0508131 .
a.  r. calderbank and p.  w. shor , good quantum error - correcting codes exist , phys . rev . a 54 , 10981105 ( 1996 ) , arxiv : quant - ph/9512032 .
a. steane , multiple particle interference and quantum error correction , proc .
a a452 , 25512577 ( 1996 ) , arxiv : quant - ph/9601029 .
m. wilde and d. fattel , nonlocal quantum information in bipartite quantum error correction , quant .
inf . proc . 9 , 591 - 610 ( 2010 ) , arxiv:0912.2150 .
d. gottesman , an introduction to quantum error correction and fault - tolerant quantum computation , arxiv:0904.2557 ( 2009 ) , and references therein . a.  yu . kitaev , fault - tolerant quantum computation by anyons , ann .
303 , 2 - 30 ( 2003 ) , arxiv : quant - ph/9707021 . l. lamata , j. len , d. prez - garcia , d. salgado , and e. solano , sequential implementation of global quantum operations , phys . rev .
lett . 101 , 180506 ( 2008 ) , arxiv:0711.3652 .
o. landon - cardinal and d. poulin , unpublished ( 2012 ) .
s. bravyi and m.  b. hastings , a short proof of stability of topological order under local perturbations , arxiv:1001.4363 ( 2010 ) .