The Portable, Extensible Toolkit for Scientific Computation

This pointer in netlib is excerpted from the PETSc home page, which should be consulted for further links and more recent information.
PETSc is a large suite of data structures and routines for both uni- and parallel-processor scientific computing. Intended especially for the numerical solution of large-scale problems modeled by partial differential equations, PETSc provides a rich environment for modeling scientific applications as well as for rapid algorithm design and prototyping. PETSc 2.0 uses MPI for all interprocessor communication.

PETSc provides clean and effective codes for the various phases of solving PDEs, with a uniform approach for each class of problems. This design enables easy use and comparison of different algorithms (for example, to experiment with different Krylov subspace methods, preconditioners or truncated Newton methods). The components enable easy customization and extension of both algorithms and implementations. This approach promotes code reuse and flexibility, and separates the issues of parallelism from the choice of algorithms. In addition, the PETSc infrastructure creates a foundation for building portable large-scale applications and extended suites of numerical routines.

The PETSc Team

Satish Balay
William Gropp
Lois Curfman McInnes
Barry Smith

We are in the Mathematics and Computer Science Division of Argonne National Laboratory.

Please address all PETSc questions, comments, suggestions, and bug reports to