2.10 The Bloch sphere

Unitary operations on a single qubit form a group. More precisely, the set of all (2\times 2) unitary matrices forms a non-abelian group under the matrix multiplication, denoted by \mathrm{U}(2). It turns out that compositions of single qubit unitaries behave pretty much the same as compositions of rotations in three dimensions. Technically speaking, we claim that \mathrm{U}(2)/\mathrm{U}(1)\cong \mathrm{SO}(3).39 That is, (2\times 2) unitaries, up to global phase, form a group which is isomorphic to the group of rotations in three dimensions, denoted by \mathrm{SO}(3). This isomorphism helps to visualise the actions of single-qubit gates.

There are many ways to introduce this isomorphism. Here we will just show how to represent single-qubit state vectors in terms of Euclidean vectors in three dimensions; in Chapter 3 we will actually relate unitary operations on state vectors to rotations in this Euclidean space, demonstrating this isomorphism.40

Any single qubit state can be written as |\psi\rangle=\alpha|0\rangle+\beta|1\rangle, constrained by the relation |\alpha|^2+|\beta|^2=1. This suggests a more natural parametrisation as |\psi\rangle = \cos\frac{\theta}{2}e^{i\varphi_0}|0\rangle + \sin\frac{\theta}{2}e^{i\varphi_1}|1\rangle (note that there is a good reason to use \theta/2 instead of \theta, and we we will explain why later on). We can then factor out a global phase: |\psi\rangle = e^{i\varphi_0}\left( \cos\frac{\theta}{2}|0\rangle + \sin\frac{\theta}{2}e^{i\varphi}|1\rangle \right), and even remove it completely, since states that are identical up to a global phase are physically indistinguishable.

The parametrisation in terms of \theta and \varphi should remind you of spherical polar coordinates for the surface of a sphere.

The Bloch sphere, with the point \vec{s} corresponding to |\psi\rangle marked.

Figure 2.3: The Bloch sphere, with the point \vec{s} corresponding to |\psi\rangle marked.

We call this sphere the Bloch sphere, and the unit vector \vec{s} defined by \theta and \varphi the Bloch vector.41 This is a very useful way to visualise quantum states of a single qubit and unitary operations that we perform on it. Any unitary action on the state vector will induce a rotation of the corresponding Bloch vector. But what kind of rotation?

We give a complete answer to this question in Chapter 3, but we might as well give some specific results here first, since some are easy enough to calculate “by hand”. Note that any two orthogonal state vectors appear on the Bloch sphere as two Bloch vectors pointing in opposite directions. Now, the two eigenvectors of a single-qubit unitary U must be orthogonal, and thus define an axis running through the centre of the Bloch sphere. This is the axis about which the Bloch vector is rotated when U acts on the corresponding state vector. The rotation angle \alpha is given by the eigenvalues of U, which, up to a global phase factor, are of the form e^{\mp i\alpha/2}.

It is instructive to work out few simple cases and get a feel for the rotations corresponding to the most common unitaries. For example, it is easy to check that a phase gate P_\alpha acts by \cos\frac{\theta}{2}|0\rangle + e^{i\varphi}\sin\frac{\theta}{2}|1\rangle \longmapsto \cos\frac{\theta}{2}|0\rangle + e^{i(\varphi+\alpha)}\sin\frac{\theta}{2}|1\rangle. The azimuthal angle changes from \varphi to \varphi+\alpha, and so the Bloch sphere is rotated anticlockwise by \alpha about the z-axis. The Bloch vectors corresponding to the two eigenvectors of P_\alpha, namely |0\rangle and |1\rangle, define the axis of the rotation.

Phase gates P_\alpha represent rotations of the Bloch sphere around the z-axis.

Figure 2.4: Phase gates P_\alpha represent rotations of the Bloch sphere around the z-axis.

As previously mentioned, the Pauli operator Z=\sigma_z is a special case of a phase gate, and represents rotation by {180}^{\circ} (that is, \pi radians), about the z-axis. You can also verify that X=\sigma_x, with eigenvectors {(|0\rangle\pm|1\rangle)/\sqrt{2}}, represents rotation by {180}^{\circ} about the x-axis, and Y=\sigma_y, with eigenvectors {(|0\rangle\pm i|1\rangle)/\sqrt{2}}, represents rotation by {180}^{\circ} about the y-axis.

!!!TO-DO!!! points on the intersection of the axes with the Bloch sphere are exactly the eigenstates of the corresponding Pauli operator

How about the Hadamard gate? Like the Pauli operators, it squares to the identity (H^2=\mathbf{1}), which implies that its eigenvalues are \pm 1. Thus it will correspond to a rotation by {180}^{\circ}. But about which axis? This time, rather than finding eigenvectors of H, we notice that HXH=Z and HZH=X, thus H must swap x- and z-axes, turning rotations about the z-axis into rotations about the x-axis, and vice versa. The Hadamard gate must then represent rotation by {180}^{\circ} about the diagonal (x+z)-axis. You may also notice that, after this rotation, the y-axis points in the opposite direction, which seems to be related to another identity: HYH=-Y. This is not a coincidence.

One can show42 that the effect of the rotation represented by unitary U on the Bloch vector with components s_x, s_y, s_z is summarised in the formula U (s_x X + s_y Y + s_z Z) U^\dagger = s'_x X+ s'_y Y + s'_z Z, where s'_x, s'_y, and s'_z are the components of the rotated Bloch vector.

2.10.1 Drawing points on the Bloch sphere

We know that the state |0\rangle corresponds to the north pole of the Bloch sphere, and the state |1\rangle to the south, but what about an arbitrary state |\psi\rangle=\alpha|0\rangle+\beta|1\rangle? By definition, we can find the parametrisation in terms of \theta and \varphi, but there is also a neat “trick” for finding the point on the Bloch sphere that corresponds to |\psi\rangle, which goes as follows.

  1. Calculate \lambda=\beta/\alpha (assuming that \alpha\neq0, since otherwise |\psi\rangle=|1\rangle).
  2. Write \lambda=\lambda_x+i\lambda_y and mark the point p=(\lambda_x,\lambda_y) in the xy-plane (i.e. the plane \{z=0\}).
  3. Draw the line going through the south-pole and the point p. This will intersect the Bloch sphere in exactly one other point, and this is exactly the point corresponding to |\psi\rangle.

Note that this lets you draw the point on the sphere, but doesn’t (immediately) give you the coordinates for it. That is, this method is nice for geometric visualisation, but the parametrisation method is much better when it comes to actually doing calculations.


  1. Note that \mathrm{U}(1)\cong\mathbb{C}^\times, where \mathbb{C}^\times is the multiplicative group of unit elements of the complex numbers, i.e. the set \mathbb{C}\setminus\{0\} with the group operation given by multiplication.↩︎

  2. That is, we have the group \mathrm{U}(2) acting on the space of single-qubit state vectors, and we have the group \mathrm{SO}(3) acting on the unit sphere S^2\subset\mathbb{R}^3. In this chapter we will discuss how to go from one space (i.e. the thing being acted upon by the group) to the other; in Chapter 3 we will discuss how to go from one group (i.e. the thing acting on the space) to the other.↩︎

  3. We will revisit this construction again in more detail, and from a slightly different point of view, in Chapter 3.↩︎

  4. Again, see Chapter 3.↩︎