NIntegrate: How can I solve this integral numerically? NIntegrate fails while Integrate worksNIntegrate fails while Integrate worksCauchy principal value integral of a list of numbers. How?How to numerically integrate this integral?How to do multi-dimensional principal value integration?How to calculate the principal value for a two-dimensional integral numerically?Interesting discrepencies between integrate functionsHow to overcome this error in NIntegrate?Divergence With NIntegrateEvaluating this double integral numerically using NIntegrateNIntegrate error message: “The integrand…has evaluated to non-numerical values for all sampling points in the region with boundaries…”

ssTTsSTtRrriinInnnnNNNIiinngg

Why is it a bad idea to hire a hitman to eliminate most corrupt politicians?

Using "tail" to follow a file without displaying the most recent lines

How seriously should I take size and weight limits of hand luggage?

Mathematica command that allows it to read my intentions

What historical events would have to change in order to make 19th century "steampunk" technology possible?

Is it inappropriate for a student to attend their mentor's dissertation defense?

What's the meaning of "Sollensaussagen"?

Processor speed limited at 0.4 Ghz

Could the museum Saturn V's be refitted for one more flight?

Is it "common practice in Fourier transform spectroscopy to multiply the measured interferogram by an apodizing function"? If so, why?

files created then deleted at every second in tmp directory

What do you call someone who asks many questions?

What is the most common color to indicate the input-field is disabled?

Can a virus destroy the BIOS of a modern computer?

Is there an online compendium of Rav Moshe teshuvos in English that exists?

Does Fukaya see all symplectic topology?

Are characters in a string unique

Why were 5.25" floppy drives cheaper than 8"?

Can I set a Ready action to trigger when literally anything happens?

How to show a landlord what we have in savings?

How obscure is the use of 令 in 令和?

What is a Samsaran Word™?

Explaination of a justification: additive functors preserve limits



NIntegrate: How can I solve this integral numerically? NIntegrate fails while Integrate works


NIntegrate fails while Integrate worksCauchy principal value integral of a list of numbers. How?How to numerically integrate this integral?How to do multi-dimensional principal value integration?How to calculate the principal value for a two-dimensional integral numerically?Interesting discrepencies between integrate functionsHow to overcome this error in NIntegrate?Divergence With NIntegrateEvaluating this double integral numerically using NIntegrateNIntegrate error message: “The integrand…has evaluated to non-numerical values for all sampling points in the region with boundaries…”













4












$begingroup$


I know the exact solution of the principal value of this integral is equal to zero:



$int_-1^1int_-1^1fracx^2sqrt1-x^2fracsqrt1-y^2y-xdydx=0$



doing:



Integrate[x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/(y - x), x, -1, 1, y, -1, 1, 
PrincipalValue -> True]


but I want to do it numerically and it doesn't work:



NIntegrate[x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/(y - x), x, -1, 1, y, -1, 1]


This is the error message returned:



enter image description here



How can I get Mathematica to solve this problem numerically?










share|improve this question











$endgroup$







  • 1




    $begingroup$
    The issue is that the integrand approaches infinity as x->±1, x->y, and y->x. That kind of behavior is toxic to numerical methods: you need to reason out a way to deal with it, not merely probe it numerically. PrincipalValue -> True gives you access to automated reasoning in this case, and you've solved the problem that way. Do you have a different problem you're trying to solve?
    $endgroup$
    – John Doty
    Mar 25 at 12:20










  • $begingroup$
    Yes, I'm trying to solve a similar integral, when x^2 is multplied by exp^(-i*b*(x + y)). So, firstly I wanted to try to solve this known integral.
    $endgroup$
    – Javier Alaminos
    Mar 25 at 12:31






  • 2




    $begingroup$
    Use option Exclusions -> -1, 1, y + x == 0]
    $endgroup$
    – user18792
    Mar 25 at 12:43






  • 1




    $begingroup$
    All that is built on the sand because the PrincipalValue option for multivariate integrals is undocumented.
    $endgroup$
    – user64494
    Mar 25 at 20:56















4












$begingroup$


I know the exact solution of the principal value of this integral is equal to zero:



$int_-1^1int_-1^1fracx^2sqrt1-x^2fracsqrt1-y^2y-xdydx=0$



doing:



Integrate[x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/(y - x), x, -1, 1, y, -1, 1, 
PrincipalValue -> True]


but I want to do it numerically and it doesn't work:



