Быстрое вычисление пределов#
Пусть надо численно вычислить предел
где \(x\) и \(f(x)\) - действительные. Будем рассматривать случай, когда следующие три условия на функцию \(f(x)\) выполнены.
Функция \(f(x)=f(-x)\) - четная. (всегда можно свести к этому случаю, см. ниже)
Значение предела \(A\) - конечно. Иначе говоря, точка \(x=0\) - выколотая: в ней возможна неопределенность, типа, например, \(0 / 0\).
Если разрыв \(f(x)\) в выколотой точке \(x=0\) устранить (по непрерывности, как обычно), то полученнная функция является аналитической в \(x=0\).
На языке ряда Тейлора эти три условия означают, что
где коэффициенты \(a_{2 k}\) - действительны, а \(x_{\mathrm{m}}\) - радиус сходимости. При этом \(a_0=A-\) конечное число.
Следующие три случая подпадают по этот случай.
a) Обычный (двусторонний) предел
где функция \(y(t)\) после устранения разрыва в выколотой точке \(t=a\) является аналитической в \(t=a\). Пример функции: \(y(t)=\sin t /\left(e^t-\right.\) \(1)\).
б) Односторонний предел
в котором функция \(y\left(a+x^2\right)\), как зависящая от переменной \(x\), аналитична в \(x=0\) (если разрыв в \(x=0\) устранен). Пример функции: \(y(t)=e^t\) при \(t>0\) и \(y=0\) при \(t<0\).
в) Односторонний предел с корневой особенностью
где \(K>1\) - целое. Здесь (после устранения разрыва в \(x=0\) ) функция \(f(x)\), как зависящая от \(x\), аналитична в \(x=0\). Пример функции для \(K=3: y(t)=\left(\exp \left(t^{1 / 3}\right)-\sqrt{1+t^{1 / 3}}\right) t^{-1 / 3}\).
Важно заметить, что случай (а) включен в (б), а (б) - в (в). Однако классификацию (а)-(в) проводить надо. Иначе точность взятия предела сильно падает. В самом деле, случай (б) (тем более, (в)) дает неопределенность \(0^2 / 0^2\) - более сильную, чем \(0 / 0\) в случае (а).
Вернемся к численному взятию предела, в которой функция \(f(x)\) дается рядом Тейлора. Идея взятия предела заключается в следующем.
Набросать эквидистантную сетку вблизи точки \(x=0\) с некоторым шагом \(\Delta x\) так, чтобы проблемная точка \(x=0\) прошла где-то подальше от узлов сетки.
Вычислить значения функции \(f(x)\) в этих узлах сетки, а затем найти ближайший к \(x=0\) узел сетки, и разложившись в ряд Тейлора в этом узле, сделать интерполяцию в \(x=0\).
Вот, как выглядит эта процедура алгоритмически.
Рассматривается симметризованная сетка
в которой \(j_0\) - число обращений к функции \(f(x)\). Симметризация имеет два преимущества: вдвое снижает число обращений к \(f(x)\) (с \(2 j_0-1\) до \(j_0\) ) и использует случай, в котором проблемная точка \(x=0\) находится на максимальном расстоянии от узлов сетки, т. е. посередине.
В качестве ближайшего выбирается, например, узел \(x_0=\Delta x / 2\). Тогда расстояние \(x-x_0 \equiv h\) от \(x_0\) до проблемной точки \(x=0\) равняется \(h=-\Delta x / 2\). В самом деле, складывая \(x_0+h=0-\) получаем нуль, т. е. точку \(x=0\), в которой берется предел.
Тогда, очевидно, значение \(A\) предела функции \(f(x)\) в точке \(x=\) 0 дается рядом Тейлора
Здесь использовано равенство \(f\left(x_0+h\right)=f(0)=A\), в котором учтено, что \(x_0+h=0\), а устранимый разрыв \(f(x)\) в \(x=0\) устранен по непрерывности.
Наконец, воспользовавшись формулой для приближения проиводной произвольным порядком, после преобразований приходим к окончательной формуле для предела \(f(x)\) в \(x=0\) :
Здесь порядок схемы \(m=0,1,2,3, \ldots\) и шаг \(\Delta x>0\) - внутренние параметры метода, \(N\) - максимальный учитываемый порядок в ряде Тейлора, причем \(1 \ll N \leq 2 m+1, n^{\prime}(n)=0\) при четном \(n\) и \(n^{\prime}(n)=1\) при нечетном \(n\), коэффициенты \(A_{k n}^m\) даются формулой в начале блокнота, сетка \(\left\{y_j\right\}\), где \(j=1-j_0, 2-j_0, 3-j_0, \ldots j_0-1\) определена выше и симметризована, точка \(y_{-j_0}\) не используется, а \(j_0=2 m+2\) - число расчетных точек, оно же - число необходимых обращений к функции \(f(x)\).