This older post looks at calculating the logicals of the toric code which is constructed as a hypergraph product (hgp) code. Are there similar equations for the logicals of a generic hpg code? That is given $H_1,H_2$ that define the hgp code, how would ${\cal H^0},{\cal H^1}$ be calculated? and would the equations for $L_X,L_Z$ be the same as the post?
1 Answers
For a general CSS code logical $Z$, $X$ operators are defined as
Logical $Z$: $\ker(H_X)/\text{Im}(H_Z^T)$, Logical $X$: $\ker(H_Z^T)/\text{Im}(H_X)$.
Specific to your question, due to the product structure of HGP code, logical operators do have this nice two-sector representation, as shown in Eqn 9 and Pg 4.
$\begin{equation}
L_Z=\{(k\otimes\overline{f}, 0)\text{ for }k\in\ker H_a,\overline{f}\in(\text{Im}H_b^T)^{\bullet}\}\cup\{(0,g\otimes\overline{h})\text{ for }\overline{h}\in\ker H_b^T,g\in(\text{Im}H_a)^{\bullet}\}
\end{equation}$
To calculate the expressions you want you need to figure out basis for the corresponding basis for the image and kernel. Basically you can partition physical qubits of HGP into two parts, stabilizers are supported on one column in one sector and a row on the other one; logical operators are supported either on one row in sector 1 or column in sector 2. In particular, if your $H_1,H_2$ are full rank, logical operators are supported entirely on one sector. This nice property of HGP opens way for many nice results and makes it suitable for certain platforms such as neutral atom Qian et al.
The surface code example you refer to is just one specific instance of this.
- 638
- 3
- 10