import numpy as np
from scipy.integrate import quad
I=quad(lambda x: np.exp(-x**2),1,2)
I
I[0]
I=quad(lambda x: np.exp(-x),0,np.inf)
I[0]
from scipy.integrate import dblquad
I=dblquad(lambda x,y:x*y,0,0.5,lambda y:0,lambda y:1-2*y)
I[0]-1.0/96
I=dblquad(lambda x,y: np.exp(-x**2-y**2),-np.inf,np.inf,lambda y:-np.inf,lambda y:np.inf)
I[0]
from scipy.optimize import newton
newton(lambda x: x**3-1,0.5)
p=np.poly1d([3,4,5])
print p
print p*p
print p+p
print p.deriv()
print p.integ()
print p.integ(k=6)
print p
p(2)
p([3,4,5])
np.roots(p)