Разложения, аппроксимирующие заданную
функцию с некоей априори фиксированной точностью, можно получать множеством
самых разных способов. Для получения полиномиальных приближений, например,
одним из самых простых и мощных является, на мой взгляд, принадлежащий
Ланцошу [5] процесс экономизации степенных рядов. Некоторые способы
получения рациональных приближений описаны в работах [3, 6]; список литературы,
посвященной этой проблематике, легко может быть продолжен.
В данном параграфе я приведу несколько
таких широко известных разложений [10]. Разложения получены с помощью «грубой
силы»: фиксировав вид аппроксимации, по значениям функции в нескольких
точках можно оценить значения констант. Точность полученной аппроксимации
оценивается сравнением истинных значений F(xi)
и аппроксимирующих F*(xi)во многих точках. Успех всего предприятия
определяется, конечно, нашей удачливостью в выборе вида аппроксимации.
Вот, например, как можно получить разложение
A2.
Начнем с того, что фиксируем вид аппроксимации
(1)
Перепишем (1) в более удобном виде
(2)
и положим
(3)
Вычислив y(x)
в точках x0,
x1,
x2,
x3,
получаем четыре нелинейных уравнения для определения констант c0,
c1,
c2,
c3,
p:
(4)
Полученная система уравнений совместна
относительно неизвестных c0,
c1,
c2,
c3
(константу p
пока считаем известной) тогда и только тогда, когда детерминант
равен нулю. Разложив этот определитель
по элементам правого столбца, получаем уравнение
(5) f(p)
= A0(1+px0)3
+ A1(1+px1)3
+
A2(1+px2)3
+ A3(1+px3)3
= 0,
в котором A0,
A1,
A2
и
A3
известны. Для определения корней этого уравнения используется какая-нибудь
стандартная процедура, например, метод Ньютона. В работе [10] описаны причины,
по которым в качестве p
следует выбирать наименьший действительный корень уравнения (5).
Отбрасывая теперь любое (например,
последнее) уравнение в системе (4), получаем линейную систему
решив которую, получаем требуемые значения
констант. Переход от разложения вида (2) к разложению A2
тривиален.
Алгоритмы, реализующие разложения A1-A4,
приведены в приложении B; во всех этих алгоритмах для вычисления полинома
использована схема Горнера.
c0
= 2.515517,
d1 = 1.432788,
c1
= 0.802853, d2 = 0.189269,
c2
= 0.010328, d3 = 0.001308.
Первое из этих разложений было использовано
в A-алгоритмах
для оценки того xe
, после которого можно
считать, что F(x)
= 1.
Для вычисления F(x)
с заранее фиксированной
точностью легко придумать и другие алгоритмы; например, можно попросту
посчитать интеграл – скажем, по формуле Симпсона. Здесь приведены наиболее
экономные из всех известных мне способов.