これで量子情報に移る準備が整いました。ここでは、考慮されるシステムの状態(この場合は量子状態)を表すベクトルの型について、異なる選択を行います。
古典的情報の前の議論と同様に、有限で空でない古典状態の集合を持つシステムに関心を持ち、同じ表記法の多くを使用します。
量子状態ベクトル
システムの量子状態は、確率状態と同様に列ベクトルで表されます。以前と同様に、ベクトルのインデックスはシステムの古典状態をラベル付けします。
量子状態を表すベクトルは、これらの2つの特性によって特徴付けられます:
- 量子状態ベクトルの要素は複素数です。
- 量子状態ベクトルの要素の絶対値の2乗の合計は1です。
したがって、確率状態とは対照的に、量子状態を表すベクトルは非負の実数の要素を持つ必要はなく、1に等しくなければならないのは要素の合計ではなく、要素の絶対値の2乗の合計です。これらの変更は単純ですが、量子情報と古典情報の違いを生み出します。量子コンピュータからのスピードアップや量子通信プロトコルからの改善は、最終的にこれらの単純な数学的変更から派生します。
列ベクトル
v=α1⋮αn
のユークリッドノルムは次のように表記され、定義されます:
∥v∥=k=1∑n∣αk∣2.
量子状態ベクトルの絶対値の2乗の合計が1に等しいという条件は、したがって、そのベクトルがユークリッドノルムが1に等しいことと同等です。
つまり、量子状態ベクトルは、ユークリッドノルムに関する単位ベクトルです。
量子ビット状態の例
量子ビットという用語は、古典状態集合が{0,1}である量子システムを指します。
つまり、量子ビットは実際には単なるビットですが、この名前を使用することで、このビットが量子状態にあり得ることを明示的に認識します。
これらは量子ビットの量子状態の例です:
(10)=∣0⟩and(01)=∣1⟩,
(2121)=21∣0⟩+21∣1⟩,(1)
および
(31+2i−32)=31+2i∣0⟩−32∣1⟩.
最初の2つの例、∣0⟩と∣1⟩は、標準基底要素が有効な量子状態ベクトルであることを示しています: それらの要素は複素数であり、これらの数の虚部はすべてたまたま0であり、要素の絶対値の2乗の合計を計算すると
∣1∣2+∣0∣2=1and∣0∣2+∣1∣2=1,
が得られ、要求を満たします。
古典的な設定と同様に、量子状態ベクトル∣0⟩と∣1⟩を、量子ビットがそれぞれ古典状態0と1にあることと関連付けます。
他の2つの例では、再び複素数の要素があり、要素の絶対値の2乗の合計を計算すると
212+212=21+21=1
および
31+2i2+−322=95+94=1.
が得られます。
したがって、これらは有効な量子状態ベクトルです。これらは標準基底状態∣0⟩と∣1⟩の線形結合であることに注意してください。このため、これらは状態0と1の重ね合わせであるとよく言います。
量子状態の文脈では、重ね合わせと線形結合は本質的に同義語です。
上記の量子ビット状態ベクトルの例(1)は非常に一般的に見られ、プラス状態と呼ばれ、次のように表されます:
∣+⟩=21∣0⟩+21∣1⟩.
また、次の表記法も使用します
∣−⟩=21∣0⟩−21∣1⟩
2番目の要素が正ではなく負である関連する量子状態ベクトルを参照するために、この状態をマイナス状態と呼びます。
このような表記法は、ケットの内部に古典状態を参照するもの以外の記号が表示される場合に一般的です。ベクトルに名前を付けるために、ケットの内部に任意の名前を使用できます。
標準基底ベクトルである必要はない任意のベクトルを参照するために、∣ψ⟩という表記法、またはψの代わりに異なる名前を使用することは非常に一般的です。
インデックスがある古典状態集合Σに対応するベクトル∣ψ⟩があり、a∈Σがこの古典状態集合の要素である場合、行列積⟨a∣∣ψ⟩は、aに対応するインデックスを持つベクトル∣ψ⟩の要素に等しいことに注意してください。
∣ψ⟩が標準基底ベクトルであったときと同様に、読みやすさのために⟨a∣∣ψ⟩ではなく⟨a∣ψ⟩と書きます。
例えば、Σ={0,1}で
∣ψ⟩=31+2i∣0⟩−32∣1⟩=(31+2i−32),(2)
の場合、
⟨0∣ψ⟩=31+2iand⟨1∣ψ⟩=−32.
一般に、任意のベクトルにディラック表記法を使用する場合、表記法⟨ψ∣は、列ベクトル∣ψ⟩の共役転置を取ることによって得られる行ベクトルを参照します。ここで、ベクトルは列ベクトルから行ベクトルに転置され、各要素はその複素共役に置き換えられます。
例えば、∣ψ⟩が(2)で定義されたベクトルである場合、
⟨ψ∣=31−2i⟨0∣−32⟨1∣=(31−2i−32).
転置に加えて複素共役を取る理由は、後で内積について議論するときにより明確になります。
他のシステムの量子状態
任意の古典状態集合を持つシステムの量子状態を考えることができます。
例えば、これは電動ファンスイッチの量子状態ベクトルです:
210−2i21=21∣high⟩−2i∣low⟩+21∣off⟩.
ここでの仮定は、古典状態がhigh、medium、low、offとして順序付けられているということです。
電動ファンスイッチの量子状態を考える特定の理由がないかもしれませんが、原理的には可能です。
これは別の例で、今回は古典状態が0,1,…,9である量子10進数です:
385112345678910=3851k=0∑9(k+1)∣k⟩.
この例は、ディラック表記法を使用して状態ベクトルを書くことの利便性を示しています。
この特定の例では、列ベクトル表現は単に煩雑ですが、古典状態がかなり多くなると使用できなくなります。
対照的に、ディラック表記法は、コンパクトな形式で大きく複雑なベクトルの正確な記述をサポートします。
ディラック表記法はまた、ベクトルのさまざまな側面が不確定であるベクトルの表現を可能にします。つまり、それらが未知であるか、まだ確立されていないことを意味します。
例えば、任意の古典状態集合Σに対して、量子状態ベクトルを考えることができます
∣Σ∣1a∈Σ∑∣a⟩,
ここで、表記法∣Σ∣はΣのユークリッドノルムを参照し、この場合の∣Σ∣は単にΣの要素の数です。
言葉で言えば、これはΣの古典状態に対する一様重ね合わせです。
列ベクトル表現が実用的でないか不可能である、量子状態ベクトルのはるかに複雑な表現は、後のレッスンで遭遇します。
実際、要素の数が少ないベクトル(しばしば例の文脈で)を除いて、状態ベクトルの列ベクトル表現をほとんど放棄します。そこでは、要素を明示的に表示および検査することが有用かもしれません。
ディラック表記法を使用して状態ベクトルを表現することが便利である理由がもう1つあります: 古典状態の順序付けを明示的に指定する必要がなくなります(または、同等に、古典状態とベクトルインデックス間の対応)。
例えば、古典状態集合{♣,♢,♡,♠}を持つシステムの量子状態ベクトル、例えば
21∣♣⟩+2i∣♢⟩−21∣♡⟩−2i∣♠⟩,
は、この式によって明確に記述されており、この式を理解するためにこの古典状態集合の順序付けを選択または指定する必要は実際にはありません。
この場合、標準的なカードのスートの順序付けを指定することは難しくありません。例えば、次のように順序付けることを選択できます: ♣, ♢, ♡, ♠.
この特定の順序付けを選択すると、上記の量子状態ベクトルは列ベクトル
212i−21−2i.
によって表されます。
しかし、一般的には、古典状態集合がどのように順序付けられているかという問題を単に無視できることが便利です。
量子状態の測定
次に、量子状態が測定されたときに何が起こるかを考えてみましょう。標準基底測定として知られる単純な種類の測定に焦点を当てます。
(後で議論する、より一般的な測定の概念があります。)
確率的設定と同様に、量子状態のシステムが測定されると、測定を実行する仮想的な観測者は量子状態ベクトルを見るのではなく、ある古典状態を見ます。
この意味で、測定は量子情報と古典情報の間のインターフェースとして機能し、それを通じて古典情報が量子状態から抽出されます。
ルールは単純です: 量子状態が測定されると、システムの各古典状態は、その古典状態に対応する量子状態ベクトルの要素の絶対値の2乗に等しい確率で現れます。
これは量子力学におけるボルンの規則として知られています。
このルールは、量子状態ベクトルの要素の絶対値の2乗が1に合計されるという要件と一致していることに注意してください。これは、異なる古典状態の測定結果の確率が1に合計されることを意味します。
例えば、プラス状態
∣+⟩=21∣0⟩+21∣1⟩
を測定すると、2つの可能な結果、0と1が、次のような確率で得られます。
Pr(outcome is 0)=⟨0∣+⟩2=212=21
Pr(outcome is 1)=⟨1∣+⟩2=212=21
興味深いことに、マイナス状態
∣−⟩=21∣0⟩−21∣1⟩
を測定すると、2つの結果に対してまったく同じ確率が得られます。
Pr(outcome is 0)=⟨0∣−⟩2=212=21
Pr(outcome is 1)=⟨1∣−⟩2=−212=21
これは、標準基底測定に関する限り、プラス状態とマイナス状態に違いがないことを示唆しています。
それでは、なぜ私たちはそれらを区別することに関心を持つのでしょうか?
答えは、これらの2つの状態は、以下の次のサブセクションで説明するように、それらに対して演算が実行されるときに異なる動作をするということです。
もちろん、量子状態∣0⟩を測定すると、確実に古典状態0が得られ、同様に量子状態∣1⟩を測定すると、確実に古典状態1が得られます。
これは、以前に提案されたように、これらの量子状態を対応する古典状態にあるシステムとの識別と一致しています。
最後の例として、状態
∣ψ⟩=31+2i∣0⟩−32∣1⟩
を測定すると、2つの可能な結果が次のような確率で現れます:
Pr(outcome is 0)=⟨0∣ψ⟩2=31+2i2=95,
および
Pr(outcome is 1)=⟨1∣ψ⟩2=−322=94.
ユニタリ演算
これまでのところ、量子情報が古典情報と根本的に異なる理由は明らかではないかもしれません。
つまり、量子状態が測定されると、各古典状態を得る確率は対応するベクトル要素の絶対値の2乗によって与えられます。では、なぜこれらの確率を確率ベクトルに単に記録しないのでしょうか?
答えは、少なくとも部分的には、量子状態に対して実行できる許容される演算の集合が、古典情報の場合とは異なるということです。
確率的設定と同様に、量子状態に対する演算は線形写像ですが、古典的な場合のように確率行列によって表されるのではなく、量子状態ベクトルに対する演算はユニタリ行列によって表されます。
複素数の要素を持つ正方行列Uは、次の方程式を満たす場合ユニタリです
UU†U†U=I=I.(3)
ここで、Iは単位行列であり、U†はUの共役転置です。つまり、Uを転置し、各要素の複素共役を取ることによって得られる行列です。
U†=UT
上記の(3)で番号付けされた2つの等式のいずれかが真である場合、もう一方も真でなければなりません。
両方の等式は、U†がUの逆行列であることと同等です:
U−1=U†.
(警告: Mが正方行列でない場合、M†M=IでMM†=Iとなる可能性があります。
上記の最初の方程式の2つの等式の同等性は、正方行列に対してのみ真です。)
Uがユニタリであるという条件は、Uによる乗算がベクトルのユークリッドノルムを変更しないという条件と同等です。
つまり、n×n行列Uは、複素数の要素を持つすべてのn次元列ベクトル∣ψ⟩に対して
∥U∣ψ⟩∥=∥∣ψ⟩∥
である場合にのみユニタリです。
したがって、すべての量子状態ベクトルの集合がユークリッドノルムが1に等しいベクトルの集合と同じであるため、ユニタリ行列を量子状態ベクトルに乗算すると、別の量子状態ベクトルが得られます。
実際、ユニタリ行列は、常に量子状態ベクトルを他の量子状態ベクトルに変換する線形写像の集合です。ここで、演算が確率行列に関連付けられる古典的確率的ケースとの類似性に注意してください。確率行列は、確率ベクトルを常に確率ベクトルに変換するものです。
量子ビットに対するユニタリ演算の例
次のリストは、量子ビットに対する一般的に遭遇するユニタリ演算のいくつかを説明しています。
-
パウリ演算。4つのパウリ行列は次のとおりです:
I=(1001),σx=(0110),σy=(0i−i0),σz=(100−1).
一般的な代替表記法はX=σx, Y=σy,およびZ=σzです(ただし、文字X, Y,およびZは他の目的にも一般的に使用されることに注意してください)。X演算は、ビットに対して次のアクションを誘導するため、ビット反転またはNOT演算とも呼ばれます:
X∣0⟩=∣1⟩andX∣1⟩=∣0⟩.
Z演算は位相反転とも呼ばれ、次のアクションを持ちます:
Z∣0⟩=∣0⟩andZ∣1⟩=−∣1⟩.
-
アダマール演算。アダマール演算は、この行列によって記述されます:
H=(212121−21).
-
位相演算。位相演算は、任意の実数θの選択に対して、次の行列によって記述される演算です
Pθ=(100eiθ)
演算
S=Pπ/2=(100i)andT=Pπ/4=(10021+i)
は特に重要な例です。他の例には、I=P0とZ=Pπがあります。
定義されたすべての行列はユニタリであり、したがって単一の量子ビットに対する量子演算を表します。
例えば、Hがユニタリであることを確認する計算を次に示します:
(212121−21)†(212121−21)=(212121−21)(212121−21)=(21+2121−2121−2121+21)=(1001).
そして、ここに、一般的に遭遇するいくつかの量子ビット状態ベクトルに対するアダマール演算のアクションがあります。
H∣0⟩H∣1⟩H∣+⟩H∣−⟩=(212121−21)(10)=(2121)=∣+⟩=(212121−21)(01)=(21−21)=∣−⟩=(212121−21)(2121)=(10)=∣0⟩=(212121−21)(21−21)=(01)=∣1⟩
より簡潔に、これらの4つの方程式が得られます。
H∣0⟩=∣+⟩H∣1⟩=∣−⟩H∣+⟩=∣0⟩H∣−⟩=∣1⟩
H∣+⟩=∣0⟩と
H∣−⟩=∣1⟩という事実を考慮する価値があります。これは、状態∣+⟩と∣−⟩の区別に関する前のセクションで提案された質問に照らして考えると興味深いです。
量子ビットが2つの量子状態∣+⟩と
∣−⟩のいずれかで準備されているが、どちらであるかが私たちに知られていない状況を想像してください。
いずれかの状態を測定すると、既に観察したように、もう一方と同じ出力分布が生成されます:
0と1の両方が等しい確率1/2で現れ、これは2つの状態のどちらが準備されたかについての情報を全く提供しません。
しかし、最初にアダマール演算を適用してから測定すると、元の状態が∣+⟩であった場合は確実に結果0が得られ、元の状態が∣−⟩であった場合は再び確実に結果1が得られます。
したがって、量子状態∣+⟩と∣−⟩は完全に識別できます。
これは、符号の変化、またはより一般的には量子状態ベクトルの複素数要素の位相(これらは伝統的に引数とも呼ばれます)への変化が、その状態を大幅に変更できることを明らかにします。
これは別の例で、以前に言及した状態ベクトルに対してアダマール演算がどのように作用するかを示しています。
H(31+2i∣0⟩−32∣1⟩)=(212121−21)(31+2i−32)=(32−1+2i323+2i)=32−1+2i∣0⟩+323+2i∣1⟩
次に、プラス状態に対するT演算のアクションを考えてみましょう。
T∣+⟩=T(21∣0⟩+21∣1⟩)=21T∣0⟩+21T∣1⟩=21∣0⟩+21+i∣1⟩
ここでは、同等の行列/ベクトル形式に変換することを気にせず、代わりに行列乗算の線形性と式
T∣0⟩=∣0⟩andT∣1⟩=21+i∣1⟩.
を使用したことに注意してください。
同様の線に沿って、得られたばかりの量子状態ベクトルにアダマール演算を適用した結果を計算できます:
H(21∣0⟩+21+i∣1⟩)=21H∣0⟩+21+iH∣1⟩=21∣+⟩+21+i∣−⟩=(21∣0⟩+21∣1⟩)+(221+i∣0⟩−221+i∣1⟩)=(21+221+i)∣0⟩+(21−221+i)∣1⟩.
2つのアプローチ、つまり、行列表現に明示的に変換するものと、線形性を使用して標準基底状態に対する演算のアクションを代入するものは同等です。
手元のケースでより便利な方を使用できます。
量子ビットユニタリ演算の合成
ユニタリ演算の合成は、確率的設定で行ったように、行列乗算によって表されます。
例えば、最初にアダマール演算を適用し、次にS演算を適用し、次に別のアダマール演算を適用するとします。
この例の目的のためにRと名付ける結果の演算は、次のとおりです:
R=HSH=(212121−21)(100i)(212121−21)=(21+i21−i21−i21+i).
このユニタリ演算Rは興味深い例です。
この演算を2回適用すると、その行列表現を2乗することと同等であり、NOT演算が得られます:
R2=(21+i21−i21−i21+i)2=(0110).
つまり、RはNOTの平方根演算です。
このような動作、つまり、同じ演算が2回適用されてNOT演算が得られるという動作は、単一のビットに対する古典的演算では不可能です。
より大きなシステムに対するユニタリ演算
後のレッスンでは、2つ以上の古典状態を持つシステムに対するユニタリ演算の多くの例が見られます。
3つの古典状態を持つシステムに対するユニタリ演算の例は、次の行列によって与えられます。
A=010001100
システムの古典状態が0, 1,および2であると仮定すると、この演算を3を法とする加算として記述できます。
A∣0⟩=∣1⟩,A∣1⟩=∣2⟩,andA∣2⟩=∣0⟩
行列Aは置換行列の例であり、これはすべての行と列が正確に1つの1を持つ行列です。
このような行列は、それらが作用するベクトルの要素を単に再配置、または置換します。
単位行列はおそらく置換行列の最も単純な例であり、別の例はビットまたは量子ビットに対するNOT演算です。
任意の正の整数次元のすべての置換行列はユニタリです。
これらは、古典演算と量子演算の両方を表す行列の唯一の例です: 行列が確率的でユニタリである場合、それは置換行列である場合に限ります。
別のユニタリ行列の例は、今回は4×4行列で、これです:
U=2111111i−1−i1−11−11−i−1i.
この行列は、特に4×4の場合に、量子フーリエ変換として知られる演算を記述します。
量子フーリエ変換は、任意の正の整数次元nに対してより一般的に定義でき、量子アルゴリズムにおいて重要な役割を果たします。