Русская Википедия:Интерполяционная формула Брахмагупты

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Интерполяционная формула Брахмагупты — интерполяционная формула второго полиномиального порядка, найденная индийским математиком и астрономом Брахмагуптой (598—668) в начале VII века нашей эры. Поэтическое описание этой формулы на санскрите находится в дополнительной части «Кхандакхадьяки» — труда, завершённого Брахмагуптой в 665 году[1]. Такой же куплет имеется в более ранней его работе «Дхьяна-граха-адхикара», точная дата создания которой не установлена. Однако внутренняя взаимосвязь работ позволяет предположить, что она была создана ранее завершённого в 628 году основного труда учёного — «Шаблон:Нп5», поэтому создание интерполяционной формулы второго порядка может быть отнесено к первой четверти VII века[1]. Брахмагупта был первым, кто нашёл и использовал формулу в конечных разностях второго порядка в истории математики[2][3].

Формула Брахмагупты совпадает с интерполяционной формулой второго порядка Ньютона, которая была найдена (переоткрыта) спустя более тысячи лет.

Задача

Будучи астрономом, Брахмагуптта был заинтересован в получении точных значений синуса на основе небольшого количества известных табулированных значений этой функции. Таким образом, перед ним стояла задача найти величину <math>f(x)</math>, <math>x_r < x < x_{r+1}</math> по имеющимся в таблице значениям функции:

<math>x</math> <math>x_1</math> <math>x_2</math> <math>x_r</math> <math>x_{r+1}</math> <math>x_{r+2}</math> <math>x_n</math>
<math>f(x_r)</math> <math>f_1</math> <math>f_2</math> <math>f_r</math> <math>f_{r+1}</math> <math>f_{r+2}</math> <math>f_n</math>

При условии, что значения функции вычислены в точках с постоянным шагом <math>h</math>, (<math>x_{r+1}-x_r=h</math> для всех <math>r</math>), Ариабхата предложил использовать для расчётов (табличные) первые конечные разности:

<math>D_r=f_{r+1}-f_r</math>

Математики до Брахмагупты использовали очевидную формулу линейной интерполяции

<math>f(x)=f_r+ t D_r</math>,

где <math>t=(x-x_r)/h</math>.

Брахмагупта заменил в этой формуле <math>D_r</math> дугой функцией конечных разностей, которая позволяет получать более точные по порядку значения интерполируемой функции.

Алгоритм вычислений Брахмагупты

В терминологии Брахмагупты разность <math>D_{r-1}</math> называется прошлый отрезок (गत काण्ड), <math>D_r</math> называется полезный отрезок (भोग्य काण्ड). Длина отрезка <math>x-x_r</math> до точки интерполирования в минутах называется обрубком (विकल). Новое выражение, которое должно заменить <math>D_r</math> называется правильным полезным отрезком (स्फुट भोग्य काण्ड). Вычисление правильного полезного отрезка описано в куплете[4][1]:

Файл:Brahmagupas Interpolation Formula In Devanagari.jpg

Согласно комментарию Бхуттопалы (X век) стихи переводятся так[1][5]: Умножь обрубок на полуразность полезного и прошлого отрезков и раздели результат на 900. Добавь результат к полусумме полезного и прошлого отрезков, если эта полусумма меньше полезного отрезка. Если больше, то вычти. Получишь правильную полезную разность[6].

900 минут (15 градусов) — это интервал <math>h</math> между аргументами табличных значений синуса, которыми пользовался Брахмагупта.

Формула Брахмагупты в современных обозначениях

В современных обозначениях алгоритм вычислений Брахмагупты выражается формулами:

<math>

\begin{align} 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{align} </math>

Это интерполяционная формула Ньютона второго порядка[7][8].

Доказательство

Неизвестно как Брахмагупта получил эту формулу[1]. В наше время такие формулы доказывают с помощью разложения функций <math>f(x+kh), k=1,2,...</math> в правой расти равенства в ряд Тейлора в точке <math>x</math>. Однако доказать формулу можно и элементарными методами: после замены <math>t=(x-x_r)/h</math> формула Брахмагупты задаёт параболу проходящую через три точки <math>(x_{r-1},f_{r-1}), (x_r,f_r), (x_{r+1},f_{r+1})</math>. Для вывода этой формулы достаточно найти коэффициенты этой параболы с помощью решения системы трёх линейных уравнений, определяемых этими точками.

Точность формулы

Компьютерный расчёт показывает, что имея таблицу из 7 значений синуса в узлах с шагом 15 градусов, Брахмагупта мог вычислять эту функцию с максимальной ошибкой не более 0,0012 и средней ошибкой не более 0,00042.

Примечания

Шаблон:Примечания

  1. 1,0 1,1 1,2 1,3 1,4 Шаблон:Статья
  2. Шаблон:Книга (p.111)
  3. Шаблон:Статья
  4. Dhyana-Graha-Upadesa-Adhyaya, 17; Khandaka Khadyaka, IX, 8
  5. Шаблон:Книга
  6. Завершающая часть алгоритма связана с тем, что математики до Брахмагупты и длительное время после него не пользовались понятием отрицательного числа. Поэтому реально вычислялась не разность, а модуль разности <math>\frac{|D_{r-1}-D_{r}|}{2}</math>, а потом это неотрицательное число прибавлялось или вычиталось, в зависимости от знака разности, определяемого с помощью неравенства.
  7. Шаблон:Книга
  8. Шаблон:Книга