NIntegrate[x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/(y - x), x, -1, 1, y, -1, 1]


This is the error message returned:



enter image description here



How can I get Mathematica to solve this problem numerically?










share|improve this question











$endgroup$







  • 1




    $begingroup$
    The issue is that the integrand approaches infinity as x->±1, x->y, and y->x. That kind of behavior is toxic to numerical methods: you need to reason out a way to deal with it, not merely probe it numerically. PrincipalValue -> True gives you access to automated reasoning in this case, and you've solved the problem that way. Do you have a different problem you're trying to solve?
    $endgroup$
    – John Doty
    Mar 25 at 12:20










  • $begingroup$
    Yes, I'm trying to solve a similar integral, when x^2 is multplied by exp^(-i*b*(x + y)). So, firstly I wanted to try to solve this known integral.
    $endgroup$
    – Javier Alaminos
    Mar 25 at 12:31






  • 2




    $begingroup$
    Use option Exclusions -> -1, 1, y + x == 0]
    $endgroup$
    – user18792
    Mar 25 at 12:43






  • 1




    $begingroup$
    All that is built on the sand because the PrincipalValue option for multivariate integrals is undocumented.
    $endgroup$
    – user64494
    Mar 25 at 20:56













4












4








4





$begingroup$


I know the exact solution of the principal value of this integral is equal to zero:



$int_-1^1int_-1^1fracx^2sqrt1-x^2fracsqrt1-y^2y-xdydx=0$



doing:



Integrate[x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/(y - x), x, -1, 1, y, -1, 1, 
PrincipalValue -> True]


but I want to do it numerically and it doesn't work:



NIntegrate[x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/(y - x), x, -1, 1, y, -1, 1]


This is the error message returned:



enter image description here



How can I get Mathematica to solve this problem numerically?










share|improve this question











$endgroup$




I know the exact solution of the principal value of this integral is equal to zero:



$int_-1^1int_-1^1fracx^2sqrt1-x^2fracsqrt1-y^2y-xdydx=0$



doing:



Integrate[x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/(y - x), x, -1, 1, y, -1, 1, 
PrincipalValue -> True]


but I want to do it numerically and it doesn't work:



NIntegrate[x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/(y - x), x, -1, 1, y, -1, 1]


This is the error message returned:



enter image description here



How can I get Mathematica to solve this problem numerically?







numerical-integration






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 25 at 12:23









mjw

1,24210




1,24210










asked Mar 25 at 12:00









Javier AlaminosJavier Alaminos

213




213







  • 1




    $begingroup$
    The issue is that the integrand approaches infinity as x->±1, x->y, and y->x. That kind of behavior is toxic to numerical methods: you need to reason out a way to deal with it, not merely probe it numerically. PrincipalValue -> True gives you access to automated reasoning in this case, and you've solved the problem that way. Do you have a different problem you're trying to solve?
    $endgroup$
    – John Doty
    Mar 25 at 12:20










  • $begingroup$
    Yes, I'm trying to solve a similar integral, when x^2 is multplied by exp^(-i*b*(x + y)). So, firstly I wanted to try to solve this known integral.
    $endgroup$
    – Javier Alaminos
    Mar 25 at 12:31






  • 2




    $begingroup$
    Use option Exclusions -> -1, 1, y + x == 0]
    $endgroup$
    – user18792
    Mar 25 at 12:43






  • 1




    $begingroup$
    All that is built on the sand because the PrincipalValue option for multivariate integrals is undocumented.
    $endgroup$
    – user64494
    Mar 25 at 20:56












  • 1




    $begingroup$
    The issue is that the integrand approaches infinity as x->±1, x->y, and y->x. That kind of behavior is toxic to numerical methods: you need to reason out a way to deal with it, not merely probe it numerically. PrincipalValue -> True gives you access to automated reasoning in this case, and you've solved the problem that way. Do you have a different problem you're trying to solve?
    $endgroup$
    – John Doty
    Mar 25 at 12:20










  • $begingroup$
    Yes, I'm trying to solve a similar integral, when x^2 is multplied by exp^(-i*b*(x + y)). So, firstly I wanted to try to solve this known integral.
    $endgroup$
    – Javier Alaminos
    Mar 25 at 12:31






  • 2




    $begingroup$
    Use option Exclusions -> -1, 1, y + x == 0]
    $endgroup$
    – user18792
    Mar 25 at 12:43






  • 1




    $begingroup$
    All that is built on the sand because the PrincipalValue option for multivariate integrals is undocumented.
    $endgroup$
    – user64494
    Mar 25 at 20:56







