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
community?

Thanks for your help!

Reply via email to