
Мы уже говорили, что при приближённых вычислениях полезно преобразовывать выражения, вычисление числовых значений которых приводит к вычитанию близких чисел.
Общая формула для погрешности. Основная задача теории погрешности.
Известны погрешности некоторой системы величин, требуется определить погрешность данной функции от этих величин.
Пусть задана дифференцируемая функция:
и пусть
-
абсолютные погрешности аргументов
функции. Тогда абсолютная погрешность
функции
Обычно на практике
- малые величины,
произведениями
квадратами которых можно пренебречь.
высшими степенями
Поэтому
Итак
(2.14)
Обозначим
- предельные абсолютные погрешности
аргументов
-предельную абсолютную погрешность
функции
для малых
,
и получим:
(2.15)
Разделив обе части неравенства (2.14) на
,
будем иметь оценку для относительной
погрешности функции
:
(2.16)
За предельную относительную погрешность
функции
можно
принять:
Пример: Найти предельные абсолютные
и относительные погрешности объема
шара,
если диаметрd=3,7см
0,05см,
.
Решение: Рассматриваяиdкак переменные величины,
вычисляем частные производные
Обратная задача теории погрешностей.
Какой точности данные нужно подать на
вход, чтобы на входе получить результат
заданной точности? Т.е. необходимо
оценить величины
по известной величине
.Для
случая дифференцируемой функции одной
переменнойгрубоерешение обратной задачи тривиально:
Если
то
Для функции большего числа переменных
обратная задача, вообще говоря,
некорректна, т. е. необходимы дополнительные
условия. Например, применяют принцип
равных влияний, состоящий в предположении,
что частные дифференциалыв (2.15) одинаково влияют на погрешность
значения функции, тогда
В качестве другого довольно естественного
допущения можно принять равенство
относительных погрешностей всех
аргументов, т. е. считать
,
Тогда
- эта величина характеризует относительный уровень точности задания аргументов. Таким образом, за границы абсолютных погрешностей аргументов принимаем:
и другие, более сложные подходы к решению
обратной задачи.
В силу формулы (2.15) предельная абсолютная погрешность объёма:
Поэтому
Отсюда предельная относительная погрешность объёма:
Устойчивость. Корректность.
Рассмотрим погрешности исходных данных. Поскольку это – неустранимые погрешности и вычислитель не может с ними бороться, то, нужно хотя бы иметь представление об их влиянии на точность окончательных результатов.
Мы вправе надеется, что погрешность результатов имеет порядок погрешности исходных данных. Но так ли это? Некоторые задачи весьма чувствительны к неточностям в исходных данных. Эта чувствительность характеризуется так называемой устойчивостью.
Пусть в результате решения
задачи по исходному значению величины
находится значение искомой величины
.Если
исходная величина имеет абсолютную
погрешность
,
то решение имеет абсолютную погрешность
.
Задача называется устойчивой
по исходному параметру
,если решение
непрерывно
от него зависит, т.е. малое приращение
исходной величины
приводит к малому приращению искомой
величины
.
Иначе говоря, если малые погрешности в исходной величине приводят к малым погрешностям в решении.
Отсутствие устойчивости означает, что даже незначительные погрешности в исходных данных приводят к большим погрешностям в решении или даже к неверному результату. В случае неустойчивости задач иногда говорят, что задача чувствительна к погрешностям исходных данных.
Пример неустойчивой задачи:
Рассмотрим квадратное
уравнение с параметром
1,
-1,
<
0
при
<
0
при
=0
сколько угодно малая отрицательная
погрешность в задании
,
приведёт конечной, а не сколько угодно
малой погрешности в решении уравнения.
Иногда бывает, что теоретически задача устойчива, но, тем не менее, чувствительна к погрешности исходных данных.
Приращения исходной величины, которые гарантируют малость приращения исходной величины, оказываются в этом случае настолько малыми, что реальные малые приращения, с которыми имеет дело вычислитель, приводят к большим погрешностям в решении.
Яркой иллюстрацией такой задачи является пример Уилкинсона.
Рассмотрим многочлен
Очевидно, что корнями многочлена являются:
,
=2,…,
Предположим, что один из коэффициентов многочлена вычислен с некоторой малой погрешностью.
Например,
а=-210
при
Увеличим его на
.
В результате вычислений с двойной точностью получим существенно другие значения корней. Приведём эти значения, округлённые до трёх значащих цифр:
Т.о., изменение коэффициента -210 на
(это малое вычисление в обычной
вычислительной практике) привело к
тому, что половина корней стала
комплексными.
Причина явления – чувствительность
(неустойчивость) задачи к погрешностям
исходных данных. Вычисления выполнялись
достаточно точно, и погрешности округления
не могли привести к таким последствиям.
Если коэффициент -210 увеличить на
,
значение корней при округлении до трёх
знаков, совпадут со значениями корней
исходного множества. В этомсмысле
задача устойчива.
Задача называется корректно поставленной, если для любых допустимых значений исходных данных её решение существует, единственно и устойчиво по исходным данным.
То есть, чтобы численно решить задачу, нужно быть уверенным, что решение существует. Требования единственности и устойчивости так же естественны. В примере Уилкинсона неустойчивая задача является некорректно поставленной.
Для решения таких задач применять численные методы не целесообразно, так как возникающие в расчётах погрешности округления будут сильно возрастать в ходе вычислений, что приведёт к значительному искажению результатов.
Методы решения некоторых некорректных задач основаны на замене исходной задачи на корректно поставленную задачу.
Методы регуляризации.
Методы решения систем линейных уравнений делятся на 2 группы: прямые и итерационные.
1)Прямые методы(точные методы)используют конечные соотношения (формулы) для вычисления неизвестных. Они дают решения после выполнения заранее известного числа операций. Эти методы сравнительно просты и пригодны для решения широкого класса линейных систем.
Недостатки: требуют хранения в
оперативной памяти компьютера сразу
всей матрицы, и при больших значенияхрасходуют много места в памяти. Далее,
прямые методы обычно не учитывают
структуру матрицы при большом числе
нулевых элементов в разряженных матрицах
(например: клеточных или ленточных) эти
элементы занимают место в памяти машины,
над ними проводятся арифметические
действия. Исключением являетсяметод
прогонки.
Существенные недостатки прямых
методов: накапливание погрешностей
в процессе решения, поскольку вычисления
на любом этапе используют результаты
предыдущих операций. Это особенно опасно
для больших систем, весьма чувствительных
к погрешностям. В связи с этим прямые
методы используются для систем: не
слишком больших (),
с плотно заполненной матрицей и не
близким к нулю определителем. Прямые
методы решения СЛАУ иногда называютсяточными,так как решение выражается
в виде точных формул через коэффициенты
системы. Однако точное решение может
быть получено лишь при точном выполнении
вычислений (и при точных значениях
коэффициентов системы). На практике при
использованиикомпонентов
вычисления проводятся
с погрешностями. Поэтому неизбежны
погрешности в результатах.
2)Итерационные методы– методы последовательных приближений.
В них необходимо задать некоторое приближённое решение – начальное приближение. После этого с помощью некоторого алгоритма проводится один цикл вычислений, называемый итерацией. В результате итерации находят новое приближение. Итерации проводятся до получения решения с требуемой точностью. Алгоритмы решения линейных систем с использованием итерационных методов обычно более сложные по сравнению с прямыми методами. Объём вычислений заранее определить трудно.
Тем не менее, в ряде случаев итерационные
методы предпочтительнее. Они требуют
хранения в памяти машины не всей матрицы
системы, а лишь нескольких векторов с
компонентами. Иногда элементы матрицы
можно совсем не хранить, а вычислять
их по мере необходимости. Погрешности
окончательных результатов при
использовании итерационных методов не
накапливаются, поскольку точность
вычислений в каждой итерации определяется
лишь результатами предыдущей итерации
и практически не зависит от ранее
выполненных вычислений.
Эти достоинства итерационных методовделают их особенно полезными в случае большого числа уравнений, а также плохо обусловленных систем.
Итерационные методы могут быть использованы для уточнения решений, полученных с помощью прямых методов. Такие смешанные алгоритмы обычно довольно эффективны, особенно для плохо обусловленных систем.
Численный алгоритм (метод) называется корректным, если существует и
единственно численное решение при любых значениях исходных данных, при этом
решение устойчиво относительно погрешностей исходных данных.