1




1




$begingroup$
The issue is that the integrand approaches infinity as x->±1, x->y, and y->x. That kind of behavior is toxic to numerical methods: you need to reason out a way to deal with it, not merely probe it numerically. PrincipalValue -> True gives you access to automated reasoning in this case, and you've solved the problem that way. Do you have a different problem you're trying to solve?
$endgroup$
– John Doty
Mar 25 at 12:20




$begingroup$
The issue is that the integrand approaches infinity as x->±1, x->y, and y->x. That kind of behavior is toxic to numerical methods: you need to reason out a way to deal with it, not merely probe it numerically. PrincipalValue -> True gives you access to automated reasoning in this case, and you've solved the problem that way. Do you have a different problem you're trying to solve?
$endgroup$
– John Doty
Mar 25 at 12:20












$begingroup$
Yes, I'm trying to solve a similar integral, when x^2 is multplied by exp^(-i*b*(x + y)). So, firstly I wanted to try to solve this known integral.
$endgroup$
– Javier Alaminos
Mar 25 at 12:31




$begingroup$
Yes, I'm trying to solve a similar integral, when x^2 is multplied by exp^(-i*b*(x + y)). So, firstly I wanted to try to solve this known integral.
$endgroup$
– Javier Alaminos
Mar 25 at 12:31




2




2




$begingroup$
Use option Exclusions -> -1, 1, y + x == 0]
$endgroup$
– user18792
Mar 25 at 12:43




$begingroup$
Use option Exclusions -> -1, 1, y + x == 0]
$endgroup$
– user18792
Mar 25 at 12:43




1




1




$begingroup$
All that is built on the sand because the PrincipalValue option for multivariate integrals is undocumented.
$endgroup$
– user64494
Mar 25 at 20:56




$begingroup$
All that is built on the sand because the PrincipalValue option for multivariate integrals is undocumented.
$endgroup$
– user64494
Mar 25 at 20:56










2 Answers
2






active

oldest

votes


















2












$begingroup$

The main problem is the point x=y. In principle, it seems that there the integral is singular. If you agree to get the principal value of it, you may exclude this point by a regularization as follows



NIntegrate[
x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/Sqrt[(y - x)^2 + i^-2], x, -1 + 1/i,
1 - 1/i, y, -1 + 1/i, 1 - 1/i, Method -> "AdaptiveMonteCarlo"]


where i is a large number. Then you may increase i and check the convergence of the integral:



 lst = Table[1/i, 
NIntegrate[
x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/
Sqrt[(y - x)^2 + i^-2], x, -1 + 1/i, 1 - 1/i, y, -1 + 1/i,
1 - 1/i, Method -> "AdaptiveMonteCarlo"], i, 1000, 100000,
1000] // N;

ListLogPlot[lst /. x_, y_ -> 1/x, y, Frame -> True,
FrameLabel -> Style["Number i", 16], Style["Integral", 16]]


yielding this



enter image description here



One can further a few other methods which may eventually enable a more accurate estimate of the integral.



Have fun!






share|improve this answer









$endgroup$








  • 3




    $begingroup$
    I don't understand what you're plotting. The value of this integral is 0 and your result is around 12.
    $endgroup$
    – Javier Alaminos
    Mar 25 at 14:10










  • $begingroup$
    You are right, it is not the same integral, since I took Sqrt[(x-y)^2+eps^2] instead of x-y.
    $endgroup$
    – Alexei Boulbitch
    Mar 25 at 15:52










  • $begingroup$
    So, to solve the original integral what do I have to do?
    $endgroup$
    – Javier Alaminos
    Mar 25 at 18:28










  • $begingroup$
    Note that $sqrt(y-x)^2 + epsilon^2$ approaches $|y - x|$ as $epsilon to 0$, not the $y - x$ that's in the original integrand.
    $endgroup$
    – Michael Seifert
    Mar 25 at 18:35



















2












$begingroup$

As the others say,simply integrate by avoiding singular points?



Fixed.



Try other integral.




target = Compile[x, _Real, y, _Real, 
x/[Sqrt](1 - x) [Sqrt](1 - y^2)/(y - x)];
integrand[x_, y_] := If[Or[(1 - x) == 0, y == x], 0, target[x, y]];
Quiet@NIntegrate[integrand[x, y], x, -1., 1., y, -1., 1.]


=>



