Brahmagupta's interpolation formula

Brahmagupta's interpolation formula is a second-order polynomial interpolation formula developed by the Indian mathematician and astronomer Brahmagupta (598–668 CE) in the early 7th century CE. The Sanskrit couplet describing the formula can be found in the supplementary part of Khandakadyaka a work of Brahmagupta completed in 665 CE. The same couplet appears in Brahmagupta's earlier Dhyana-graha-adhikara, which was probably written "near the beginning of the second quarter of the 7th century CE, if not earlier." Brahmagupta was one of the first to describe and use an interpolation formula using second-order differences.

Brahmagupta's interpolation formula is equivalent to modern-day second-order Newton–Stirling interpolation formula.

Mathematicians prior to Brahmagupta used a simple linear interpolation formula. The linear interpolation formula to compute $x$ is


 * $$f(a)=f_r+ t D_r$$ where $$t=\frac{a-x_r}{h}$$.

For the computation of $x_{2}$, Brahmagupta replaces $x_{r}$  with another expression which gives more accurate values and which amounts to using a second-order interpolation formula.

Brahmagupta's description of the scheme
In Brahmagupta's terminology the difference $x_{r+1}$ is the gatakhanda, meaning past difference or the difference that was crossed over, the difference $x_{n}$ is the bhogyakhanda which is the difference yet to come. Vikala is the amount in minutes by which the interval has been covered at the point where we want to interpolate. In the present notations it is $D_{1}$. The new expression which replaces $D_{r}$ is called sphuta-bhogyakhanda. The description of sphuta-bhogyakhanda is contained in the following Sanskrit couplet (Dhyana-Graha-Upadesa-Adhyaya, 17; Khandaka Khadyaka, IX, 8):



This has been translated using Bhattolpala's (10th century CE) commentary as follows:


 * Multiply the vikala by the half the difference of the gatakhanda and the bhogyakhanda and divide the product by 900. Add the result to half the sum of the gatakhanda and the bhogyakhanda if their half-sum is less than the bhogyakhanda, subtract if greater. (The result in each case is sphuta-bhogyakhanda the correct tabular difference.)

This formula was originally stated for the computation of the values of the sine function for which the common interval in the underlying base table was 900 minutes or 15 degrees. So the reference to 900 is in fact a reference to the common interval $D_{r+1}$.

In modern notation
Brahmagupta's method computation of shutabhogyakhanda can be formulated in modern notation as follows:


 * sphuta-bhogyakhanda $$\displaystyle = \frac{D_r + D_{r-1}}{2} \pm t\frac{|D_r - D_{r-1}|}{2}.$$

The ± sign is to be taken according to whether $D_{n}$ is less than or greater than $f(a)$, or equivalently, according to whether $f(a)$ or $D_{r}$. Brahmagupta's expression can be put in the following form:


 * sphuta-bhogyakhanda $$ \displaystyle = \frac{D_r + D_{r-1}}{2} + t\frac{D_r-D_{r-1}}{2}.$$

This correction factor yields the following approximate value for $D_{r}$:



\begin{align} f(a) & = f_r + t\times\text{sphuta-bhogyakhanda}\\ & = f_r + t \frac{D_r + D_{r-1}}{2} + t^2\frac{D_r - D_{r-1}}{2}. \end{align} $$

This is Stirling's interpolation formula truncated at the second-order differences. It is not known how Brahmagupta arrived at his interpolation formula. Brahmagupta has given a separate formula for the case where the values of the independent variable are not equally spaced.