# Playing with the Bloch Sphere

### How we made a game of learning Qubits

.

In this article we will briefly show the tool we built while learning quantum computing; alas, this article is not about teaching these concepts. We will be covering these in a series of articles soon.

At the start of our journey we were learning about qubits, and basic operations on them. A qubit (or Qbit) is a quantum bit. While a normal bit is represented as a simple one or zero, a Qbit is the state of a quantum particle, and thus has superposition. This means it can inhabit the space between one and zero. This complex state can be represented in lots of different ways.

For example, a simple base “0” can be shown as as the sum of “Ks”. This says: “The state is made of one lot of zero, and no ones.”

|φ> = 1|0> + 0 • |1>

Here it is as a single ket shorthand. This says: “It’s all made of the zero state.”

|0>

Here it is as a vector. The first row is the amount of zero we have (one) and the second is the amount of one we have (zero).

|1|
|0|
Here it is as a Bloch Sphere. This is probably the most common visualisation we use. The amount of of the zero state and the one state we have are both complex numbers. They have real and imaginary parts. Two numbers with two degrees of freedom means 4 degrees of freedom (or a 4D number if you will). However, because the squares of these numbers must add up to one, we lose a degree of freedom, and can cram this 4D number into “3D” space and draw it as points on the surface of a sphere. The more we dove into this the harder and less intuitive it became for computer scientists like us. How, for example, do you get from the |φ> = α•|0> + β• |1>  representation to working out the angles θ and φ in the bloch sphere?

I won’t leave you hanging, because we had to work it out ourselves after not finding it anywhere we searched:

Θ = 2cos-1(α)

and

φ = log(β/sin(Θ/2))/i

Then it comes time for Quantum Gates, which are linear maps that you apply to a Qbit. For example, the Pauli Gates:

The way these gates are applied is to multiply them by the Qbits’ vector. They are described at 180-degree rotations around the X,Y,Z axis of the Bloch sphere. Except that’s not exactly true.

You see, the Bloch sphere is a really useful lie. It’s a way of cramming a number with degrees of freedom into 3D space, which means it does strange things.

Let’s take the X,Y gates for example. If they were true 180-degree rotations as you were expecting, then |0> (shorthand for zero) would flip |1> (shorthand for one) and vice versa. The X gate does this; well done X gate. The Y gate, however, flips |0> to |i> (imaginary one).

This is all really confusing, and we will be writing some articles about it in the near future to explain it. Right now however, we want show you the tool we built to help us understand it all.

This was built in Unity3D at IBM’s Emerging Tech Labs. It represents the Qbit internally as two complex numbers, and then translates this into 3D animations so you can visualize what on earth is going on while at the same time viewing the maths though the UI.

If you want to download and play with it, the public github is here:

#### GwilymNewton/BlochSphereExplorer-

A 3D Unity Application for working with Bloch Spheres – GwilymNewton/BlochSphereExplorer-

We also have a video of it action: Previous Post

Next Post

More Innovation stories

### Fully automatic method for robust age progression

In Emerging Technology, we are constantly working on new research projects around security and biometrics. Since late last year, I spent some time researching age progression related problems using biometrics. One of the interesting problems with age progression was to create age progressed images with occlusions and in different age gaps for face subjects of […]