量子糾錯碼——Clifford group

Clifford code

Clifford group是什麼?

簡單的公式來表達,就是 \(Cl_{n}=\left\{U: U P_{n} U^{\dagger} \in P_{n}\right\}\)

用語言來描述,就是對一個泡利施加一個U操作,然後還是一個泡利。

首先,所有的泡利都屬於\(Cl_n\),因為泡利矩陣自己相乘還是泡利。

但也有非泡利的矩陣在這裡面,比如H也屬於clifford,\(HXH=Z\),$ HZH=X$

另一個例子是 \(S=\sqrt{Z}=\left(\begin{array}{cc}1 & 0 \\ 0 & i\end{array}\right)\)

\(SZS^{\dagger}=ZSS^{\dagger}=Z\)

\(SXS^{\dagger}=iY\)

但是也並非所有的操作都屬於\(Cl_n\),比如T門,\(TZT^{\dagger}=ZTT^{\dagger}=ZS \notin P\)

對於單量子比特來說:\(Cl_1=\langle X,Z,H,S\rangle\)

但是我們不僅只有單比特,對於多比特,他不是簡單的\(Cl_1^{\otimes n}\) ,因為多比特有糾纏。

比如\(SWAP_{ij}\) ,將第i個和第j個交換一下,這很明顯操作完了還是一個泡利,屬於\(Cl_n\)\(\operatorname{SWAP}_{i j} X_{i} \operatorname{SWAP}_{i j}^{\dagger}=X_{j}\)

除此之外還有CNOT,CNOT對於原來的泡利在受控比特和控制比特上有所不一樣,對X和Z的影響也不一樣,其效果如下表:

事實上,我們可以用3個CNOT來構建一個SWAP

所以 \(C l_{n}=\langle H_{i},S_{j},CNOT_{i j}\rangle\)

Clifford group可以做什麼?

ok,我們已經知道Clifford的定義了,但是我們為什麼要定義一個Clifford group呢?他有什麼用?

5 qubit code

定義一組對應五比特編碼的stabilizer,\(S=\langle Z X X Z I, I Z X X Z, Z I Z X X, X Z I Z X\rangle\),我們可以很容易的給她加上最後一位變成\(S=\langle Z X X Z I, I Z X X Z, Z I Z X X, X Z I Z X, X X Z I Z\rangle\),多出來的這個就是前面4個的乘積,所以不會影響到最後的結果。

接下來,我們定義 normalizers of S ,也就是\(N(S)\)

對於\(N(S)\),我們只有一個要求,那就是\(N(S)=\left\{p \in P_{n} | p S p^{\dagger}=S\right\}\)

對於\(p S p^{\dagger}=S\),我們可以換一種理解方式,即\(pg=gp \forall g \in S\)

trivial code

我們都知道,編碼其實就是將低維的空間映射到高維,那麼最為樸實的一種映射就是補零操作,\(V_{S} \in\left\{|0\rangle^{\otimes n-k} \otimes|\Psi\rangle:|\Psi\rangle \in \mathbb{C}^{2^{k}}\right\}\),這就是一個簡單的把k比特映射到n比特空間的一種trival code。

這種編碼的stabilizer很簡單,\(S=\left\langle Z_{1}, Z_{2} \dots . Z_{n-k}\right\rangle\)\(Z_i\)的意思是除了第i個比特是Z其他都是I,這個很好理解,因為前面n-k個比特我們都是\(|0\rangle\),是Z的特徵向量。

那這兩個編碼之間有什麼關係嗎?

我們可以給出以下聲明:

對於任意的stabilizer code,都可以通過unitary的轉化和trivial code等價。

而這個unitary就屬於我們的Clifford group。

假設我有一組stabilizer \(S\),以及這個\(S\)對應的子空間\(V_S\),那麼一定存在一個unitary U 使得 \(USU^{\dagger}=\left\langle Z_{1}, Z_{2} \dots . Z_{n-k}\right\rangle\)

這個時候,我們的子空間\(V_{S}\)就變成了\(V_{USU^{\dagger}}\)

後一句話很好理解,原來這個子空間里的向量為\(|\psi\rangle\),現在這個子空間里的每一個向量就變成了\(U|\psi\rangle\)

\((USU^{\dagger})U|\psi\rangle=US|\psi\rangle=U|\psi\rangle\)

那麼前一個為什麼會存在這個U呢?

先來論證一下他的可能性,U會改變一些東西,但是有一些不會改變,比如,他不會改變這個的特徵值,而正好,他們都是泡利矩陣,特徵值都是正負1;又比如,U不會改變他們的對易和反對易,他們正好都是對易的操作。

事實上,對於泡利矩陣來說,只要他們的對易反對易的模式相同,那麼我就可以用U對他們進行一個映射。

我們可以換一個視角從向量的角度來看一看這個問題

\(a,b \in \mathbb{F}^n\),那麼\(v=\left(\begin{array}{l}a \\ b\end{array}\right) \in F^{2 n}\)

任意一個Pauli都可以用v來表示\(X^{a} Z^{b}=\sigma^{\left(\begin{array}{c}a \\ b\end{array}\right)}\)

那麼Clifford group在做什麼?

$U\sigmavU{\dagger} \in P_n $

即,其實就是把\(\sigma^{v_1}\)映射成$\sigma^{v_2} $

\(U\sigma^{v}U^{\dagger}=(-1)^{f(v)}\sigma^{g(v)}\)

我們的下一步就是看這裡的函數f(v)和g(v)需要滿足哪些條件

這裡面一個限制就是U變換不會改變操作本來的對易和反對易。

第二個等式是加上了\(U^{\dagger}U\),因為這兩個乘積為\(I\)不會有影響

第三個等式是帶入公式\(U\sigma^{v}U^{\dagger}=(-1)^{f(v)}\sigma^{g(v)}\)

如果這裡面的\(\sigma^v\)就是我們的\(\sigma^{v_1+v_2}\),那麼後面我們的到的就是\((-1)^{f(v_1+v_2)}\sigma^{g(v_1+v_2)}\)

\(g(v_1+v_2)=g(v_1)+g(v_2)\),函數g是一個線性函數

g(v)=Mv

但是也不是所有的M是可行的。

\(\sigma^{v} \sigma^{w} \sigma^{v} \sigma^{w}=(-1)^{v^{T}\Lambda w} I\) 其中\(\lambda=\left(\begin{array}{ll}0 & I \\ 0 & 0\end{array}\right)\)

我們可以先把他展開:

\(U \sigma^{N} U^{\dagger}U \sigma^{W} U^{\dagger}U \sigma^{N} U^{\dagger}U\sigma^{W}U=\sigma^{Mv}\sigma^{Mw}\sigma^{Mv}\sigma^{Mw}\)

這裡沒有係數,因為兩個一模一樣的係數乘起來就是1,所以係數可以省略掉。

而如果把\(\sigma^{Mw}\sigma^{Mv}\)交換一下可以變成:

\((-1)^{(Mv)^T\Lambda Mw}I\)

我們可以得出:

\(v^T \Lambda w= v^TM^T \Lambda M w\)

\(\Lambda=M^T \Lambda M\)

而這個就是M需要滿足的條件,屬於symplectic group。