[petsc-dev] coding style
Munson, Todd
tmunson at mcs.anl.gov
Thu Aug 18 12:35:56 CDT 2016
If the user supplied only a g(x) to a solver meant for
quadratic problems, we would call grad[g(0)] [thanks
Matt!] to get the linear term and hess[g(0)] to get
the Hessian matrix. So that is possible as well.
Maybe we should just keep things as they exist now
and not add extra complications.
I do still worry about a user providing a truly nonlinear
g(x) to a solver meant for quadratic programs. I could
test to see if the Hessian is constant if I really
wanted to though.
Todd.
> On Aug 18, 2016, at 11:52 AM, Jed Brown <jed at jedbrown.org> wrote:
>
> Barry Smith <bsmith at mcs.anl.gov> writes:
>
>> Seems reasonable. Note for SNES we have something similar in that user can solve either F(x) = b or F(x) - b = 0 depending on if they provide the b explicitly.
>
> I'd just say that the algorithm should still work correctly if the user
> doesn't separate everything since that can be inefficient (multiple
> communications and passes over memory) and/or unnatural. How does the
> algorithm work if the user has only g(x)? Would they need to define
>
> H := \nabla^2 g(x)
> f(x) = g(x) - x'*H*x
>
> so that you can put it back together?
More information about the petsc-dev
mailing list