Интерполяционная формула Брахмагупты

Интерполяционная формула Брахмагупты — интерполяционная формула второго полиномиального порядка, найденная индийским математиком и астрономом Брахмагуптой (598—668) в начале VII века нашей эры. Поэтическое описание этой формулы на санскрите находится в дополнительной части «Кхандакхадьяки» — труда, завершённого Брахмагуптой в 665 году. Такой же куплет имеется в более ранней его работе «Дхьяна-граха-адхикара», точная дата создания которой не установлена. Однако внутренняя взаимосвязь работ позволяет предположить, что она была создана ранее завершённого в 628 году основного труда учёного — «Брахма-спхута-сиддханта», поэтому создание интерполяционной формулы второго порядка может быть отнесено к первой четверти VII века. Брахмагупта был первым, кто нашёл и использовал формулу в конечных разностях второго порядка в истории математики.
Формула Брахмагупты совпадает с интерполяционной формулой второго порядка Ньютона, которая была найдена (переоткрыта) спустя более тысячи лет.
Задача
Будучи астрономом, Брахмагуптта был заинтересован в получении точных значений синуса на основе небольшого количества известных табулированных значений этой функции. Таким образом, перед ним стояла задача найти величину f ( x ) {displaystyle f(x)} , x r < x < x r + 1 {displaystyle x_{r}<x<x_{r+1}} по имеющимся в таблице значениям функции:
При условии, что значения функции вычислены в точках с постоянным шагом h {displaystyle h} , ( x r + 1 − x r = h {displaystyle x_{r+1}-x_{r}=h} для всех r {displaystyle r} ), Ариабхата предложил использовать для расчётов (табличные) первые конечные разности:
D r = f r + 1 − f r {displaystyle D_{r}=f_{r+1}-f_{r}}Математики до Брахмагупты использовали очевидную формулу линейной интерполяции
f ( x ) = f r + t D r {displaystyle f(x)=f_{r}+tD_{r}} ,где t = ( x − x r ) / h {displaystyle t=(x-x_{r})/h} .
Брахмагупта заменил в этой формуле D r {displaystyle D_{r}} дугой функцией конечных разностей, которая позволяет получать более точные по порядку значения интерполируемой функции.
Алгоритм вычислений Брахмагупты
В терминологии Брахмагупты разность D r − 1 {displaystyle D_{r-1}} называется прошлый отрезок (गत काण्ड), D r {displaystyle D_{r}} называется полезный отрезок (भोग्य काण्ड). Длина отрезка x − x r {displaystyle x-x_{r}} до точки интерполирования в минутах называется обрубком (विकल). Новое выражение, которое должно заменить D r {displaystyle D_{r}} называется правильным полезным отрезком (स्फुट भोग्य काण्ड). Вычисление правильного полезного отрезка описано в куплете:
Согласно комментарию Бхуттопалы (X век) стихи переводятся так: Умножь обрубок на полуразность полезного и прошлого отрезков и раздели результат на 900. Добавь результат к полусумме полезного и прошлого отрезков, если эта полусумма меньше полезного отрезка. Если больше, то вычти. Получишь правильную полезную разность.
900 минут (15 градусов) — это интервал h {displaystyle h} между аргументами табличных значений синуса, которыми пользовался Брахмагупта.
Формула Брахмагупты в современных обозначениях
В современных обозначениях алгоритм вычислений Брахмагупты выражается формулами:
f ( x ) = f r + t ( D r + D r − 1 2 + t D r − D r − 1 2 ) = f r + t D r + D r − 1 2 + t 2 D r − D r − 1 2 . {displaystyle {egin{aligned}f(x)&=f_{r}+t({frac {D_{r}+D_{r-1}}{2}}+t{frac {D_{r}-D_{r-1}}{2}})&=f_{r}+t{frac {D_{r}+D_{r-1}}{2}}+t^{2}{frac {D_{r}-D_{r-1}}{2}}.end{aligned}}}Это интерполяционная формула Ньютона второго порядка.
Доказательство
Неизвестно как Брахмагупта получил эту формулу. В наше время такие формулы доказывают с помощью разложения функций f ( x + k h ) , k = 1 , 2 , . . . {displaystyle f(x+kh),k=1,2,...} в правой расти равенства в ряд Тейлора в точке x {displaystyle x} . Однако доказать формулу можно и элементарными методами: после замены t = ( x − x r ) / h {displaystyle t=(x-x_{r})/h} формула Брахмагупты задаёт параболу проходящую через три точки ( x r − 1 , f r − 1 ) , ( x r , f r ) , ( x r + 1 , f r + 1 ) {displaystyle (x_{r-1},f_{r-1}),(x_{r},f_{r}),(x_{r+1},f_{r+1})} . Для вывода этой формулы достаточно найти коэффициенты этой параболы с помощью решения системы трёх линейных уравнений, определяемых этими точками.
Точность формулы
Компьютерный расчёт показывает, что имея таблицу из 7 значений синуса в узлах с шагом 15 градусов, Брахмагупта мог вычислять эту функцию с максимальной ошибкой не более 0,0012 и средней ошибкой не более 0,00042.