Применение экстраполяции для оценки погрешности

Для тестовых примеров, имеющих аналитическое решение можно найти разность между приближенным и точным результатом. Распространение этой оценки на другие примеры очень ненадежно. Выход может быть найден, если вместо точного использовать приближенное, но более точное по сравнению с проверяемым значение. Однако при этом возникают два вопроса: как получить это более точное значение и как проверить, что оно действительно точнее исходного.

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

Ответить на второй вопрос можно с помощью повторной экстраполяции, т.е. экстраполяцией экстраполированных результатов, полученных для разных наборов исходных данных. В этом случае получается оценка погрешности экстраполированных результатов (или размытость оценки погрешности). Если эта оценка удовлетворяет требованиям: в три и более раз меньше оценки погрешности исходных данных (относительная размытость меньше 1/3 [9]), то цель достигнута. Если нет, то данный способ оценки в конкретном случае следует признать ненадежным. Подробнее о критерии надежности сказано ниже.

Кроме того, при хороших оценках результаты экстраполяции можно использовать вместо вычисленных данных, как более точные. При этом необходима дополнительная экстраполяция, чтобы убедиться в надежности полученных таким способом результатов. В некоторых случаях путем повторной экстраполяции можно получить результаты, на многие порядки более точные, чем рассчитанные непосредственно с помощью численного метода, и чего невозможно было бы добиться прямым расчетом в связи с огромными затратами времени, превышающими разумные пределы.

Численная фильтрация

При экстраполяции требуется априорное знание характера зависимости результата расчетов от числа узлов (или математической модели погрешности), например

Применение экстраполяции для оценки погрешности - student2.ru , (26)

где Применение экстраполяции для оценки погрешности - student2.ru – точное значение; Применение экстраполяции для оценки погрешности - student2.ru – приближенный результат, полученный при числе узловых точек, равном n; Применение экстраполяции для оценки погрешности - student2.ru – коэффициенты, которые предполагаются не зависящими от n; Применение экстраполяции для оценки погрешности - student2.ru – величина, полагаемая малой по сравнению с Применение экстраполяции для оценки погрешности - student2.ru при тех значениях n, которые использовались в данных конкретных расчетах, k1,…, kL – произвольные действительные числа (предполагается, что k1<k2<…< <kL).

В математическом анализе обычно оценивается только первый член, поскольку остальные являются асимптотически (при n®¥) бесконечно малыми более высокого порядка. Однако для конечных n остальные слагаемые могут вносить существенный вклад и должны приниматься во внимание.

Если решение задачи представляет собой функцию с несколькими непрерывными производными, то можно допустить возможность его разложения по формуле Тейлора, тогда Применение экстраполяции для оценки погрешности - student2.ru – это часть ряда натуральных чисел. Тогда к задаче нахождения предельного при Применение экстраполяции для оценки погрешности - student2.ru значения z можно подойти как к задаче интерполяции зависимости Применение экстраполяции для оценки погрешности - student2.ru от параметра Применение экстраполяции для оценки погрешности - student2.ru алгебраическим многочленом с последующей экстраполяцией до Применение экстраполяции для оценки погрешности - student2.ru . Есть и другой подход, приводящий при условии постоянства Применение экстраполяции для оценки погрешности - student2.ru к тому же алгоритму, но не требующий целочисленности Применение экстраполяции для оценки погрешности - student2.ru . Это решение задачи численной фильтрации, т.е. последовательное устранение степенных слагаемых суммы (26) при сохранении значения константы z. Рассмотрим два значения Применение экстраполяции для оценки погрешности - student2.ru , Применение экстраполяции для оценки погрешности - student2.ru , вычисленные при числе узлов, равном Применение экстраполяции для оценки погрешности - student2.ru и Применение экстраполяции для оценки погрешности - student2.ru соответственно. Составим линейную комбинацию

Применение экстраполяции для оценки погрешности - student2.ru

