Artigo Acesso aberto

PyAMG: Algebraic Multigrid Solvers in Python

2023; Open Journals; Volume: 8; Issue: 87 Linguagem: Inglês

10.21105/joss.05495

ISSN

2475-9066

Autores

Nathan Bell, Luke N. Olson, Jacob B. Schroder, Ben S. Southworth,

Tópico(s)

Matrix Theory and Algorithms

Resumo

PyAMG is a Python package of algebraic multigrid (AMG) solvers and supporting tools for approximating the solution to large, sparse linear systems of algebraic equations, 𝐴𝑥 = 𝑏,where is an × sparse matrix.Sparse linear systems arise in a range of problems in science, from fluid flows to solid mechanics to data analysis.While the direct solvers available in SciPy's sparse linear algebra package (scipy.sparse.linalg)are highly efficient, in many cases iterative methods are preferred due to overall complexity.However, the iterative methods in SciPy, such as CG and GMRES, often require an efficient preconditioner in order to achieve a lower complexity.Preconditioning is a powerful tool whereby the conditioning of the linear system and convergence rate of the iterative method are both dramatically improved.PyAMG constructs multigrid solvers for use as a preconditioner in this setting.A summary of multigrid and algebraic multigrid solvers can be found in Olson (2015a), in Olson (2015b), and in Falgout (2006); a detailed description can be found in Briggs et al. (2000) and Trottenberg et al. (2001).PyAMG provides a comprehensive suite of AMG solvers (see Methods), which is beneficial because many AMG solvers are specialized for particular problem types.

Referência(s)