Visualizing quantum walks on small graphs

This page has all the Julia code necessary for creating the images; as such, it must begin with a couple of trivialities, as loading the dependencies and defining the adjacency matrix of a graph.

31.4 μs
47.7 s
adjacency_matrix (generic function with 2 methods)
258 μs

Quantum Walk representation

I am representing a quantum walk as the adjacency matrix of the graph.

25.5 μs
QuantumWalk
9.8 ms

I also created a custom heatmap function for displaying the matrices.

25.9 μs
heatmap (generic function with 1 method)
160 μs

Then it is easy to create an animation: Just iterate over a bunch of times and display the component-wise absolute value of exp(itA).

27.9 μs
animate (generic function with 1 method)
233 μs
14.4 ms

Visualizations

I can now display some quantum walks. I will show for P2 and for P3 at their respective periods.

34.1 μs
31.5 s
20.5 s

We can also observe the instantaneous uniform mixing of the claw graph at

t=2π331.21

.

24.3 μs
20.3 s

Cartesian product

There are two interesting things to do with the cartesian product. The first one is to watch how the quantum walk on the cartesian product reduces to the kronecker product in each matrix.

35.6 μs
visualize_product (generic function with 1 method)
291 μs
21.7 s
21.7 s
21.4 s

We may also consider the cartesian powers of a graph, and visualize the behavior of the quantum walks on them.

19.3 μs
cartesian_power (generic function with 1 method)
91.7 μs
20.7 s
69.2 s