-4.06259



Integration by manual




.



Plus @@ Flatten@
Table[integrand[x, y]*0.001*0.001, x, -1., 1., 0.001, y, -1., 1.,
0.001]


=>



-3.99866



Integration by NIntegrate




N@Integrate[
x/Sqrt[1 - x] Sqrt[1 - y^2]/(y - x), x, -1, 1, y, -1, 1,
PrincipalValue -> True]


=>



-4.14669



the question's integral.



target = Compile[x, _Real, y, _Real, 
x^2/[Sqrt](1 - x^2) [Sqrt](1 - y^2)/(y - x)];
integrand[x_, y_] := If[Or[(1 - x^2) == 0, y == x], 0, target[x, y]];
Quiet@NIntegrate[integrand[x, y], x, -1., 1., y, -1., 1.]


=>



-0.4542



By manual.




Plus @@ Flatten@
Table[integrand[x, y]*0.1*0.1, x, -1., 1., 0.1, y, -1., 1., 0.1]


=>



-8.88178*10^-16



By other method.




Quiet@NIntegrate[integrand[x, y], x, -1., 1., y, -1., 1., 
Method -> "LocalAdaptive"]


=>



7.73766*10^-17


For now, we can see that the integral value is close to zero.






share|improve this answer











$endgroup$












  • $begingroup$
    But I can't avoid the singularity $x==y$, because for example if I have $x$ instead of $x^2$ the result of integral is $-pi^2/2$, and with your code the result is always 0.
    $endgroup$
    – Javier Alaminos
    Mar 25 at 18:05











  • $begingroup$
    @JavierAlaminos as your point,my code was always 0. it's mainly because my code returns Nothing when the condition met,I think. so just modified.
    $endgroup$
    – Xminer
    Mar 25 at 20:02











Your Answer





StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "387"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f193926%2fnintegrate-how-can-i-solve-this-integral-numerically-nintegrate-fails-while-in%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









2












$begingroup$

The main problem is the point x=y. In principle, it seems that there the integral is singular. If you agree to get the principal value of it, you may exclude this point by a regularization as follows



NIntegrate[
x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/Sqrt[(y - x)^2 + i^-2], x, -1 + 1/i,
1 - 1/i, y, -1 + 1/i, 1 - 1/i, Method -> "AdaptiveMonteCarlo"]


where i is a large number. Then you may increase i and check the convergence of the integral:



 lst = Table[1/i, 
NIntegrate[
x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/
Sqrt[(y - x)^2 + i^-2], x, -1 + 1/i, 1 - 1/i, y, -1 + 1/i,
1 - 1/i, Method -> "AdaptiveMonteCarlo"], i, 1000, 100000,
1000] // N;

ListLogPlot[lst /. x_, y_ -> 1/x, y, Frame -> True,
FrameLabel -> Style["Number i", 16], Style["Integral", 16]]


yielding this



enter image description here



One can further a few other methods which may eventually enable a more accurate estimate of the integral.



Have fun!






share|improve this answer









$endgroup$








  • 3




    $begingroup$
    I don't understand what you're plotting. The value of this integral is 0 and your result is around 12.
    $endgroup$
    – Javier Alaminos
    Mar 25 at 14:10










  • $begingroup$
    You are right, it is not the same integral, since I took Sqrt[(x-y)^2+eps^2] instead of x-y.
    $endgroup$
    – Alexei Boulbitch
    Mar 25 at 15:52










  • $begingroup$
    So, to solve the original integral what do I have to do?
    $endgroup$
    – Javier Alaminos
    Mar 25 at 18:28










  • $begingroup$
    Note that $sqrt(y-x)^2 + epsilon^2$ approaches $|y - x|$ as $epsilon to 0$, not the $y - x$ that's in the original integrand.
    $endgroup$
    – Michael Seifert
    Mar 25 at 18:35
















2












$begingroup$

The main problem is the point x=y. In principle, it seems that there the integral is singular. If you agree to get the principal value of it, you may exclude this point by a regularization as follows



NIntegrate[
x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/Sqrt[(y - x)^2 + i^-2], x, -1 + 1/i,
1 - 1/i, y, -1 + 1/i, 1 - 1/i, Method -> "AdaptiveMonteCarlo"]


where i is a large number. Then you may increase i and check the convergence of the integral:



 lst = Table[1/i, 
NIntegrate[
x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/
Sqrt[(y - x)^2 + i^-2], x, -1 + 1/i, 1 - 1/i, y, -1 + 1/i,
1 - 1/i, Method -> "AdaptiveMonteCarlo"], i, 1000, 100000,
1000] // N;

