Skip to main content
Log in

A Parallel Python library for nonlinear systems

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

In this paper, we present PyPANCG, a Python library-interface that implements both the conjugate gradient method and the preconditioned conjugate gradient method for solving nonlinear systems. We describe the use of the library and its advantages in order to get fast development. The aim of this library is to develop high performance scientific codes for high-end computers hiding many of the underlying low-level programming complexities from users with the use of a high-level Python interface. The library has been designed for adapting to different stages of the design process, depending on whether the purpose is computational performance or fast development. Experimental results report the performance of our approach on different parallel computers.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Adams L (1985) M-step preconditioned conjugate gradient methods. SIAM J Sci Stat Comput 6:452–462

    Article  MATH  Google Scholar 

  2. Averick BM, Carter RG, More JJ, Xue G (1991) The MINPACK-2 test problem collection. Technical Report MCS-P153-0692, Mathematics and Computer Science Division, Argonne

  3. Drummond LA, Galiano V, Marques O, Migallón V, Penadés J (2007) PyACTS: a high-level framework for fast development of high performance applications. In: Lect notes comput sci, vol 4395. Springer, Berlin, pp 417–425

    Google Scholar 

  4. Fletcher R, Reeves C (1964) Function minimization by conjugate gradients. Comput J 7:49–154

    Article  MathSciNet  Google Scholar 

  5. Galiano V, Migallón H, Migallón V, Penadés J (2009) Parallel nonlinear preconditioners on multicore architectures. J Supercomput. doi:10.1007/s11227-009-0351-0

    Google Scholar 

  6. Hinsen K (2002) Scientific Python user’s guide. Centre de Biophysique Moleculaire CNRS, Grenoble

    Google Scholar 

  7. Langtangen HP (1989) Conjugate gradient methods and ILU preconditioning of nonsymmetric matrix systems with arbitrary sparsity patterns. Int J Numer Methods Fluids 9:213–233

    Article  MathSciNet  MATH  Google Scholar 

  8. Message Passing Interface (2011) http://www-unix.mcs.anl.gov/mpi/

  9. Migallón V, Penadés J (1997) Convergence of two-stage iterative methods for Hermitian positive definite matrices. Appl Math Lett 10(3):79–83

    Article  MathSciNet  MATH  Google Scholar 

  10. Miller P (2002) PyMPI—an introduction to parallel Python using MPI. http://www.llnl.gov/computing/develop/python/pyMPI.pdf

  11. Painter J, Merritt EA (2004) mmLib Python toolkit for manipulating annotated structural models of biological macromolecules. J Appl Crystallogr 37(1):174–178

    Article  Google Scholar 

  12. Sáenz J, Zubillaga J, Fernández J (2002) Geophysical data analysis using Python. Comput Geosci 24(4):457–465

    Google Scholar 

  13. Sala M, Spotz W, Heroux M (2008) PyTrilinos: high-performance distributed-memory solvers for Python. ACM Trans Math Softw 34(2):1–33

    MathSciNet  Google Scholar 

  14. Scherer D, Dubois P, Sherwood B (2000) VPython: 3D interactive scientific graphics for students. Comput Sci Eng 2(5):56–62

    Article  Google Scholar 

  15. van Rossum G, Drake FL Jr (2003) An introduction to Python. Network Theory Ltd., Bristol

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Héctor Migallón.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Migallón, H., Migallón, V. & Penadés, J. A Parallel Python library for nonlinear systems. J Supercomput 58, 438–448 (2011). https://doi.org/10.1007/s11227-011-0609-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-011-0609-1

Keywords

Navigation