1. スタビライザー状態
\(n\) qubit のパウリ演算子の集合 \(\mathcal{P}\) を、1 qubit のパウリ演算子 \(I, X, Y, Z\) のテンソル積として、
\begin{align}
\mathcal{P} = \left\{\pm 1, \pm i\right\}\times\left\{I, X, Y, Z\right\}^{\otimes n}
\end{align}
と定義する。前回の記事で以下のことを説明した。
可換なパウリ演算子を \(n\) 個選び出し、これらを \(s_i \in \mathcal{P}\) とおく。このとき、\(s_i\) の全てについて固有値 \(+1\) を持つ状態は一意に定まる。したがって、\(n\) 個の可換なパウリ演算子 \(\{s_i\}_{i=1}^n\) を、ある量子状態の (効率的な) 記述とみなすことができる。
この形式で記述可能な量子状態を、
スタビライザー状態
、記述に使う演算子 \(s_i\) を
スタビライザー
と呼ぶ。
スタビライザー状態は効率的な記述を持つので、もしスタビライザー状態の集合の中で閉じており、古典コンピュータでも簡単に計算できるようなゲートの集合があれば、そのゲートのみを使った量子回路は古典コンピュータで簡単にシミュレート可能であることになる。
この主張にはスタビライザー状態
今回はまず、このようにスタビライザー状態の集合で閉じたゲートである
クリフォードゲート
について説明する。そしてその後、実は、このクリフォードゲートの作用は古典コンピュータでも簡単に計算できるような構造を持つことを説明し、
Gottesman-Knill の定理: クリフォードゲートのみで構成された量子回路は、古典コンピュータで簡単にシミュレーションのできる。すなわち、クリフォードゲートだけを使った量子計算の計算能力は、古典計算を超えられない。
を示す。
2. クリフォードゲート
スタビライザー状態をスタビライザー状態に写すような量子ゲートを、クリフォードゲートと呼んでいる。これはすなわち、スタビライザー \(S = \{s_i\}_{i=1}^n\) によって記述される量子状態を \(\ket{S}\) と書くことにすると、
\begin{align}
\ket{S} \xrightarrow{\text{Clifford gate}} \ket{S'}
\end{align}
ということである。
適当なゲート \(U\) をかけて、これが起こるための条件を考えてみよう。スタビライザー状態は演算子の組によって指定される状態なので、\(U\ket{S}\) がどうなるかを考えるよりも、それぞれの演算子 \(s_i\) がどのように変換されるべきか考えたほうが良いだろう。
量子力学では、\(\ket{\psi} \to U\ket{\psi}\) のように状態を変換し、系のオブザーバブルにはなんの変換も施さないこと (シュレディンガー描像) と、系のすべてのオブザーバブル \(O\) を \(O\to U^\dagger OU\) と変換し、状態 \(\ket{\psi}\) にはなんの操作もしないこと (ハイゼンベルク描像) とは等価である。
したがって、もし \(U\) によって \(s_i\) を変換した \(s_i' = U^\dagger s_i U\) がスタビライザー状態の記述としての性質を満たしていれば、この \(U\) はクリフォードゲートであるといえる。
\(\{s_i'\}_{i=1}^n\) がスタビライザー状態の記述としての資格を持つためには、
- \(s_i'\) それぞれがパウリ演算子である。
- \(s_i'\) は互いに可換である。
の 2 つが必要である。このうち、\(s_i'\) は互いに可換であるという条件は、任意のユニタリーゲート \(U\) について成り立つ。実際、
\begin{align}
[s_i', s_j'] &= [U^\dagger s_i U, U^\dagger s_j U]\\
&=U^\dagger s_i s_j U - U^\dagger s_j s_i U \\
&= U^\dagger [s_i, s_j] U =0
\end{align}
となる。