|
論理回路で最も知られたものとしてAND回路とOR回路というものがあります。これは、次のような働きをする回路です。
このAND回路とOR回路の働きをする量
子回路を作ってみましょう。
まずAND回路ですが、次の様になっています。
アプリケーションを起動させます。上の回路図からも分かるように、必要なのは3量
子ビットなので量子ビット数を3に減らします。
1ゲート目の位置にNOT行列をおいてみます。
このNOTが基本になってAND回路が作られます。次に、このNOT行列を下図の位
置に移動します。
そして、制御点を2つ設定します。
これで形は出来上がりました。この回路の入出力は次の様になっています。
1量子ビット目と2量
子ビット目のそれぞれの値を変更することで、3量子ビット目に結果
が表示されます。ここで、入出力位置を変更したい場合は、スワップゲートを用います。下図はスワップゲートを用いた回路の例です。例えば、入力で1量
子ビット目と2量子ビット目を、出力で1量子ビット目と3量子ビット目を入れ替えると次の様になります。
AND回路はそのままにしておいて、次にOR回路の作成にとりかかります。OR回路は次の様になっています。AND回路によく似ています。
ここで は、論理演算におけるNOT記号の意味を表しています。
複数の量子回路作成を同時に作業することができますので新しい量
子回路を開いてOR回路を作ります。
Fileメニュー内のNewコマンドを選択して下さい。すると、新しい量
子回路が開きます。次にAND回路とOR回路を見ると、下図に示す同一部分があるのに気がつきます。
この部分をそのまま流用します。このゲートを選択し、コントロールキーを押しながら、作成済のAND回路のドラッグ&ドロップをしてOR回路にコピーします。
次に、2つのNOT行列を挿入して下さい。
最後に3量子ビット目の入力の値を1に設定します。
これで形は出来上がりました。この回路の入出力は次の様になっています。
ここで、作成したANDとORの回路は、様々な回路に用いることができるのでコンポジットにして用いると便利です。
|