ListLogPlot[lst /. x_, y_ -> 1/x, y, Frame -> True,
FrameLabel -> Style["Number i", 16], Style["Integral", 16]]


yielding this



enter image description here



One can further a few other methods which may eventually enable a more accurate estimate of the integral.



Have fun!






share|improve this answer









$endgroup$








  • 3




    $begingroup$
    I don't understand what you're plotting. The value of this integral is 0 and your result is around 12.
    $endgroup$
    – Javier Alaminos
    Mar 25 at 14:10










  • $begingroup$
    You are right, it is not the same integral, since I took Sqrt[(x-y)^2+eps^2] instead of x-y.
    $endgroup$
    – Alexei Boulbitch
    Mar 25 at 15:52










  • $begingroup$
    So, to solve the original integral what do I have to do?
    $endgroup$
    – Javier Alaminos
    Mar 25 at 18:28










  • $begingroup$
    Note that $sqrt(y-x)^2 + epsilon^2$ approaches $|y - x|$ as $epsilon to 0$, not the $y - x$ that's in the original integrand.
    $endgroup$
    – Michael Seifert
    Mar 25 at 18:35














2












2








2





$begingroup$

The main problem is the point x=y. In principle, it seems that there the integral is singular. If you agree to get the principal value of it, you may exclude this point by a regularization as follows



NIntegrate[
x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/Sqrt[(y - x)^2 + i^-2], x, -1 + 1/i,
1 - 1/i, y, -1 + 1/i, 1 - 1/i, Method -> "AdaptiveMonteCarlo"]


where i is a large number. Then you may increase i and check the convergence of the integral:



 lst = Table[1/i, 
NIntegrate[
x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/
Sqrt[(y - x)^2 + i^-2], x, -1 + 1/i, 1 - 1/i, y, -1 + 1/i,
1 - 1/i, Method -> "AdaptiveMonteCarlo"], i, 1000, 100000,
1000] // N;

ListLogPlot[lst /. x_, y_ -> 1/x, y, Frame -> True,
FrameLabel -> Style["Number i", 16], Style["Integral", 16]]


yielding this



enter image description here



One can further a few other methods which may eventually enable a more accurate estimate of the integral.



Have fun!






share|improve this answer









$endgroup$



The main problem is the point x=y. In principle, it seems that there the integral is singular. If you agree to get the principal value of it, you may exclude this point by a regularization as follows



NIntegrate[
x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/Sqrt[(y - x)^2 + i^-2], x, -1 + 1/i,
1 - 1/i, y, -1 + 1/i, 1 - 1/i, Method -> "AdaptiveMonteCarlo"]


where i is a large number. Then you may increase i and check the convergence of the integral:



 lst = Table[1/i, 
NIntegrate[
x^2/Sqrt[1 - x^2] Sqrt[1 - y^2]/
Sqrt[(y - x)^2 + i^-2], x, -1 + 1/i, 1 - 1/i, y, -1 + 1/i,
1 - 1/i, Method -> "AdaptiveMonteCarlo"], i, 1000, 100000,
1000] // N;

ListLogPlot[lst /. x_, y_ -> 1/x, y, Frame -> True,
FrameLabel -> Style["Number i", 16], Style["Integral", 16]]


yielding this



enter image description here



One can further a few other methods which may eventually enable a more accurate estimate of the integral.



Have fun!







share|improve this answer












share|improve this answer



share|improve this answer










answered Mar 25 at 13:04









Alexei BoulbitchAlexei Boulbitch

22k2672




