Introduction to Phase Kickback

This episode introduces the phenomenon of phase kickback.

Phase kickback is a quantum effect that occurs when a controlled unitary $U$ affects the control qubit rather than the target. In particular, when the target is in an eigenstate of $U$, its phase becomes a relative phase on the control qubit if the control is in superposition, which is counter-intuitive.

This effect is important because it allows quantum algorithms to encode and extract global phase information inside relative phases, forming the basis of key routines such as phase estimation and related algorithms.

Objectives

  • Understand what phase kickback is

  • Understand its mathematical formulation

Instructor note

  • 90 min teaching/type-along

  • 30 min exercising

Lesson

from IPython.display import Video
video = Video("../_static/videos/Phase_Kickback.mp4", width=1920//2, height=1080//2)
video

Example of Phase Kickback - Controlled X

First, import all the needed dependencies:

from sympy import latex, expand, simplify
from sympy.physics.quantum.qubit import Qubit
from sympy.physics.quantum.gate import H, X, CNOT
from sympy.physics.quantum.qapply import qapply
from IPython.display import display, Math

def show(label, expr):
    display(Math(r"%s = %s" % (label, latex(simplify(expand(expr))))))

Example 1: standard CNOT on a generic superposition

We consider initially a generic superposition: \begin{equation} |\psi_0\rangle = a \ket{00} + b \ket{01} + c \ket{10} + d \ket{11} \end{equation} with $|a|^2 + |b|^2 + |c|^2 + |d|^2 = 1$.

Caution

Note that, in SymPy, qubit ordering is reversed with respect to the standard convention, so care is needed when interpreting states and measurements.

from sympy import symbols
a, b, c, d = symbols("a b c d")

psi0 = a*Qubit('00') + b*Qubit('01') + c*Qubit('10') + d*Qubit('11')
show(r"\psi_0", psi0)
\[\displaystyle \psi_0 = a {\left|00\right\rangle } + b {\left|01\right\rangle } + c {\left|10\right\rangle } + d {\left|11\right\rangle }\]

Here we take:

  • qubit 0 as the control

  • qubit 1 as the target We identify the operator as $CNOT_{0,1}$.

Note

The CNOT flips the target only when the control is |1>. Adopting SymPy qubits ordering and qubit 0 as control:

  • $\ket{00} \to \ket{00}$

  • $\ket{01} \to \ket{11}$

  • $\ket{10} \to \ket{10}$

  • $\ket{11} \to \ket{01}$

psi1 = qapply(CNOT(0, 1) * psi0)
show(r"\ket{\psi_1} = {CNOT}_{0,1}\ket{\psi_0}", psi1)
\[\displaystyle \ket{\psi_1} = {CNOT}_{0,1}\ket{\psi_0} = a {\left|00\right\rangle } + b {\left|11\right\rangle } + c {\left|10\right\rangle } + d {\left|01\right\rangle }\]

As you can see, the state on the target qubit changes when the control qubit is $\ket{1}$. The control qubit is not affected.

Example 2: phase kickback with target in $\ket{-}$

We consider initially the state: \begin{equation} |\psi_0\rangle = |-\rangle|+\rangle = \frac{1}{2}\left(\ket{00} + \ket{01} - \ket{10} - \ket{11}\right) \end{equation}

The target qubit is prepared in the state $\ket{-}$, which is an eigenstate of the Pauli-$X$ operator: \begin{equation} X\ket{-} = -\ket{-} \end{equation}

Caution

Again, remember that in SymPy qubit ordering is reversed with respect to the standard convention.

First, we prepare the the initial state:

# Application of H on qubit 0 and of (H * X) on qubit 1
psi_0 = qapply(H(0) * H(1) * X(1) * Qubit('00'))

show(r"\ket{\psi_0} = \ket{}", psi_0)
\[\displaystyle \ket{\psi_0} = \ket{} = \frac{{\left|00\right\rangle } + {\left|01\right\rangle } - {\left|10\right\rangle } - {\left|11\right\rangle }}{2}\]

Now we apply the $CNOT$ from qubit 0 to qubit 1.

# Apply CNOT
psi1 = qapply(CNOT(1, 0) * psi0)
show(r"\ket{\psi_1} = \mathrm{CNOT}_{1,0}\, \ket{\psi_0}", psi1)
\[\displaystyle \ket{\psi_1} = \mathrm{CNOT}_{1,0}\, \ket{\psi_0} = a {\left|00\right\rangle } + b {\left|01\right\rangle } + c {\left|11\right\rangle } + d {\left|10\right\rangle }\]

Exercise

  • Factorize the obtained state as the tensor products of two qubits.

  • Finally, state whether phase kickback occured.

Keypoints

In this episode we have seen:

  • What is phase kickback and when it occurs.

  • Several examples of phase kickback on simple 2-qubits systems.

See also

Check the additional notes on phase kickback