PETSc interfaces to the following optional external software (installing packages) (manual pages):
- AMD - Approximate minimum degree orderings.
- BLAS and LAPACK
- Chaco - a graph partitioning package.
- ESSL - IBM's math library for fast sparse direct LU factorization.
- FFTW - Fastest Fourier Transform in the West, developed at MIT by Matteo Frigo and Steven G. Johnson.
- HDF5 - the data model, library, and file format for storing and managing data.
- 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.
- PTScotch - a graph partitioning package.
- SPAI - for parallel sparse approximate inverse preconditioning.
- 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.
- SuiteSparse, including KLU, UMFPACK, and CHOLMOD - sparse direct solvers, developed by Timothy A. Davis.
- ViennaCL - Linear algebra library providing matrix and vector operations using OpenMP, CUDA, and OpenCL.
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
- Git revision control system
PETSc documentation has been generated using