[petsc-users] Implementing a homotopy solver

zakaryah zakaryah at gmail.com
Tue Jul 3 10:28:22 CDT 2018

I'm hoping to implement a homotopy solver for sparse systems in PETSc.  I
have a question about the details of implementing the linear algebra steps
so that I can take advantage of all the SNES tools.

My question doesn't have much to do with homotopy maps, per se.  The idea,
which as far as I know comes from Layne Watson's 1986 paper, is to
decompose the Jacobian of the homotopy map, A, into a sum of two matrices
with special properties:

A = M + L

where M is sparse, symmetric, and invertible, and L is rank one.
Therefore, linear systems with M should be relatively easy to solve, using
preconditioning and Krylov subspace methods.  The Newton update, which
solves Az = b, can be found using the Sherman-Morrison formula.

I have two questions.  First, is it possible to implement this using tools
that already exist in PETSc?  If not, is the best approach to write a shell
preconditioner?  Second, would a homotopy solver like this be useful to the

Thanks for your help!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20180703/3c4c6368/attachment.html>

More information about the petsc-users mailing list