Abstract
In the general field of quantum information and computation, quantum walks are playing an increasingly important role in constructing physical models and quantum algorithms. We have recently developed a distributed memory software package pyCTQW, with an object-oriented Python interface, that allows efficient simulation of large multi-particle CTQW (continuous-time quantum walk)-based systems. In this paper, we present an introduction to the Python and Fortran interfaces of pyCTQW, discuss various numerical methods of calculating the matrix exponential, and demonstrate the performance behavior of pyCTQW on a distributed memory cluster. In particular, the Chebyshev and Krylov-subspace methods for calculating the quantum walk propagation are provided, as well as methods for visualization and data analysis. Program summaryProgram title: pyCTQWCatalogue identifier: AEUN_v1_0Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AEUN_v1_0.htmlProgram obtainable from: CPC Program Library, Queen’s University, Belfast, N. IrelandLicensing provisions: yesNo. of lines in distributed program, including test data, etc.: 130389No. of bytes in distributed program, including test data, etc.: 4971890Distribution format: tar.gzProgramming language: Fortran and Python.Computer: Workstation or cluster implementing MPI.Operating system: Any operating system with Fortran, python, and MPI installed.RAM: Depends on graph size and number of walkersClassification: 4.15, 14.External routines: PETSc [1–3], SLEPc [4–6], MPI, NumPy and SciPy [7–9], Matplotlib [10], NetworkX [11]Nature of problem:Simulates, visualizes and analyzes continuous-time quantum walks on arbitrary undirected graphs.Solution method:Distributed memory implementations of the matrix exponential, via a choice of Krylov-subspace and Chebyshev expansion techniques, are used to simulate the continuous-time quantum walkers. Visualization ability is provided via the supplied Python module and Matplotlib.Restrictions:The size of the quantum walking system is limited by the amount of available memory. The current package implements up to 3 simultaneous walkers with interactions, but it can be readily extended.Unusual features:In addition to utilizing a parallelized Krylov subspace method and Chebyshev approximation scheme to maximize efficiency, pyCTQW also provides functions for visualization of the quantum walk dynamics and calculation of multi-particle entanglement, and allows for arbitrary diagonal defects to be placed on graph nodes to explore transmission and resonance structures.Running time:Runtime varies depending on the size of the graph, number of processors used, and number of simultaneous walkers.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have