Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have $n$ data points in $d$-dimensional space, i.e $x_1,x_2,...x_n$ where $x_i\in R^d$. I want an interpolation function $f:R^d-> R$ on these data points to map them to $y_1,y_2,...,y_n$, where $y_i=f(x_i)$. In other words, I require an extension to Lagrange interpolation method for $d$ dimensional space.

share|cite|improve this question
up vote 1 down vote accepted

Let $l_{i,j}:\mathbb{R}\rightarrow\mathbb{R}$ for $j=1,\dots,d$ be the Lagrange basis polynomials for the data $(x_i^{(j)})_i$, i.e. $l_{i,j}(x^{(j)}_k)=1$ if $k=i$ and $0$ otherwise. Then the polynomial in $d$ variables given by

$$L(x):=\sum^n_{i=1} y_i\left(\prod^d_{j=1}l_{i,j}(x^{(j)})\right)$$

is what you are looking for (just plug in the $x_i$): $L(x_i)=y_i$. Note however, that the Lagrange polynomials has some undesirable properties (fast oscillation in between the points fixed by the data, doesn't extrapolate well, ..). So depending on your problem, you might also want to look into other interpolation methods (Bezier curves, etc.).

share|cite|improve this answer
Thank you for your answer. – remo Oct 14 '12 at 15:01

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.