パウリ行列はスタビライザー形式において中心的な役割を果たします。
このレッスンでは、パウリ行列の基本的な代数的性質を含む議論から始め、パウリ行列(およびパウリ行列のテンソル積)が測定をどのように記述するかについても説明します。
パウリ演算の基礎
以下にパウリ行列を示します。2×2 の単位行列と3つの非単位パウリ行列が含まれます。
I=(1001)X=(0110)Y=(0i−i0)Z=(100−1)
パウリ行列の性質
4つのパウリ行列はすべてユニタリかつエルミートです。
シリーズの以前の部分では非単位パウリ行列を σx, σy, σz と呼んでいましたが、誤り訂正の文脈では代わりに大文字 X, Y, Z を使うのが慣例です。
この慣例は前のレッスンでも用いており、以降のレッスンでも引き続き使用します。
異なる非単位パウリ行列は互いに反交換します。
XY=−YXXZ=−ZXYZ=−ZY
これらの反交換関係は、積を計算することで簡単に確認できますが、スタビライザー形式をはじめとする多くの場面で決定的に重要です。
後で見るように、行列積において2つの異なる非単位パウリ行列の順序を入れ替えたときに生じる符号のマイナスが、スタビライザー形式における誤りの検出と正確に対応しています。
以下の乗算規則もあります。
XX=YY=ZZ=IXY=iZYZ=iXZX=iY
つまり、各パウリ行列はそれ自身の逆元であり(これはユニタリかつエルミートな行列では常に成り立ちます)、2つの異なる非単位パウリ行列の積は常に残りの非単位パウリ行列の ±i 倍になります。
特に、位相因子を除けば Y は XZ と等価であり、これが量子誤り訂正において X 誤りと Z 誤りに注目し、Y 誤りをあまり個別に扱わない理由を説明しています。
X はビット反転を、Z は位相反転を表し、したがって(グローバル位相因子を除いて)Y は同じ量子ビット上でこれら両方の誤りが同時に発生することを表します。
複数量子ビットに対するパウリ演算
4つのパウリ行列はいずれも1量子ビットに対する演算(誤りである可能性もある)を表します。これらをテンソル積することで、複数量子ビットに対する演算を得ることができます。
用語として、n 量子ビットパウリ演算とは、任意の n 個のパウリ行列のテンソル積を意味します。以下に n=9 の場合の例を示します。
I⊗I⊗I⊗I⊗I⊗I⊗I⊗I⊗IX⊗X⊗I⊗I⊗I⊗I⊗I⊗I⊗IX⊗Y⊗Z⊗I⊗I⊗I⊗X⊗Y⊗Z
パウリ演算という用語は、パウリ行列のテンソル積に位相因子を含めたもの、あるいは ±1 や ±i のような特定の位相因子のみを指す場合もあります。
数学的な観点からは位相因子を許す十分な理由がありますが、本コースでは説明を可能な限りシンプルに保つため、パウリ演算という用語を1以外の位相因子を持たないパウリ行列のテンソル積を指すものとして使用します。
n 量子ビットパウリ演算の重みとは、テンソル積の中の非単位パウリ行列の個数です。
例えば、上記の最初の例は重み 0、2番目は重み 2、3番目は重み 6 です。
直感的には、n 量子ビットパウリ演算の重みとは、それが非自明に作用する量子ビットの数です。
量子誤り訂正符号は、重みが高すぎない限り、パウリ演算で表される誤りを検出・訂正できるよう設計されるのが一般的です。
生成元としてのパウリ演算
パウリ演算の集合を、群論をご存知の方であれば馴染みのある代数的な意味での演算の集合(より正確には群)の生成元として捉えることが有用な場合があります。
群論に馴染みがなくても問題ありません。このレッスンでは必須ではありません。
ただし、量子誤り訂正をより深く探求したい方には、群論の基礎を習得されることを強くお勧めします。
P1,…,Pr を n 量子ビットパウリ演算とします。
P1,…,Pr によって生成される集合とは、これらの行列を任意の組み合わせ・任意の順序で何度でも掛け合わせることで得られるすべての行列の集合を意味します。
この集合を表す記法は ⟨P1,…,Pr⟩ です。
例えば、3つの非単位パウリ行列によって生成される集合は次のようになります。
⟨X,Y,Z⟩={αP:α∈{1,i,−1,−i},P∈{I,X,Y,Z}}
これは先述の乗算規則を使って確かめることができます。
この集合には16個の異なる行列があり、一般にパウリ群と呼ばれます。
2番目の例として、Y を除くとパウリ群の半分が得られます。
⟨X,Z⟩={I,X,Z,−iY,−I,−X,−Z,iY}
最後の例(今回は以上)として、n=2 の場合を考えます。
⟨X⊗X,Z⊗Z⟩={I⊗I,X⊗X,Z⊗Z,−Y⊗Y}
この場合、X⊗X と Z⊗Z が交換可能であるため、4つの要素しか得られません。
(X⊗X)(Z⊗Z)=(XZ)⊗(XZ)=(−ZX)⊗(−ZX)=(ZX)⊗(ZX)=(Z⊗Z)(X⊗X).
パウリオブザーバブル
パウリ行列、およびより一般的な n 量子ビットパウリ演算はユニタリであり、量子ビット上のユニタリ演算を記述します。
しかしそれらはエルミート行列でもあり、そのため測定を記述します。以下で説明します。
エルミート行列のオブザーバブル
まず任意のエルミート行列 A を考えます。
A をオブザーバブルと呼ぶとき、A に対して一意に定まる射影測定を関連付けています。
言葉で言えば、可能な結果は A の異なる固有値であり、測定を定義する射影は A の対応する固有ベクトルが張る空間への射影です。
したがって、このような測定の結果は実数になりますが、行列が持つ固有値の個数は有限であるため、与えられた A に対して異なる測定結果は有限個しかありません。
より詳しく述べると、スペクトル定理により次のように書けます。
A=k=1∑mλkΠk
ここで、λ1,…,λm は異なる実数の固有値、Π1,…,Πm は以下を満たす射影です。
Π1+⋯+Πm=I.
このような行列の表現は、固有値の順序を除いて一意です。
別の言い方をすれば、固有値を降順 λ1>λ2>⋯>λm に並べると決めれば、A を上記の形に書く方法は1通りしかありません。
この表現に基づいて、オブザーバブル A に関連付ける測定は、射影 Π1,…,Πm によって記述される射影測定であり、固有値 λ1,…,λm はこれらの射影に対応する測定結果と理解されます。
パウリ演算による測定
先ほど説明したような測定が、パウリ演算においてどのように見えるかを確認しましょう。まず3つの非単位パウリ行列から始めます。
これらの行列のスペクトル分解は次のとおりです。
X=∣+⟩⟨+∣−∣−⟩⟨−∣Y=∣+i⟩⟨+i∣−∣−i⟩⟨−i∣Z=∣0⟩⟨0∣−∣1⟩⟨1∣
したがって、オブザーバブルとして見た X, Y, Z によって定義される測定は、それぞれ以下の射影の集合によって定義される射影測定です。
{∣+⟩⟨+∣,∣−⟩⟨−∣}{∣+i⟩⟨+i∣,∣−i⟩⟨−i∣}{∣0⟩⟨0∣,∣1⟩⟨1∣}
いずれの場合も、2つの可能な測定結果は固有値 +1 と −1 です。
このような測定はそれぞれ X 測定、Y 測定、Z 測定と呼ばれます。
これらの測定は「量子情報の一般的な定式化」の「一般的な測定」レッスンで登場し、量子状態トモグラフィーの文脈で扱いました。
もちろん、Z 測定は本質的に標準基底測定であり、X 測定は量子ビットのプラス/マイナス基底に関する測定ですが、ここで記述されるように、固有値 +1 と −1 を実際の測定結果として扱っています。
n≥2 量子ビットに対するパウリ演算でも同様の処方に従えますが、このように記述される測定で可能な結果は依然として +1 と −1 の2つだけであることを強調しておく必要があります。これらはパウリ演算のみの固有値です。
この場合、2つの対応する射影はランク1より高くなります。
より正確には、すべての非単位 n 量子ビットパウリ演算に対して、2n 次元の状態空間は常に等しい次元の2つの固有ベクトルの部分空間に分割されるため、関連する測定を定義する2つの射影はいずれもランク 2n−1 を持ちます。
オブザーバブルとして考えた n 量子ビットパウリ演算によって記述される測定は、その演算の固有ベクトルの正規直交基底に関する測定とも、n 量子ビット上の対応するパウリ行列をオブザーバブルとして独立に測定することとも異なります。
それらの代替手段では 2n 個の測定結果が必要になりますが、ここでは +1 と −1 の2つの結果しかありません。
例えば、2量子ビットパウリ演算 Z⊗Z をオブザーバブルとして考えます。
スペクトル分解のテンソル積を取ることで、テンソル積のスペクトル分解を得ることができます。
Z⊗Z=(∣0⟩⟨0∣−∣1⟩⟨1∣)⊗(∣0⟩⟨0∣−∣1⟩⟨1∣)=(∣00⟩⟨00∣+∣11⟩⟨11∣)−(∣01⟩⟨01∣+∣10⟩⟨10∣)
つまり、Z⊗Z=Π0−Π1 と書けます。ここで
Π0=∣00⟩⟨00∣+∣11⟩⟨11∣andΠ1=∣01⟩⟨01∣+∣10⟩⟨10∣,
これらが測定を定義する2つの射影です。
例えば、この測定を使って ∣ϕ+⟩ ベル状態を非破壊的に測定すると、結果は確実に +1 となり、測定の結果として状態は変化しません。
特に、状態は ∣00⟩ や ∣11⟩ には崩壊しません。
位相推定による非破壊的実装
任意の n 量子ビットパウリ演算に対して、そのオブザーバブルに関連する測定を位相推定を使って非破壊的に実行することができます。
以下は位相推定に基づく回路で、任意のパウリ行列 P に対して機能し、上側の量子ビット上で測定を行います。
回路内の標準基底測定の結果 0 と 1 は、位相推定で1つの制御量子ビットを用いる場合と同様に、固有値 +1 と −1 に対応します。
(この図では制御量子ビットが下側にありますが、「量子アルゴリズムの基礎」の「位相推定と因数分解」レッスンでは制御量子ビットが上側に描かれていました。)

