Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.2 / 3....
  • LibreOffice 3.6.6 / 4.0.3
  • MPlayer 1.1.1
  • systemd 204
  • Arch Linux 2013.05.01
  • Blender 2.67
  • KDE Software Compilatio...
  • CrunchBang Linux Stable...
  • Elementary OS 0.1 / 0.2...
  • SystemRescueCd 3.6.0
  • Home > Linux > Programming > Libraries

    pyamg 1.0.0

    Download button

    No screenshots available
    Downloads: 358  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    NOT RATED
    0 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    PyAMG Developers | More programs
    BSD License / FREE
    March 6th, 2009, 16:55 GMT
    ROOT / Programming / Libraries

     Read user reviews (0)  Refer to a friend  Subscribe

    pyamg description

    Algebraic Multigrid Solvers in Python

    PyAMG is a Python library of Algebraic Multigrid (AMG) solvers with a convenient interface.

    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.

    Objectives

     * ease of use
     o interface is accessible to non-experts
     o extensive documentation and references
     * speed
     o solves problems with millions of unknowns efficiently
     o core multigrid algorithms are implemented in C++ and translated through SWIG
     o sparse matrix support provided by scipy.sparse
     * readability
     o source code is organized into intuitive components
     * extensibility
     o core components can be reused to implement additional techniques
     o new features are easy integrated
     * experimentation
     o facilitates rapid prototyping and analysis of multigrid methods
     * portability
     o tested on several platforms
     o relies only on Python, NumPy, and SciPy

    Example Usage

    PyAMG 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-06



    Product's homepage

    Here are some key features of "pyamg":

    PyAMG features implementations of:

    · Ruge-Stuben (RS) or Classical AMG
    · AMG based on Smoothed Aggregation (SA)

    and experimental support for:

    · Adaptive Smoothed Aggregation (αSA)
    · Compatible Relaxation (CR)

    Requirements:

    · Python

      


    TAGS:

    Algebraic Multigrid | Multigrid Solvers | Python library | Algebraic | Multigrid | Solvers

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM