2
$\begingroup$

Are there any packages that efficiently compute weight enumerators (and dual weight enumerators) of quantum error correcting codes?

I'm interested in a general method that works for both stabilizer and non-stabilizer codes.

I wrote some code but it is already slow for 11 qubits. I'm sure that there is some very efficient way of doing this (for stabilizer codes just count the number of stabilizer elements so that is especially easy, but I want a general method that also works for non-stabilizer codes)

For example does stim have such a function?

$\endgroup$
2
  • $\begingroup$ Stim does not have such a function. $\endgroup$ Commented Aug 5, 2023 at 23:17
  • $\begingroup$ for CSS codes you can borrow the methods from classical codes; these work with the dual code and MacWilliams identities when it's more efficient to move there. Note that the weight enumerator of normalizer minus that of stabilizer is more relevant for distance calculation; (you subtract one from the other in that case) $\endgroup$
    – unknown
    Commented Aug 14, 2023 at 16:01

1 Answer 1

4
$\begingroup$

There is a very recent preprint on this topic: https://arxiv.org/abs/2308.05152 In general, the problem of computing weight enumerators is #P complete. For structured codes, the problem becomes easier and a tensor network can accelerate the computation enormously. In my experience, a brute force C++ implementation of looping through the stabilizer group and counting operators of a given Pauli weight works until n-k=30 in about 1h. The author of https://arxiv.org/abs/2308.05152 told me that it is his intent to publish his code soon.

In the special case of stabilizer states, e.g., periodic 1D cluster states and GHZ states, analytical solutions of the weight enumerators are known as well: https://arxiv.org/abs/2207.07665

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.