What is the difference between performing $Z$ operation and performing $e^{-i Zt}$ operation on a state, given that $e^{-i Zt}= \mathbb{1} + (-i Zt) + ...$ is not equal to $Z$ for any value of $t$?


Effectively, the Z operation (represented by the Pauli $Z$ matrix) applies a rotation about the $Z$-axis. As you note, rotations can also be written in the form $e^{-i Z t}$. To see that, you can use a trick pretty similar to the one used to derive Euler's identity ($e^{i \theta} = \cos(\theta) + i \sin(\theta)$) to rewrite the Taylor series that you quoted in your question.

In particular, to derive Euler's identity, you can use that $i^2 = -1$ to separate the even and odd powers of the series $e^x$ and identify the series for $\cos(\theta)$ and $\sin(\theta)$. Since $Z^2 = πŸ™$, you can pull the same trick with $e^{i Z t}$:

$$ \begin{align} e^{i Z t} & = \sum_{k = 0}^{\infty} \frac{(iZt)^k}{k!} = πŸ™ - iZt - \frac12 Z^2 t^2 \cdots \\ & = \left(πŸ™ - \frac12 Z^2 t^2 + \cdots \right) - i \left(Z t - \frac1{3!} Z^3 t^3 + \cdots \right) \\ & = πŸ™ \left(1 - \frac12 t^2 \right) - i Z \left(t - \frac1{3!} t^3 \right) \\ & = πŸ™ \cos(t) - i Z \sin(t) \end{align} $$

Thus, at $t = \pi / 2$, $e^{i Z t} = -iZ$. Since $-i$ is an example of a global phase, evolving under $Z$ for time $t = \pi / 2$ gives you the same unitary transformation as $Z$. Indeed, you can check the equivalence of the two matrices using QuTiP:

In [1]: import qutip as qt
In [2]: import numpy as np
In [3]: Z = qt.sigmaz()
In [4]: -1j * (1j * Z * np.pi / 2).expm()
Quantum object: dims = [[2], [2]], shape = (2, 2), type = oper, isherm = True
Qobj data =
[[ 1.  0.]
 [ 0. -1.]]

You can also check that the quantum program Z(q); does the same thing as Exp([PauliZ], PI() / 2.0, [q]); using the AssertOperationsEqualReferenced operation:

open Microsoft.Quantum.Arrays;
open Microsoft.Quantum.Diagnostics;
open Microsoft.Quantum.Math;

operation ApplyZ(qubits : Qubit[]) : Unit is Adj + Ctl {

operation CheckIfOperationsEqual() : Unit {
        Exp([PauliZ], PI() / 2.0, _)
    Message("Operations are equal!");

Try it online!

| improve this answer | |
  • 2
    $\begingroup$ If you are interested in more, check out Chris and my book, Learn Quantum Computing with Python and Q# manning.com/books/…. Chapter 9 which should be out shortly talks about 'Exp' and using Hamiltionians to describe the time evolution of states. $\endgroup$ – Dr. Sarah Kaiser Jan 29 at 19:48

Your Answer

By clicking β€œPost Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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