Consider a problem of implementing $\operatorname{e}^{i\bigotimes_j O_j}$, where all the $O_j$ terms act on disjoint sets of qubits. Assume that efficient circuits implementing individual $\operatorname{e}^{i\ O_j}$ are known. Moreover, if necessary, one can also assume that the corresponding registers are relatively small so that efficient circuits $U_j$ for diagonalizing $O_j$ are known (different definitions of "small" or any other assumptions on $O_j$ are welcome too).

Is there a way to efficiently and exactly implement $\operatorname{e}^{i\bigotimes_j O_j}$?

My question is driven by the desire to generalize a well-known procedure for exponentiating Pauli terms $\operatorname{e}^{iXYZ\ldots}$, which is achieved by first rotating to eigenbases of individual qubits, and then using the cascade of $\text{CNOT}$s as in Fig 4.19 of Nielsen&Chuang.


1 Answer 1


I think the following would work:

  1. Perform phase estimation individually against each $O_j$, creating phase estimate registers $a_j$.
  2. Compute the superposed product $t = \prod_j a_j$.
  3. Phase by an amount proportional to $t$.
  4. Uncompute $t$.
  5. Uncompute each $a_j$.

For the Pauli operator case it's easy to see why this works. Each operator has an eigenvalue of -1 or +1, and computing the product $t$ accumulates the -1 factors into one spot, so that when you phase by an amount proportional to $t$ you are phasing forward if there's an even number of -1s and backward if there's an odd number.

  • $\begingroup$ This looks great, thanks! Will accept upon comprehending. $\endgroup$
    – mavzolej
    Apr 5 at 1:04
  • $\begingroup$ Hi @CraigGidney! How do we compute 2? What is meant by "phase by the amout"? Also, what are we "phasing"? $\endgroup$
    – MonteNero
    Apr 5 at 3:08
  • $\begingroup$ @MonteNero See en.wikipedia.org/wiki/Quantum_phase_estimation_algorithm on how to do phase estimation. "Phasing" means to rotate amplitudes. For example, phasing a state by 45 degrees means to multiply its amplitude by (1+i)/sqrt(2). See algassert.com/post/1719 $\endgroup$ Apr 5 at 7:41
  • $\begingroup$ @CraigGidney, thanks for the links and explaining the meaning of phasing. My question wasn't about QPE part, but about computing the product $t$ of phases. Are we talking about some arithmetic multiplier here? $\endgroup$
    – MonteNero
    Apr 5 at 11:34
  • 1
    $\begingroup$ @mavzolej You may be able to replace the phase estimation with usage of $U_j$. But it's not enough to just diagonalize, you'd also need to lookup the eigenvalues based on the address in the diagonalized register. $\endgroup$ Apr 5 at 19:10

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.