Jede klassische Ein-Bit - Funktion wobei x ∈ { 0 , 1 } n ist ein n -Bit - Eingang und y ∈ { 0 , 1 } ist ein n -Bit - Ausgang kann als reversibler Berechnung geschrieben werden,
f r : ( x , y ) ↦ ( x , y ⊕ f ( x ) )
(Beachten Sie, dass jede Funktion von mf: x ↦ yx ∈ { 0 , 1 }nny∈ { 0 , 1 }n
fr: ( x , y) ↦ ( x , y⊕ f( x ) )
mAusgänge können als nur
separate 1-Bit-Funktionen geschrieben werden.)
m
Ein Quantengatter, das dies implementiert, ist im Grunde nur das Quantengatter, das der Bewertung der reversiblen Funktion entspricht. Wenn Sie einfach die Wahrheitstabelle der Funktion ausschreiben, entspricht jede Zeile einer Zeile der einheitlichen Matrix, und die Ausgabe gibt an, welcher Spalteneintrag eine 1 enthält (alle anderen Einträge enthalten 0).
Im Fall von XNOR haben wir die Standardwahrheitstabelle und die Wahrheitstabelle für reversible Funktionen
Somit ist die einheitliche Matrix
U=( 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
x00011011f( x )1001( x , y)000001010011100101110111( x , y⊕ f( x ) )001000010011100101111110
Dies kann leicht in Form von ein paar nicht gesteuerten Gattern und ein oder zwei Bitflips zerlegt werden.
U.= ⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜0100000010000000001000000001000000001000000001000000000100000010⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟.
f( x )f( x )
xa , ba ∈ { 0 , 1 }n - 1b ∈ { 0 , 1 }einf( a , b )b
f: ( a , b ) ↦ ( a , f( a , b ) ) .
a b00011011f( a , b )1001
a = 01 , 0a = 1a b00011011a f( a , b )01001011
U.= ⎛⎝⎜⎜⎜0100100000100001⎞⎠⎟⎟⎟
cNOT ⋅ ( 1 ⊗ X.)