title: Gottesman–Knill theorem
text: # Gottesman–Knill theorem
  
  In quantum computing, the Gottesman–Knill theorem is a theoretical result by Daniel Gottesman and Emanuel Knill that states that stabilizer circuits, circuits that only consist of gates from the normalizer of the qubit Pauli group, also called Clifford group, can be perfectly simulated in polynomial time on a probabilistic classical computer. The Clifford group can be generated solely by using CNOT, Hadamard, and phase gate S; and therefore stabilizer circuits can be constructed using only these gates.
  
  The reason for the speed up of quantum computers is not yet fully understood. The theorem proves that, for all quantum algorithms with a speed up that relies on entanglement which can be achieved with a CNOT and a Hadamard gate to produce entangled states, this kind of entanglement alone does not give any computing advantage.
  
  There exists a more efficient simulation of stabilizer circuits than the construction of the original publication with an implementation.
  
  The Gottesman–Knill theorem was published in a single author paper by Gottesman in which he credits Knill with the result through private communication.
  
  ## Formal statement
  
  Theorem: A quantum circuit using only the following elements can be simulated efficiently on a classical computer:
  
  * Preparation of qubits in computational basis states,
  * Clifford gates (Hadamard gates, controlled NOT gates, phase gate S ), and
  * Measurements in the computational basis.
  
  The Gottesman–Knill theorem shows that even some highly entangled states can be simulated efficiently. Several important types of quantum algorithms use only Clifford gates, most importantly the standard algorithms for entanglement distillation and for quantum error correction. From a practical point of view, stabilizer circuits have been simulated in O(n log n) time using the graph state formalism.
  
  