JuliaApproximation / SingularIntegrals.jl

A Julia package for computing singular integrals
MIT License
6 stars 4 forks source link

Any plans for hypersingular integrals common in boundary element method? #47

Open KapilKhanal opened 4 months ago

KapilKhanal commented 4 months ago

Hi I was just wondering if there are any plans for integrals of type r^{-2 }and above.

Thanks,

dlfivefifty commented 4 months ago

Possibly at some point but note you can compute these with auto-diff, here we compute the integral of $\exp(x)/(1.00001 - x)^2$:

julia> P = Legendre(); f = expand(P, exp); Sf = z -> stieltjes(f, z);

julia> @time ForwardDiff.derivative(Sf, 1.00001)
  0.000015 seconds (9 allocations: 816 bytes)
-271798.40516450343

julia> @test ForwardDiff.derivative(Sf, 1.00001) ≈ -271798.4051645036 # mathematica w/ high precision
Test Passed
KapilKhanal commented 4 months ago

Awesome, I have the integrals 1/x^2 , 1/x^3. Does it work for these kind of kernels? I do not have test data point for these.

Also, I am confused a little bit on why autodiff would work in these cases. So if I have an algorithm for analytical integrals (that removes singularity somehow) of (1/x) , I can autodiff it to get the integrals of (1/x^2) and so on?