English

Preconditioned Legendre spectral Galerkin methods for the non-separable elliptic equation

Numerical Analysis 2020-04-30 v1 Numerical Analysis

Abstract

The Legendre spectral Galerkin method of self-adjoint second order elliptic equations usually results in a linear system with a dense and ill-conditioned coefficient matrix. In this paper, the linear system is solved by a preconditioned conjugate gradient (PCG) method where the preconditioner MM is constructed by approximating the variable coefficients with a (TT+1)-term Legendre series in each direction to a desired accuracy. A feature of the proposed PCG method is that the iteration step increases slightly with the size of the resulting matrix when reaching a certain approximation accuracy. The efficiency of the method lies in that the system with the preconditioner MM is approximately solved by a one-step iterative method based on the ILU(0) factorization. The ILU(0) factorization of MR(N1)d×(N1)dM\in \mathbb{R}^{(N-1)^d\times(N-1)^d} can be computed using O(T2dNd)\mathcal{O}(T^{2d} N^d) operations, and the number of nonzeros in the factorization factors is of O(TdNd)\mathcal{O}(T^{d} N^d), d=1,2,3d=1,2,3. To further speed up the PCG method, an algorithm is developed for fast matrix-vector multiplications by the resulting matrix of Legendre-Galerkin spectral discretization, without the need to explicitly form it. The complexity of the fast matrix-vector multiplications is of O(Nd(logN)2)\mathcal{O}(N^d (\log N)^2). As a result, the PCG method has a O(Nd(logN)2)\mathcal{O}(N^d (\log N)^2) total complexity for a dd dimensional domain with (N1)d(N-1)^d unknows, d=1,2,3d=1,2,3. Numerical examples are given to demonstrate the efficiency of proposed preconditioners and the algorithm for fast matrix-vector multiplications.

Keywords

Cite

@article{arxiv.2004.13961,
  title  = {Preconditioned Legendre spectral Galerkin methods for the non-separable elliptic equation},
  author = {Xuhao Diao and Jun Hu and Suna Ma},
  journal= {arXiv preprint arXiv:2004.13961},
  year   = {2020}
}
R2 v1 2026-06-23T15:10:24.806Z