xref: /petsc/doc/miscellaneous/acknowledgements.md (revision 49c2f9045d3a91e7be182f7f53e05380f8af9fad)
1*9b92b1d3SBarry Smith(acknowledgements)=
2*9b92b1d3SBarry Smith
3*9b92b1d3SBarry Smith# Acknowledgements
4*9b92b1d3SBarry Smith
5*9b92b1d3SBarry SmithWe thank all PETSc/Tao/petsc4py users for their many suggestions, bug reports, and encouragement.
6*9b92b1d3SBarry Smith
7*9b92b1d3SBarry SmithRecent contributors to PETSc are listed in the [repository system](https://gitlab.com/petsc/petsc). The history can be visualized at
8*9b92b1d3SBarry Smith[github.com/petsc/petsc/graphs/contributors](https://github.com/petsc/petsc/graphs/contributors).
9*9b92b1d3SBarry Smith
10*9b92b1d3SBarry SmithEarlier contributors to PETSc that are not captured in the repository system include:
11*9b92b1d3SBarry Smith
12*9b92b1d3SBarry Smith- Asbjorn Hoiland Aarrestad, the explicit Runge-Kutta implementations, `TSRK`.
13*9b92b1d3SBarry Smith- Guillaume Anciaux and Jose E. Roman, the interfaces to the partitioning packages PTScotch, Chaco, and Party.
14*9b92b1d3SBarry Smith- Allison Baker, `KSPFGMRES` and `KSPLGMRES`.
15*9b92b1d3SBarry Smith- Chad Carroll, the Win32 graphics.
16*9b92b1d3SBarry Smith- Ethan Coon, `PetscBag` and many bug fixes.
17*9b92b1d3SBarry Smith- Cameron Cooper, portions of `VecScatter` routines.
18*9b92b1d3SBarry Smith- Patrick Farrell and Florian Wechsung, `PCPATCH` and `SNESPATCH`.
19*9b92b1d3SBarry Smith- Paulo Goldfeld, early versions of the balancing Neumann-Neumann preconditioner `PCNN`.
20*9b92b1d3SBarry Smith- Matt Hille.
21*9b92b1d3SBarry Smith- Joel Malard, `KSPBCGS`.
22*9b92b1d3SBarry Smith- Paul Mullowney, enhancements to portions of the original CUDA GPU interface.
23*9b92b1d3SBarry Smith- Dave May, `KSPGCR`.
24*9b92b1d3SBarry Smith- Peter Mell, portions of `DMDA` routines.
25*9b92b1d3SBarry Smith- Richard Mills, the `MATAIJPERM` matrix format for the Cray X1; universal F90 array
26*9b92b1d3SBarry Smith  interface; enhancements to `KSPIBCGS`; the `MATAIJMKL` matrix subclass.
27*9b92b1d3SBarry Smith- Victor Minden, the original CUDA GPU interface.
28*9b92b1d3SBarry Smith- Todd Munson, `MATSOLVERLUSOL` as well as `KSPNASH`, `KSPSTCG`, and
29*9b92b1d3SBarry Smith  `KSPGLTR`.
30*9b92b1d3SBarry Smith- Robert Scheichl, the original `KSPMINRES` implementation.
31*9b92b1d3SBarry Smith- Karen Toonen, designed and implemented most of the original PETSc web pages.
32*9b92b1d3SBarry Smith- Desire Nuentsa Wakam, `KSPDGMRES`.
33*9b92b1d3SBarry Smith- Liyang Xu, the interface to PVODE (now Sundials/CVODE) `TSSUNDIALS`.
34*9b92b1d3SBarry Smith
35*9b92b1d3SBarry SmithThe Toolkit for Advanced Optimization (Tao) developers especially thank Jorge Moré
36*9b92b1d3SBarry Smithfor his leadership, vision, and effort on previous versions of Tao. Tao has
37*9b92b1d3SBarry Smithalso benefited from the work of various researchers who have provided solvers, test problems,
38*9b92b1d3SBarry Smithand interfaces. In particular, we acknowledge: Adam Denchfield, Elizabeth Dolan, Evan Gawlik,
39*9b92b1d3SBarry SmithMichael Gertz, Xiang Huang, Lisa Grignon, Manojkumar Krishnan, Gabriel Lopez-Calva,
40*9b92b1d3SBarry SmithJarek Nieplocha, Boyana Norris, Hansol Suh, Stefan Wild, Limin Zhang, and
41*9b92b1d3SBarry SmithYurii Zinchenko.
42*9b92b1d3SBarry Smith
43*9b92b1d3SBarry SmithPETSc source code contains modified routines from the following public
44*9b92b1d3SBarry Smithdomain software packages:
45*9b92b1d3SBarry Smith
46*9b92b1d3SBarry Smith- LINPACK - dense matrix factorization and solve; converted to C using
47*9b92b1d3SBarry Smith  `f2c` and then hand-optimized for small matrix sizes, for block
48*9b92b1d3SBarry Smith  matrix data structures;
49*9b92b1d3SBarry Smith- MINPACK - sequential matrix coloring routines for finite
50*9b92b1d3SBarry Smith  difference Jacobian evaluations; converted to C using `f2c`;
51*9b92b1d3SBarry Smith- SPARSPAK - matrix reordering routines, converted to C
52*9b92b1d3SBarry Smith  using `f2c`;
53*9b92b1d3SBarry Smith- libtfs - the efficient, parallel direct solver developed by Henry
54*9b92b1d3SBarry Smith  Tufo and Paul Fischer for the direct solution of a coarse grid
55*9b92b1d3SBarry Smith  problem (a linear system with very few degrees of freedom per
56*9b92b1d3SBarry Smith  processor).
57*9b92b1d3SBarry Smith
58*9b92b1d3SBarry SmithPETSc interfaces to many external software packages including:
59*9b92b1d3SBarry Smith
60*9b92b1d3SBarry Smith- BLAS and LAPACK - numerical linear algebra;
61*9b92b1d3SBarry Smith- Chaco - A graph partitioning package;
62*9b92b1d3SBarry Smith  <http://www.cs.sandia.gov/CRF/chac.html>
63*9b92b1d3SBarry Smith- Elemental - Jack Poulson’s parallel dense matrix solver package;
64*9b92b1d3SBarry Smith  <http://libelemental.org/>
65*9b92b1d3SBarry Smith- HDF5 - the data model, library, and file format for storing and
66*9b92b1d3SBarry Smith  managing data,
67*9b92b1d3SBarry Smith  <https://support.hdfgroup.org/HDF5/>
68*9b92b1d3SBarry Smith- hypre - the LLNL preconditioner library;
69*9b92b1d3SBarry Smith  <https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods>
70*9b92b1d3SBarry Smith- LUSOL - sparse LU factorization code (part of MINOS) developed by
71*9b92b1d3SBarry Smith  Michael Saunders, Systems Optimization Laboratory, Stanford
72*9b92b1d3SBarry Smith  University;
73*9b92b1d3SBarry Smith  <http://www.sbsi-sol-optimize.com/>
74*9b92b1d3SBarry Smith- MATLAB
75*9b92b1d3SBarry Smith- Metis/ParMeTiS - parallel graph partitioner,
76*9b92b1d3SBarry Smith  <https://www-users.cs.umn.edu/~karypis/metis/>
77*9b92b1d3SBarry Smith- MUMPS - MUltifrontal Massively Parallel sparse direct
78*9b92b1d3SBarry Smith  Solver developed by Patrick Amestoy, Iain Duff, Jacko Koster, and
79*9b92b1d3SBarry Smith  Jean-Yves L’Excellent;
80*9b92b1d3SBarry Smith  <https://mumps-solver.org/>
81*9b92b1d3SBarry Smith- Party - A graph partitioning package;
82*9b92b1d3SBarry Smith- PaStiX - Parallel sparse LU and Cholesky solvers;
83*9b92b1d3SBarry Smith  <http://pastix.gforge.inria.fr/>
84*9b92b1d3SBarry Smith- PTScotch - A graph partitioning package;
85*9b92b1d3SBarry Smith  <http://www.labri.fr/Perso/~pelegrin/scotch/>
86*9b92b1d3SBarry Smith- SPAI - for parallel sparse approximate inverse preconditioning;
87*9b92b1d3SBarry Smith  <https://cccs.unibas.ch/lehre/software-packages/>
88*9b92b1d3SBarry Smith- SuiteSparse - sequential sparse solvers, developed by
89*9b92b1d3SBarry Smith  Timothy A. Davis;
90*9b92b1d3SBarry Smith  <http://faculty.cse.tamu.edu/davis/suitesparse.html>
91*9b92b1d3SBarry Smith- SUNDIALS/CVODE - (now an out-dated version), parallel ODE integrator;
92*9b92b1d3SBarry Smith  <https://computation.llnl.gov/projects/sundials>
93*9b92b1d3SBarry Smith- SuperLU and SuperLU_Dist - the efficient sparse LU codes
94*9b92b1d3SBarry Smith  developed by Jim Demmel, Xiaoye S. Li, and John Gilbert;
95*9b92b1d3SBarry Smith  <https://crd-legacy.lbl.gov/~xiaoye/SuperLU>
96*9b92b1d3SBarry Smith- STRUMPACK - the STRUctured Matrix Package;
97*9b92b1d3SBarry Smith  <https://portal.nersc.gov/project/sparse/strumpack/>
98*9b92b1d3SBarry Smith- Triangle and Tetgen - mesh generation packages;
99*9b92b1d3SBarry Smith  <https://www.cs.cmu.edu/~quake/triangle.html>
100*9b92b1d3SBarry Smith  <http://wias-berlin.de/software/tetgen/>
101*9b92b1d3SBarry Smith- Trilinos/ML - Sandia’s main multigrid preconditioning package;
102*9b92b1d3SBarry Smith  <https://trilinos.github.io/>
103*9b92b1d3SBarry Smith- Zoltan - graph partitioners from Sandia National Laboratory;
104*9b92b1d3SBarry Smith  <http://www.cs.sandia.gov/zoltan/>
105*9b92b1d3SBarry Smith
106*9b92b1d3SBarry SmithThese are all optional packages and do not need to be installed to use
107*9b92b1d3SBarry SmithPETSc.
108*9b92b1d3SBarry Smith
109*9b92b1d3SBarry SmithPETSc software is developed and maintained using
110*9b92b1d3SBarry Smith
111*9b92b1d3SBarry Smith- [Git](https://git-scm.com/) revision control system
112*9b92b1d3SBarry Smith
113*9b92b1d3SBarry SmithPETSc documentation has been generated using
114*9b92b1d3SBarry Smith
115*9b92b1d3SBarry Smith- <https://www.sphinx-doc.org>
116*9b92b1d3SBarry Smith- [Sowing text processing tools developed by Bill Gropp](http://wgropp.cs.illinois.edu/projects/software/sowing/)
117*9b92b1d3SBarry Smith- c2html
118