PETSc: Documentation

# PETSc

# Documentation

PETSc is a sophisticated package and fully understanding its usage requires time. However, application programmers can easily begin to use PETSc from a high level and then gradually learn more details according to their needs. Users should read the users manual before attempting to do any serious coding with PETSc!

- PETSc users manual - pdf (fully searchable with hyperlinks)
- TAO users manual - pdf (fully searchable with hyperlinks)
- Index of all help topics
- Index of all manual pages
- Strategies for using PETSc with Fortran

PETSc Manual Pages and Examples MPI

- Vector Operations (Vec)
  - Defining your own mathematical functions (PF)
- Matrix Operations (Mat)
  - Matrix colorings (MatColoring), orderings (MatOrdering), and partitionings (MatPartitioning)
  - Finite difference computation of Jacobians (MatFD)
- Data and grid management
  - Star Forest Communication (PetscSF)
  - Index sets (IS)
  - Data Management (DM) between Vec and Mat, and the distributed mesh datastructures
  - Application Orderings (AO)
- Linear Solvers (KSP)
  - Summary table of all linear solvers
  - Preconditioners (PC)
  - Krylov Subspace Methods (KSP)
- Nonlinear Solvers (SNES)
  - Summary table of all nonlinear solvers
  - Matrix-free nonlinear solvers (MATMFFD)
- Time Stepping (TS) ODE solvers
- Optimization Solvers (Tao)
  - Optimization LineSearch Solver (TaoLineSearch)
- Utilities
  - Viewing Objects
  - Graphics (Draw)
  - System Routines (Options, IO, utilities)
  - Profiling and Logging

The manual pages are split into four categories; we recommend that you begin with basic functionality and then gradually explore more sophisticated library features.

- Beginner - Basic usage
- Intermediate - Setting options for algorithms and data structures
- Advanced - Setting more advanced options and customization
- Developer - Interfaces intended primarily for library developers

### Supplementary Documentation

- Installation - detailed instructions for installing PETSc
- Changes - changes and new features in recent versions of PETSc
- Bug Reporting - details on how to report bugs
- Code Management - hints for efficient management of large-scale application codes
- FAQ - frequently asked questions about PETSc
- License - statement of the PETSc copyright