算術演算
デクリメント回路
インクリメントの逆演算
数に +1 するインクリメント回路とは逆に、-1 するデクリメント回路を作ってみましょう。 今回はビット演算から考えるのではなく、「デクリメントはインクリメントの逆」という発想を使います。 つまり、前回に作ったインクリメント回路の逆演算回路を考えることで、デクリメント回路が作れるかどうか実験してみることにしましょう。
逆演算回路とは、元の回路と並べることで全体を打ち消す回路でした (もつれをほどくの逆ベル回路を参照)。 これを作るために、元のインクリメント回路を振り返りましょう。 次は 3 ビットまでの数をインクリメントする回路です。
まずは「インクリメント」部分の一番右の
すると
同様に一番右の CNOT を消します。CNOT の逆演算も CNOT 自身なので、次のように CNOT を適用します。
すると次のように CNOT が消えました。
続くゲートもまったく同じパターンで消していくことができ、最終的にインクリメント回路をすべて消す逆演算回路は、次のようになります。
問題は、本当にこれがデクリメントになっているかどうかです。さっそく実験してみましょう。
たしかに、1 と 5 の重ね合わせをデクリメントに通すと 0 と 4 の重ね合わせが得られます (ほかの入力も試してみてください!)。
量子回路ではこのように、ある算術演算を行う回路の逆回路を作ることで、逆の算術演算を行う回路を作ることができます。 これは、量子ゲートの可逆性を利用したおもしろい性質です。
ただし逆演算回路を作るには、もとの回路が
インクリメント回路で説明したように、量子コンピュータの強力さの一因は、重ね合わせ上で演算できることです。
可逆なゲートは重ね合わせを入出力できるのでこれを満たしていますが、非可逆な