We thank all PETSc users for their many suggestions, bug reports, and encouragement. We especially thank David Keyes for his valuable comments on the source code, functionality, and documentation for PETSc.
Some of the source code and utilities in PETSc have been written by:
- Asbjorn Hoiland Aarrestad, (the explicit Runge-Kutta implementations)
- G. Anciaux and J. Roman, (the interfaces to the partitioning packages PTScotch, Chaco, and Party)
- Allison Baker, (the flexible GMRES and the LGMRES code)
- Chad Carroll, (the Win32 graphics),
- Ethan Coon, (the PetscBag and many bug fixes),
- Cameron Cooper, (portions of the VecScatter routines)
- Paulo Goldfeld, (the balancing Neumann-Neumann preconditioner).
- Matt Hille,
- Joel Malard, (the BICGStab(l) implementation)
- Paul Mullowney, (improvement enhancements to portions of the Nvidia GPU interface)
- Dave May, (Generalized Conjugate Residuals (GCR) implementation)
- Peter Mell, (portions of the DA routines)
- Richard Mills, (the AIJPERM matrix format for the Cray X1 and universal F90 array interface)
- Victor Minden, (the Nvidia GPU interface)
- Todd Munson, (the LUSOL interface as well as the specialized KSPNASH, KSPSTCG, and KSPGLTR Krylov solvers)
- Adam Powell (the PETSc Debian package)
- Robert Scheichl, (the MINRES implementation)
- Kerry Stevens, (the pthread based Vec and Mat classes plus the various thread pools)!
- Karen Toonen, (designed and implemented much of the PETSc web pages)
- Desire Nuentsa Wakam, (the deflated GMRES implementation)
- Liyang Xu, (the interface to PVODE, now Sundials/CVODE)