Abstract

The combination of a Krylov space method and a preconditioner is at the heart of most modern numerical codes for the iterative solution of linear systems. This document contains both a users manual and a description of the implementation for the Krylov space methods package KSP included as part of the Portable, Extensible Tools for Scientific computation package (PETSc). PETSc is a large suite of data-structure-neutral libraries for the solution of large-scale problems in scientific computation, in particular on massively parallel computers. The methods in KSP are conjugate gradient method, GMRES, BiCG-Stab, two versions of transpose-free QMR, and others. All of the methods are coded using a common, data-structure-neutral framework and are compatible with the sequential, parallel, and out-of-core solution of linear systems. The codes make no assumptions about the representation of the linear operator; implicitly defined operators (say, calculated using differencing) are fully supported. In addition, unlike all other iterative packages we are aware of, the vector operations are also data-structure neutral. Once certain vector primitives are provided, the same KSP software runs unchanged using any vector storage format. It is not restricted to a few common vector representations. The codes described are actual working codes that run on a large variety of machines including the IBM SP1, Intel DELTA, workstations, networks of workstations, the TMC CM-5, and the CRAY C90. New Krylov space methods may be easily added to the package and used immediately with any application code that has been written using KSP; no changes to the application code are needed.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.