Can Python handle numeric integration with exponential functions?

Click For Summary

Discussion Overview

The discussion revolves around the ability of Python to perform numeric integration involving exponential functions, specifically in the context of a function defined as y(t) = exp(Integrate[A(x),x]) over the bounds of 0 and t. Participants explore various methods and packages available in Python for this purpose.

Discussion Character

  • Technical explanation
  • Mathematical reasoning

Main Points Raised

  • One participant expresses difficulty using the quad function from scipy.integrate for the integration of the specified form.
  • Another participant clarifies the expression and inquires if the original poster has a specific function A(x) that can be evaluated numerically.
  • A participant confirms they have a function A(x) and reiterates the need to evaluate y(t) = exp(∫_0^t A(x) dx).
  • It is suggested that while quad can evaluate the integral for a specific value of t, it can be incorporated into a function to evaluate y(t) for varying t values.
  • A code snippet is provided as an example of how to define a function for A(x) and use quad to compute y(t).

Areas of Agreement / Disagreement

Participants generally agree on the approach to use quad for numeric integration, but there is no consensus on the best method to implement it as a function of t, as the discussion includes varying levels of understanding and implementation details.

Contextual Notes

Some limitations are noted regarding the use of quad for evaluating the integral only at specific values of t, and the need for further clarification on the function A(x) and its numerical evaluation.

sola maths
Messages
8
Reaction score
0
I'm trying to write a python program that is able to numerically execute functions of the form:

y(t) = exp(Integrate[A(x),x]) within the bounds of 0 and t

I tried using quad from scipy.integrate but it seems not to be able to evaluate expressions of this form.

Any other suggestions on appropriate packages or commands?
 
Technology news on Phys.org
sola maths said:
I'm trying to write a python program that is able to numerically execute functions of the form:

y(t) = exp(Integrate[A(x),x]) within the bounds of 0 and t

I tried using quad from scipy.integrate but it seems not to be able to evaluate expressions of this form.

Any other suggestions on appropriate packages or commands?

Can you be a bit more specific sola maths? Do you mean:

y(t) = \exp(\int_0^t A(x) \, dx)

You have some specific function A(x) that you can evaluate numerically?

Also, is that just you integrand? Do you need to evaluate,

\int_a^b \, e^{\int_0^t A(x) \, dx} \, dt
 
Hi uart,

Yes, I have some function A(x) that I need to evaluate numerically as x changes. The first expression you wrote is what I meant.
 
sola maths said:
Hi uart,

Yes, I have some function A(x) that I need to evaluate numerically as x changes. The first expression you wrote is what I meant.

Ok so it's just y(t) = \exp(\int_0^t A(x) \, dx) that you need to evaluate.

Quad can do this easily, but only for one particular value of "t" at a time. However you could call it (quad) from within a function if you wished to properly make a function of "t". For example,

Code:
def functA(x):
     return x*x/2.0

def functY(t):
     return exp(integrate.quad(functA,0,t)[0])

functY(3)
90.017131300521896
 
Your explanation makes lots of sense...

I'd defined a function but had difficulty making it a function of t... Thanks.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 4 ·
Replies
4
Views
6K
Replies
55
Views
7K
  • · Replies 16 ·
Replies
16
Views
2K
  • · Replies 9 ·
Replies
9
Views
10K
  • · Replies 6 ·
Replies
6
Views
7K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 7 ·
Replies
7
Views
5K