[petsc-users] Shell Matrix Operations required for KSP solvers?

Matthew Knepley knepley at gmail.com
Mon Oct 22 19:22:42 CDT 2018


On Mon, Oct 22, 2018 at 7:44 PM Andrew Ho <andrewh0 at uw.edu> wrote:

> I have a specialized matrix structure I'm trying to take advantage of for
> solving large scale (non)linear systems. I think for this purpose using a
> Shell matrix is sufficient for interfacing with PETSc's KSP linear solvers.
>
> Looking at the examples which use shell matrices, it seems most only
> require implementing MatMult, and sometimes MatMultTranspose. Is there a
> list of what operations are required (or optional but good to have) for the
> different KSP solver types? This is specifically for the KSP solve itself,
> not constructing the actual matrix. I'd also be interested if any of the
> required/optional operations changes if preconditioners (left and/or right)
> are used.
>

There is no list, but its hard to think of another operation KSP would ask
for. Preconditioners are another story unfortunately. They often want
explicit access to matrix entries. its really unusual for KSPs to work
without a good preconditioner (the notable exception being well-conditioned
systems like some boundary integral operators).

  Thanks,

    Matt

-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20181022/0ec506ff/attachment.html>


More information about the petsc-users mailing list