0
$\begingroup$

Mathematica couldn't solve following using just integrate function. I checked on interpolating as well, that also turned to be a dead end. Can someone help me with evaluating this integral? If it helps one can differentiate with respect to t and get an integro-differential equation and solve that. I tried both.

a,b,τ,t are all real numbers. Initial condition is σ[0] =0.5;

enter image description here

σ[t] == Assuming[{Element[{τ, t, a, b}, Reals], τ >= 0, t >= 0}, Integrate[Integrate[a (-1 + Exp[b (-1/(t - τ)^2 - 1/(I + t - τ)^2 + π^2 Csch[π (t-τ)]^2)]), {τ, 0, t}] σ[t], {t, 0, t}]]

Integro-differential equation is of the form,

eqn = Derivative[1][σ][t] == a*Assuming[{Element[{τ,t,a,b},Reals],τ>= 0,t>=0},Integrate[(Exp[b (-1/(t - τ)^2 - 1/(I + t - τ)^2 + π^2 Csch[π (t-τ)]^2)]-1)*σ[t],{τ,0,t}];
$\endgroup$
4
  • $\begingroup$ Please, always share your code in copyable form. $\endgroup$ Commented Nov 30, 2019 at 23:13
  • $\begingroup$ @HenrikSchumacher Done. Thanks for pointing it out. $\endgroup$
    – Kobe
    Commented Dec 1, 2019 at 0:07
  • 3
    $\begingroup$ Have you tried the free Rubi integration add on package for Mathematica at rulebasedintegration.org to see if it can make any progress if you attempt just your inner integral and only do this as an indefinite integration? If it can make no progress then that may mean symbolic integration is very unlikely to succeed. $\endgroup$
    – Bill
    Commented Dec 1, 2019 at 2:38
  • $\begingroup$ @Bill Thanks for input. I checked that out and it couldn't solve it also. Thanks for introducing me to the package. :) $\endgroup$
    – Kobe
    Commented Dec 1, 2019 at 9:02

1 Answer 1

1
$\begingroup$

Think, you can only solve it numericaly.

Define the inner integral and solve the differential equation for t,a,b values of interest. (takes a few seconds).

nint1[ts_?NumericQ, a_?NumericQ, b_?NumericQ] := 
    NIntegrate[
      a (-1 + Exp[
  b (-1/(ts - \[Tau])^2 - 
     1/(I + ts - \[Tau])^2 + \[Pi]^2 Csch[\[Pi] (ts - \
  \[Tau])]^2)]), {\[Tau], 0, ts}]


ndsol := NDSolve[{Derivative[1, 0, 0][\[Sigma]][t, a, b] == 
nint1[t, a, b]*\[Sigma][t, a, b], \[Sigma][0, a, b] == 
1/2}, \[Sigma], {t, 0, 10}, {a, 1/100, 3}, {b, 1/100, 4}]

\[Sigma]sol[t_, a_, b_] = \[Sigma][t, a, b] /. First@ndsol

Manipulate[
 Plot[{Re[\[Sigma]sol[t, a, b]], Im[\[Sigma]sol[t, a, b]]}, {t, 0, 
  10}, PlotRange -> All, PlotStyle -> {Blue, Red}], {{a, 1}, 1/100, 
 3}, {{b, 1}, 1/100, 4}]

enter image description here

(Sorry for the bad layout. Had no more time.)

$\endgroup$
3
  • $\begingroup$ Thank you very much for this. You have been very helpful. I have been trying this for so long. $\endgroup$
    – Kobe
    Commented Dec 2, 2019 at 8:47
  • $\begingroup$ Thank you. I'm glad I could help. $\endgroup$
    – Akku14
    Commented Dec 3, 2019 at 13:26
  • $\begingroup$ Additional tip: Since for all a,b values NIntegrate starts from zero for every wanted t-value from 0 to 10, you can accelerate calculation a lot, if you force intermediate integration results to be stored. Define nint2[ts_?NumericQ, a_?NumericQ, b_?NumericQ] := nint2[ts, a, b] = NIntegrate[ a (-1 + Exp[ b (-1/(ts - \[Tau])^2 - 1/(I + ts - \[Tau])^2 + \[Pi]^2 Csch[\[Pi] (ts - \ \[Tau])]^2)]), {\[Tau], 0, ts}] and use nint2 in NDSolve . $\endgroup$
    – Akku14
    Commented Dec 3, 2019 at 16:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.