同様の方法が複数量子ビットのパウリ演算にも機能します。
例えば、次の回路図は、P0,P1,P2∈{X,Y,Z} の任意の選択に対して、3量子ビットパウリオブザーバブル P2⊗P1⊗P0 の非破壊的測定を示しています。

このアプローチは任意の n に対する n 量子ビットパウリオブザーバブルへ自然な形で一般化されます。
もちろん、このような測定を実装する際には、パウリオブザーバブルの非単位テンソル因子に対する制御ユニタリゲートのみを含める必要があります。制御恒等ゲートは単に恒等ゲートであるため省略できます。
これは、重みの小さいパウリオブザーバブルはこのアプローチでより小さな回路で実装できることを意味します。
n によらず、これらの位相推定回路の制御量子ビットは1つだけであることに注目してください。これは、これらの測定で可能な結果が2つだけであるという事実と整合しています。
制御量子ビットを増やしても追加の情報は得られません。なぜなら、これらの測定は1つの制御量子ビットで既に完全だからです。
(これを直接確認する1つの方法は、位相推定の一般的な手順から分かります。U2=I という仮定により、最初の制御量子ビット以降の追加の制御量子ビットは無意味になります。)
以下は Z⊗Z 測定の非破壊的実装の具体例であり、3ビット繰り返し符号をスタビライザー符号として記述する際にすぐに関連してきます。

この場合、また2つ以上の Z オブザーバブルのテンソル積に対してより一般的に、回路を簡略化できます。

したがって、この測定は2量子ビットの標準基底状態のパリティ(またはXOR)を非破壊的に測定することと等価です。