22k2672







  • 3




    $begingroup$
    I don't understand what you're plotting. The value of this integral is 0 and your result is around 12.
    $endgroup$
    – Javier Alaminos
    Mar 25 at 14:10










  • $begingroup$
    You are right, it is not the same integral, since I took Sqrt[(x-y)^2+eps^2] instead of x-y.
    $endgroup$
    – Alexei Boulbitch
    Mar 25 at 15:52










  • $begingroup$
    So, to solve the original integral what do I have to do?
    $endgroup$
    – Javier Alaminos
    Mar 25 at 18:28










  • $begingroup$
    Note that $sqrt(y-x)^2 + epsilon^2$ approaches $|y - x|$ as $epsilon to 0$, not the $y - x$ that's in the original integrand.
    $endgroup$
    – Michael Seifert
    Mar 25 at 18:35













  • 3




    $begingroup$
    I don't understand what you're plotting. The value of this integral is 0 and your result is around 12.
    $endgroup$
    – Javier Alaminos
    Mar 25 at 14:10










  • $begingroup$
    You are right, it is not the same integral, since I took Sqrt[(x-y)^2+eps^2] instead of x-y.
    $endgroup$
    – Alexei Boulbitch
    Mar 25 at 15:52










  • $begingroup$
    So, to solve the original integral what do I have to do?
    $endgroup$
    – Javier Alaminos
    Mar 25 at 18:28










  • $begingroup$
    Note that $sqrt(y-x)^2 + epsilon^2$ approaches $|y - x|$ as $epsilon to 0$, not the $y - x$ that's in the original integrand.
    $endgroup$
    – Michael Seifert
    Mar 25 at 18:35








3




3




$begingroup$
I don't understand what you're plotting. The value of this integral is 0 and your result is around 12.
$endgroup$
– Javier Alaminos
Mar 25 at 14:10




$begingroup$
I don't understand what you're plotting. The value of this integral is 0 and your result is around 12.
$endgroup$
– Javier Alaminos
Mar 25 at 14:10












$begingroup$
You are right, it is not the same integral, since I took Sqrt[(x-y)^2+eps^2] instead of x-y.
$endgroup$
– Alexei Boulbitch
Mar 25 at 15:52




$begingroup$
You are right, it is not the same integral, since I took Sqrt[(x-y)^2+eps^2] instead of x-y.
$endgroup$
– Alexei Boulbitch
Mar 25 at 15:52












$begingroup$
So, to solve the original integral what do I have to do?
$endgroup$
– Javier Alaminos
Mar 25 at 18:28




$begingroup$
So, to solve the original integral what do I have to do?
$endgroup$
– Javier Alaminos
Mar 25 at 18:28












$begingroup$
Note that $sqrt(y-x)^2 + epsilon^2$ approaches $|y - x|$ as $epsilon to 0$, not the $y - x$ that's in the original integrand.
$endgroup$
– Michael Seifert
Mar 25 at 18:35





$begingroup$
Note that $sqrt(y-x)^2 + epsilon^2$ approaches $|y - x|$ as $epsilon to 0$, not the $y - x$ that's in the original integrand.
$endgroup$
– Michael Seifert
Mar 25 at 18:35












2












$begingroup$

As the others say,simply integrate by avoiding singular points?



Fixed.



Try other integral.




target = Compile[x, _Real, y, _Real, 
x/[Sqrt](1 - x) [Sqrt](1 - y^2)/(y - x)];
integrand[x_, y_] := If[Or[(1 - x) == 0, y == x], 0, target[x, y]];
Quiet@NIntegrate[integrand[x, y], x, -1., 1., y, -1., 1.]


=>



-4.06259



Integration by manual




.



Plus @@ Flatten@
Table[integrand[x, y]*0.001*0.001, x, -1., 1., 0.001, y, -1., 1.,
0.001]


=>



-3.99866



Integration by NIntegrate




N@Integrate[
x/Sqrt[1 - x] Sqrt[1 - y^2]/(y - x), x, -1, 1, y, -1, 1,
PrincipalValue -> True]


=>



-4.14669



the question's integral.



target = Compile[x, _Real, y, _Real, 
x^2/[Sqrt](1 - x^2) [Sqrt](1 - y^2)/(y - x)];
integrand[x_, y_] := If[Or[(1 - x^2) == 0, y == x], 0, target[x, y]];
Quiet@NIntegrate[integrand[x, y], x, -1., 1., y, -1., 1.]


=>



-0.4542



By manual.




Plus @@ Flatten@
Table[integrand[x, y]*0.1*0.1, x, -1., 1., 0.1, y, -1., 1., 0.1]


=>



-8.88178*10^-16



By other method.




Quiet@NIntegrate[integrand[x, y], x, -1., 1., y, -1., 1., 
Method -> "LocalAdaptive"]


=>



7.73766*10^-17


For now, we can see that the integral value is close to zero.






share|improve this answer











$endgroup$












  • $begingroup$
    But I can't avoid the singularity $x==y$, because for example if I have $x$ instead of $x^2$ the result of integral is $-pi^2/2$, and with your code the result is always 0.
    $endgroup$
    – Javier Alaminos
    Mar 25 at 18:05











  • $begingroup$
    @JavierAlaminos as your point,my code was always 0. it's mainly because my code returns Nothing when the condition met,I think. so just modified.
    $endgroup$
    – Xminer
    Mar 25 at 20:02















