[petsc-users] snes fieldsplit for kkt
Jed Brown
jedbrown at mcs.anl.gov
Sun Mar 24 23:03:20 CDT 2013
Tobin Isaac <tisaac at ices.utexas.edu> writes:
> If I'm solving a PDE-constrained optimization problem, I'd like to be
> able to specify the equations and then choose at runtime between a
> full-space approach and a reduced-space approach. Is this possible
> with petsc?
PETSc is not an optimization package per se, so you'll have to do a
little work, at least if your problem is nonlinear or if the size of the
full space is potentially too large to store. In the specific case of a
quadratic optimization problem, a reduced space method is equivalent to
iterating on the reduced Hessian, in which case you can use Schur
complement reduction via -pc_fieldsplit_type schur. Note that the Schur
implementation naturally works with 2x2 systems, so you would lump state
and adjoint equations into the first "block", and then (typically)
decompose this further in the inner solve.
George used to have a library called Veltisto that was built on PETSc
and supported both full-space (LNKS) and reduced-space methods. As far
as I know, this package is no longer available.
I think that having a unified interface to reduced-space and full-space
methods would be very useful to the community. I think that choosing an
interface for inequality constraints is somewhat challenging because the
more general forms give the library much less to work with. I know your
group has quite a bit of experience with this. If you would be
interested in working with us to put this into library form, I would be
happy to help.
More information about the petsc-users
mailing list