# Solving an integral equation in Python

I have to solve the following equation for $x(i), 0 \leq i \leq 1$:

$$y(i) = x(i)^{-a} \int_0^1 y(j)x(j) dj \left(\int_0^1 \mathcal A(j) x(j)^{1-a} dj\right)^{-1} \int_i^1 \left( \int_0^x x(j)^{1-a} dj \right)^\frac{a+b}{a-1} A_i^{b - 1} dx$$

where $A_i$ and $y(i)$ are known and I use the short cut

$$\mathcal A(j) = \int_j^1 A_z^{1 - b} dz$$.

I guess there is no point in trying to solve it symbolically with Sympy. How would I go on solving this numerically using Python? Do I discretize $x(i)$ into 100 or 1000 points and hope to brute force find a solution to the system of equations? Or is there a more clever approach?

• Where is this integral equation from? – Raziman T V Jan 18 '17 at 13:26
• @RazimanT.V. Economics. – FooBar Jan 18 '17 at 13:27
• My first idea would be to brute force the equation and use a numerical integration method (like simpson rule or something) and then solve using a fixed point or a secant method. – BlaB Jan 18 '17 at 13:30
• @BlaisB Could you evaluate a bit on that? Does that mean you would not explicitely create a vector $X$, but approximate $x(i)$ using some sort of polynomial? – FooBar Jan 18 '17 at 13:37
• What I mean is that I would discretize the interval [0 1] and [i 1] into a given amount of point (say 100, 1000, not hard). Then you could carry out all the integrations numerically instead of trying to carry out any analytical procedure. I am not sure what exactly you are trying to solve, do you want to calcul y(i) or find x(i) corresponding to a value of y(i)? – BlaB Jan 18 '17 at 14:48