$\newcommand{\ket}[1]{\left|{#1}\right\rangle}$
$\newcommand\bra[1]{\langle{#1}|}$
A field is a set that has the following properties defined for addition and multiplication:
associativity, commutativity, distributivity, identity and an inverse.
A finite field is a field with a finite number of elements. The finite field $\mathbb{F}_2$ is

$\begin{array}{|c|c|c|}
\hline
+& 0 & 1 \\ \hline
0 & 0 & 1 \\ \hline
1 & 1 & 0 \\ \hline
\times & 0 & 1\\ \hline
0& 0 & 1 \\ \hline
1& 0 & 1 \\ \hline
\end{array}$

This field is universal for classical computation because addition for the set $A = \{0, 1\}$ defines
the AND gate and multiplication
for $A$ defines the XOR gate; which can be used to construct the NAND gate by hard coding a 1
on an input of the XOR gate to create the NOT gate.

The Stabilizer gate set $S =\{CNOT, Hadamard, P\}$ where
P = $\ket{0}$$\bra{0}$ + $i\ket{1}$$\bra{1}$
guarantees that if an n-qubit superposition is created between the basis states, those
basis states will be an affine subspace of $\mathbb{F}_{2^{n}}$ for an $n$-qubit system. Taking
a one qubit system, the superpositons that can generated by the stabilizer set are
$\frac{1}{\sqrt{2}}(\ket{0} + \ket{1})$,
$\frac{1}{\sqrt{2}}(\ket{0} - \ket{1})$, $\frac{1}{\sqrt{2}}(\ket{0} + i\ket{1})$, and
$\frac{1}{\sqrt{2}}(\ket{0} - i\ket{1})$. The number of strings in the basis sets $\ket{0} + i\ket{1}$
for example, is a power of two ( $2^{1}$); same for a 2 qubit system (e.t.c $\ket{00} + \ket{11}$). Since the stabilizer gate set and states are used
to analyze quantum error correcting codes, this is an example of how finite fields are used in
Coding theory and how some quantum error
correcting codes can be efficiently simulated by classical computers.

Discuss on Github

## References