7
$\begingroup$

I need to solve this Fredholm integral equation of the second kind:

f[s]+integrate[f[t] K[s,t],{t,0,1}]=s 

where 0<=s<=1.

The kernel is:

K[s,t]=(a/2)*(BesselJ[1,a*(s+t)]-BesselJ[1,a*Abs[s-t]]-i*StruveH[1,a*(s+t)]+i*StruveH[1,a*Abs(s-t)]) 

where a: real, i: imaginary unit.

I tried to solve this with the method described here: Integral equation numerical solution with NDSolve, this is the best algorithm for this case I have come across so far but it takes for ages and in the end it doesn't produce any result (due to memory insufficiency). Could anyone please help me solve it?

$\endgroup$

1 Answer 1

9
$\begingroup$

There exist few typos in your kernel definition. This is how your kernel looks assuming a=2 (we denote it as A while defining the kernel as Kpart in the following). enter image description here

Please utilize the code from here to solve your problem. Below I changed the constants and functional arguments of FredholmKind2 to fit your particular problem.

n = 20;(*number of discretization*)
a = 0.;
b = 1.;
lambda = -1.;
Kpart[s_, t_] := With[{A =2},
(A/2)*(BesselJ[1, A*(s + t)] - BesselJ[1, A*Abs[s - t]]-I*StruveH[1, A*(s + t)]
+ I*StruveH[1, A*Abs[s - t]])];
Gpart[x_] := x;
f1 = FredholmKind2[{a, b, lambda, Kpart, Gpart}, n,Method -> Automatic];
f2 = FredholmKind2[{a, b, lambda, Kpart, Gpart}, n,Method -> NIntegrate];

In both the methods the Re and Im part of your complex solution function coincide pretty well.

(Plot[Evaluate@(# /@ {f1[x], f2[x]}), {x, a, b}, Frame -> True, 
Axes -> False, PlotStyle -> {{Thick, [email protected]}, {Dashed, Red}},
 PlotLegends -> {"Automatic", "NIntegrate"}, 
ImageSize -> 400] & /@ {Re, Im})

enter image description here

$\endgroup$
4
  • $\begingroup$ This was very helpful (note:the Gpart is a function of s and equal to s not x). Is there a way to solve this without evaluating A? I am asking this because next I need to calculate the function 'K[A]=A^3 Integrate[s f[s],{s,0,1}]'. $\endgroup$
    – epl
    Commented Aug 26, 2014 at 15:18
  • $\begingroup$ @EvaPlevri I am afraid symbolic A will not fit here. $\endgroup$ Commented Aug 26, 2014 at 17:26
  • $\begingroup$ Do you know if there is another way to solve an integral equation with symbolic parameters in it? $\endgroup$
    – epl
    Commented Aug 27, 2014 at 10:38
  • $\begingroup$ Sorry! I do not know answer to your symbolic parameter question. I used Plot3D[Kpart[s, t],{s,-1,1},{t,-1,1},PlotPoints-> 40] to plot the kernel. $\endgroup$ Commented Aug 27, 2014 at 11:12

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.