f:x↦yx∈{0,1}nny∈{0,1}n
fr:(x,y)↦(x,y⊕f(x))
mm
これを実装する量子ゲートは、基本的には可逆関数評価に対応する量子ゲートです。関数の真理値表を単純に書き出すと、各行はユニタリ行列の行に対応し、出力はどの列エントリに1が含まれるかを示します(他のすべてのエントリには0が含まれます)。
バツ00011011f(x )1001(x 、y)000001010011100101110111(x 、y⊕ F(x ))001000010011100101111110
U= ⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜0100000010000000001000000001000000001000000001000000000100000010⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟。
f(x )f(x )
バツa 、b∈ { 0 、1 }n − 1B ∈ { 0 、1 }af(a 、b )b
f:(a 、b )↦ (a 、f(a 、b ))。
a b00011011f(a 、b )1001
a = 01 、0a = 1a b00011011F(a 、b )01001011
U= ⎛⎝⎜⎜⎜0100100000100001⎞⎠⎟⎟⎟
cNOT⋅(1⊗X)