I have some doubts about the phase kickback trick when used in some algorithm.

Consider a quantum system with two qubits, and suppose we have a boolean oracle $U_f$. We know that if we put the second qubit in the state $|-\rangle$, the boolean oracle acts as a phase oracle because of the phase kickback trick. However, it is also known that the phase kickback requires:

  1. the target qubit must be an eigenstate of the operator used in the circuit;
  2. the operator must be a controlled one, (e.g., CNOT);
  3. the first qubit (control) must be in superposition.

Now, I understand how the phase kickback works and the reason why. Let's move onto the next step: consider the Deutsch algorithm. The circuit for a generic function implemented by an oracle is the following:

enter image description here

However, the first $H$ gate in the second qubit change it from $|1\rangle$ to $|-\rangle$; this operation triggers the phase kickback, so the boolean oracle $U_f$ acts as a phase oracle instead; we further measure the first qubit after re-applying an $H$ gate in order to find if the function is constant or balanced.

So, basically, the second qubit acts as an "ancilla" qubit and we need it just for the phase kickback operation.

My question is the following: if we want to evaluat the function $f(x) = 1 \;\;\forall x \in \{0,1\}$, the oracle is simply an $X$ gate in the second qubit, between the steps $|a_1\rangle$ and $|a_2\rangle$; how exactly is the phase kickback involved, if the operator (the oracle) is not controlled by the first qubit?

  • $\begingroup$ Point 3 in your list is not required to get a phase kick-back. (Of course, it is not useful in that case, but that's a different story.) $\endgroup$ Commented Feb 20 at 19:19

1 Answer 1


In the case where $f(0)=f(1)=1$, $U_f$ is just the controlled-Identity gate. This is still a controlled gate, though a trivial one. And, as one should expect, the phase we get is the eigenvalue of $\lvert-\rangle$ in the identity operator.

Note that "controlled gate" should be read in a generalized way: It just means that there are gates $G_0$ and $G_1$ which are applied if the control is zero or one, respectively. (E.g., for $f(0)=f(1)=1$, $G_0=G_1=X$.) Or, more generally, for a function with $n$ input bits, $G_0,\dots G_{2^n-1}$.

  • $\begingroup$ So, basically, the requirement of a "controlled-gate" as a CNOT, for example, is not required in order to get a phase-kickback? Does this mean that the crucial condition for the phase kickback is just the fact that the state of the qubit on which the gate operator is applied must be an eigenstate of the gate's operator? The problem is that when this argument is explained, all the examples are with controlled operators like CNOT $\endgroup$
    – aghin
    Commented Feb 21 at 12:09
  • $\begingroup$ @aghin00 The best way to analyze the system is to not put the control qubit(s) in superposition, but in a classical state |x>. (Then you can use linearity.) With this, it is easy to see that given the control is |x>, you apply $G_x$ to the target in the |-> state (or whatever state you choose), and thus, you get the eigenvalue corresponding to the eigenvector $|x>$ of $G_x$ as a phase. --- Note that in the Deutsch algorithm, the four functions correspond to Identity, CNOT, X only on the target (no control, if you wish), and CNOT + X. $\endgroup$ Commented Feb 21 at 12:21
  • $\begingroup$ Do you have references where this is explained in that way? (Note that a generalized notion of "controlled" can be that the operation performed depends in some way on the classical state (=state in the computational basis) of the control.) $\endgroup$ Commented Feb 21 at 12:22
  • $\begingroup$ Actually, I think I found the cause of my misunderstanding. The thing is that I was looking at the phase kickback example itself vs. the relationship between the boolean oracle and the phase oracle in Deutsch algorithm; the former comes almost always with examples of CNOT gate, in order to explain the controlling gate; in the latter, actually the operation is "controlled" by the function f(x) which is based on the state of the qubit $|x\rangle$, thus acting as a control for our gate even if it is not a CNOT (which explicitly has the control shown). $\endgroup$
    – aghin
    Commented Feb 21 at 15:40
  • $\begingroup$ In your second comment, though, the eigenvalue that we get, shouldn't it be corresponding to the eigenvector $|-\rangle$ of the gate? I mean, in order for the phase kickback to work, we need to have the state of the qubit where the gate operator is applied as an eigenvector of the gate, not the control qubit's state. $\endgroup$
    – aghin
    Commented Feb 21 at 15:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.