Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Homework Help: Mathematica returns non-numerical integrand while minimizing

  1. Sep 27, 2012 #1
    1. The problem statement, all variables and given/known data
    I need to minimize the function Etrial[a]
    trial[x_] := E^(-a*x^2)
    Etrial[a_] :=
    NIntegrate[1/2*D[trial[x], x]^2 + x^4*trial[x]^2, {x, -\[Infinity], \[Infinity]}]/
    NIntegrate[trial[x]^2, {x, -\[Infinity], \[Infinity]}]

    2. Relevant equations

    3. The attempt at a solution
    I have used NMinimize[Etrial[a],a] and Minimize[Etrial[a],a], as well as FindMiminum[Etrial[a],{a,.5}], since when I plot it, the minimum is pretty obviously around .7, so I arbitrarily chose .5 as a close starting point.
  2. jcsd
  3. Sep 28, 2012 #2


    User Avatar
    Staff Emeritus
    Science Advisor
    Homework Helper
    Education Advisor

    Use Integrate instead of NIntegrate. Also, you can actually do the integrals and write the expressions down in closed form. If you define Etrial using those results, it'll be a lot faster since Mathematica won't have to repeatedly perform the integrations.
  4. Sep 30, 2012 #3
    I ended up just writing a separate loop that found the minimum. I discovered if I had written my trial function as a function of both x and a, then used partial derivatives, Mathematica can handle that easier. Thanks anyway though!
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook