Counting stabiliser codes for arbitrary dimension

In this work, we compute the number of <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mi>d</mml:mi></mml:msub></mml:math> stabilizer codes made up of <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mi>d</mml:mi></mml:math>-dimensional qudits, for arbitrary positive integers <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mi>d</mml:mi></mml:math>. In a seminal work by Gross \cite{Gross2006} the number of <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mi>d</mml:mi></mml:msub></mml:math> stabilizer codes was computed for the case when <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mi>d</mml:mi></mml:math> is a prime (or the power of a prime, i.e., <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>p</mml:mi><mml:mi>m</mml:mi></mml:msup></mml:math>, but when the qudits are Galois-qudits). The proof in \cite{Gross2006} is inapplicable to the non-prime case. For our proof, we introduce a group structure to <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mi>d</mml:mi></mml:msub></mml:math> codes, and use this in conjunction with the Chinese remainder theorem to count the number of <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mi>d</mml:mi></mml:msub></mml:math> codes. Our work overlaps with \cite{Gross2006} when <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mi>d</mml:mi></mml:math> is a prime and in this case our results match exactly, but the results differ for the more generic case. Despite that, the overall order of magnitude of the number of stabilizer codes scales agnostic of whether the dimension is prime or non-prime. This is surprising since the method employed to count the number of stabilizer states (or more generally stabilizer codes) depends on whether <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mi>d</mml:mi></mml:math> is prime or not. The cardinality of stabilizer states, which was so far known only for the prime-dimensional case (and the Galois qudit prime-power dimensional case) plays an important role as a quantifier in many topics in quantum computing. Salient among these are the resource theory of magic, design theory, de Finetti theorem for stabilizer states, the study and optimisation of the classical simulability of Clifford circuits, the study of quantum contextuality of small-dimensional systems and the study of Wigner-functions. Our work makes available this quantifier for the generic case, and thus is an important step needed to place results for quantum computing with non-prime dimensional quantum systems on the same pedestal as prime-dimensional systems.