What is the difference between the action of $Z$ and $\exp(-i Z t)$ on a state?



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$?


Posted 2020-01-29T13:46:17.253

Reputation: 283



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 $(Zt)^2 = t^2$ , you can pull the same trick with $e^{i Z t}$:

$$ \begin{align} e^{i Z t} & = \sum_{j = 0}^{\infty} \frac{(iZt)^j}{j!} \\ & = \left[\sum_{k = 0}^{\infty} \frac{(-1)^k}{(2k)!}t^{2k}\right] + i Z \left[ \sum_{k=0}^{\infty} \frac{(-1)^k}{(2k+1)!}t^{2k+1} \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!

Chris Granade

Posted 2020-01-29T13:46:17.253

Reputation: 953


If you are interested in more, check out Chris and my book, Learn Quantum Computing with Python and Q# https://www.manning.com/books/learn-quantum-computing-with-python-and-q-sharp. Chapter 9 which should be out shortly talks about 'Exp' and using Hamiltionians to describe the time evolution of states.

– Dr. Sarah Kaiser – 2020-01-29T19:48:41.043

@ChrisGranade There's a sign error in your Taylor expansion. The Taylor series for the exponential function gives $e^{i Z t} = \sum_{k = 0}^{\infty} \frac{(iZt)^k}{k!} = + iZt - \frac12 Z^2 t^2 \cdots$, ultimately resulting in $e^{iZt}=\cos(t)+iZ \sin(t)$. – Jonathan Trousdale – 2020-08-01T09:35:37.963

Thanks for pointing that out, @JonathanTrousdale. I'll admit I am pretty bad at keeping track of minus signs... in any case, would you like to edit my answer, then, so that you get the karma for that fix? – Chris Granade – 2020-08-02T17:33:31.257

@ChrisGranade No problem. I'm not one to turn down good karma. – Jonathan Trousdale – 2020-08-02T19:31:17.680