Hello everyone,

I would like to know what is actually going on when we use Newton’s method to solve (for example non-linear) variational problem.

Suppose we have a functional F[u, w] = \int_{\Omega} f(u, w) dx representing the weak form of an interest, where u(x) is an unknown function and w(x) is the test function defined on the same space as u . According to the definition of functional derivative of F w.r.t. u in some direction v(x) (a function defined on the same space as u(x)) one should write

where \delta F is the variation on F or functional differential and \frac{\delta F}{\delta u} is the functional derivative. On the other hand we have a Gateaux derivative definition for F w.r.t. u

As far as I understand it D_v F[u] is equal to \delta F and is just another way of writing functional differential.

According to the UFL documentation Python function `ufl.derivative()`

computes the the functional differential \delta F. Since the form F[u,w] is the weak form of the interest, the `ufl.derivative(F, u, v)`

gives us another form that is called (at least in the tutorials on solving non-linear problems) Jacobian of this weak form F[u, w]. That is used to solve the initial non-linear problem using Newton’s method. According to this method one has to solve subsequent linear problems of the form Ax=b where A is the obtained Jacobian of the weak form and b is euqal to - F[u, w] so that we have

where \delta u is the same as v.

The last formula confuses me a lot because according to the Newton’s method the Jacobian has to be a **functional derivative**, but in FEniCS we supply a **functional differential** as a Jacobian. And to my understanding if we do the latter and want to follow the Newton’s approach we should solve the next formulation

but not the

What have I missed?