Конечно не сохранял — писал формулы в Вольфраме, подставлял, сокращал, обобщал. В Вольфраме пишешь, например, произведение (x+i) для i от 0 до n — он тут же сокращает это до x⋅Pochhammer[1+x,n]. Нет никакого смысла во время вычислений на калькуляторе подробно записывать, что ты делаешь, зачем и чем подобные упрощения обусловлены. Если Вольфрам сделал подобное упрощение — значит, оно корректно, обоснование для которого нужно смотреть отдельно — открываешь описание Похгаммера, читаешь, вникаешь, понимаешь. Первый раз, 2-й раз вникать уже не требуется — осталось понимание с первого. Суть выше описал, его достаточно, чтобы повторить вывод формулы самостоятельно, если кому интересно. Это будет всяко полезней, чем читать формальное доказательство финальной формулы, непонятно откуда взявшейся.
При выводе формул я обычно держу сразу несколько документов открытыми — так удобнее, а финальный результат уже записываю отдельно.
По моей логике, если все шаги по выводу формулы корректны, то и формула корректна и дополнительных доказательств не требует. Специально доказывать, что x⋅0=0, x-x=0, y+0+0+...+0=y, 1⋅2⋅3⋅...⋅n=n!, a⋅x+b⋅x=(a+b)⋅x и прочее в таком же духе я не понимаю, зачем.
А у вас до сих пор есть сомнения в работоспособности моей формулы? Я же уже и графики нарисовал, и откуда берутся биномиальные коэффициенты показал. То, что сумма полиномов одной степени даёт полином той же степени — вроде доказывать не нужно, это же аксиоматика уровня 2+2=4.
Я тоже не математик и даже не программист с 20-летним стажем:) Просто интересна прикладная математика.
Всё давно известно — как минимум в таких банальных вещах, как полиномиальная интерполяция. Другой вопрос, кто и в каком виде эти знания распространяет. Если учитель математики или автор статьи в википедии не понимает (или не считает нужным заострять на этом внимание) математического смысла умножения на (x-xn) — то и у ученика/читателя этого понимания возникнуть не может.
Не придумал, а вывел. На саму идею представления интерполирующего полинома в виде суммы других с нулями в узловых точках натыкался когда-то давно не помню где.
Если вам интересно формальное доказательство — то мне на него жалко своего времени. Смысл же этой формулы будет более очевидным, если рассмотреть компоненты суммы по отдельности:
Здесь мы имеем сумму полиномов одинаковой степени, каждый из которых равен 1 в одной точке и 0 во всех остальных. Таким образом, суммарный полином проходит через все эти точки и имеет ту же степень.
Символ Похгаммера обеспечивает эти самые нули в узловых точках, факториалы масштабируют значение ненулевой точки к 1 (которая затем будет умножена на конкретное значение yn).
Жаль, что настоящие математики в теме так и не отметились (хотя откуда им взяться на хабре).
Если полином степени n задан последовательными равноотстоящими значениями y0,y1,y2..yn в точках x=0,1,2..n, то значение этого полинома в любой точке можно посчитать через сумму исходных значений, взятых с коэффициентами по формуле
или, если выразить её через гамма-функцию
где k — порядковый номер значения, начиная от нуля.
Если в этой формуле заменить x на n+1 (следующая равноотстоящая точка), то формула сократится до
которая, собственно, и выражает биномиальные коэффициенты, о которых идёт речь в этой статье — в чём можно убедиться в Wolfram Mathematica:
Формула автора не является интерполяционной, потому что не позволяет находить значение в произвольной точке. Она позволяет находить значение только в одной, жёстко определённой точке.
Там шаг единичный, потому что он нормирован к единице — это не ограничение, а стандартная практика для упрощения формул и вычислений. В моём примере ниже (через решение системы уравнений) тоже используется единичный интервал — однако если заменить значения 0,1,2,3,4 на 0,2,4,6,8 — результат получится тот же самый.
Я ни в коем случае не критикую вашу формулу — она рабочая и интересная, просто описание у вас несколько сумбурное и может быть непонятным неподготовленному читателю.
То, что вы назвали «разностная схема», на самом деле лишь частный случай для z[n+1], обобщённый для полиномов n-го порядка. По факту, тут нет никакой «разности» — точно также можно найти обобщённое решение и для других точек, при этом равное отстояние точек вовсе не обязательно.
Возьмём полином 3-й степени a+b*x+c*x^2+c*x^3. Чтобы найти коэффициенты a,b,c,d нужно решить систему из 4-х уравнений — например, прохождением через 4 точки при x=0,1,2,3. Решив её, подставим найденные коэффициенты в исходный полином и получим формулу. Теперь, какое бы мы x не подставили, после упрощения получим сумму игреков с разными коэффициентами:
Можно взять и другие точки, не равноотстоящие — и тоже всё будет решаться:
через (n+1) равноотстоящих точек может быть проведена одна и только одна кривая, выраженная полиномом степени n.
Точки не обязательно должны быть равноотстоящими — достаточно, чтобы они не совпадали друг с другом. Равноотстоящими они должны быть только для того, чтобы использовать вашу разностную схему.
При выводе формул я обычно держу сразу несколько документов открытыми — так удобнее, а финальный результат уже записываю отдельно.
Всё давно известно — как минимум в таких банальных вещах, как полиномиальная интерполяция. Другой вопрос, кто и в каком виде эти знания распространяет. Если учитель математики или автор статьи в википедии не понимает (или не считает нужным заострять на этом внимание) математического смысла умножения на (x-xn) — то и у ученика/читателя этого понимания возникнуть не может.
Здесь мы имеем сумму полиномов одинаковой степени, каждый из которых равен 1 в одной точке и 0 во всех остальных. Таким образом, суммарный полином проходит через все эти точки и имеет ту же степень.
Символ Похгаммера обеспечивает эти самые нули в узловых точках, факториалы масштабируют значение ненулевой точки к 1 (которая затем будет умножена на конкретное значение yn).
Если полином степени n задан последовательными равноотстоящими значениями y0,y1,y2..yn в точках x=0,1,2..n, то значение этого полинома в любой точке можно посчитать через сумму исходных значений, взятых с коэффициентами по формуле
или, если выразить её через гамма-функцию
где k — порядковый номер значения, начиная от нуля.
Если в этой формуле заменить x на n+1 (следующая равноотстоящая точка), то формула сократится до
которая, собственно, и выражает биномиальные коэффициенты, о которых идёт речь в этой статье — в чём можно убедиться в Wolfram Mathematica:
Если x константно от начальных условий, то и пересчитывать коэффициенты при y каждый раз не нужно.
Можно взять и другие точки, не равноотстоящие — и тоже всё будет решаться: