# What are the properties of stabilizer codes that ensure $C(S) = N(S)$?

In Daniel Gottesman's thesis "Stabilizer Codes and Quantum Error Correction", he makes the following claim:

The set of elements in $$G$$ that commute with all of $$S$$ is defined as the centralizer $$C(S)$$ of $$S$$ in $$G$$. Because of the properties of $$S$$ and $$G$$, the centralizer is actually equal to the normalizer.

My understanding of the centralizer $$C(S)$$ of $$S$$ is that elements in $$C(S)$$ commute with every element in $$S$$ i.e. $$u \in C(S) \rightarrow us=su \text{, } \forall s \in S$$.

Whereas, for the normalizer $$N(S)$$ of $$S$$ is that the elements in $$N(S)$$ commute with the subgroup $$S$$, meaning that $$v \in N(S) \rightarrow vS=Sv$$. This means that $$vs=s'v$$, where $$s,s' \in S$$, but $$s$$ not necessarily equal to $$s'$$, meaning elements in the normaliser do not necessarily commute with every element of $$S$$.

I am wondering what are the properties of $$S$$ and $$G$$ that Gottesman is referring to, that make $$C(S) = N(S)$$?

Is it to do with the stabilizing property of $$S$$?

The property of $$S$$ is: $$s\in S\implies -s\notin S\tag1.$$ The property of $$G$$ is: $$\forall u,v\in G\quad uv=vu\,\lor\,uv=-vu\tag2.$$
Claim. If a group $$G$$ of linear operators$$^1$$ satisfies $$(2)$$ and a set $$S\subset G$$ satisfies $$(1)$$, then $$C_G(S)=N_G(S)$$.
Proof. It's clear that $$C_G(S)\subset N_G(S)$$, so assume $$v\in N_G(S)$$. Then $$vs=s'v$$ for some $$s,s'\in S$$. By $$(2)$$, either $$s'=s$$ or $$s'=-s$$. However, if $$s'=-s$$, then by $$(1)$$ we have that $$s'\notin S$$. The contradiction means that $$s'=s$$, but then $$v\in C_G(S)$$. $$\square$$
$$^1$$ I'm assuming the elements of $$G$$ are linear operators so that negation is well defined. One can extend the claim to more general groups at the expense of clarity.