title: How to solve an integral equation in python?
body: <p>I'm trying to solve this integral equation using Python:</p>
  
  <p><img src="https://i.stack.imgur.com/Fp4YP.png" alt="enter image description here"></p>
  
  <p>where z ranges from 0 to 1.</p>
  
  <p>The scipy.quad function only provides the numerical solution for a certain interval, but it doesn't provide the solution over the interval.</p>
  
  <pre><code>def f(z,Om,Ol): return 1./p.sqrt((1+z)**2 * (1+Om*z) - z*(2+z)*Ol)
  quad(lambda r:f(r,Om,Ol),0,1)
  (0.77142706642781111, 8.5645609096719596e-15)
  </code></pre>
  
  <p>But I don't know how to get a full vector in this interval, as you get when using scipy.odeint to solve a differential equation.</p>
  
  <p>In the other hand, sympy.integrate can't do it. I get a stack overflow. Plus, I can't figure out how to substitute the symbols by a list,i.e.:</p>
  
  <pre><code>sy.integrate(x**2,x).subs(x,1)
  1/3
  sy.integrate(x**2,x).subs(x,[1,2])
  TypeError: unhashable type: 'list'
  </code></pre>
  
  <p>So the question is: does anyone know how to solve an integral equation using python?</p>