This note proposes an efficient preconditioner for solving linear and semi-linear parabolic equations. With the Crank-Nicholson time stepping method, the algebraic system of equations at each time step is solved with the conjugate gradient method, preconditioned with hierarchical interpolative factorization. Stiffness matrices arising in the discretization of parabolic equations typically have large condition numbers, and therefore preconditioning becomes essential, especially for large time steps. We propose to use the hierarchical interpolative factorization as the preconditioning for the conjugate gradient iteration. Computed only once, the hierarchical interpolative factorization offers an efficient and accurate approximate inverse of the linear system. As a result, the preconditioned conjugate gradient iteration converges in a small number of iterations. Compared to other classical exact and approximate factorizations such as Cholesky or incomplete Cholesky, the hierarchical interpolative factorization can be computed in linear time and the application of its inverse has linear complexity. Numerical experiments demonstrate the performance of the method and the reduction of conjugate gradient iterations.
翻译:本说明提出了解决线性和半线性抛物线性方程式的有效先决条件。 使用 Clank- Nicholson 时间阶梯法, 每一步方程的代数系统在每步的代数系统中都以同流梯度法解决, 以等级内乘因子化为先决条件。 在抛物线性方程的离散中产生的僵化矩阵通常具有较大的条件数量, 因此, 特别是对于大型时间步骤来说, 先决条件就变得十分必要 。 我们提议使用等级间因子化作为同流梯度迭代的前提条件 。 我们只计算一次, 等级间因子化提供一种有效和准确的直线性系统的近似值。 结果, 先决条件的同流梯度迭代相交汇成少量的迭代数。 与其他经典精确和大致因子化, 如Choolesky 或不完全的Choolesky, 相比, 等级间因数因子化可以计算成线性时间, 而其应用则具有线性复杂性 。 数字性实验显示该方法的性, 及其梯度梯度梯度的减少 。