# why can't Mathematica solve the wave PDE on string when adding a dispersion term?

Could someone possibly gives an insight as to why DSolve can solve

$$\frac{\partial^{2}u}{\partial t^{2}}=\frac{\partial^{2}u}{\partial x^{2} }\qquad t>0$$

But not this very similar PDE

$$\frac{\partial^{2}u}{\partial t^{2}}+u=\frac{\partial^{2}u}{\partial x^{2} }\qquad t>0$$

Since the process of solving these by separation of variables is almost identical. In the second PDE, the time ODE to solve is $T^{\prime\prime }+\left( 1+n^{2}\right) T=0$ while in the first PDE the time ODE to solve is $T^{\prime\prime}+n^{2}T=0$. Everything else is the same.

So I am baffled why Mathematica can solve one PDE but not the other. I thought if one can understand better why it could not solve it, that will be useful thing to know when trying other problems by knowing better what are the limitation they should expect in advance.

So this question is asking to find why it could not solve it. I know this might be hard for users since we have no access to the source code. Also if someone can show a workaround, to solve this, using DSolve that will be accepted also.

Here is analytical solution to the second PDE (the one that can't be solved by Mathematica).

Here is analytical solution to the first one.

Solve, $0<x<\pi$

$$\frac{\partial^{2}u}{\partial t^{2}}+u=\frac{\partial^{2}u}{\partial x^{2} }\qquad t>0$$

Boundary conditions, $t>0$ (both ends fixed)

\begin{align*} u\left( 0,t\right) & =0\\ u\left( \pi,t\right) & =0 \end{align*}

Initial conditions, $t=0$

\begin{align*} \frac{\partial u\left( x,0\right) }{\partial t} & =0\\ u\left( x,0\right) & =\sin^{2}\left( x\right) \end{align*}

Analytical solution:

Dispersion term $u$ causes the shape of the original wave to distort with time. Using separation of variables, Let $u=X\left( x\right) T\left( t\right) .$ Substituting this back in the PDE gives

\begin{align*} T^{\prime\prime}X+XT & =X^{\prime\prime}T\\ \frac{T^{\prime\prime}}{T}+1 & =\frac{X^{\prime\prime}}{X}=-\lambda \end{align*}

The eigenvalue ODE\ is

\begin{align*} X^{\prime\prime}+\lambda X & =0\\ X\left( 0\right) & =0\\ X\left( \pi\right) & =0 \end{align*}

The eigenvalues are $\lambda_{n}=\left( \frac{n\pi}{L}\right) ^{2} ,n=1,2,3,\cdots$ and $L=\pi$ here, then $\lambda_{n}=n^{2}$ and the eigenfunctions are $X_{n}\left( x\right) =c_{n}\sin\left( nx\right)$. The time ODE\ becomes

\begin{align*} T^{\prime\prime}+\left( 1+\lambda_{n}\right) T & =0\\ T^{\prime\prime}+\left( 1+n^{2}\right) T & =0 \end{align*}

The roots of the characteristic equation are $\pm i\sqrt{1+n^{2}}$, since $n^{2}\geq1$. Hence the solution of the above ODE\ is

$$T_{n}\left( t\right) =A_{n}\cos\left( t\sqrt{1+n^{2}}\right) +B_{n} \sin\left( t\sqrt{1+n^{2}}\right)$$

Taking time derivatives gives

$$T_{n}^{\prime}\left( t\right) =-\sqrt{1+n^{2}}A_{n}\sin\left( t\sqrt{1+n^{2}}\right) +B_{n}\sqrt{1+n^{2}}\cos\left( t\sqrt{1+n^{2} }\right)$$

At time $t=0$, the above is zero (initial velocity is zero), which gives

$$0=B_{n}\sqrt{1+n^{2}}$$

Hence $B_{n}=0$ and the time ODE solution becomes

$$T_{n}\left( t\right) =A_{n}\cos\left( t\sqrt{1+n^{2}}\right)$$

Hence the fundamental solution is

\begin{align*} u_{n}\left( x,t\right) & =T_{n}X_{n}\\ & =c_{n}\overset{T_{n}}{\overbrace{\cos\left( t\sqrt{1+n^{2}}\right) } }\overset{X_{n}}{\overbrace{\sin\left( nx\right) }} \end{align*}

Where constant $A_{n}$ merged with $c_{n}$. Therefore the solution is

$$u\left( x,t\right) =\sum_{n=1}^{\infty}c_{n}\cos\left( t\sqrt{1+n^{2} }\right) \sin\left( nx\right)$$

$c_{n}$ is found from initial position. At $t=0$ the above becomes

$$\sin^{2}\left( x\right) =\sum_{n=1}^{\infty}c_{n}\sin\left( nx\right)$$

Applying orthogonality gives

$$\int_{0}^{\pi}\sin^{2}\left( x\right) \sin\left( nx\right) dx=c_{n} \frac{\pi}{2}$$

For $n=2,\int_{0}^{\pi}\sin^{2}\left( x\right) \sin\left( 2x\right) dx=0$, hence $c_{2}=0$ and for $n\neq2$

\begin{align*} \int_{0}^{\pi}\sin^{2}\left( x\right) \sin\left( nx\right) dx & =c_{n}\frac{\pi}{2}\\ c_{n} & =\frac{2}{\pi}\int_{0}^{\pi}\sin^{2}\left( x\right) \sin\left( nx\right) dx\\ & =\frac{2}{\pi}\left( \frac{2\left( \cos\left( \pi n\right) -1\right) }{n^{3}-4n}\right) \\ c_{n} & =\frac{4\left( \left( -1\right) ^{n}-1\right) }{\pi n\left( n^{2}-4\right) }\qquad n\neq2 \end{align*}

Hence solution is

\begin{equation} u\left( x,t\right) =\sum_{n=1,3,4,\cdots}^{\infty}\frac{4\left( \left( -1\right) ^{n}-1\right) }{\pi n\left( n^{2}-4\right) }\cos\left( t\sqrt{1+n^{2}}\right) \sin\left( nx\right) \tag{1} \end{equation}

We see that only difference between the solution to $$\frac{\partial^{2}u}{\partial t^{2}}+u=\frac{\partial^{2}u}{\partial x^{2} }\qquad t>0$$

And

$$\frac{\partial^{2}u}{\partial t^{2}}=\frac{\partial^{2}u}{\partial x^{2} }\qquad t>0$$

Is just the solution of \ $T^{\prime\prime}+\left( 1+n^{2}\right) T=0$ vs. $T^{\prime\prime}+n^{2}T=0$. Repeating the above separation of variables for $\frac{\partial^{2}u}{\partial t^{2}}=\frac{\partial^{2}u}{\partial x^{2}}$ gives the solution

\begin{equation} u\left( x,t\right) =\sum_{n=1,3,4,\cdots}^{\infty}\frac{4\left( \left( -1\right) ^{n}-1\right) }{\pi n\left( n^{2}-4\right) }\cos\left( nt\right) \sin\left( nx\right) \tag{2} \end{equation}

So why did Mathematica solve (2) but not (1)?

## Code

ClearAll[u,x,t];
pde=D[u[x,t],{t,2}]==D[u[x,t],{x,2}];
bc={u[0,t]==0,u[Pi,t]==0};
ic={Derivative[0,1][u][x,0]==0,u[x,0]==Sin[x]^2};
sol=DSolve[{pde,bc,ic},u[x,t],{x,t}];
sol=sol/.K->n ClearAll[u,x,t];
pde=D[u[x,t],{t,2}]+ u[x,t]==D[u[x,t],{x,2}];
bc={u[0,t]==0,u[Pi,t]==0};
ic={Derivative[0,1][u][x,0]==0,u[x,0]==Sin[x]^2};
sol=DSolve[{pde,bc,ic},u[x,t],{x,t}] Using 11.3 on windows

Update

Added verification by comparing to numerical solution. Code for the above

pde = D[u[x, t], {t, 2}] + u[x, t] == D[u[x, t], {x, 2}];
ic = {u[x, 0] == Sin[x]^2, Derivative[0, 1][u][x, 0] == 0};
bc = {u[0, t] == 0, u[Pi, t] == 0};
numericalSol = NDSolve[{pde, ic, bc}, u, {x, 0, Pi}, {t, 0, 10}];

cn[n_] := If[n == 2, 0, (4 ((-1)^n - 1))/(Pi n (n^2 - 4))];
mySolution[x_, t_] := Sum[cn[n] Cos[t Sqrt[1 + n^2]] Sin[n x], {n, 1, 20}];

Manipulate[
opt = {GridLines -> Automatic, GridLinesStyle -> LightGray,
PlotRange -> {Automatic, {-1, 1}}, ImageSize -> 300};

Grid[{
{Row[{"time ", t}], SpanFromLeft},
{Plot[Evaluate[u[x, t] /. numericalSol], {x, 0, Pi},
PlotLabel -> "NDSolve", ImageSize -> 300, Evaluate@opt],
Plot[mySolution[x, t], {x, 0, Pi}, PlotLabel -> "Analytical",
PlotStyle -> Red, Evaluate@opt]}
}, Spacings -> {1, 1}, Alignment -> Center],
{{t, 0, "time"}, 0, 10, .01, Appearance -> "Labeled"},
TrackedSymbols :> {t}
]


Here is the same plot, but on top of each others. They are an exact match Code for above is

Manipulate[
opt = {GridLines -> Automatic, GridLinesStyle -> LightGray,
PlotRange -> {Automatic, {-1, 1}}, ImageSize -> 300};

p1 = Plot[Evaluate[u[x, t] /. numericalSol], {x, 0, Pi},
ImageSize -> 300, Evaluate@opt, PlotStyle -> Blue];
p2 = Plot[mySolution[x, t], {x, 0, Pi}, PlotStyle -> Red, Evaluate@opt];

Grid[{
{Row[{"time ", t}], SpanFromLeft},
{Show[p1, p2]}
}, Spacings -> {1, 1}, Alignment -> Center],
{{t, 0, "time"}, 0, 10, .01, Appearance -> "Labeled"},
TrackedSymbols :> {t}
]

• A bit of spelunking shows a DSolveDSolveWaveEquation function is called, and this function can only solve the 1st pde` Mar 26, 2018 at 12:42
• Probably limitation. Nothing is perfect. Mar 26, 2018 at 15:54
• I'm surprised that it is solving PDE in analytical form at all. Mar 26, 2018 at 17:52
• What about second terms in formulas (1) and (2) ?, $\;c_2=?$ My solution of the problem $\frac{\partial^{2}u}{\partial t^{2}}+u=\frac{\partial^{2}u}{\partial x^{2} }\quad t>0,\quad 0<x<\pi$ $u\left( 0,t\right)=0,\quad u\left( \pi,t\right)=0,\quad t>0$ $\frac{\partial u\left( x,0\right) }{\partial t} =0,\quad u\left( x,0\right)=\sin^{2}\left( x\right),\quad 0<x<\pi$ is $u=-\frac{8}{\pi}\sum_{n=1}^{\infty }{\left. \frac{\cos{\left( \sqrt{{{\left( 2 n-1\right) }^{2}}+1}\, t\right) } \sin{((2n-1)x)}}{(2n-3)\,(2n-1)\,(2n+1)}\right.}$ Jun 9, 2018 at 17:17
• @xzczd I compared it to numerical NDSolve, I get exact match using only 20 terms in sum. Please see update. Jun 10, 2018 at 23:45