[petsc-dev] How to implement the damped Newton method

Matthew Knepley knepley at gmail.com
Sat Feb 7 08:52:53 CST 2015

On Sat, Feb 7, 2015 at 2:39 AM, Lulu Liu <lulu.liu at kaust.edu.sa> wrote:

> X is the current approximate solution, Y is the Newton direction
> Step 1. the unknown X=[phi,omega,S], the third component S in [0,1].
> Hence, we firstly compute a multiplier alpha such that
> X1= X-alpha*Y, and the component S of X1 is still in [0,1].
> In step1, we need access the component S to calculate multiplier.
> Step 2. Let the damping factor damp=1;
> for n=1:N
>     lambda=alpha*damp;
>     X1=X-lambda*Y;
>      Solve J(X1)Y1 = F(X1);
>      if ||Y1||<||Y||
>            break;
>       else
>             damp = damp/2;
>        end
> endfor
> the norm || || is weighted norm, and we need access each component and
> compute some weights based on each component.

This is just a line search, so first it should be implemented as a
SNESLineSearch. Second, you should really
try the new nleqerr line search that Patrick Farrell just implemented
first, since it may already solve your problem.
Third, if that weight norm is important, I think you just use that norm in



> How to implement the damped Newton method above? Is it a easier way to do
> it?
> Thanks!
> ------------------------------
> This message and its contents, including attachments are intended solely
> for the original recipient. If you are not the intended recipient or have
> received this message in error, please notify me immediately and delete
> this message from your computer system. Any unauthorized use or
> distribution is prohibited. Please consider the environment before printing
> this email.

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20150207/7fbbf856/attachment.html>

More information about the petsc-dev mailing list