• Support PF! Buy your school textbooks, materials and every day products via PF Here!

Using Simpson's method to integrate a complex function

  • Thread starter amjad-sh
  • Start date
203
6
Problem Statement
The question includes programming, but the basic problem is related to mathematics, that's why I posted it here.

In fact, I'm working on a condensed matter physics paper,where I need to draw integral

##g(\nu,2k_fz)## in units of ##(2k_f)^{-1}## and interms of z.

##g(\nu,2k_fz)=\int_{1}^{-1}\dfrac{\nu^2(1-u^2)usin(2k_fzu)}{u^2-\nu^2/2+u\sqrt{u^2-\nu^2}}\, du##, where ##\nu=0.5##



I'm using Simpson's method to evaluate this integral. The problem is that the sign inside the the radical in the denominator will be negative while evaluating this method, that's why we need to treat the integrand as a complex function. The program(python) will plot for me just the real part of the result.

But my main question is: Is it Ok to use Simpson's method in order to evaluate integrals that their integrand is a complex function?

because the graph I'm getting is not even close to the graph depicted in the paper.



Is contour integration a better choice?
Relevant Equations
Simpson's method :
simpson.PNG
 

DrClaude

Mentor
6,817
2,937
But my main question is: Is it Ok to use Simpson's method in order to evaluate integrals that their integrand is a complex function?
Yes, that shouldn't be a problem.
 
203
6
Yes, that shouldn't be a problem.
Yes, it was a tiny mistake in my code that was stopping the graph to appear as it should.
But if we consider the problem in case ##\nu=0##,a singularity will arise while applying Simpson's method for u=0.
Do you know a trick or a way to go around this singularity?
 

DrClaude

Mentor
6,817
2,937
quadpack has routines to deal with integration of functions with singularities. It has been ported to C in GSL, but I don't think it is available in python.
 
quadpack has routines to deal with integration of functions with singularities. It has been ported to C in GSL, but I don't think it is available in python.
Scipy provides an interface to quadpack via the integrate.quad function
 

DrClaude

Mentor
6,817
2,937
Scipy provides an interface to quadpack via the integrate.quad function
I don't use python, but from the information I could find, only a basic quadrature method from quadpack is implemented in scipy, not the routines for dealing with singularities.
 
I don't use python, but from the information I could find, only a basic quadrature method from quadpack is implemented in scipy, not the routines for dealing with singularities.
By default I think quad calls qagse which does support singularities, you can also specify a series of domains to avoid them. With the right set of options you can get to most of the quadpack routines.
 

DrClaude

Mentor
6,817
2,937

Want to reply to this thread?

"Using Simpson's method to integrate a complex function" You must log in or register to reply here.

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving
Top