量子計算学習ノート - 多量子ビットゲート


この記事は「量子コンピュータと量子通信 (オーム社)」の読書ノートです。


単一量子ビットゲートを多量子ビットゲートに拡張することを考えよう。単一量子ビットゲートは2 x 2 ユニタリ行列によって記述しうるものであった。

先に結論を述べてしまおう。あらゆる多量子ビットゲートは単一量子ビットゲートとcnot(controlled-not)ゲートの組み合わせによって構成できる

cnotゲートとはどんな量子ビットゲートだろうか。これは2つの量子ビット、入力量子ビットと出力量子ビットに対して作用し、入力量子ビットが1のときのみ、出力量子ビットを反転させる。具体的に数式を記述すると次のようになる。

$$
|a, b\rangle \rightarrow |a, b \oplus a\rangle
$$

この式に見るように、cnotゲートは従来の計算機におけるxorゲートの量子計算版といえる。また、2量子ビットの状態を以下のように記述するとき

$$
|00\rangle = \left(\begin{array}{c} 1 \cr 0 \cr 0 \cr 0 \end{array}\right), |01\rangle = \left(\begin{array}{c} 0 \cr 1 \cr 0 \cr 0 \end{array}\right), |10\rangle = \left(\begin{array}{c} 0 \cr 0 \cr 1 \cr 0 \end{array}\right), |11\rangle = \left(\begin{array}{c} 0 \cr 0 \cr 0 \cr 1 \end{array}\right)
$$

cnotゲートにおける変換は、これを基底とした以下の表現行列によって記述される。この行列もユニタリ行列であることは容易に確かめられる。

$$
U_{CN} =  \left(\begin{array}{cccc} 1 & 0 & 0 & 0 \cr 0 & 1 & 0 & 0 \cr 0 & 0 & 0 & 1 \cr 0 & 0 & 1 & 0 \end{array}\right)
$$

ところで、量子計算におけるゲートはユニタリ性を持つが、同様に従来の計算におけるゲート、つまりxorやnandなどのゲートも同様にユニタリ性を持つと理解してよいだろうか? これはよくないことが知られている。実際、量子計算におけるゲートはユニタリ性を持つために逆変換が可能である。つまり出力から入力の状態を完全に復元できなければならない。
従来の計算におけるゲートは一般的に逆変換が不可能である。xorの結果からその入力を一意に特定することはできず、このような計算によっては回復できない情報の損失が生じる。

この記事が気に入ったらサポートをしてみませんか?