Table of Contents
Fetching ...

SQUWALS: A Szegedy QUantum WALks Simulator

Sergio A. Ortega, Miguel A. Martin-Delgado

TL;DR

The paper presents SQUWALS, a memory-efficient classical simulator for Szegedy's quantum walk that scales as $\mathcal{O}(N^2)$ in both time and memory, enabling accurate simulation on arbitrary graphs with dense transition matrices. It introduces a matrix-state representation and building-block operators (reflections, swaps, and oracles) to implement Szegedy-like unitaries efficiently, including extensions with complex phases and semiclassical/mixed-state dynamics. The authors provide a detailed methodology for simulating semiclassical Szegedy walks and mixed states, and they demonstrate the library's capabilities with high-level applications such as quantum PageRank. The work offers practical impact by enabling error-free classical testing of Szegedy-based algorithms and facilitating scalable exploration of quantum-walk-inspired optimization and learning tasks, with future plans for GPU acceleration and expanded algorithms.

Abstract

Szegedy's quantum walk is an algorithm for quantizing a general Markov chain. It has plenty of applications such as many variants of optimizations. In order to check its properties in an error-free environment, it is important to have a classical simulator. However, the current simulation algorithms require a great deal of memory due to the particular formulation of this quantum walk. In this paper we propose a memory-saving algorithm that scales as $\mathcal{O}(N^2)$ with the size $N$ of the graph. We provide additional procedures for simulating Szegedy's quantum walk over mixed states and also the Semiclassical Szegedy walk. With these techniques we have built a classical simulator in Python called SQUWALS. We show that our simulator scales as $\mathcal{O}(N^2)$ in both time and memory resources. This package provides some high-level applications for algorithms based on Szegedy's quantum walk, as for example the quantum PageRank.

SQUWALS: A Szegedy QUantum WALks Simulator

TL;DR

The paper presents SQUWALS, a memory-efficient classical simulator for Szegedy's quantum walk that scales as in both time and memory, enabling accurate simulation on arbitrary graphs with dense transition matrices. It introduces a matrix-state representation and building-block operators (reflections, swaps, and oracles) to implement Szegedy-like unitaries efficiently, including extensions with complex phases and semiclassical/mixed-state dynamics. The authors provide a detailed methodology for simulating semiclassical Szegedy walks and mixed states, and they demonstrate the library's capabilities with high-level applications such as quantum PageRank. The work offers practical impact by enabling error-free classical testing of Szegedy-based algorithms and facilitating scalable exploration of quantum-walk-inspired optimization and learning tasks, with future plans for GPU acceleration and expanded algorithms.

Abstract

Szegedy's quantum walk is an algorithm for quantizing a general Markov chain. It has plenty of applications such as many variants of optimizations. In order to check its properties in an error-free environment, it is important to have a classical simulator. However, the current simulation algorithms require a great deal of memory due to the particular formulation of this quantum walk. In this paper we propose a memory-saving algorithm that scales as with the size of the graph. We provide additional procedures for simulating Szegedy's quantum walk over mixed states and also the Semiclassical Szegedy walk. With these techniques we have built a classical simulator in Python called SQUWALS. We show that our simulator scales as in both time and memory resources. This package provides some high-level applications for algorithms based on Szegedy's quantum walk, as for example the quantum PageRank.
Paper Structure (22 sections, 41 equations, 9 figures)

This paper contains 22 sections, 41 equations, 9 figures.

Figures (9)

  • Figure 1: How to represent a vector state by a matrix state for a network with $N=3$ nodes. The blocks of the vector, indexed by the computational basis of the first register, correspond to the columns of the matrix. Beware that the indices in the coefficients $a_{ij}$ are swapped with respect to the ones of the usual matrix notation $\Phi_{ij}$.
  • Figure 2: How to condense all the information of the $\left|\psi_i\right>$ states in a matrix for a network with $N=3$ nodes. Each column $i$ of the matrix $\Psi$ corresponds to the non-null block of each $\left|\psi_i\right>$ state.
  • Figure 3: How to obtain the vector $C$ in \ref{['Ci_2']} for a network with $N=3$ nodes. The element-wise multiplication between $\Phi$ and $\Psi$ results in a matrix whose $i$-th column has the product of the non-null elements of $\left|\psi_i\right>$ and the elements of $\left|\phi\right>$. Thus, summing the elements of each column, the coefficients $C_i$ are obtained.
  • Figure 4: How to obtain the parallel component of the state $\left|\phi\right>$ for a network with $N=3$ nodes. The element-wise product of $C$ and $\Psi$ results in a matrix where each column represents the non-null elements of $C_i\left|\psi_i\right>$, which ends up representing the vector $\left|\phi_\parallel\right>$.
  • Figure 5: How to apply the oracle operators for a network with $N=3$ nodes. In this case nodes $0$ and $2$ are being marked. In order to mark them in the first (second) register, the corresponding columns (rows) are multiplied by $-1$.
  • ...and 4 more figures