PETSc interfaces to the following optional external software (installing packages) (manual pages):
- ADIC/ ADIFOR - automatic differentiation for the computation of sparse Jacobians.
- AMD - Approximate minimum degree orderings.
- AnaMod - a library of matrix analysis modules; part of the Salsa project.
- BLAS and LAPACK
- Chaco - a graph partitioning package.
- ESSL - IBM's math library for fast sparse direct LU factorization.
- Euclid - parallel ILU(k) developed by David Hysom, accessed through the Hypre interface.
- FFTW - Fastest Fourier Transform in the West, developed at MIT by Matteo Frigo and Steven G. Johnson.
- Hypre - the LLNL preconditioner library.
- LUSOL - sparse LU factorization and solve portion of MINOS, Michael Saunders, Systems Optimization Laboratory, Stanford University.
- Mathematica,
- MATLAB,
- MUMPS - MUltifrontal Massively Parallel sparse direct Solver.
- ParMeTiS - parallel graph partitioner.
- Party - a graph partitioning package.
- PaStiX - a parallel LU and Cholesky solver package.
- PLAPACK - Parallel Linear Algebra Package developed by Greg Baker, John Gunnels, Greg Morrow, Beatrice Riviere and Robert van de Geijn.
- Prometheus - An extremely scalable unstructured finite element solver, developed by Mark Adams.
- PTScotch - a graph partitioning package.
- SPAI - for parallel sparse approximate inverse preconditioning.
- SPOOLES - SParse Object Oriented Linear Equations Solve developed by Cleve Ashcraft (use ./configure option --download-spooles to install; the publicly released version has a bug so does not work with PETSc).
- SPRNG - The Scalable Parallel Random Number Generators Library.
- Sundial/CVODE - the LLNL SUite of Nonlinear and DIfferential/ALgebraic equation Solvers.
- SuperLU and SuperLU_Dist - robust and efficient sequential and parallel direct sparse solves.
- Trilinos/ML - ML: Multilevel Preconditioning Package. Sandia's main multigrid preconditioning package.
- UMFPACK - sparse direct solvers, developed by Timothy A. Davis.
PETSc contains modifications of routines from
- LINPACK (matrix factorization and solve; converted to C using f2c and then hand-optimized for small matrix sizes)
- MINPACK (sequential matrix coloring routines for finite difference Jacobian evaluations; converted to C using f2c)
- SPARSPAK (matrix reordering routines, converted to C using f2c, this is the PUBLIC DOMAIN version of SPARSPAK)
- libtfs (the scalable parallel direct solver created and written by Henry Tufo and Paul Fischer).
Instrumentation of PETSc
- PETSc can be instrumented using the TAU package [check installation instructions].
PETSc software is developed and maintained with
PETSc documentation has been generated using