Visualizations
Bloch sphere
The Bloch sphere is a geometrical representation of the pure state space of a twolevel quantum mechanical system (qubit). Ignoring any global phase, an arbitrary qubit state may be written
\[\begin{align} \psi\rangle = \cos\frac{\vartheta}{2}0\rangle+ e^{i\varphi}\sin\frac{\vartheta}{2}1\rangle \end{align},\]where $\vartheta$ and $\varphi$ are real numbers parameterizing the quantum amplitudes and relative phase in a superposition of the standard qubit states \(0\rangle\) and \(1\rangle\), subject to the normalization constraint
\[\langle\psi\psi\rangle^2 = 1.\]Mapping $\vartheta$ and $\varphi$ to polar and azimuthal angles in spherical coordinates respectively the arbitrary state $\psi\rangle$ therefore defines a point on the unit threedimensional sphere, the Bloch sphere. In this representation the antipodal points $\vartheta = 0$ and $\vartheta = \pi$ defining the north and south poles correspond to the eigenstates \(0\rangle\) and \(1\rangle\) respectively. Any arbitrary unitary operation of the form
\[\begin{align} R(\theta,\hat{\boldsymbol{n}}) = \exp\left[i\frac{\theta}{2}\hat{\boldsymbol{n}}\boldsymbol{\sigma}\right], \end{align}\]implements the state transformation
\[\psi\rangle\rightarrow R(\theta,\hat{\boldsymbol{n}})\psi\rangle\]describing a rotation of the Bloch vector associated with the state \(\psi\rangle\) though an angle $\theta$ about the axis defined by the unit vector $\hat{\boldsymbol{n}}\in\mathbb{R}^3$.
For more details on the Bloch sphere see Quantum Computation and Quantum Information by Michael A. Nielsen and Isaac L. Chuang 2000, p.15.
Two qubits
Visualizing the dynamic evolution of entangled qubits presents a new challenge as correlations between the qubits cannot be simply represented using two Bloch spheres.
We present a new geometric representation for entangled qubit pairs, incorporating two Bloch spheres and three “correlation tetrahedra” in order to completely describe the state of two entangled qubits.
Given a quantum state of two qubits evolving over time, $\left\psi(t)\right\rangle$, we employ the following observables to create a dynamic visualization of the wavefunction.
Separable Bloch spheres
We plot the following observables over time on Bloch sphere A and B:

Bloch sphere A:
x. $ X_A = \langle \sigma_x \otimes I \rangle .$
y. $ Y_A = \langle \sigma_y \otimes I \rangle .$
z. $ Z_A = \langle \sigma_z \otimes I \rangle .$

Bloch sphere B:
x. $ X_B = \langle I \otimes \sigma_x \rangle .$
y. $ Y_B = \langle I \otimes \sigma_y \rangle .$
z. $ Z_B = \langle I \otimes \sigma_z \rangle .$
These are the mean values for the pauli matrixes on each individual qubit. Pure separable states are completely described by these parameters, and furthermore will be on the surface of each Bloch sphere. However pure entangled states have correlations which can not be described by the two Bloch spheres alone. To describe these states we must also look at the correlations between the qubits.
Entanglement tetrahedra
To completely describe all observable correlations that can be produced by an arbitrary pure entangled state three entanglement tetrahedra are needed.

Tetrahedra A:
x. $ V(XX) = \langle \sigma_x \otimes \sigma_x \rangle  X_A X_B . $
y. $ V(YY) = \langle \sigma_y \otimes \sigma_y \rangle  Y_A Y_B . $
z. $ V(ZZ) = \langle \sigma_z \otimes \sigma_z \rangle  Z_A Z_B . $

Tetrahedra B:
x. $ V(XY) = \langle \sigma_x \otimes \sigma_y \rangle  X_A Y_B . $
y. $ V(YZ) = \langle \sigma_y \otimes \sigma_z \rangle  Y_A Z_B . $
z. $ V(ZX) = \langle \sigma_z \otimes \sigma_x \rangle  Z_A X_B . $

Tetrahedra C:
x. $ V(XZ) = \langle \sigma_x \otimes \sigma_z \rangle  X_A Z_B . $
y. $ V(YX) = \langle \sigma_y \otimes \sigma_x \rangle  Y_A X_B . $
z. $ V(ZY) = \langle \sigma_z \otimes \sigma_y \rangle  Z_A Y_B . $
These can be interpreted as the three orthogonal arrangement between the axes of the two Bloch spheres. The combination of the Bloch spheres and the entanglement tetrahedra are a effectively just a way of representing all of the pauli observables.
It can be shown that the correlations of the pauli observables happen to be bound by the tetrahedra. For a discussion of this geometric interpretation of correlations and how it relates to other measures of quantum correlations, namely maximal entanglement and discord see The classicalquantum boundary for correlations: Discord and related measures.
Entanglement indicator
We use concurrence as our entanglement indicator. It measures the degree of entanglement between two qubits and for pure states can be written explicitly as
\[C(\psi) = 2  \langle 00  \psi \rangle \langle 11  \psi \rangle  \langle 01  \psi \rangle \langle 10  \psi \rangle .\]Concurrence is zero for separable states only and is one for maximally entangled states. We also display the whether a state is entangled or not. That is simply a test of whether the concurrence is non zero
\[E = (C(\psi) == 0).\]