Quad definite integral with infinite limitLimiting floats to two decimal pointshow to call python scipy quad with array inputsPython Numerical Integration for Volume of RegionCustom distribution in scipy with pdf givenHow to use tplquad?Integration of a bessel function in python: subdivision issue“TypeError” message while performing quad integration method of scipy.integrate with mpmath functionsscipy quadrature integration accuracy warning and nan difference valuesRunning Tensorflow undefined symbol: PyClass_TypeError executing rnn model . How to fix it?
Cursor Replacement for Newbies
Why would the Red Woman birth a shadow if she worshipped the Lord of the Light?
What about the virus in 12 Monkeys?
Ambiguity in the definition of entropy
Bullying boss launched a smear campaign and made me unemployable
Why is consensus so controversial in Britain?
How to prevent "they're falling in love" trope
What does “the session was packed” mean in this context?
Why is it a bad idea to hire a hitman to eliminate most corrupt politicians?
How can I determine if the org that I'm currently connected to is a scratch org?
How would I stat a creature to be immune to everything but the Magic Missile spell? (just for fun)
What exploit Are these user agents trying to use?
How do I handle a potential work/personal life conflict as the manager of one of my friends?
What reasons are there for a Capitalist to oppose a 100% inheritance tax?
Arrow those variables!
What killed these X2 caps?
Can we compute the area of a quadrilateral with one right angle when we only know the lengths of any three sides?
How to compactly explain secondary and tertiary characters without resorting to stereotypes?
Detention in 1997
Why didn't Boeing produce its own regional jet?
Reverse dictionary where values are lists
Why was the shrinking from 8″ made only to 5.25″ and not smaller (4″ or less)?
What are some good books on Machine Learning and AI like Krugman, Wells and Graddy's "Essentials of Economics"
Could the museum Saturn V's be refitted for one more flight?
Quad definite integral with infinite limit
Limiting floats to two decimal pointshow to call python scipy quad with array inputsPython Numerical Integration for Volume of RegionCustom distribution in scipy with pdf givenHow to use tplquad?Integration of a bessel function in python: subdivision issue“TypeError” message while performing quad integration method of scipy.integrate with mpmath functionsscipy quadrature integration accuracy warning and nan difference valuesRunning Tensorflow undefined symbol: PyClass_TypeError executing rnn model . How to fix it?
I am trying to solve the following:
where, g is a constant, and mu = 0, but I am getting a warning and the result is not quite what is supposed to be.
Here is the code:
%matplotlib inline
from scipy.integrate import quad
from numpy import arange
from numpy import pi
import matplotlib.pyplot as plt
import numpy as np
###Parameters
ms = 100. ## m
ggX = 2. ## g
def Integrand(E, T, m_dm):
return ((ggX/(2*(np.pi**2)))*E*(E**2-m_dm**2)**(1/2))/(np.exp(E/T)-1)
def Integrate_E(T,m_dm):
'''
Integrate over E given T and ms
'''
return quad(Integrand, m_dm, np.inf, args=(T,m_dm))[0]
TT = np.logspace(-10,15,100)
nn =[Integrate_E(T,ms) for T in (TT)]
plt.loglog(TT, nn)
plt.grid(True)
This is the result I am obtaining:
/home/vcti/anaconda3/lib/python3.7/site-packages/scipy/integrate/quadpack.py:385: IntegrationWarning: The algorithm does not converge. Roundoff error is detected
in the extrapolation table. It is assumed that the requested tolerance
cannot be achieved, and that the returned result (if full_output = 1) is
the best which can be obtained.
warnings.warn(msg, IntegrationWarning)
/home/vcti/anaconda3/lib/python3.7/site-packages/scipy/integrate/quadpack.py:385: IntegrationWarning: The integral is probably divergent, or slowly convergent.
warnings.warn(msg, IntegrationWarning)
/home/vcti/anaconda3/lib/python3.7/site-packages/scipy/integrate/quadpack.py:385: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.
If increasing the limit yields no improvement it is advised to analyze
the integrand in order to determine the difficulties. If the position of a
local difficulty can be determined (singularity, discontinuity) one will
probably gain from splitting up the interval and calling the integrator
on the subranges. Perhaps a special-purpose integrator should be used.
warnings.warn(msg, IntegrationWarning)
And the plot gives:
For values of T greater than 1e4 is where the problem begins. It should keep almost constant after this value, but you can see the horrible peaks it shows.
I tried modifying the epsabs and the epsrel but it did not worked. I tried to split the integration limits, and apparently from E = m to 1e4 it works fine, but when it integrates from E = 1e5 to infinity is where again appear problems.
When I print the results of the integral, it gives absurd values for nn (It can go from 5.454320597790705e+17 to -3085930898.2363224). I don't know what else to do. Thanks in advance!
python integration quad
add a comment |
I am trying to solve the following:
where, g is a constant, and mu = 0, but I am getting a warning and the result is not quite what is supposed to be.
Here is the code:
%matplotlib inline
from scipy.integrate import quad
from numpy import arange
from numpy import pi
import matplotlib.pyplot as plt
import numpy as np
###Parameters
ms = 100. ## m
ggX = 2. ## g
def Integrand(E, T, m_dm):
return ((ggX/(2*(np.pi**2)))*E*(E**2-m_dm**2)**(1/2))/(np.exp(E/T)-1)
def Integrate_E(T,m_dm):
'''
Integrate over E given T and ms
'''
return quad(Integrand, m_dm, np.inf, args=(T,m_dm))[0]
TT = np.logspace(-10,15,100)
nn =[Integrate_E(T,ms) for T in (TT)]
plt.loglog(TT, nn)
plt.grid(True)
This is the result I am obtaining:
/home/vcti/anaconda3/lib/python3.7/site-packages/scipy/integrate/quadpack.py:385: IntegrationWarning: The algorithm does not converge. Roundoff error is detected
in the extrapolation table. It is assumed that the requested tolerance
cannot be achieved, and that the returned result (if full_output = 1) is
the best which can be obtained.
warnings.warn(msg, IntegrationWarning)
/home/vcti/anaconda3/lib/python3.7/site-packages/scipy/integrate/quadpack.py:385: IntegrationWarning: The integral is probably divergent, or slowly convergent.
warnings.warn(msg, IntegrationWarning)
/home/vcti/anaconda3/lib/python3.7/site-packages/scipy/integrate/quadpack.py:385: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.
If increasing the limit yields no improvement it is advised to analyze
the integrand in order to determine the difficulties. If the position of a
local difficulty can be determined (singularity, discontinuity) one will
probably gain from splitting up the interval and calling the integrator
on the subranges. Perhaps a special-purpose integrator should be used.
warnings.warn(msg, IntegrationWarning)
And the plot gives:
For values of T greater than 1e4 is where the problem begins. It should keep almost constant after this value, but you can see the horrible peaks it shows.
I tried modifying the epsabs and the epsrel but it did not worked. I tried to split the integration limits, and apparently from E = m to 1e4 it works fine, but when it integrates from E = 1e5 to infinity is where again appear problems.
When I print the results of the integral, it gives absurd values for nn (It can go from 5.454320597790705e+17 to -3085930898.2363224). I don't know what else to do. Thanks in advance!
python integration quad
add a comment |
I am trying to solve the following:
where, g is a constant, and mu = 0, but I am getting a warning and the result is not quite what is supposed to be.
Here is the code:
%matplotlib inline
from scipy.integrate import quad
from numpy import arange
from numpy import pi
import matplotlib.pyplot as plt
import numpy as np
###Parameters
ms = 100. ## m
ggX = 2. ## g
def Integrand(E, T, m_dm):
return ((ggX/(2*(np.pi**2)))*E*(E**2-m_dm**2)**(1/2))/(np.exp(E/T)-1)
def Integrate_E(T,m_dm):
'''
Integrate over E given T and ms
'''
return quad(Integrand, m_dm, np.inf, args=(T,m_dm))[0]
TT = np.logspace(-10,15,100)
nn =[Integrate_E(T,ms) for T in (TT)]
plt.loglog(TT, nn)
plt.grid(True)
This is the result I am obtaining:
/home/vcti/anaconda3/lib/python3.7/site-packages/scipy/integrate/quadpack.py:385: IntegrationWarning: The algorithm does not converge. Roundoff error is detected
in the extrapolation table. It is assumed that the requested tolerance
cannot be achieved, and that the returned result (if full_output = 1) is
the best which can be obtained.
warnings.warn(msg, IntegrationWarning)
/home/vcti/anaconda3/lib/python3.7/site-packages/scipy/integrate/quadpack.py:385: IntegrationWarning: The integral is probably divergent, or slowly convergent.
warnings.warn(msg, IntegrationWarning)
/home/vcti/anaconda3/lib/python3.7/site-packages/scipy/integrate/quadpack.py:385: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.
If increasing the limit yields no improvement it is advised to analyze
the integrand in order to determine the difficulties. If the position of a
local difficulty can be determined (singularity, discontinuity) one will
probably gain from splitting up the interval and calling the integrator
on the subranges. Perhaps a special-purpose integrator should be used.
warnings.warn(msg, IntegrationWarning)
And the plot gives:
For values of T greater than 1e4 is where the problem begins. It should keep almost constant after this value, but you can see the horrible peaks it shows.
I tried modifying the epsabs and the epsrel but it did not worked. I tried to split the integration limits, and apparently from E = m to 1e4 it works fine, but when it integrates from E = 1e5 to infinity is where again appear problems.
When I print the results of the integral, it gives absurd values for nn (It can go from 5.454320597790705e+17 to -3085930898.2363224). I don't know what else to do. Thanks in advance!
python integration quad
I am trying to solve the following:
where, g is a constant, and mu = 0, but I am getting a warning and the result is not quite what is supposed to be.
Here is the code:
%matplotlib inline
from scipy.integrate import quad
from numpy import arange
from numpy import pi
import matplotlib.pyplot as plt
import numpy as np
###Parameters
ms = 100. ## m
ggX = 2. ## g
def Integrand(E, T, m_dm):
return ((ggX/(2*(np.pi**2)))*E*(E**2-m_dm**2)**(1/2))/(np.exp(E/T)-1)
def Integrate_E(T,m_dm):
'''
Integrate over E given T and ms
'''
return quad(Integrand, m_dm, np.inf, args=(T,m_dm))[0]
TT = np.logspace(-10,15,100)
nn =[Integrate_E(T,ms) for T in (TT)]
plt.loglog(TT, nn)
plt.grid(True)
This is the result I am obtaining:
/home/vcti/anaconda3/lib/python3.7/site-packages/scipy/integrate/quadpack.py:385: IntegrationWarning: The algorithm does not converge. Roundoff error is detected
in the extrapolation table. It is assumed that the requested tolerance
cannot be achieved, and that the returned result (if full_output = 1) is
the best which can be obtained.
warnings.warn(msg, IntegrationWarning)
/home/vcti/anaconda3/lib/python3.7/site-packages/scipy/integrate/quadpack.py:385: IntegrationWarning: The integral is probably divergent, or slowly convergent.
warnings.warn(msg, IntegrationWarning)
/home/vcti/anaconda3/lib/python3.7/site-packages/scipy/integrate/quadpack.py:385: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.
If increasing the limit yields no improvement it is advised to analyze
the integrand in order to determine the difficulties. If the position of a
local difficulty can be determined (singularity, discontinuity) one will
probably gain from splitting up the interval and calling the integrator
on the subranges. Perhaps a special-purpose integrator should be used.
warnings.warn(msg, IntegrationWarning)
And the plot gives:
For values of T greater than 1e4 is where the problem begins. It should keep almost constant after this value, but you can see the horrible peaks it shows.
I tried modifying the epsabs and the epsrel but it did not worked. I tried to split the integration limits, and apparently from E = m to 1e4 it works fine, but when it integrates from E = 1e5 to infinity is where again appear problems.
When I print the results of the integral, it gives absurd values for nn (It can go from 5.454320597790705e+17 to -3085930898.2363224). I don't know what else to do. Thanks in advance!
python integration quad
python integration quad
asked Mar 7 at 22:49
Ah77Ah77
256
256
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
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: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55054063%2fquad-definite-integral-with-infinite-limit%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- 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.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55054063%2fquad-definite-integral-with-infinite-limit%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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