5

Consider the problem $$(P) \qquad \begin{cases} \min\{\partial_t u - \Delta u, u -\varphi \} = 0 & \text{ in } (0,T)\times \mathbb{R}^N \\ u(0,\cdot) = \varphi(0,\cdot) & \text{ in } \mathbb{R}^N, \end{cases}$$

which is of interest in mathematical finance.

We can take the space dimension $$N =1,2, 3$$

and, for example, as initial datum,

phi[t,x] = E^(t)*(1+E^(x))

It is known that it admits one and only one strong solution (that is, a continuous Sobolev function that solves the problem almost everywhere and takes the initial datum pointwise) in the class of functions $|u(t,x)| \le Ce^{\lambda |x|^2}$ ($C,\lambda>0$).

The key point is that such solution can be obtained as the limit (as $\epsilon \to 0$) of the solutions to $$(P)_\varepsilon \qquad \begin{cases} \partial_t u - \Delta u = \frac{1}{\varepsilon}(u-\phi)^+ & \text{ in } (0,T)\times \mathbb{R}^N \\ u(0,\cdot) = \varphi(0,\cdot) & \text{ in } \mathbb{R}^N, \end{cases}$$

where $(u-\phi)^+ = \max\{u-\phi, 0\}$ is the positive part function.

How can I write a Mathematica code that plots and animates such solution to problem $(P)$ (approximated by solutions of $(P)_\varepsilon$ for $\varepsilon$ small enough)?

If we need to (do we?), we can solve the problem on $[0,T]×[−L,L]^N$ and impose the boundary condition $u(t,\pm L)=\varphi(\pm L)$.

xzczd
  • 65,995
  • 9
  • 163
  • 468
  • Maybe use NDSolve on the PDE, and WhenEvent to catch the points at which u==phi? – Daniel Lichtblau Jul 29 '17 at 15:04
  • I guess I am at a loss. DSolve is fine with your example but NDSolve claims it is underdetermined.Sa,e with trying the different initial condition. – Daniel Lichtblau Jul 29 '17 at 15:31
  • 1
    I do not expect DSolve to find an analytic result for all such inputs. I meant that it handled your example above, with ic as initial condition, whereas NDSolve claims it is underdetermined and returns unevaluated. I realize DSolve does not handle the variant with the desired initial condition in place of ic. – Daniel Lichtblau Jul 29 '17 at 15:43
  • 2
    Also that question you link to is not, in my opinion, viable for this forum. There is no code to reproduce the issue, and moreover it appears not to go beyond what is already in this question. – Daniel Lichtblau Jul 29 '17 at 15:47
  • 4
    I do not understand the expression immediately following "Consider the problem" at the beginning of the question. Judging from the comments by others, I do not think that they understand it either. Please explain what you are trying to compute. – bbgodfrey Aug 02 '17 at 01:38
  • 1
    @bbgodfrey I guess OP is trying to show his effort on solving the problem i.e. he managed to solve a simpler problem with Mathematica. If so… well, hiro, I think you'd better remove this part from your question. The solution for the simpler problem i.e. initial value problem (to emphasize, initial value problem in infinite domain) for the heat equation is not that related to the problem you're trying to solve in my opinion, mentioning this in the question doesn't help much and even makes it confusing, I think. – xzczd Aug 09 '17 at 10:54
  • 2
    I think you can add a bit more background information to your question. Obstacle problem for the heat equation (together with those Sobolev function, etc.) are all unconversant terms (at least for me). Explaining them in more detail or adding some reference may attract more attention. – xzczd Aug 09 '17 at 10:59
  • 2
    Assuming you can code the $(\cdot)^+$ operator, whatever that is, the problem $(P)_\epsilon$ seems straightforward to code for NDSolve, unless you really want a solution for ${\bf R}^n$, for an indeterminate $n$. – Michael E2 Sep 17 '17 at 00:24
  • 1
    So for $n=1$, do you want a solution for $-\infty < x < \infty$? And would a numeric approximation using NDSolve be acceptable (implicit in my previous comment0? If so, you don't need to find the limit, only approximate it. -- That said, I think it might be hard to get the strong solution with NDSolve without having some BC for $x = c$, for some $c$. – Michael E2 Sep 17 '17 at 13:13
  • 1
    @MichaelE2 Yes, I need exactly that: an approximation for $\varepsilon$ small enough. How can I write a code to obtain that? We can solve the problem on $ [0,T] \times [-L,L]^N$ and impose $u(t, \pm L) = \varphi(\pm L)$, but why do we need that? –  Sep 17 '17 at 15:13
  • I could not find a clear answer to the above. Was it answered somewhere else? – Benoit May 23 '22 at 15:06

0 Answers0