.TH "damped_newton" 3rheolef "Version 7.2" "rheolef" \" -*- nroff -*- .ad l .nh .SH NAME damped_newton \- nonlinear solver (rheolef-7\&.2) .PP .SH "SYNOPSIS" .PP .PP .nf template int damped_newton (const Problem& F, Field& u, Real& tol, Size& max_iter, odiststream* p_derr=0) .fi .PP .SH "DESCRIPTION" .PP This function implements a generic damped Newton method for the resolution of the following problem: .PP .nf F(u) = 0 .fi .PP Recall that the damped Newton method is more robust than the basic Newton one: it converges from any initial value\&. .PP A simple call to the algorithm writes: .PP .nf my_problem P; field uh (Xh); damped_newton (P, uh, tol, max_iter); .fi .PP In addition to the members required for the \fBnewton(3)\fP method, two additional members are required for the damped variant: .PP .nf class my_problem { public: \&.\&.\&. value_type derivative_trans_mult (const value_type& mrh) const; Float space_norm (const value_type& uh) const; }; .fi .PP The \fCderivative_trans_mult\fP is used for computing the damping coefficient\&. The \fCspace_norm\fP represents usually a L2 norm e\&.g\&. formally: .PP .nf / space_norm(uh) = sqrt | |uh(x)|^2 dx / Omega .fi .PP .SH "EXAMPLE" .PP See the \fBp_laplacian_damped_newton\&.cc\fP example and the \fBusersguide\fP for more\&. .SH "IMPLEMENTATION" .PP This documentation has been generated from file main/lib/damped_newton\&.h .SH AUTHOR Pierre Saramito .SH COPYRIGHT Copyright (C) 2000-2018 Pierre Saramito GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.