I have the following energy functional of $p$-Laplacian equation: $$ E(u) = \frac{1}{p} \int_{\Omega} |\nabla u|^p dx $$ for $2.8 \leq p \leq 5$.

My goal is to minimize the energy functional by using nonlinear conjugate gradient method ( https://en.wikipedia.org/wiki/Nonlinear_conjugate_gradient_method ) .

To apply nonlinear conjugate gradient method, I have found that

$$ E'(u) = \int_{\Omega} |\nabla u|^{p-2} \nabla u \cdot \nabla v dx $$

Now I took five nodes $u_1, u_2, u_3, u_4, u_5$ in one dimension. We know $u_1=0=u_5$ and want to find $u_2,u_3,u_4$. By NCG method we will get $$ \begin{bmatrix} u_2^{n+1}\\ u_3^{n+1}\\ u_4^{n+1} \end{bmatrix} = \begin{bmatrix} u_2^{n}\\ u_3^{n}\\ u_4^{n}\end{bmatrix} - \alpha \cdot \begin{bmatrix} E_2'(u_2^{n})\\ E_3'(u_3^{n})\\ E_4'(u_4^{n}) \end{bmatrix} $$

Is my attempt correct? I am confused about how to manage integral sign of derivative of energy functional ?

  • $\begingroup$ This just looks like a steepest descent method. For the CG method, you need to still find an orthogonal basis... $\endgroup$ Commented Mar 26, 2023 at 22:42
  • $\begingroup$ @WolfgangBangerth ne question is coming to my mind. In the above 1-d case $E_i′(u_i^n)=|∇u_i^n|∇u_i^n⋅∇v_i^n$ . I thought integral sign replace with summation but in this case we are calculating 𝐸′ at each node. Could you please clarify this point? $\endgroup$
    – User124356
    Commented Mar 26, 2023 at 22:56
  • $\begingroup$ You first need to say how you want to discretize the problem. Are you using finite elements, for example? $\endgroup$ Commented Mar 26, 2023 at 23:45
  • $\begingroup$ @WolfgangBangerth I am using Finite Difference Method to discretize the problem. I took 1-d case and choose 5 nodes with spacing $\Delta x$ for my understanding. $\endgroup$
    – User124356
    Commented Mar 27, 2023 at 0:12

1 Answer 1


You seem to be misunderstanding the difference between the derivative of $E$ and the gradient of $E$. I am going to assume that $u$ lies in an appropriate Sobolev space $V$, which embeds continuously into $L^2(\Omega)$.

You have successfully computed the derivative of $E$ with respect to $u$ defined by a directional derivative: $$ \delta E(u)v := \int_{\Omega}|\nabla u|^{p-2} \nabla u\cdot \nabla v \ dx.$$

However, notice that the derivative $\delta E(u)$ is a linear functional on $V$, i.e., it is an element of $V^*$, not $V$, so we need to do some more work to get something that we can add or subtract from $u$ for use in optimization algorithms. The gradient what we want.

The gradient of $E$ with respect to the $L^2$ inner product is the unique element $g\in V$ that satisfies $$ \langle g,v\rangle_{L^2} = \delta E(u)v \ \ \ \ \forall v\in V. $$

That is, the gradient is the thing you integrate against $v$ to obtain the action of the derivative. Existence is guaranteed by the Riesz representation theorem. Some integration by parts and use of homogenous boundary conditions will show that that gradient is given by $$ g = -\nabla\cdot(|\nabla u|^{p-2}\nabla u). $$

This is an element of $V$, so you can compute it over your discretization and use it in whatever optimization algorithm you choose.

  • $\begingroup$ Thank you explaining me this difference. So now $g$ is the gradient and it is an element of V. Now I can use finite difference discretization as stated above to minimize it by using an optimization algorithm. $\endgroup$
    – User124356
    Commented Mar 27, 2023 at 2:25
  • $\begingroup$ Yes. You can do the same procedure to construct the Hessian if you want to use that. $\endgroup$
    – whpowell96
    Commented Mar 27, 2023 at 2:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.