2












$begingroup$

As the others say,simply integrate by avoiding singular points?



Fixed.



Try other integral.




target = Compile[x, _Real, y, _Real, 
x/[Sqrt](1 - x) [Sqrt](1 - y^2)/(y - x)];
integrand[x_, y_] := If[Or[(1 - x) == 0, y == x], 0, target[x, y]];
Quiet@NIntegrate[integrand[x, y], x, -1., 1., y, -1., 1.]


=>



-4.06259



Integration by manual




.



Plus @@ Flatten@
Table[integrand[x, y]*0.001*0.001, x, -1., 1., 0.001, y, -1., 1.,
0.001]


=>



-3.99866



Integration by NIntegrate




N@Integrate[
x/Sqrt[1 - x] Sqrt[1 - y^2]/(y - x), x, -1, 1, y, -1, 1,
PrincipalValue -> True]


=>



-4.14669



the question's integral.



target = Compile[x, _Real, y, _Real, 
x^2/[Sqrt](1 - x^2) [Sqrt](1 - y^2)/(y - x)];
integrand[x_, y_] := If[Or[(1 - x^2) == 0, y == x], 0, target[x, y]];
Quiet@NIntegrate[integrand[x, y], x, -1., 1., y, -1., 1.]


=>



-0.4542



By manual.




Plus @@ Flatten@
Table[integrand[x, y]*0.1*0.1, x, -1., 1., 0.1, y, -1., 1., 0.1]


=>



-8.88178*10^-16



By other method.




Quiet@NIntegrate[integrand[x, y], x, -1., 1., y, -1., 1., 
Method -> "LocalAdaptive"]


=>



7.73766*10^-17


For now, we can see that the integral value is close to zero.






share|improve this answer











$endgroup$












  • $begingroup$
    But I can't avoid the singularity $x==y$, because for example if I have $x$ instead of $x^2$ the result of integral is $-pi^2/2$, and with your code the result is always 0.
    $endgroup$
    – Javier Alaminos
    Mar 25 at 18:05











  • $begingroup$
    @JavierAlaminos as your point,my code was always 0. it's mainly because my code returns Nothing when the condition met,I think. so just modified.
    $endgroup$
    – Xminer
    Mar 25 at 20:02













2












2








2





$begingroup$

As the others say,simply integrate by avoiding singular points?



Fixed.



Try other integral.




target = Compile[x, _Real, y, _Real, 
x/[Sqrt](1 - x) [Sqrt](1 - y^2)/(y - x)];
integrand[x_, y_] := If[Or[(1 - x) == 0, y == x], 0, target[x, y]];
Quiet@NIntegrate[integrand[x, y], x, -1., 1., y, -1., 1.]


=>



-4.06259



Integration by manual




.



Plus @@ Flatten@
Table[integrand[x, y]*0.001*0.001, x, -1., 1., 0.001, y, -1., 1.,
0.001]


=>



-3.99866



Integration by NIntegrate




N@Integrate[
x/Sqrt[1 - x] Sqrt[1 - y^2]/(y - x), x, -1, 1, y, -1, 1,
PrincipalValue -> True]


=>



-4.14669



the question's integral.



target = Compile[x, _Real, y, _Real, 
x^2/[Sqrt](1 - x^2) [Sqrt](1 - y^2)/(y - x)];
integrand[x_, y_] := If[Or[(1 - x^2) == 0, y == x], 0, target[x, y]];
Quiet@NIntegrate[integrand[x, y], x, -1., 1., y, -1., 1.]


=>



-0.4542



By manual.




Plus @@ Flatten@
Table[integrand[x, y]*0.1*0.1, x, -1., 1., 0.1, y, -1., 1., 0.1]


=>



-8.88178*10^-16



By other method.




Quiet@NIntegrate[integrand[x, y], x, -1., 1., y, -1., 1., 
Method -> "LocalAdaptive"]


=>



7.73766*10^-17


For now, we can see that the integral value is close to zero.






share|improve this answer











$endgroup$



As the others say,simply integrate by avoiding singular points?



Fixed.



Try other integral.




