| 0 ⟩. N| - ⟩H.. N⊗ Ja⎛⎝∑x = { 0 , 1 }n12)n / 2| x ⟩ ⎞⎠| - ⟩ = 12)n / 2( | 0 ⟩ + | 1 ⟩ ). N| - ⟩ .
UfaUfa⎛⎝∑x = { 0 , 1}n12)n / 2| x⟩ ⎞⎠| - ⟩ = Σx = { 0 , 1}n12)n / 2| x⟩ | - ⊕ f( x ) ⟩ .
⊕ ⎛⎝∑x = { 0 , 1 }n12)n / 2( - 1 )fa( x )| x ⟩ ⎞⎠| - ⟩ .
Ufa| x ⟩ ( | 0 ⟩ - | 1 ⟩ ) = | x ⟩ | fa( x ) ⟩ - | 1 ⊕ f( x ) ⟩ = ( - 1 )fa( x )| x ⟩ ( | 0 ⟩ - | 1 ⟩ )
xx = ∏jaxjaH.| xja⟩ = 12)-√( | 0 ⟩ + ( - 1 )xja| 1 ⟩ ) = 12)-√∑y={0,1}(−1)xi.y|y⟩.
This gives the property H⊗n|x⟩=12n/2∑y∈{0,1}n(−1)x.y|y⟩.
This gives the final state as 12n⎛⎝∑x,y={0,1}n(−1)f(x)⊕x.y|y⟩⎞⎠|−⟩.
We know that f(x)=u.x=x.u, giving (−1)f(x)⊕x.y=(−1)x.(u⊕y). Summing over the x terms gives that ∑x(−1)x.(u⊕y)=0,∀u⊕y≠0. This means that we're left with the term for u⊕y=0, which means that u=y, giving the output as |u⟩|−⟩, which is measured to obtain u.
Jeśli chodzi o to, dlaczego chcemy ustawić superpozycję : tutaj pojawia się moc obliczeń kwantowych - w mniej matematycznych kategoriach zastosowanie transformacji Hadamarda powoduje obrót stanów kubitów, aby dostać się do stanu| + ⟩. N. Następnie obracasz każdy kubit w tym stanie superpozycji za pomocą operacji równoważnej XOR (w tej nowej podstawie), dzięki czemu przy ponownym przeprowadzaniu transformacji Hadamarda teraz po prostu wracasz do stanu| U ⟩. Innym sposobem patrzenia na to jest uznanie go za odbicie lub odwrócenie, które pozwala osiągnąć ten sam rezultat.
Chodzi o to, że za pomocą superpozycji możemy to zrobić dla wszystkich kubitów jednocześnie, zamiast konieczności indywidualnego sprawdzania każdego kubitów, jak w przypadku klasycznym.