Question: How to odetest ode solution when using Laplace method?

For some reason, I get dozens of ode's that fail to odetest when using method='laplace' with dsolve.

Yet, all the solutions are correct. These are from textbooks.

I tried giving odetest assumptions but nothing worked so far. So I am thinking of just ignoring result of odetest when laplace method is used and to assume it is correct each time. Otherwise, I will get false negative all the time on these.

Thought to ask if someone knows why this happens and if there is some universal trick to use when calling odetest on such solutions.

Here is worksheet with few examples where odetest do not verify the solutions (even though they are "correct", when solving these ode's by hand). 

May be if odetest was told that the solution was generated using method='laplace' it will help it, but there is no such option (as in the case with 'series' option). 

Btw, if method='laplace' is not used on these examples, then odetest have no problem verifying the solutions and gives zero on all of them.

interface(version);

`Standard Worksheet Interface, Maple 2025.0, Linux, March 24 2025 Build ID 1909157`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1873 and is the same as the version installed in this computer, created 2025, May 18, 21:44 hours Pacific Time.`

SupportTools:-Version();

`The Customer Support Updates version in the MapleCloud is 21 and is the same as the version installed in this computer, created May 28, 2025, 23:36 hours Eastern Time.`

restart;

ode:=diff(x(t),t$2)+4*diff(x(t),t)+13*x(t) = f(t):
ic:=x(0) = 0, D(x)(0) = 0:
sol:=dsolve([ode,ic],x(t),method='laplace');
odetest(sol,[ode,ic]);

x(t) = (1/3)*(int(f(_U1)*exp(-2*t+2*_U1)*sin(3*t-3*_U1), _U1 = 0 .. t))

[-(1/6)*(-(26*I)*(Int(f(_U1)*sinh(-(3*I)*t+(3*I)*_U1)*exp(2*_U1+(3*I)*t), _U1 = 0 .. t))-(13*I)*exp((6*I)*t)*(Int(exp((2-3*I)*_U1)*f(_U1), _U1 = 0 .. t))+(13*I)*(Int(exp((2-3*I)*_U1)*f(_U1)*exp((6*I)*_U1), _U1 = 0 .. t)))*exp((-2-3*I)*t), 0, 0]

ode:=diff(diff(x(t),t),t)+4*x(t) = Dirac(t)+Dirac(t-Pi):
ic:=x(0) = 0, D(x)(0) = 0:
sol:=dsolve([ode,ic],x(t),method='laplace');

odetest(sol,[ode,ic]);

x(t) = (1/2)*sin(2*t)*(1+Heaviside(t-Pi))

[-Dirac(t), 0, -1]

ode:=diff(diff(x(t),t),t)+4*x(t) = Dirac(t):
ic:=x(0) = 0, D(x)(0) = 0:
sol:=dsolve([ode,ic],x(t),method='laplace'):
odetest(sol,[ode,ic]);

[-Dirac(t), 0, -1]

ode:=diff(diff(x(t),t),t)+4*diff(x(t),t)+8*x(t) = f(t):
ic:=x(0) = 0, D(x)(0) = 0:
sol:=dsolve([ode,ic],x(t),method='laplace'):
odetest(sol,[ode,ic]);

[-2*(-(2*I)*(Int(f(_U1)*sinh((2*I)*_U1-(2*I)*t)*exp(2*_U1+(2*I)*t), _U1 = 0 .. t))+2*(Int(f(_U1)*cosh((2*I)*_U1-(2*I)*t)*exp(2*_U1+(2*I)*t), _U1 = 0 .. t))+I*(Int(exp((2-2*I)*_U1)*exp((4*I)*_U1)*f(_U1), _U1 = 0 .. t))-I*exp((4*I)*t)*(Int(exp((2-2*I)*_U1)*f(_U1), _U1 = 0 .. t))-(Int(exp((2-2*I)*_U1)*exp((4*I)*_U1)*f(_U1), _U1 = 0 .. t))-exp((4*I)*t)*(Int(exp((2-2*I)*_U1)*f(_U1), _U1 = 0 .. t)))*exp((-2-2*I)*t), 0, 0]

 


 

Download how_to_odetest_laplace_solution_may_29_2025.mw

 

Please Wait...