# Why parity-check matrices not reduced when working with Bivariate Bicycle codes?

Bivariate Bicycle (BB) codes were introduced in [1]. These families of QEC codes are defined via parity check matrices containing a two block structure of the form $$H_{X} = (A|B)$$ and $$H_{Z} = (B^{T}|A^{T})$$. The matrices $$A$$ and $$B$$ are both defined as polynomials of the form e.g. $$A = x^3 + y^2 + y$$, where each variable corresponds to a square matrix. These variables are defined as $$x = S_{l} \otimes \mathbf{I}_{m}$$ and $$y = \mathbf{I}_{l} \otimes S_{m}$$, where $$S_{k}$$ are cyclic matrices, meaning both $$x$$ and $$y$$ have dimensions ($$lm$$ x $$lm$$).

Counting the number of columns in $$H_{X,Z}$$, we obtain there are a total of $$n=2lm$$ data qubits. Adding the number of rows of $$H_{X}$$ and $$H_{Z}$$, we obtain a total of $$n=2lm$$ checks. The number of logicals supported by a specific code is given by $$k = n - \textrm{rank}(H_{X}) - \textrm{rank}(H_{Z})$$. Assuming that parameters have been chosen such that the code hosts at least one logical qubits, we conclude that the parity-check matrices $$H_{X,Z}$$ are thus reducible.

Question:

Why are the matrices never reduced in the description of BB codes? In particular, for the Gross code $$[[144,12,12]]$$ example, a whole circuit is presented in [1], based on the structure of $$H_{X,Z}$$, which measures $$n$$ stabilizers. Is there any advantage in measuring more stabilizers than necessary? e.g. does that make it easier to build the syndrome extraction circuit (or other structures associated with the code?)? Does it make decoding easier?...Is this something standard for qLDPC codes?

Refs:

The toric code also has a redundant X stabilizer and a redundant Z stabilizer. Removing them doesn't break the code... but you probably shouldn't do it.

First of all, although the redundant stabilizers are products of the other stabilizers, those products are huge. When measurements are noisy, this basically means you don't have access to the stabilizer via the big product. It doesn't matter that it should in principle be equal; in practice you have no real ability to reveal its value until after error correction. Which means it doesn't help do the error correction.

Second of all, it breaks the translation symmetry of the code. There is a simplicity to the toric code, where every location looks like every other location. If you punch out a stabilizer, the locations suddenly differ from each other. If you're writing python code to generate the circuit, you'll need an extra condition for this stabilizer. If you're writing a decoder for the toric code, you'll need to be able to deal with some spacelike errors having one symptom instead of two. Everything gets just a little bit harder.

The same would be true of bicycle codes. You don't actually have access to the redundant stabilizers after they are removed, via the product that is equal to them, because that product involves too many noisy measurements. And all of a sudden part of the code looks different from the other parts and requires special treatment.

Lastly: single shot quantum codes will typically involve doing lots of highly cross-redundant measurements. Otherwise a single measurement error could cause them to fail. So there are benefits to going even more redundant.

• Thanks for the answer Craig! I agree on the functionalities regarding preserving the symmetry of the code, inherited from the circulant matrices. I was only wondering if there was something more fundamental going on. About your first comment, if I understand correctly, you are saying that if I run the experiment after removing some stabilizers, if I wanted to obtain their syndrome, I would have to take the product of a large amount of noisy measurements. While I agree with that, why would I want to recover the measurement for those stabilizers, if I already decided to discard them? Commented Jul 31 at 8:50
• @EzequielRodriguezChiacchio I was just pointing out that the argument that the stabilizer is redundant is wrong, once you consider noise, because your estimate of it from the big product of noisy measurements is worse than directly measuring it. Redundancy becomes more nuanced in a noisy system than in a noiseless system. Commented Jul 31 at 10:35
• I see, thank you! Commented Jul 31 at 12:44

It's certainly much simpler to describe the parity check matrices in terms of circulant matrices. Even beyond BB codes, there are others that use such a technique to define quantum codes. There may be redundancy in the resulting parity check matrix due to this property, but it is a much easier formalism to define a family of quantum codes, and for analytic purposes, explicitly keeping your quasi-cyclicity properties can be useful.

If you wanted, you could just remove the redundant rows in the parity check matrix, but there are reasons you might want to keep them. For one, the qLDPC condition tells you that the syndrome extraction circuit to measure all checks simultaneously parallelizes quite nicely. This means that you can get multiple pieces of information corresponding to particular checks in constant time. This is quite nice because you tend to have to repeat syndrome extraction $$O(d)$$ times, so having some parallelized quantum checks gets you "multiple rounds" of syndrome data quicker. This can go as far as to define so-called metachecks on some quantum codes, which are classical checks on the measurement outcomes of some quantum checks. If you have a very robust set of metachecks, you could sometimes get a property called "soundness," which lets you get away with single-shot syndrome extraction.

• Thank you for the answer Rohan! Regarding the first paragraph. Is there are a direct interpretation of the redundancy due to the cyclic property? I agree that keeping the matrices this way makes all the later constructions much easier! Commented Jul 31 at 0:50
• About the second one, removing rows from the parity-check matrix should not make things harder in that sense. Let's say I build a circuit for $n$ checks that is parallelizable. If I choose to remove some redundant checks, the circuit can only get simpler, it might not get shallower, but it will at least require a smaller amount of gates. Do you agree? Finally, do you have any literature recommendations on "metachecks" and "soundness" - I am unfamiliar with these concepts. Commented Jul 31 at 0:57
• (1) Quasicyclicity allows you to permute qubits in certain ways and remain in the codespace, which is thus an automorphism. (2) Yes, the number of gates decreases. What you gain from that is data qubits may be involved in fewer (noisy) gates. However, you get something from having more low-weight stabilizers to measure as you have more measurement qubits checking similar things to resist measurement errors. (3) Regarding soundness: arxiv.org/abs/1805.09271. Many references on single-shot error correction will discuss this idea. Commented Jul 31 at 19:36
• Thank you so much! Commented Aug 1 at 1:20