Skip to main content
29 events
when toggle format what by license comment
Apr 1 at 16:40 comment added Alex Trounev @Gallagher This code is a little beat faster. Well, then we need some analytical research. It is why I ask you to open a new topic.
Apr 1 at 15:26 comment added Gallagher @Alex Trounev It doesn't work, still the same problem.
Mar 29 at 15:53 comment added Alex Trounev Let try this function ftest1[k_?NumericQ, z_?NumericQ] := 1 - k^2/(z)^2 - Rationalize[5.811300019879834*^7, 30]/(k^3 z) NIntegrate[(E^(-10/ u) (k Sqrt[ 1 - u^2] (-1 + z) - (k^2 (-1 + u^2) + (-1 + z)^2) ArcTanh[(k Sqrt[ 1 - u^2])/(-1 + z)]))/u^4, {u, 0, 0, 1}, Method -> "PrincipalValue"]`
Mar 29 at 13:39 comment added Gallagher @Alex Trounev, Yes exactly.
Mar 29 at 12:31 comment added Alex Trounev @Gallagher This is a good question. Answer depends on what you are looking for. It seems that you try to compute integral of singular function in complex plain. Is it correct?
Mar 29 at 1:17 comment added Gallagher @Alex Trounev maybe there is no solutions Sol2 for k>2 ?
Mar 16 at 12:07 comment added Alex Trounev @Gallagher I don't think that we can solve this problem without mathematical research. Your first question about data retrieved from ContourPlot has an answer. But your second question and problem you try to solve is not clear. Maybe we need redefine ArcTanh[] to get unique solution, since algorithm implemented in Mathematica is not so advanced to solve this problem. Could you start a new topic with your problem explanation?
Mar 15 at 23:39 comment added Gallagher @Alex Trounev it's still the same problem that I can't solve. For k=<1.9 all the roots Re[Sol2(k)] obtained by FindRoot[ftest[k, z] == 0] are good <<1 and correspond perfectly to the roots found by ContourPlot, however for k>1.9 FindRoot gives false values different from those calculated by ContouPlot, look for example Re[Sol2(2)]=5.38 by FindRoot while Re[Sol2(2)]=0.137 by ContouPlot, this is the crucial problem of this post. Perhaps the precision? Do you have an idea please?
Mar 11 at 10:35 comment added Alex Trounev No, sign is on since limits of integral also should be swapped. Actually I tested ftest compare to f, they show same result, but ftest is faster.
Mar 10 at 23:44 comment added Gallagher Let us continue this discussion in chat.
Mar 10 at 23:40 comment added Gallagher @Alex Trounev, in update 1, when you replace s with 1/u to get the new function ftest, I think you are missing a minus sign in the integrand of ftest, which comes from the differential ds=(-1/u²)du, can you check it please?
Mar 10 at 17:33 comment added Gallagher @Alex Trounev, thank you so much for your remarkable answers. You did everything correctly, I am grateful to you. But there is still a problem to solve that I can't understand. For k=<1.8 the roots Re[Sol2(k)] obtained by FindRoot[ftest[k, z] == 0] are good <<1, however for k>1.8 FindRoot gives the same false value, i.e. Sol2(1.9)=Sol2(2)=Sol2(2.5)=5,...... Maybe the precision? Do you have an idea please?
Mar 10 at 16:18 history edited Alex Trounev CC BY-SA 4.0
added 1905 characters in body
Mar 10 at 13:51 history edited Alex Trounev CC BY-SA 4.0
added 1908 characters in body
Mar 10 at 12:32 comment added Alex Trounev @Gallagher You are right, see Update 1 to my answer.
Mar 10 at 12:31 history edited Alex Trounev CC BY-SA 4.0
added 1844 characters in body
Mar 9 at 23:26 comment added Gallagher @Alex Trounev Re[Sol2(k)]<<1 from ContourPlot for various k. You can check it for k<<1.
Mar 9 at 23:19 comment added Alex Trounev @Gallagher How you know this estimation Re[Sol2(k)]<<1? From my solution it follows, that Im[Sol2(k)]<<1.
Mar 9 at 22:02 comment added Gallagher @Alex Trounev: the roots Re[Sol2(k)] that you plotted do not seem to be the correct results, because they must be all less than 1, Re[Sol2(k)]<<1. I think that using FindRoot is better but I can't do it.
Mar 9 at 19:56 comment added Alex Trounev @Gallagher It takes a time to compute data. Could you also try to improve this solution?
Mar 9 at 19:52 comment added Gallagher @Alex: thank you so much, but I can't see the plot well, can you improve it please? A precision, for k<<1 Sol2 verifies Re[Sol2]<<<1 and not greater than 1.
Mar 9 at 19:29 comment added Alex Trounev @Gallagher Please see update to my answer.
Mar 9 at 19:28 history edited Alex Trounev CC BY-SA 4.0
added 1924 characters in body
Mar 9 at 17:01 comment added Gallagher @Alex ContourPlot gives only two roots for a given k, please how to plot from selected roots all roots Re[Sol2(k)] and Im[Sol2(k)] for 0<k<20?
Mar 9 at 15:54 comment added azerbajdzan @Gallagher: How precise must these roots be? Extracting roots from plots is not very precise. The left roots are quite off in both cases. Try to substitute them in the original function.
Mar 9 at 15:38 comment added Gallagher How to plot these Re and Im roots please?
Mar 9 at 15:11 comment added Alex Trounev @Gallagher We don't need large range. At k>3 all roots are same {0.0328947, -1.11022*10^-16}.
Mar 9 at 14:38 comment added Gallagher Thank you @Alex Trounev so much for the answer, please for question 2, how to plot all Re[Sol2(k)] and Im[Sol2] versus k for 0<k<20 ? Many thanks.
Mar 9 at 11:00 history answered Alex Trounev CC BY-SA 4.0