QGLAB: A MATLAB Package for Computations on Quantum Graphs

Roy H. Goodman,Grace Conte,Jeremy L. Marzuola
2024-01-01
Abstract:We describe QGLAB, a new MATLAB package for analyzing partial differential equations on quantum graphs. The software is built on the existing, object-oriented MATLAB directed-graph class, inheriting its structure and adding additional easy-to-use features. The package allows one to construct a quantum graph and accurately compute the spectrum of elliptic operators, solutions to Poisson problems, the linear and nonlinear time evolution of a variety of PDEs, the continuation of branches of steady states (including locating and switching branches at bifurcations) and more. It uses a unified framework to implement finite-difference and Chebyshev discretizations of differential operators on a quantum graph. For simplicity, the package overloads many built-in MATLAB functions to work on the class.
Numerical Analysis,Analysis of PDEs
What problem does this paper attempt to address?
This paper introduces a MATLAB software package called QGLAB, which is used for analyzing partial differential equations on quantum graphs. QGLAB is built on MATLAB's directed graph class and adds additional functionality that allows users to easily construct quantum graphs and compute the spectra of elliptic operators, the solutions of Poisson problems, the time evolution of various PDEs, and the continuity of branches (including bifurcation detection and branch switching). The package specifically focuses on solutions of the nonlinear Schrödinger equation (NLS) and supports the computation of bifurcation diagrams of branch graphs. The main goals of QGLAB are: 1. Efficient computation of bifurcation diagrams: studying how stationary waves of the NLS emerge along a parameter family rather than as isolated points. Through branch continuation methods, the software can detect the most common bifurcation points and switch branches at these points. 2. Spectral space accuracy and high-order time stepping: future plans include computing time periodicity and relative time periodic orbits of the NLS on compact quantum graphs. The core of the software package is a quantum graph class, which is based on MATLAB's directed graph class and provides functionalities such as symbolic computations, numerical continuation, and spectral accurate solvers. Although it shares some similarities with the analogous package "GraFiDi" in Python, QGLAB also includes spectral accurate solvers and other advanced features. The paper also discusses the definition of quantum graphs, including the edges, vertices, weights, and boundary conditions of quantum graphs, as well as how to define the Laplace operator. It explores eigenvalue problems on quantum graphs, PDEs, particularly the nonlinear Schrödinger equation, and related numerical methods such as finite differences and Chebyshev approximation. Additionally, the paper provides detailed descriptions of the numerical methods used in the software, including discretization, boundary condition handling, nonlinear solvers, and time advancement algorithms. In conclusion, this paper aims to provide a tool that allows researchers to set up, solve, and visualize problems on quantum graphs quickly and easily, thereby advancing the study of quantum graph theory and related PDEs.