pyewjn/pynam/complex_quad.py
2020-07-12 19:15:19 -05:00

17 lines
379 B
Python

import numpy as np
from scipy.integrate import quad
def complex_quadrature(func, a, b, **kwargs):
def real_func(x):
return np.real(func(x))
def imag_func(x):
return np.imag(func(x))
real_integral = quad(real_func, a, b, **kwargs)
imag_integral = quad(imag_func, a, b, **kwargs)
return real_integral[0] + 1j * imag_integral[0], real_integral[1:], imag_integral[1:]