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。