# A numerical inverse problem

I have a function of several variables defined by k different couples. I want to invert it. I guess this is an inverse problem. But I don't know what to look for to solve it. Here is a more formal explanation of my problem:

Let f be a bijective function from $R^n$ to $R^n$. f is characterized by k different couples $[{(x1,x2,...xn),(y1,y2,...yn)}]_k$ verifying $f(x1,x2,...xn)=(y1,y2,...yn)$. For a given (y1,y2,...yn), calculate $f^{-1}(y1,y2,...n)$.

I calculate many couples $[{(x1,x2,...xn),(y1,y2,...yn)}]_k$ with finite element method. So I can only determine y from x. But I know this is a bijection. Then I stock this couples in a table. But I want to invert the table to obtain x from y.

What kind of method can be applied here ? Thank you.

Step one is to rephrase your problem as "I have a function of several variables defined by $k$ couples$, characterised by $$(x_1,\dots,x_n) = g(y_1,\dots,y_n)$$ and I want to evaluate$g$at arbitrary inputs." The fact that$g$is the inverse of another function$f$is irrelevant. Now depending on what assumptions you want to make about$g$, there are several routes you could go down. If you know that the relations between the$x$'s and$y$'s are exact (ie there is no noise) and you have sufficient resolution, you can look at interpolation methods. The simplest method would be linear interpolation. If you want a smoother interpolation, you could consider bicubic interpolation ($n=2$) or tricubic interpolation ($n=3$) or their higher dimensional variants, but be aware that you will do more `smoothing out' in higher dimensions. Alternatively, if there is noise in your data you could pick a functional form for$g$(eg perhaps you have reason to think that it's linear, or gaussian, or...) and fit the parameters in order to minimize eg the least-squares error at the points you have data for. If you give some more info about the specific problem you're trying to solve, I will be able to give a more helpful answer. • Sorry I dont think you understood my question. I edited it. I hope its clear now. Any suggestion? Commented May 30, 2012 at 10:44 • If you know that you have a bijection, then your best bet (assuming that you have sufficiently many data points) is some kind of interpolation, as I mentioned in my second paragraph. Commented May 30, 2012 at 10:55 You can rewrite this as a system of equations where:$g_i(y_1, y_2, ... y_n) - x_i = 0$If each of these$g_i\$'s is a polynomial, you can directly solve this problem using Buchberger's algorithm/Grobner basis. (See the wiki page: http://en.wikipedia.org/wiki/Gr%C3%B6bner_basis in the section labelled "Solving equations")