# A two-dimensional non-linear integral equation

I'm trying to figure out the solution to the integral equation
$$\frac{1}{2}xyf(x,y) - \int^1_0\int^1_0\left[\frac{\exp[1 - f(x,y)]}{(\exp[1 - f(x,y)] + \exp[1 - f(x',y')])^2}\right]dx'dy'=0$$
First, is this a viable question? and if yes, How can I get the solution?
I tried NIntegrate using collocation method, see (How to solve a non-linear integral equation?), but couldn't make progress much.

I basically followed the process in the reference link I posted. The post uses the NIntegrate's quadrature rules and goes as follows;
First, define the function at a single point.
Second, define a vector-valued version that evaluates the approximate integral equation at all of the abscissa.
Third, set a approximation function and put it in the functions that we have defined, then find the root and obtain the desired function.

My problem is in the first and second process. Since I am dealing with a 2dim function here, I cannot set the approximate integral equation at a single point in the same way just as the reference have done... Normally for multidim function, we do the integral variable by variable. So, naturally, I thought that I would first have to do quadrature for y and then x. So I started by defining the function:

quadratureY[valueatabscwithxfixed_, xfixed_, y_, fxy_] :=
weights.Table[1/2 *xfixed*y*(fxy - xfixed*y/2) -
(Exp[1 - fxy]/(Exp[1 - fxy] + Exp[1 - f])^2 ), {f,valueatabscwithxfixed}]


PROBLEM: unlike 1d, the valueatabscwithxfixed is not defined numerically, but is a function with variable x. Thus, the Table[] itself does not suffice. So, I'm lost. I figure this approach won't be good for multidim.
Perhaps there is another way to approach this? Or can I go by this algorithm?
Any suggestions or references would be a lot of help!

• The question is viable, I think. Please describe more precisely where you stalled; then People might better know to help you. – Henrik Schumacher Oct 8 '20 at 6:10
• added detail to my question like you suggested. Thank you! But perhaps its a little bit to dirty...:(sorry – 이말러 Oct 9 '20 at 5:58
• Denote $g(x,y):=\exp(1-f(x,y))$, then $f(x,y)=1 - \log g(x,y)$. – user64494 Oct 9 '20 at 6:24
• Consider a system of transcendental (with $\log$ or $\exp$) equations, taking the values of $x,y$ at the approximation nodes. Good luck! – user64494 Oct 9 '20 at 7:30
• "PROBLEM: unlike 1d, the valueatabscwithxfixed is not defined numerically, but is a function with variable x. Thus, the Table[] itself does not suffice." No, Table can handle symbolic coordinates, just try Table[i^2, {i, aaa, bbb, (bbb - aaa)/25}] and Table[i^2, {i, {a, b, c }}]. Thus I don't think you'll have any difficulty in extending the method to 2D. Anyway, here is a 2D example (check the definition of int carefully): mathematica.stackexchange.com/a/175784/1871 – xzczd Oct 9 '20 at 7:49

With a naive approach we can obtain a coarse surface representation for $$f(x,y)$$

Clear[f]
n = 10;
F = Flatten[Table[Subscript[f, j, k], {j, 0, n}, {k, 0, n}]];
obj = Sum[Sum[(1/2 (j/n) (k/n ) Subscript[f, j, k] - Exp[1 - Subscript[f, j, k]] Sum[Sum[1/(Exp[1 - Subscript[f, j, k]] + Exp[1 - Subscript[f, u, v]])^2, {u, 0, n}]^2, {v, 0, n}])^2, {j, 0, n}], {k, 0, n}];
sol = NMinimize[obj, F];
surf = Flatten[Table[{j/n, k/n, Subscript[f, j, k]}, {j, 0, n}, {k, 0, n}] /. sol[[2]], 1];
ListPlot3D[surf]
sol[[1]]/n^2

• +1. Strong and simple realization of the idea suggested by me (and Fredholm). – user64494 Oct 9 '20 at 10:55
• Yes it certainly is. I was unaware of Flatten[], and seems like It's helpful. Thanks for the code! @Cesareo. – 이말러 Oct 10 '20 at 9:42
• You are welcome. – Cesareo Oct 10 '20 at 9:57