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












4












$begingroup$


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



$int_{-1}^{1}int_{-1}^{1}frac{x^2}{sqrt{1-x^2}}frac{sqrt{1-y^2}}{y-x}dydx=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









New contributor




Javier Alaminos is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$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
    yesterday










  • $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
    yesterday






  • 2




    $begingroup$
    Use option Exclusions -> {-1, 1, y + x == 0}]
    $endgroup$
    – user18792
    yesterday










  • $begingroup$
    All that is built on the sand because the PrincipalValue option for multivariate integrals is undocumented.
    $endgroup$
    – user64494
    20 hours ago
















4












$begingroup$


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



$int_{-1}^{1}int_{-1}^{1}frac{x^2}{sqrt{1-x^2}}frac{sqrt{1-y^2}}{y-x}dydx=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









New contributor




Javier Alaminos is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$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
    yesterday










  • $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
    yesterday






  • 2




    $begingroup$
    Use option Exclusions -> {-1, 1, y + x == 0}]
    $endgroup$
    – user18792
    yesterday










  • $begingroup$
    All that is built on the sand because the PrincipalValue option for multivariate integrals is undocumented.
    $endgroup$
    – user64494
    20 hours ago














4












4








4





$begingroup$


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



$int_{-1}^{1}int_{-1}^{1}frac{x^2}{sqrt{1-x^2}}frac{sqrt{1-y^2}}{y-x}dydx=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









New contributor




Javier Alaminos is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$




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



$int_{-1}^{1}int_{-1}^{1}frac{x^2}{sqrt{1-x^2}}frac{sqrt{1-y^2}}{y-x}dydx=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









New contributor




Javier Alaminos is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Javier Alaminos is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited yesterday









mjw

1,03510




1,03510






New contributor




Javier Alaminos is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked yesterday









Javier AlaminosJavier Alaminos

213




213




New contributor




Javier Alaminos is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Javier Alaminos is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Javier Alaminos is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 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
    yesterday










  • $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
    yesterday






  • 2




    $begingroup$
    Use option Exclusions -> {-1, 1, y + x == 0}]
    $endgroup$
    – user18792
    yesterday










  • $begingroup$
    All that is built on the sand because the PrincipalValue option for multivariate integrals is undocumented.
    $endgroup$
    – user64494
    20 hours ago














  • 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
    yesterday










  • $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
    yesterday






  • 2




    $begingroup$
    Use option Exclusions -> {-1, 1, y + x == 0}]
    $endgroup$
    – user18792
    yesterday










  • $begingroup$
    All that is built on the sand because the PrincipalValue option for multivariate integrals is undocumented.
    $endgroup$
    – user64494
    20 hours ago








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
yesterday




$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
yesterday












$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
yesterday




$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
yesterday




2




2




$begingroup$
Use option Exclusions -> {-1, 1, y + x == 0}]
$endgroup$
– user18792
yesterday




$begingroup$
Use option Exclusions -> {-1, 1, y + x == 0}]
$endgroup$
– user18792
yesterday












$begingroup$
All that is built on the sand because the PrincipalValue option for multivariate integrals is undocumented.
$endgroup$
– user64494
20 hours ago




$begingroup$
All that is built on the sand because the PrincipalValue option for multivariate integrals is undocumented.
$endgroup$
– user64494
20 hours ago










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
    yesterday










  • $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
    yesterday










  • $begingroup$
    So, to solve the original integral what do I have to do?
    $endgroup$
    – Javier Alaminos
    22 hours ago










  • $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
    22 hours ago





















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
    23 hours ago












  • $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
    21 hours ago











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
});


}
});






Javier Alaminos is a new contributor. Be nice, and check out our Code of Conduct.










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
    yesterday










  • $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
    yesterday










  • $begingroup$
    So, to solve the original integral what do I have to do?
    $endgroup$
    – Javier Alaminos
    22 hours ago










  • $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
    22 hours ago


















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
    yesterday










  • $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
    yesterday










  • $begingroup$
    So, to solve the original integral what do I have to do?
    $endgroup$
    – Javier Alaminos
    22 hours ago










  • $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
    22 hours ago
















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 yesterday









Alexei BoulbitchAlexei Boulbitch

21.9k2570




21.9k2570








  • 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
    yesterday










  • $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
    yesterday










  • $begingroup$
    So, to solve the original integral what do I have to do?
    $endgroup$
    – Javier Alaminos
    22 hours ago










  • $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
    22 hours ago
















  • 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
    yesterday










  • $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
    yesterday










  • $begingroup$
    So, to solve the original integral what do I have to do?
    $endgroup$
    – Javier Alaminos
    22 hours ago










  • $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
    22 hours ago










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
yesterday




$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
yesterday












$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
yesterday




$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
yesterday












$begingroup$
So, to solve the original integral what do I have to do?
$endgroup$
– Javier Alaminos
22 hours ago




$begingroup$
So, to solve the original integral what do I have to do?
$endgroup$
– Javier Alaminos
22 hours ago












$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
22 hours ago






$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
22 hours ago













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
    23 hours ago












  • $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
    21 hours ago
















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
    23 hours ago












  • $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
    21 hours ago














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 21 hours ago

























answered yesterday









XminerXminer

33818




33818












  • $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
    23 hours ago












  • $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
    21 hours ago


















  • $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
    23 hours ago












  • $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
    21 hours ago
















$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
23 hours ago






$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
23 hours ago














$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
21 hours ago




$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
21 hours ago










Javier Alaminos is a new contributor. Be nice, and check out our Code of Conduct.










draft saved

draft discarded


















Javier Alaminos is a new contributor. Be nice, and check out our Code of Conduct.













Javier Alaminos is a new contributor. Be nice, and check out our Code of Conduct.












Javier Alaminos is a new contributor. Be nice, and check out our Code of Conduct.
















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

He _____ here since 1970 . Answer needed [closed]What does “since he was so high” mean?Meaning of “catch birds for”?How do I ensure “since” takes the meaning I want?“Who cares here” meaningWhat does “right round toward” mean?the time tense (had now been detected)What does the phrase “ring around the roses” mean here?Correct usage of “visited upon”Meaning of “foiled rail sabotage bid”It was the third time I had gone to Rome or It is the third time I had been to Rome

Bunad

Færeyskur hestur Heimild | Tengill | Tilvísanir | LeiðsagnarvalRossið - síða um færeyska hrossið á færeyskuGott ár hjá færeyska hestinum