I'm learning more about enumerator polynomials for quantum error correcting codes (QECCs). What is the relationship between enumerator polynomials and the distance $ d $ of an $ [[n,k,d]] $ quantum code?

For example is there any condition in terms of enumerator polynomials that is sufficient to imply that $ d \geq 2 $ (error detecting) or $ d \geq 3 $ (error correcting)?

Update: Define weight enumerators \begin{align*} A_i &= \frac{1}{4^k} \sum_{E \in \mathcal{E}_i} |Tr(E \Pi)|^2 \\ B_i &= \frac{1}{2^k} \sum_{E \in \mathcal{E}_i} Tr( E \Pi E \Pi) \end{align*} Here $\Pi$ is the code projector and $\mathcal{E}_i$ are the Pauli errors with weight $i$. Then the code has distance $ d $ if and only if both $ A_d < B_d $ and $$ A_i=B_i $$ for all $ i \leq d-1 $. In particular note that $ A_0=1=B_0 $ always. So the code has distance $ 2 $ if and only if $$ A_1-B_1=0 $$ And has distance $ 3 $ if and only if $$ A_1-B_1=0=A_2-B_2 $$ As noted in the answer below, the distance $ d $ is the degree of the first nonzero term in the polynomial $ B-A $.


1 Answer 1


For a classical code the enumerator gives the distance directly $p_C = 1 + n_d x^d + \cdots$. So the first nonzero power is the distance; $n_d$ is the number of codewords at that disatance. For a qauntum code there are two polynomials at play : $p_H$ for the stabilizer code and $p_N$ for its normalizer. $p_N-p_H = n_d x^d + \cdots$ gives you the distance. (Assuming linear classical codes and stabilizer codes here)

Here's an example for the $[[5,1,3]]$ code :

The stabilizer is generated by 4 elements; calculating the weights of the corresponding (16 element) group gives $p_H = 1 + 15 x^4$. Note sum of coeffecients is 16.

The normalizer is generated by 6 elements (4 stabilizers + 2 logicals); calculating the weights of the corresponding (64 element group) gives $p_N=1+ 30 x^3 + 15 x^4 + 18 x^5$. Note sum of coefficients is 64.

So $p_N - p_H = 30x^3 +18 x^5$ and the distance is 3.

  • $\begingroup$ could you say more about the definition of $ p_H $ and $ p_N $? $\endgroup$ Dec 11, 2022 at 21:04
  • $\begingroup$ I@IanGershonTeixeira I added an example that should clear things up I hope $\endgroup$
    – unknown
    Dec 11, 2022 at 21:50

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.