Skip to main content
added 1526 characters in body
Source Link
Roman
  • 49.8k
  • 2
  • 57
  • 131

Numerical Stability & Automatic Solving

The function $f(t)$ oscillates with exponentially increasing amplitude. To regularize the problem, we can introduce the function

$$ g(t) = e^{\frac32t}f(t) $$

which satisfies

$$ [E(t)-1/4] g(t) + g''(t)= 0\\ g(0) + 2g'(0) = 0\\ g(t_{\text{min}}) - 2g'(t_{\text{min}}) = 0 $$

Solving for $g(t)$ gives a regularly oscillating function:

sol = NDSolve[{(EllipticE[t] - 1/4) g[t] + g''[t] == 0,
               g[0] + 2 g'[0] == 0, g[0] == 1}, g, {t, -20, 0}];
G = g /. First[sol];
Plot[G[t], {t, -20, 0}]

enter image description here

As @J.M. points out, WhenEvent can be used to extract the allowed values for $t_{\text{min}}$ directly,

sol = NDSolve[{(EllipticE[t] - 1/4) g[t] + g''[t] == 0, 
               g[0] + 2 g'[0] == 0, g[0] == 1, 
               WhenEvent[g[t] - 2 g'[t] == 0, Print[t]]},
              g, {t, -20, 0}];

(*    -0.657447
      -2.92468
      -4.95128
      -6.83972
      -8.63254
      -10.353
      -12.0157
      -13.6306
      -15.2049
      -16.744
      -18.2522
      -19.7327    *)

Use a Sow/Reap combination instead of Print in order to use these values later in a calculation.

Numerical Stability & Automatic Solving

The function $f(t)$ oscillates with exponentially increasing amplitude. To regularize the problem, we can introduce the function

$$ g(t) = e^{\frac32t}f(t) $$

which satisfies

$$ [E(t)-1/4] g(t) + g''(t)= 0\\ g(0) + 2g'(0) = 0\\ g(t_{\text{min}}) - 2g'(t_{\text{min}}) = 0 $$

Solving for $g(t)$ gives a regularly oscillating function:

sol = NDSolve[{(EllipticE[t] - 1/4) g[t] + g''[t] == 0,
               g[0] + 2 g'[0] == 0, g[0] == 1}, g, {t, -20, 0}];
G = g /. First[sol];
Plot[G[t], {t, -20, 0}]

enter image description here

As @J.M. points out, WhenEvent can be used to extract the allowed values for $t_{\text{min}}$ directly,

sol = NDSolve[{(EllipticE[t] - 1/4) g[t] + g''[t] == 0, 
               g[0] + 2 g'[0] == 0, g[0] == 1, 
               WhenEvent[g[t] - 2 g'[t] == 0, Print[t]]},
              g, {t, -20, 0}];

(*    -0.657447
      -2.92468
      -4.95128
      -6.83972
      -8.63254
      -10.353
      -12.0157
      -13.6306
      -15.2049
      -16.744
      -18.2522
      -19.7327    *)

Use a Sow/Reap combination instead of Print in order to use these values later in a calculation.

Source Link
Roman
  • 49.8k
  • 2
  • 57
  • 131

The commenters got it almost solved, missing only that $t_{\text{min}}$ is an unknown instead of a parameter. The question should be: for what values of $t_{\text{min}}$ does the integral equation have a nontrivial solution?

As shown in the comments, the function satisfies

$$ [2 + E(t)] f(t) + 3 f'(t) + f''(t) = 0\\ 2 f(0) + f'(0) = 0\\ f(t_{\text{min}}) + f'(t_{\text{min}}) = 0 $$

All of these equations are linear, so the solution can be multiplied by an arbitrary scalar and still remains a solution. This last observation allows us to set $f(0)=1$ as an additional boundary condition. Together with the first two conditions above, we thus get the solution

sol = NDSolve[{(2 + EllipticE[t]) f[t] + 3 f'[t] + f''[t] == 0, 
               2 f[0] + f'[0] == 0, f[0] == 1}, f, {t, -10, 0}];
F = f /. First[sol];
Plot[F[t], {t, -10, 0}]

enter image description here

The allowed values for $t_{\text{min}}$ are those where this solution satisfies the third condition $f(t_{\text{min}}) + f'(t_{\text{min}}) = 0$:

Plot[F[tmin] + F'[tmin], {tmin, -10, 0}]

enter image description here

which we can find numerically:

FindRoot[F[tmin] + F'[tmin] == 0, {tmin, -0.7}]
(*    {tmin -> -0.657447}    *)

FindRoot[F[tmin] + F'[tmin] == 0, {tmin, -3}]
(*    {tmin -> -2.92468}    *)

FindRoot[F[tmin] + F'[tmin] == 0, {tmin, -5}]
(*    {tmin -> -4.95128}    *)

These are the "eigenvalues" of the given integral equation and represent the set of discrete values of $t_{\text{min}}$ for which the integral equation has a nontrivial solution. There are infinitely many of them, stretching towards $-\infty$.