In[]:=
CompoundExpression[
]
​​deploy
Thu 27 Apr 2023 16:21:21

Simple failing example

In[]:=
ClearAll["Global`*"];​​h=(i+1)^-2;​​inti[expr_]:=Integrate[expr,{i,0,Infinity}];​​eqn=D[f[i,t],t]==hf[i,t]+hinti[hf[i,t]];​​sol=DSolveValue[{eqn,f[i,0]==1},f[i,t],{i,t}]​​f0=Function@@{{i,t},sol};​​​​Print["Solution: ",f0[i,t]];​​Print["Back-substitute: ",eqn0=eqn/.f->f0];​​Print["Solution correct: ",eqn0/.{i->2,t->3}](*False*)
Out[]=
2t
1+2i+
2
i

Solution:
2t
1+2i+
2
i

Back-substitute:
2
2t
1+2i+
2
i

1+2i+
2
i

2t
1+2i+
2
i

2
(1+i)
+
π
2
Erfi[
2
t
]
2
2
(1+i)
t
Solution correct: False

Normalized version

In[]:=
ClearAll["Global`*"];​​$Assumptions={p>0};​​solve[h2_]:=​​z=
∞
∫
0
h2i;​​h=h2z;​​eqn=D[et[i,t],t]==ahet[i,t]+bh*
∞
∫
0
et[i,t]hi;​​initialValue=et[i,0]==1;​​sol=DSolveValue[​​{eqn,initialValue},​​et[i,t],​​{{i,0,∞},{t,0,∞}}]​​;​​​​SF=StringForm;​​simple[expr_]:=HoldForm[ht]Simplify
1
ht
PowerExpand@Log@expr;​​format[source_,target_]:=Print@SF["solution for h=``: ``",source,target];​​Block[{h=(i+1)^-(p+1)},format[h,simple@solve[h]]];​​Block[{h=Exp[-i]},format[h,simple@solve[h]]];​​Block[{h=Exp[-11i]},format[h,simple@solve[h]]];​​Block[{h=Exp[-
2
i
]},format[h,simple@solve[h]]];​​Blockh=Exp[-
i
],format[h,simple@solve[h]];​​Block[h=Exp[-
1/3
i
],format[h,simple@solve[h]]];​​Block[{h=Exp[-i]Sin[i]},format[h,simple@solve[h]]];​​​​
solution for h=
-1-p
(1+i)
: (a+b)(ht)
solution for h=
-i

: (a+b)(ht)
solution for h=
-11i

: (a+b)(ht)
solution for h=
-
2
i

: (a+b)(ht)
solution for h=
-
i

: (a+b)(ht)
solution for h=
-
1/3
i

: (a+b)(ht)
solution for h=
-i

Sin[i]: (a+b)(ht)

Unnormalized version

In[]:=
ClearAll["Global`*"];​​$Assumptions={p>0};​​solve[h_]:=​​eqn=D[et[i,t],t]==ahet[i,t]+bh*
∞
∫
0
et[i,t]hi;​​initialValue=et[i,0]==1;​​sol=DSolveValue[​​{eqn,initialValue},​​et[i,t],​​{{i,0,∞},{t,0,∞}}]​​;​​​​SF=StringForm;​​simple[expr_]:=HoldForm[ht]Simplify
1
ht
PowerExpand@Log@expr;​​format[source_,target_]:=Print@SF["solution for h=``: ``",source,target];​​Block[{h=(i+1)^-(p+1)},format[h,simple@solve[h]]];​​Block[{h=Exp[-i]},format[h,simple@solve[h]]];​​Block[{h=Exp[-11i]},format[h,simple@solve[h]]];​​Block[{h=Exp[-
2
i
]},format[h,simple@solve[h]]];​​Blockh=Exp[-
i
],format[h,simple@solve[h]];​​Block[h=Exp[-
1/3
i
],format[h,simple@solve[h]]];​​Block[{h=Exp[-i]Sin[i]},format[h,simple@solve[h]]];​​​​
solution for h=
-1-p
(1+i)
: a+
b
p
(ht)
solution for h=
-i

: (a+b)(ht)
solution for h=
-11i

: a+
b
11
(ht)
solution for h=
-
2
i

: a+
b
π
2
(ht)
solution for h=
-
i

: (a+2b)(ht)
solution for h=
-
1/3
i

: (a+6b)(ht)
solution for h=
-i

Sin[i]: a+
b
2
(ht)