target = Compile[x, _Real, y, _Real, 
x/[Sqrt](1 - x) [Sqrt](1 - y^2)/(y - x)];
integrand[x_, y_] := If[Or[(1 - x) == 0, y == x], 0, target[x, y]];
Quiet@NIntegrate[integrand[x, y], x, -1., 1., y, -1., 1.]


=>



-4.06259



Integration by manual




.



Plus @@ Flatten@
Table[integrand[x, y]*0.001*0.001, x, -1., 1., 0.001, y, -1., 1.,
0.001]


=>



-3.99866



Integration by NIntegrate




N@Integrate[
x/Sqrt[1 - x] Sqrt[1 - y^2]/(y - x), x, -1, 1, y, -1, 1,
PrincipalValue -> True]


=>



-4.14669



the question's integral.



target = Compile[x, _Real, y, _Real, 
x^2/[Sqrt](1 - x^2) [Sqrt](1 - y^2)/(y - x)];
integrand[x_, y_] := If[Or[(1 - x^2) == 0, y == x], 0, target[x, y]];
Quiet@NIntegrate[integrand[x, y], x, -1., 1., y, -1., 1.]


=>



-0.4542



By manual.




Plus @@ Flatten@
Table[integrand[x, y]*0.1*0.1, x, -1., 1., 0.1, y, -1., 1., 0.1]


=>



-8.88178*10^-16



By other method.




Quiet@NIntegrate[integrand[x, y], x, -1., 1., y, -1., 1., 
Method -> "LocalAdaptive"]


=>



7.73766*10^-17


For now, we can see that the integral value is close to zero.







share|improve this answer














share|improve this answer



share|improve this answer








edited Mar 25 at 19:59

























answered Mar 25 at 15:16









XminerXminer

34318




34318











  • $begingroup$
    But I can't avoid the singularity $x==y$, because for example if I have $x$ instead of $x^2$ the result of integral is $-pi^2/2$, and with your code the result is always 0.
    $endgroup$
    – Javier Alaminos
    Mar 25 at 18:05











  • $begingroup$
    @JavierAlaminos as your point,my code was always 0. it's mainly because my code returns Nothing when the condition met,I think. so just modified.
    $endgroup$
    – Xminer
    Mar 25 at 20:02
















  • $begingroup$
    But I can't avoid the singularity $x==y$, because for example if I have $x$ instead of $x^2$ the result of integral is $-pi^2/2$, and with your code the result is always 0.
    $endgroup$
    – Javier Alaminos
    Mar 25 at 18:05











  • $begingroup$
    @JavierAlaminos as your point,my code was always 0. it's mainly because my code returns Nothing when the condition met,I think. so just modified.
    $endgroup$
    – Xminer
    Mar 25 at 20:02















$begingroup$
But I can't avoid the singularity $x==y$, because for example if I have $x$ instead of $x^2$ the result of integral is $-pi^2/2$, and with your code the result is always 0.
$endgroup$
– Javier Alaminos
Mar 25 at 18:05





$begingroup$
But I can't avoid the singularity $x==y$, because for example if I have $x$ instead of $x^2$ the result of integral is $-pi^2/2$, and with your code the result is always 0.
$endgroup$
– Javier Alaminos
Mar 25 at 18:05













$begingroup$
@JavierAlaminos as your point,my code was always 0. it's mainly because my code returns Nothing when the condition met,I think. so just modified.
$endgroup$
– Xminer
Mar 25 at 20:02




$begingroup$
@JavierAlaminos as your point,my code was always 0. it's mainly because my code returns Nothing when the condition met,I think. so just modified.
$endgroup$
– Xminer
Mar 25 at 20:02

















draft saved

draft discarded
















































Thanks for contributing an answer to Mathematica Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f193926%2fnintegrate-how-can-i-solve-this-integral-numerically-nintegrate-fails-while-in%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Adding axes to figuresAdding axes labels to LaTeX figuresLaTeX equivalent of ConTeXt buffersRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?TikZ scaling graphic and adjust node position and keep font sizeNumerical conditional within tikz keys?adding axes to shapesAlign axes across subfiguresAdding figures with a certain orderLine up nested tikz enviroments or how to get rid of themAdding axes labels to LaTeX figures

Luettelo Yhdysvaltain laivaston lentotukialuksista Lähteet | Navigointivalikko

Gary (muusikko) Sisällysluettelo Historia | Rockin' High | Lähteet | Aiheesta muualla | NavigointivalikkoInfobox OKTuomas "Gary" Keskinen Ancaran kitaristiksiProjekti Rockin' High