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

Non-linear functional problem

  1. Oct 31, 2013 #1
    I'm not really sure where does this question fit and what title should it bear, but here is my problem:

    [itex]\psi(x) \exp (a\psi(x)^2) = C f(x) [/itex]

    given a positive definite f(x), find ψ(x) and the constant C, subject to the condition

    [itex] \int \psi(x)\, dx = 1 [/itex]

    I want to solve this numerically but I'm having a hard time devising a suitable algorithm... is this even a well-posed problem?
  2. jcsd
  3. Oct 31, 2013 #2
    If [itex]a\geq 0[/itex], then it's well-posed.

    Indeed, [itex]ye^{ay^2}[/itex] is a strictly increasing function of [itex]y[/itex] which vanishes at [itex]y=0[/itex] and blows up as [itex]y\to\infty[/itex], so for each [itex]C\geq 0[/itex], there's a unique choice of function [itex]\psi_C[/itex] that satisfies your functional equation. Also, the solution [itex]\psi_C[/itex] is going to be as smooth as [itex]f[/itex] is; in particular, it's integrable if [itex]f[/itex] is (say) piecewise continuous. Moreover, [itex]\psi_C[/itex] increases (smoothly enough to make [itex]\int\psi_C[/itex] continuous in [itex]C[/itex] if it's finite-valued) with [itex]C[/itex], and you can use a bounding argument to show that [itex]\psi_C[/itex] can be made arbitrarily big or small as you vary [itex]C[/itex]. It follows that as long as [itex]f[/itex] is such that, for small enough [itex]C[/itex], the solution [itex]\psi_C[/itex] has bounded integral (which comes for free if your domain of integration is bounded), there's a unique choice of [itex]\psi, C\geq 0[/itex] that solves your equation.

    As for how to solve numerically, I have no idea, but hopefully getting a sense of the structure of your equation can be helpful...
  4. Oct 31, 2013 #3
    OK, great, that's some fancy math right there! Indeed, a>0 always. The f(x) will typically be known only numerically on the grid points and is not an elementary function, but generally it will resemble something between a Gaussian and an exponential decay, so it will have a maximum near the origin and will rapidly decay to zero at infinity, and certainly has a finite norm.

    Actually, the problem is in 3D, so replace all instances of x by (x,y,z). My idea for the algorithm is as follows: take the log of the equation to obtain (the log will damp the errors)

    [itex] \log(\psi) + a\psi^2 = \log(C) + \log f [/itex]

    Then guess some (normalized) function ψ1, say ψ1 = 1 (we are working in a finite box 1x1x1). Obviously this does not satisfy the equation, so we suppose that a better guess would be

    [itex] \psi_2 = \psi_1 + \Delta \psi_1 [/itex]

    where the added term is hopefully going to get small eventually. Then we Taylor expand the main equation to get

    [itex] \Delta\psi_1 = \frac{\psi_1}{1+2a\psi_1^2}(\log(Cf/\psi_1)-a\psi_1^2) [/itex]

    Then repeat the last step until the delta gets as small as needed. I just don't see how to get the C out of this and how to ensure normalization....
  5. Nov 1, 2013 #4
    Hmmm... If my initial guess is normalized, all I need to do is to ensure that the norm of Δψ is zero at each iteration. This can be naturally done by choosing a suitable log(C) = int f1/int f2.

    I've just tried this, and the whole thing converges within 10 iterations max haha :D But apparently I need a very fine mesh, otherwise non-physical fluctuations show up :(
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook