.\" .de Id .. .de Sp .if n .sp .if t .sp 0.4 .. .TH damped_newton 4rheolef "rheolef-6.5" "rheolef-6.5" "rheolef-6.5" .\" label: /*Class:damped_newton .SH NAME \fBdamped_newton\fP -- damped Newton nonlinear algorithm .\" skip: @findex damped\_newton .\" skip: @cindex nonlinear problem .\" skip: @cindex Newton method .SH DESCRIPTION Nonlinear damped Newton algorithm for the resolution of the following problem: .\" begin_example .Sp .nf F(u) = 0 .Sp .fi .\" end_example A simple call to the algorithm writes: .\" begin_example .Sp .nf my_problem P; field uh (Vh); damped_newton (P, uh, tol, max_iter); .Sp .fi .\" end_example In addition to the members required for the Newton algorithm (see newton(4)), the \fBspace_norm\fP and \fBduality_product\fP are required for the damped Newton line search algorithm: .\" begin_example .Sp .nf class my_problem { public: ... Float space_norm (const field& uh) const; Float duality_product (const field& mrh, const field& msh) const; }; .Sp .fi .\" end_example .\" skip start:AUTHOR: .\" skip start:DATE: .\" skip start:METHODS: .\" END .SH IMPLEMENTATION .\" begin_example .Sp .nf template int damped_newton (Problem P, Field& u, Real& tol, Size& max_iter, odiststream* p_derr=0) { return damped_newton(P, newton_identity_preconditioner(), u, tol, max_iter, p_derr); } .Sp .fi .\" end_example .\" LENGTH = 1 .SH SEE ALSO newton(4)