I've come across a problem while studying the WKB method. I want to calculate the eigenvalues of a symmetric quartic double well potential. It could be any potential. I chose it to be $$V(x) = x^4 - 4x^2 +4$$ The hamiltonian with $\hbar$ = $m$ = $1$ gives $$H = -\frac{1}{2}\frac{d^2}{dx^2} + V(x)$$ and I plan to find the eigenvalues of the bound states given by the potential $V(x)$ represented bellow

$\hskip1.7in$ enter image description here

with returning points $x_2 > x_1$ and roots $x=\pm \sqrt{2}$

The quatization* problem for the double potential well with respect to even (odd) solutions is, for $x>0$ $$\theta \simeq (n + \frac{1}{2}) \pi \mp \frac{1}{2} e^{- \phi} \tag{1}$$

with $$\theta = \int_{x_1}^{x_2} p(x') dx'$$ $$\phi = \int_{0}^{x_1} |p(x')| dx'$$ $$p(x) = \sqrt{2m(E_n - V(x))} = \sqrt{2m(E_n - (x^4 - 4x^2 + 4))}$$

( *Introduction to Quantum Mechanics by David J. Griffiths, problem $8.15$ )

My problem lies exactly in solving eq. ($1$), since it involves integrals of the square-root of a quartic function $$\int_a^b \sqrt{2m(E_n - (x^4 - 4x^2 + 4))} dx$$

I used Mathematica but it couldn't compute a solution.

Is there any approximation or trick I could use to solve it analytically? If not, any software that could do the computation?

PS: After solving numerically the $Schr\ddot{o}dinger$ equation for the ground state eigenvalue I obtained $E_0 \simeq 1.8$ with $\hbar$ = $m$ = $1$ as stated above. With the WKB method I'm hoping to obtain a similar result.

  • 1
    $\begingroup$ Why can’t you use numerical integration? $\endgroup$
    – G. Smith
    Commented Apr 11, 2020 at 3:34
  • $\begingroup$ Because E_n is an unknown. The main goal of eq. (1) is to get an expressions for E_n. At least for the ground eigenvalue E_0, I would consider a battle won. $\endgroup$
    – EinRock
    Commented Apr 11, 2020 at 4:21
  • $\begingroup$ You integrate for various $E_n$ until you find one that works. There are systematic techniques for narrowing in on the right choice, similar to when you try to find the root of a polynomial numerically, $\endgroup$
    – G. Smith
    Commented Apr 11, 2020 at 4:28
  • $\begingroup$ I get $E_0=1.74646$. $\endgroup$
    – G. Smith
    Commented Apr 11, 2020 at 4:44
  • $\begingroup$ Look it up in Gradshtein&Ryzhik, though it is quite possible that such integrals are not solvable. $\endgroup$
    – Roger V.
    Commented Apr 11, 2020 at 5:43

1 Answer 1


You can do this in Mathematica using NIntegrate to do numerical integration and either NSolve or FindRoot to find the energy that satisfies equation (1).

In this way I found the $n=0$ energies $E_0^\text{even}\approx 1.74646$ and $E_0^\text{odd}\approx 2.07823$ with a few lines of code. For the former, $\theta\approx 1.43953$ and $\phi\approx 1.33739$; for the latter, $\theta\approx 1.73284$ and $\phi\approx 1.12677$. Since this is only an approximation, it seemed pointless to go beyond standard precision.

The next energies with $n=1$ appear to be "above the hump", where I don't think your equations apply, because they give nonsense.

  • $\begingroup$ Integrals of square roots of quartics are Elliptic functions. There is probably an analytic solution to your integral if you look up a book about such functions. $\endgroup$
    – mike stone
    Commented Apr 11, 2020 at 12:45
  • $\begingroup$ I'm having trouble using NSolve / FindRoot. Could you tell what am I doing wrong? The Code: f[Ei_?NumericQ] := NIntegrate[ Sqrt[2 (Ei - (x^4 - 4 x^2 + 4))], {x, Sqrt[2 - Sqrt[Ei]], Sqrt[2 + Sqrt[Ei]]}]; g[Ei_?NumericQ] := NIntegrate[ Sqrt[2 ((x^4 - 4 x^2 + 4) - Ei)], {x, 0., Sqrt[2 - Sqrt[Ei]]}]; FindRoot[f[x] - Pi/2 + Exp[-g[x]]/2 == 0, {x, 1.5}]; $\endgroup$
    – EinRock
    Commented Apr 11, 2020 at 18:19
  • $\begingroup$ I cut and pasted your code into Mathematica, except for the final semicolon. The output for me is $\{x\to 1.74646\}$. If you really have a semicolon at the end you're not going to see this. $\endgroup$
    – G. Smith
    Commented Apr 11, 2020 at 21:33
  • $\begingroup$ I just did it myself again, in a new notebook, and yes, worked out perfectly. Must have been some previous functions or variables that needed to be Clear[]. A rookie mistake as I am. Thanks G. Smith $\endgroup$
    – EinRock
    Commented Apr 11, 2020 at 22:50

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.