電子講義:入門量子情報

全卓樹

[電子講義集] [全HP]
[Index] [0] [5] [10] [15] [20] [25] [30]
前へ 次へ

猫でもわかる量子情報(24)

量子位相オラクル

 さて今作った f(x) のオラクル U_f を持ち出して、なにか量子的な操作をを行いたい訳ですが、実はこのままで使うより、次のような行列

   V_f = U_f ・ W ・ U_f

を作ってみたほうが便利な場合が多くあります。W は前に出ましたが、最下位ビット(この場合はオラクルビット)が0ならばそのまま、1ならば状態に位相 (-1) を掛けるという操作に対応します。この行列 V_f をキュビット|x> とオラクルビット |0> からなる状態に作用させると

    V_f |x>|0> = U_f・W |x>| f(x)>
             
= U_f (-1)f(x) |x>| f(x)>
            
= (-1)f(x) |x>| 0>

となります。つまり元の状態が位相 (-1)f(x) だけ掛けられて出てきます。そこで V_f のことを函数 f の「位相オラクル」と呼びましょう。

x が1ビットの場合の例が判りかりやすいので、見てみましょう。

V_a =
[Z
0]
[0
Z]

V_b =
[Z
0]
[0
-Z]

V_c =
[-Z
0]
[ 0
Z]

V_d =
[-Z
0]
[ 0
-Z]

よく見るとオラクルビットは(無いとそもそも V_f ができませんが)結果として|0>のままいるだけです。、そこでV_f を状態|x>に直接作用する次元 2^n の行列

     V_f |x> = (-1) f(x) |x>

と看做してしまうのが楽です。また x が1ビットの場合の例をみると

V_a =
[1
0]
[0
1]

V_b =
[1
0]
[0
-1]

V_c =
[-1
0]
[ 0
1]

V_d =
[-1
0]
[ 0
-1]

となって非常に簡単です。x が2ビットの場合も読者ご自身でぜひ作ってみてください。
行先: 研究のページ
copyright 2004
全卓樹ホーム 教育のページ
t.cheon & associates