и потребуем, чтобы, суммарный коэффициент при z был равен 1, а при Применение экстраполяции для оценки погрешности - student2.ru (для определенного j) равен 0. Отсюда получим формулу фильтрации, которая совпадает с экстраполяционной формулой Ричардсона [1]

Применение экстраполяции для оценки погрешности - student2.ru . (27)

Проводя последовательно экстраполяцию по всем парам соседних значений, получим отфильтрованную зависимость, не содержащую члена с Применение экстраполяции для оценки погрешности - student2.ru

Применение экстраполяции для оценки погрешности - student2.ru , (28)

где Применение экстраполяции для оценки погрешности - student2.ru . (29)

Заметим, что отфильтрованная последовательность Применение экстраполяции для оценки погрешности - student2.ru содержит на один член меньше, чем исходная. Если она содержит больше одного члена, то ее также можно отфильтровать, устранив степенную составляющую с Применение экстраполяции для оценки погрешности - student2.ru . Операции фильтрации можно повторять последовательно для Применение экстраполяции для оценки погрешности - student2.ru ,…, Применение экстраполяции для оценки погрешности - student2.ru , если исходная последовательность содержит достаточное количество членов. Результаты экстраполяций удобно представлять в виде треугольной матрицы

Применение экстраполяции для оценки погрешности - student2.ru (30)

Применение повторной экстраполяции при kj=j известно под названием метода Ромберга. При его применении возникает ряд ограничений.

Применение повторной экстраполяции приводит к изменению коэффициентов суммы (26). При Применение экстраполяции для оценки погрешности - student2.ru увеличение абсолютной величины коэффициентов может оказаться весьма существенным. Это ограничивает число возможных экстраполяций.

Величина Применение экстраполяции для оценки погрешности - student2.ru в (26) может оказаться суммой регулярной составляющей, имеющей вид Применение экстраполяции для оценки погрешности - student2.ru , и нерегулярной составляющей Применение экстраполяции для оценки погрешности - student2.ru , обусловленной погрешностью исходных данных, которая, например, связана с ограниченной разрядностью чисел в машинном представлении. Тогда исходная нерегулярная часть погрешности, содержащаяся в вычисленных значениях Применение экстраполяции для оценки погрешности - student2.ru , при каждой экстраполяции умножается на коэффициент

Применение экстраполяции для оценки погрешности - student2.ru . (31)

Для метода Ромберга, применяемого к последовательности (26) при Применение экстраполяции для оценки погрешности - student2.ru , произведение таких множителей ограничено числом, приблизительно равным 8 (получено численно), т.е. метод Ромберга является устойчивым к погрешности исходных данных, но сам уровень нерегулярной погрешности может ограничить число возможных экстраполяций.

Метод Эйткена

При оценке погрешности частичных сумм значение k в (2.4) может быть неизвестно. В этом случае можно использовать следующую модификацию правила Ричардсона. Вычислим три значения z1, z2, z3 при трех номерах последовательности: n, nQ, nQ2 и составим систему трех уравнений [1, 9]

Применение экстраполяции для оценки погрешности - student2.ru (32)

Найдем разности

Применение экстраполяции для оценки погрешности - student2.ru ,

Применение экстраполяции для оценки погрешности - student2.ru ,

и, разделив одну на другую, определим Qk

Применение экстраполяции для оценки погрешности - student2.ru . (33)

Теперь можно найти z

Применение экстраполяции для оценки погрешности - student2.ru . (34)

Как и в рассмотренных ранее случаях, мы нашли экстраполированное (уточненное) значение z=z*, а вместе с ним и оценку погрешности zi-z*.

Этот способ экстраполяции при неизвестном порядке точности принято называть алгоритмом Эйткена или d2-алгоритмом, который в более общем случае применяется для экстраполяции векторных последовательностей

Применение экстраполяции для оценки погрешности - student2.ru .

В последнем выражении zi – векторы, а скобками обозначается скалярное произведение.

Наши рекомендации