The representation of R_x

As is widely recognized, the single-qubit rotation gate can be represented as R_x(\phi) = e^{-i \phi \sigma_x / 2} = \left[\begin{array}{cc}\cos (\phi / 2) & -i \sin (\phi / 2) \\ -i \sin (\phi / 2) & \cos (\phi / 2)\end{array}\right], as illustrated by qml.RX.

However, we have observed that some researchers represent it as follows:

Is this representation accurate? If so, why?

Hey @zj-lucky,

Yep, that representation is also correct :slight_smile:. We’re getting into a bit of group theory here, but the Pauli Group (X, Y, Z, I Pauli group - Wikipedia) are generators for rotations around the bloch sphere. This might also help: Pauli matrices - Wikipedia (scroll down to the Exponential of a Pauli vector section).

Let me know if this helps!

Thank you very much!

Both representations of the single-qubit rotation gates are correct. Do they have the same domain for \theta, specifically \theta \in [0, 2\pi]? We know that e^{-i \theta \sigma_x / 2} has \theta in the range [0, 2\pi], but does the representation e^{-i \theta \sigma_x} share the same domain?

Hey @zj-lucky,

I need to correct my last post :sweat_smile:. I read your question too quickly but I understand what you’re asking now!

The factor of \tfrac{1}{2} is there to better account for what the rotation operators are actually doing when it comes to how we can draw their action on states with the Bloch sphere:


If I start at \vert 0 \rangle and want to rotate it to the \vert +i \rangle state, the amount that I need to visually rotate my state is -\tfrac{\pi}{2} along the X axis; we perform an R_x(-\tfrac{\pi}{2}) operation.

>>> import pennylane as qml
>>> dev = qml.device("default.qubit")
>>> @qml.qnode(dev)
... def circuit(theta):
...     qml.RX(theta, wires=0)
...     return qml.state()
>>> from pennylane import numpy as np
>>> circuit(-np.pi / 2)
tensor([0.70710678+0.j        , 0.        +0.70710678j], requires_grad=True)

In PennyLane, the rotation operators have that factor of 1/2 built-in for this very reason; it matches the intuition of the Bloch sphere. It’s just a convention taken. Nothing more than that :slight_smile:. If you see textbooks define the rotation operators without the factor of 1/2, you’d need to rotate your state by “half as much”; if PennyLane defined the RX operator without the 1/2, the example above would need an angle of rotation that’s half as big.

Thank you for your response. If we use the representation of the single-qubit rotation gate without the factor of 1/2, i.e., R_X(\theta)=e^{-i \theta X}, then what should be the range of values for \theta?

Since e^{i\theta X} is related to sinuisoidal functions, e^{i\theta X} is 2 \pi-periodic :slight_smile:. e^{i\frac{\theta}{2} X} would therefore be 4\pi-periodic :slight_smile:

Here’s a plot from wolfram:

sin(x) + cos(x) is kinda related to e^{i\theta X}. It has a period of 2\pi. On the other hand, sin(x/2) + cos(x/2) is “stretched out” and has a period of 4\pi.