|
Project Information
Featured
Downloads
Links
|
IntroductionPyAMG is a library of Algebraic Multigrid (AMG) solvers with a convenient Python interface. Citing @MISC{BeOlSc2011,
author = "Bell, W. N. and Olson, L. N. and Schroder, J. B.",
title = "{PyAMG}: Algebraic Multigrid Solvers in {Python} v2.0",
year = "2011",
url = "http://www.pyamg.org",
note = "Release 2.0"
}
Getting HelpContact the pyamg-user group Look at the Tutorial or the Examples (for instance the STARTHERE example) Read the documentation or Try the docstrings: for example print pyamg.strength.__doc__ What is AMG?AMG is a multilevel technique for solving large-scale linear systems with optimal or near-optimal efficiency. Unlike geometric multigrid, AMG requires little or no geometric information about the underlying problem and develops a sequence of coarser grids directly from the input matrix. This feature is especially important for problems discretized on unstructured meshes and irregular grids. PyAMG FeaturesPyAMG features implementations of:
The predominant portion of PyAMG is written in Python with a smaller amount of supporting C++ code for performance critical operations. PyAMG Objectives
Example UsagePyAMG is easy to use! The following code constructs a two-dimensional Poisson problem and solves the resulting linear system with Classical AMG. from scipy import * from scipy.linalg import * from pyamg import * from pyamg.gallery import * A = poisson((500,500), format='csr') # 2D Poisson problem on 500x500 grid ml = ruge_stuben_solver(A) # construct the multigrid hierarchy print ml # print hierarchy information b = rand(A.shape[0]) # pick a random right hand side x = ml.solve(b, tol=1e-10) # solve Ax=b to a tolerance of 1e-8 print "residual norm is", norm(b - A*x) # compute norm of residual vector Program output: multilevel_solver
Number of Levels: 6
Operator Complexity: 2.198
Grid Complexity: 1.666
Coarse Solver: 'pinv2'
level unknowns nonzeros
0 250000 1248000 [45.50%]
1 125000 1121002 [40.87%]
2 31252 280662 [10.23%]
3 7825 70657 [ 2.58%]
4 1937 17973 [ 0.66%]
5 484 4728 [ 0.17%]
residual norm is 1.86112114946e-06Refer to Tutorial or Examples for more applications of PyAMG. Complete code documentation can be found here. |