2量子ビットゲート
量子コンピュータ・量子情報の分野で登場する量子ビットゲートのうち,2つの量子ビットに作用する2量子ビットゲートとは何か,解説します。 特に,CNOTゲート,CXゲート,SWAPゲートについて解説します。
【準備】2量子ビットの量子回路の書き方
【準備】2量子ビットの量子回路の書き方
1量子ビットゲートの記事 (今後公開予定です) において,1量子ビットの場合の量子回路の書き方について軽くご紹介しました。ここでは,入力と出力が2量子ビットの場合の量子回路の書き方について軽く触れておきましょう。
例えば,入力として という状態を考えます。
量子ビットが複数個ある場合のナンバリングの仕方は,文献ごとでも異なります。この記事ではケットで書いた場合の左側から1番目,2番目,…と数えることにします。上の入力の状態の例で言うと,1番目の量子ビットは ,2番目の量子ビットは となります。
この量子状態に以下のように操作を施すことを考えます。
は2量子ビットに作用する量子ゲートとします。
これは量子回路では,例えば下図のように書くことができます。
この記事では,量子回路の入出力状態について,上から1番目,2番目…と量子ビットを書くことにします。
また,同じ量子状態 を入力状態として用意し, には を, には を作用させることを考えてみます。
これは数式では下図のように表すことができます。
これは量子回路では,例えば下図のように表すことができます。
【準備】2量子ビットの計算基底
【準備】2量子ビットの計算基底
2量子ビットの計算基底として, の4つの量子状態を用意することが多いです。
これらは,ベクトル表示では以下のような計算基底に対応しています。
CNOTゲート
CNOTゲート
CNOT ゲートとは,2量子ビットのうち片方が1であった場合,もう片方のビットをフリップさせる操作を行うゲートのことです。1であるかどうかを判断する量子ビットを制御ビット,フリップさせる量子ビットを標的ビットなどと呼びます。以下では,特に断りがない場合,1番目の量子ビットを制御ビット,2番目の量子ビットを標的ビットとした場合の CNOT ゲートを考えます。
CNOT ゲートは,量子回路の図では下図のように表すことができます。
下図のようにも表すことができます。
CNOT ゲートの行列表示
CNOT ゲートの行列表示を考えてみましょう。2量子ビットの1状態は4次元複素ベクトルで表されるので,CNOT ゲートは4行4列のユニタリ行列となることが予想されます。
線形代数では,ある行列の行列表示が知りたい場合,その行列を基底に作用させた結果がわかればよいという事実がありました。以下の記事なども併せてご参照ください。
CNOT ゲートを に作用させた場合の結果を考えてみましょう。量子状態としての表記では,左から順に1番目,2番目と量子ビットを数えていたことに注意すると,これら4つの量子状態への作用は以下のように書けます。
したがって,CNOT ゲートを行列表示すると,以下のようになることがわかります。
この記事に関連するQ&A
CZゲート
CZゲート
CZ ゲートとは,2量子ビットのうち片方が1であった場合,もう片方の量子ビットに Z ゲートを作用させるような操作を行うゲートのことです。以下では、特に断りがない場合,1番目の量子ビットを制御ビット,2番目の量子ビットを標的ビットとした場合について考えます。
CZ ゲートは,量子回路では以下のように表すことができます。
CZ ゲートの行列表示
Zゲートは0の量子ビットには何もしないが,1の量子ビットは符号を反転させるという効果がありました (別記事にて解説予定です)。したがって,CZ ゲートは,2量子ビットの計算基底に以下のように作用することがわかります。
したがって,CZ ゲートを行列表示すると,以下のようになることがわかります。
SWAPゲート
SWAPゲート
SWAP ゲートとは,作用する2つの量子ビットの状態を入れ替えるようなゲートのことです。
SWAP ゲートは,量子回路では以下のように表すことができます。
上図からわかるように,SWAP ゲートは CNOT ゲートを3回作用させたものとなっています。
SWAP ゲートの行列表示
これまで同様,4つの計算基底への作用がどうなるか確認してみましょう。
したがって,SWAP ゲートを行列表示すると,以下のようになることがわかります。
SWAP ゲートが上の表式で正しいことを,任意の場合で確認してみましょう。なお,以下ではベクトルのテンソル積の知識を用いています。
とします。このとき,2量子状態 は
のように表されます。したがって
となります。一方, は
のように表されます。したがって,任意の2量子状態について
が成り立ちます。
SWAP ゲートと CNOT ゲートとの対応
制御ビットを 番目の量子ビット,標的ビットを 番目の量子ビットとした場合の CNOT ゲートを と書くことにします。 このとき,量子回路図からもわかるように,SWAP ゲートと CNOT ゲートの間には,
という関係があります。
計算により確かめてみましょう。まず, の行rつ表記について求めます。
より,
と表すことができます。
【補足】2量子ビットゲートとユニタリ性
【補足】2量子ビットゲートとユニタリ性
1量子ビットゲートは全てユニタリ行列であるという性質があります。この記事で紹介した2量子ビットゲートも,全てユニタリ行列となっていることが確認できます。ぜひ,練習問題としてやってみてください。
ユニタリ行列については
なども併せてご参照ください。
制御ビットと標的ビットは,計算や図と対応づけて覚えるのがやや難しいので,注意が必要です。