On $τ$-preconditioners for a quasi-compact difference scheme to Riesz fractional diffusion equations with variable coefficients
Zi-Hang She, Xue Zhang, Xian-Ming Gu, Stefano Serra-Capizzano
TL;DR
This work tackles solving Toeplitz-like linear systems arising from a $d$-dimensional Riesz space fractional diffusion equation with variable coefficients by coupling a Crank–Nicolson time discretization with a fourth-order quasi-compact spatial scheme. A sine-transform based $ au$ preconditioner is developed to accelerate GMRES, with the preconditioned system shown to have a mesh-independent convergence bound and $O(N\log N)$ per-iteration cost. The authors provide rigorous analysis of the preconditioned GMRES method and corroborate it with extensive 1D–3D numerical tests, demonstrating robust, efficient solving across varying fractional orders and dimensions. The results offer a scalable solver for high-dimensional RSFDEs with nonlocal operators, potentially benefiting simulations in diffusion and transport with variable media.
Abstract
In the present study, we consider the numerical method for Toeplitz-like linear systems arising from the $d$-dimensional Riesz space fractional diffusion equations (RSFDEs). We apply the Crank-Nicolson (CN) technique to discretize the temporal derivative and apply a quasi-compact finite difference method to discretize the Riesz space fractional derivatives. For the $d$-dimensional problem, the corresponding coefficient matrix is the sum of a product of a (block) tridiagonal matrix multiplying a diagonal matrix and a $d$-level Toeplitz matrix. We develop a sine transform based preconditioner to accelerate the convergence of the GMRES method. Theoretical analyses show that the upper bound of relative residual norm of the preconditioned GMRES method with the proposed preconditioner is mesh-independent, which leads to a linear convergence rate. Numerical results are presented to confirm the theoretical results regarding the preconditioned matrix and to illustrate the efficiency of the proposed preconditioner.
