PETSc, the Portable, Extensible Toolkit for Scientific Computation
is a large suite of data structures and routines for both uni- and
parallel-processor numerical solution of large-scale scientific
application problems modeled by partial differential equations, using
implicit discretization methods. PETSc 2.0 uses MPI
implementations and is fully usable from Fortran, C/C++.