Курс ВЫЧИСЛИТЕЛЬНЫХ МЕТОДОВ3.7 Методы на основе...

637
С.П. Шарый Курс ВЫЧИСЛИТЕЛЬНЫХ МЕТОДОВ

Upload: others

Post on 04-Feb-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

  • С.П. Шарый

    Курс

    ВЫЧИСЛИТЕЛЬНЫХ

    МЕТОДОВ

  • Курс

    ВЫЧИСЛИТЕЛЬНЫХ

    МЕТОДОВ

    С. П. Шарый

    Институт вычислительных технологий СО РАН

    Новосибирский государственный университет

    Новосибирск – 2020

  • Книга является систематическим учебником по курсу вычислительных ме-тодов и написана на основе лекций, читаемых автором на механико-матема-тическом факультете Новосибирского государственного университета. Осо-бенностью книги является изложение методов интервального анализа и ре-зультатов конструктивной математики, связанных с традиционными разде-лами численного анализа.

    c© С.П. Шарый, 2010–2020 г.

  • Оглавление

    Предисловие 9

    Глава 1. Введение 10

    1.1 Погрешности вычислений . . . . . . . . . . . . . . . . . . 121.2 Компьютерная арифметика . . . . . . . . . . . . . . . . . 201.3 Интервальная арифметика . . . . . . . . . . . . . . . . . . 261.4 Интервальные расширения функций . . . . . . . . . . . . 311.5 Обусловленность математических задач . . . . . . . . . . 361.6 Устойчивость алгоритмов . . . . . . . . . . . . . . . . . . 391.7 Элементы конструктивной математики . . . . . . . . . . 421.8 Сложность задач и трудоёмкость алгоритмов . . . . . . . 441.9 Доказательные вычисления на ЭВМ . . . . . . . . . . . . 46Литература к главе 1 . . . . . . . . . . . . . . . . . . . . . . . . 49

    Глава 2. Численные методы анализа 52

    2.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522.2 Интерполирование функций . . . . . . . . . . . . . . . . . 55

    2.2а Постановка задачи и её свойства . . . . . . . . . . 552.2б Интерполяционный полином Лагранжа . . . . . . 612.2в Разделённые разности и их свойства . . . . . . . . 642.2г Интерполяционный полином Ньютона . . . . . . . 712.2д Погрешность алгебраической интерполяции . . . . 76

    2.3 Полиномы Чебышёва . . . . . . . . . . . . . . . . . . . . . 822.3а Определение и основные свойства . . . . . . . . . 822.3б Применения полиномов Чебышёва . . . . . . . . . 872.3в Обусловленность алгебраической интерполяции . 89

    2.4 Интерполяция с кратными узлами . . . . . . . . . . . . . 92

    3

  • 4 Оглавление

    2.5 Общие факты интерполяции . . . . . . . . . . . . . . . . . 982.5а Интерполяционный процесс . . . . . . . . . . . . . 982.5б Сводка результатов и обсуждение . . . . . . . . . 99

    2.6 Сплайны . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072.6а Элементы теории . . . . . . . . . . . . . . . . . . . 1072.6б Интерполяционные кубические сплайны . . . . . . 1112.6в Погрешность интерполирования сплайнами . . . . 1172.6г Экстремальное свойство кубических сплайнов . . 119

    2.7 Нелинейные методы интерполяции . . . . . . . . . . . . . 1212.8 Численное дифференцирование . . . . . . . . . . . . . . . 126

    2.8а Интерполяционный подход . . . . . . . . . . . . . . 1272.8б Оценка погрешности дифференцирования . . . . . 1322.8в Метод неопределённых коэффициентов . . . . . . 1392.8г Полная погрешность дифференцирования . . . . . 141

    2.9 Алгоритмическое дифференцирование . . . . . . . . . . . 1452.10 Приближение функций . . . . . . . . . . . . . . . . . . . . 148

    2.10а Обсуждение постановки задачи . . . . . . . . . . . 1482.10б Существование и единственность приближения . 1512.10в Приближение в евклидовом подпространстве . . . 1572.10г Геометрия наилучшего приближения . . . . . . . . 1642.10д Среднеквадратичное приближение

    из линейной оболочки векторов . . . . . . . . . . . 1652.10е Псевдорешения систем линейных уравнений . . . 1672.10ж Среднеквадратичное приближение функций . . . 173

    2.11 Полиномы Лежандра . . . . . . . . . . . . . . . . . . . . . 1802.11а Мотивация и определение . . . . . . . . . . . . . . 1802.11б Основные свойства полиномов Лежандра . . . . . 186

    2.12 Численное интегрирование . . . . . . . . . . . . . . . . . . 1912.12а Постановка и обсуждение задачи . . . . . . . . . . 1912.12б Простейшие квадратурные формулы . . . . . . . . 1952.12в Квадратурная формула Симпсона . . . . . . . . . 2012.12г Интерполяционные квадратурные формулы . . . 2072.12д Дальнейшие формулы Ньютона-Котеса . . . . . . 2102.12е Метод неопределённых коэффициентов . . . . . . 215

    2.13 Квадратурные формулы Гаусса . . . . . . . . . . . . . . . 2152.13а Задача оптимизации квадратурных формул . . . . 2152.13б Простейшие квадратуры Гаусса . . . . . . . . . . . 2182.13в Выбор узлов для квадратурных формул Гаусса . 2222.13г Практическое применение формул Гаусса . . . . . 224

  • Оглавление 5

    2.13д Погрешность квадратур Гаусса . . . . . . . . . . . 2282.14 Составные квадратурные формулы . . . . . . . . . . . . . 2322.15 Сходимость квадратур . . . . . . . . . . . . . . . . . . . . 2382.16 Вычисление интегралов методом Монте-Карло . . . . . . 2432.17 Правило Рунге для оценки погрешности . . . . . . . . . . 247Литература к главе 2 . . . . . . . . . . . . . . . . . . . . . . . . 249

    Глава 3. Численные методы линейной алгебры 254

    3.1 Задачи вычислительной линейной алгебры . . . . . . . . 2543.2 Теоретическое введение . . . . . . . . . . . . . . . . . . . . 257

    3.2а Краткий обзор линейной алгебры . . . . . . . . . . 2573.2б Основные понятия теории матриц . . . . . . . . . 2593.2в Собственные числа и собственные векторы . . . . 2673.2г Разложения матриц, использующие их спектр . . 2713.2д Сингулярные числа и сингулярные векторы . . . 2733.2е Сингулярное разложение матриц . . . . . . . . . . 2803.2ж Системы линейных алгебраических уравнений . . 283

    3.3 Нормы векторов и матриц . . . . . . . . . . . . . . . . . . 2843.3а Векторные нормы . . . . . . . . . . . . . . . . . . . 2843.3б Топология на векторных пространствах . . . . . . 2883.3в Матричные нормы . . . . . . . . . . . . . . . . . . 2943.3г Подчинённые матричные нормы . . . . . . . . . . 2983.3д Топология на множествах матриц . . . . . . . . . 3033.3е Энергетическая норма . . . . . . . . . . . . . . . . 3063.3ж Спектральный радиус . . . . . . . . . . . . . . . . 3103.3з Матричный ряд Неймана . . . . . . . . . . . . . . 316

    3.4 Приложения сингулярного разложения . . . . . . . . . . 3183.4а Исследование неособенности и ранга матриц . . . 3183.4б Решение систем линейных уравнений . . . . . . . 3203.4в Малоранговые приближения матрицы . . . . . . . 3223.4г Метод главных компонент . . . . . . . . . . . . . . 325

    3.5 Обусловленность систем линейных уравнений . . . . . . 3263.5а Число обусловленности матриц . . . . . . . . . . . 3263.5б Примеры хорошо и плохо обусловленных матриц 3323.5в Матрицы с диагональным преобладанием . . . . . 3353.5г Практическое применение числа обусловленности 340

    3.6 Прямые методы решения линейных систем . . . . . . . . 3443.6а Основные понятия . . . . . . . . . . . . . . . . . . 344

  • 6 Оглавление

    3.6б Решение треугольныхи трапецевидных линейных систем . . . . . . . . . 348

    3.6в Метод Гаусса для решения линейных систем . . . 3503.6г Матричная интерпретация метода Гаусса . . . . . 3533.6д Метод Гаусса с выбором ведущего элемента . . . . 3573.6е Существование LU-разложения . . . . . . . . . . . 3613.6ж Разложение Холесского . . . . . . . . . . . . . . . . 3663.6з Метод Холесского . . . . . . . . . . . . . . . . . . . 368

    3.7 Методы на основе ортогональных преобразований . . . . 3733.7а Обусловленность и матричные преобразования . . 3733.7б Ортогональные преобразования и матричные вы-

    числения . . . . . . . . . . . . . . . . . . . . . . . . 3773.7в QR-разложение матриц . . . . . . . . . . . . . . . . 3793.7г Ортогональные матрицы отражения . . . . . . . . 3823.7д Метод Хаусхолдера . . . . . . . . . . . . . . . . . . 3853.7е Матрицы вращения и метод вращений . . . . . . . 3903.7ж Процессы ортогонализации . . . . . . . . . . . . . 394

    3.8 Метод прогонки . . . . . . . . . . . . . . . . . . . . . . . . 3993.9 Стационарные итерационные методы . . . . . . . . . . . . 406

    3.9а Краткая теория . . . . . . . . . . . . . . . . . . . . 4063.9б Сходимость стационарных одношаговых методов 4103.9в Подготовка системы к итерационному процессу . 4163.9г Оптимизация скалярного предобуславливателя . . 4203.9д Итерационный метод Якоби . . . . . . . . . . . . . 4253.9е Итерационный метод Гаусса-Зейделя . . . . . . . . 4303.9ж Методы релаксации . . . . . . . . . . . . . . . . . . 436

    3.10 Нестационарные итерационные методы . . . . . . . . . . 4423.10а Теоретическое введение . . . . . . . . . . . . . . . . 4423.10б Метод спуска для минимизации функций . . . . . 4483.10в Наискорейший градиентный спуск . . . . . . . . . 4513.10г Метод минимальных невязок . . . . . . . . . . . . 4553.10д Метод сопряжённых градиентов . . . . . . . . . . 459

    3.11 Методы установления . . . . . . . . . . . . . . . . . . . . . 4723.12 Теория А.А. Самарского . . . . . . . . . . . . . . . . . . . 4743.13 Вычисление определителей и обратных матриц . . . . . . 4783.14 Оценка погрешности приближённого решения . . . . . . 4813.15 Линейная задача наименьших квадратов . . . . . . . . . 485

    3.15а Постановка задачи и основные свойства . . . . . . 485

  • Оглавление 7

    3.15б Численные методы для линейной задачинаименьших квадратов . . . . . . . . . . . . . . . . 490

    3.16 Проблема собственных значений . . . . . . . . . . . . . . 4933.16а Обсуждение постановки задачи . . . . . . . . . . . 4933.16б Обусловленность проблемы собственных значений 4983.16в Коэффициенты перекоса матрицы . . . . . . . . . 5053.16г Круги Гершгорина . . . . . . . . . . . . . . . . . . 5093.16д Отношение Рэлея . . . . . . . . . . . . . . . . . . . 5123.16е Предварительное упрощение матрицы . . . . . . . 515

    3.17 Численные методы для несимметричной проблемысобственных значений . . . . . . . . . . . . . . . . . . . . . 5183.17а Степенной метод . . . . . . . . . . . . . . . . . . . 5183.17б Обратные степенные итерации . . . . . . . . . . . 5263.17в Сдвиги спектра . . . . . . . . . . . . . . . . . . . . 5283.17г Базовый QR-алгоритм . . . . . . . . . . . . . . . . 5313.17д Модификации QR-алгоритма . . . . . . . . . . . . 534

    3.18 Численные методы для симметричной проблемысобственных значений . . . . . . . . . . . . . . . . . . . . . 5373.18а Метод Якоби . . . . . . . . . . . . . . . . . . . . . . 5383.18б Численные методы сингулярного разложения . . . 545

    Литература к главе 3 . . . . . . . . . . . . . . . . . . . . . . . . 545

    Глава 4. Решение нелинейных уравнений и их систем 552

    4.1 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5524.2 Вычислительно-корректные задачи . . . . . . . . . . . . . 554

    4.2а Предварительные сведения и определения . . . . 5544.2б Задача решения уравнений не является

    вычислительно-корректной . . . . . . . . . . . . . 5574.2в ε-решения уравнений . . . . . . . . . . . . . . . . . 5594.2г Недостаточность ε-решений . . . . . . . . . . . . . 561

    4.3 Векторные поля и их вращение . . . . . . . . . . . . . . . 5644.3а Векторные поля . . . . . . . . . . . . . . . . . . . . 5644.3б Вращение векторных полей . . . . . . . . . . . . . 5664.3в Индексы особых точек . . . . . . . . . . . . . . . . 5694.3г Устойчивость особых точек . . . . . . . . . . . . . 5704.3д Вычислительно-корректная постановка . . . . . . 572

    4.4 Классические методы решения уравнений . . . . . . . . . 5734.4а Предварительная локализация решений . . . . . . 5744.4б Метод дихотомии . . . . . . . . . . . . . . . . . . . 575

  • 8 Оглавление

    4.4в Метод простой итерации . . . . . . . . . . . . . . . 5784.4г Метод Ньютона и его модификации . . . . . . . . 5814.4д Методы Чебышёва . . . . . . . . . . . . . . . . . . 585

    4.5 Классические методы решения систем уравнений . . . . 5884.5а Метод простой итерации . . . . . . . . . . . . . . . 5884.5б Метод Ньютона и его модификации . . . . . . . . 588

    4.6 Интервальные системы линейных уравнений . . . . . . . 5904.6а Интервальный метод Гаусса-Зейделя . . . . . . . . 592

    4.7 Интервальные методы решения уравнений . . . . . . . . 5954.7а Основы интервальной техники . . . . . . . . . . . 5964.7б Одномерный интервальный метод Ньютона . . . . 5994.7в Многомерный интервальный метод Ньютона . . . 6054.7г Метод Кравчика . . . . . . . . . . . . . . . . . . . . 607

    4.8 Глобальное решение уравнений и систем . . . . . . . . . . 609Литература к главе 4 . . . . . . . . . . . . . . . . . . . . . . . . 614

    Обозначения 618

    Краткий биографический словарь 622

    Предметный указатель 630

  • Предисловие

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

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

    Автор благодарен свой жене Ирине за любовь, моральную поддерж-ку и неоценимую помощь в работе.

    9

  • Глава 1

    Введение

    Курс методов вычислений является частью более широкой матема-тической дисциплины — вычислительной математики, которую можнонеформально определить как «математику вычислений» или «мате-матику, возникающую в связи с разнообразными процессами вычис-лений». При этом под «вычислениями» понимается не только получе-ние числового ответа к задаче, т. е. доведение результата решения «дочисла», но и получение конструктивных представлений (приближений)для различных математических объектов. С 70-х годов XX века, когдакачественно нового уровня достигло развитие вычислительных машини их применение во всех сферах жизни общества, можно встретитьрасширительное толкование содержания вычислительной математики,как «раздела математики, включающего круг вопросов, связанных сиспользованием ЭВМ» (определение А.Н. Тихонова).

    Иногда в связи с вычислительной математикой и методами вычис-лений используют термин «численный анализ», возникший в США вконце 40-х годов XX века. Он более узок по содержанию, так как воглаву угла ставит расчёты числового характера, а аналитические илисимвольные вычисления, без которых в настоящее время невозможнопредставить вычислительную математику и её приложения, отодвигаетна второй план.

    В действительности, вычислительная математика — одна из самыхдревних ветвей математики, богатая своими собственными идеями иметодами, и её положение в общем дереве математических наук заме-чательно своей тесной связью с практикой. В Новом времени в связис общим бурным развитием наук вычислительная математика выдели-

    10

  • 11

    лась в самостоятельное научное направление в конце XIX – начале XXвека.

    Развитие вычислительной математики в различные историческиепериоды имело свои особенности и акценты. Начиная с античности(вспомним Архимеда) и вплоть до Нового времени вычислительныеметоды гармонично входили в сферу научных интересов крупнейшихматематиков — И. Ньютона, Л. Эйлера, К.Ф. Гаусса, Н.И. Лобачевского,К.Г. Якоби, П.Л. Чебышёва и многих других, чьи имена остались в на-званиях популярных численных методов. Дальнейшее развитие и диф-ференциация математики, дробление её на ветви и дисциплины, приве-ли к большей специализации, в частности, в вычислительной матема-тике. Её типичные задачи и общее состояние на начало XX века можноувидеть в первом в мире систематическом учебнике методов вычисле-ний — «Лекциях о приближённых вычислениях» акад. А.Н. Крылова[13], вышедших в 1906 году и выдержавших семь изданий.

    В XX веке, и особенно в его второй половине, на первый план вы-двинулась разработка и применение конкретных практических алго-ритмов для решения сложных задач математического моделирования(в основном, вычислительной физики, механики и управления). Нуж-но было запускать и наводить ракеты, улучшать характеристики лета-тельных аппаратов, судов, автомобилей и других сложных техническихустройств, учиться управлять ими и т. п.

    На развитие вычислительной математики очень большое влияниеоказывали конкретные способы вычислений и вычислительные устрой-ства, которые возникали по ходу развития технологий и применялись впроцессах вычислений. В частности, огромное по своим последствиямвлияние было испытано вычислительной математикой в середине XXвека в связи с появлением электронных цифровых вычислительныхмашин, кратко называемых ныне «компьютерами».1

    Три типа задач, в основном, интересуют нас в связи с процессомвычислений:

    • Как конструктивно найти (вычислить) тот или иной математи-ческий объект или его конструктивное приближение? К примеру,как найти производную, интеграл, решение дифференциальногоуравнения и т. п.?

    1Строго говоря, термин «компьютер» является более широким по значению, иэлектронные цифровые вычислительные машины являются одной из его разновид-ностей. Вообще, компьютеры могут быть не только электронными, но и механиче-скими, оптическими, биологическими, квантовыми и т. п.

  • 12 1. Введение

    • Какова трудоёмкость нахождения тех или иных объектов? можетли она быть уменьшена и как именно?

    • Если алгоритм для нахождения некоторого объекта уже известен,то как наилучшим образом организовать вычисления по этомуалгоритму на том или ином конкретном вычислительном устрой-стве? Например, чтобы ускорить его выполнение. Чтобы при этомуменьшить погрешность вычисления и/или сделать его менее тру-доёмким.

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

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

    Исторически сложилось, что исследования по второму пункту от-носятся, главным образом, к другим разделам математики — к различ-ным теориям вычислительной сложности и к теории алгоритмов, кото-рая в 30-е годы XX века вычленилась из абстрактной математическойлогики. Но традиционная вычислительная математика, предметом ко-торой считается построение и исследование конкретных численных ме-тодов, также немало способствует прогрессу в этой области.

    Аналогично, исторические и организационные причины привели ктому, что различные вычислительные методы для решения тех илииных конкретных задач относятся к своим специфичным математиче-ским дисциплинам. Например, численные методы для отыскания экс-тремумов различных функций являются предметом вычислительнойоптимизации, теории принятия решений и исследования операций.

    1.1 Погрешности вычислений

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

  • 1.1. Погрешности вычислений 13

    то за редким исключением они не могут быть произведены абсолютноточно.

    Погрешностью приближённого значения x̃ какой-либо величиныназывают разность между x̃ и истинным значением x этой величины,т. е. x̃−x. Во многих случаях знак погрешности неизвестен, так что бо-лее удобно оперировать абсолютной погрешностью ∆̃ приближённойвеличины, которая определяется как

    ∆̃ = |x̃− x|, (1.1)

    т. е. как модуль погрешности.2

    На практике точное значение интересующей нас величины x неиз-вестно, и потому вместо точного значения абсолютной погрешноститакже приходится довольствоваться её приближёнными значениями.Оценку сверху для абсолютной погрешности называют предельной (илиграничной) абсолютной погрешностью. В самом этом термине содер-жится желание иметь эту величину как можно более точной, т. е. какможно меньшей.

    Таким образом, если ∆ — предельная абсолютная погрешность зна-чения x̃ точной величины x, то

    ∆̃ = |x̃− x| ≤ ∆,

    и потомуx̃−∆ ≤ x ≤ x̃+∆.

    Это двустороннее неравенства часто выражают следующей краткой ус-ловной записью:

    x = x̃±∆.Фактически, вместо точного числа мы имеем здесь целый диапазонзначений — числовой интервал [x̃−∆, x̃+∆] возможных представителейдля точного значения x.

    Указание одной только абсолютной погрешности недостаточно дляхарактеристики качества рассматриваемого приближения. Ясно, к при-меру, что для величины x = 10 абсолютная погрешность, равная, ска-жем, единице, соответствует довольно грубому приближению, тогда

    2В обыденной речи наряду с термином «погрешность» используется также слово«ошибка», но в современной метрологии так называют значения величины, которыеимеют с ней мало общего, отбраковываются и не идут в дальнейшую обработку.

  • 14 1. Введение

    как для x = 1000 та же погрешность обеспечивается лишь весьма тща-тельным и высокоточным измерением. Более полное понятие о каче-стве приближения можно получить из относительной погрешностиприближения, которая определяется как отношение абсолютной по-грешности к модулю самого значению этой величины. При этом былобы идеальным относить погрешность к модулю точного значения рас-сматриваемой величины, но в силу её недоступности относительнуюпогрешностью обычно полагают равной

    δ̃ =∆̃

    |x̃| . (1.2)

    При близости значений x и x̃ такая замена почти не отражается на со-держательном смысле относительной погрешности. Отметим, что отно-сительная погрешность — безразмерная величина, и часто её выражаютв процентах.

    Предельной относительной погрешностью приближённого значе-ния x называют число δ, оценивающее сверху его относительную по-грешность. Таким образом, если δ — предельная абсолютная погреш-ность значения x̃ точной величины x, то

    δ̃ =|x̃− x||x̃| ≤ δ =

    |x̃| . (1.3)

    Отсюда следует двустороннее неравенство

    x̃− δ |x̃| ≤ x ≤ x̃+ δ |x̃|.

    Говоря про абсолютную или относительную погрешность, обычноопускают эпитеты «предельная», поскольку именно предельные (гра-ничные) погрешности являются реально доступными нам величинами,с которыми и работают на практике.3

    Значащей цифрой приближённого числа называется любая цифраиз его представления в заданной системе счисления, отличная от ну-ля, либо нуль, если он стоит между значащими цифрами или являет-ся представителем сохранённого разряда этого числа. Содержательноеопределение может состоять в том, что значащая цифра — это циф-ра из представления числа, которая даёт существенную информацию о

    3Они могут быть, к примеру, даны в спецификациях используемых техническихустройств, могут быть a priori оценены из каких-либо содержательных соображенийили же найдены из практики и т. п.

  • 1.1. Погрешности вычислений 15

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

    При записи приближённых чисел имеет смысл изображать их так,чтобы сама форма их написания давала характеристику об их точно-сти. Ясно, что ненадёжные цифры в представлении чисел указыватьсмысла нет. Обычно принимают за правило писать числа так, чтобывсе их значащие цифры кроме, может быть, последней были верны,а последняя цифра была бы сомнительной не более чем на единицу.Согласно этому правилу число 12340000, у которого цифра 4 уже со-мнительна, нужно записывать в виде 1.23 · 108.

    Как изменяются абсолютные и относительные погрешности при вы-полнении арифметических операций с приближёнными числами? При-ближённое число с заданной абсолютной погрешностью — это, фак-тически, целый интервал значений. По этой причине для абсолютныхпогрешностей поставленный вопрос решается с помощью так называе-мой интервальной арифметики, которая рассматривается далее в §1.3.Здесь мы приводим несколько иное решение вопроса, более удобноедля практического использования, но имеющее приближённый харак-тер для умножения и деления.

    Предложение 1.1.1 Абсолютная погрешность суммы или разностиприближённых чисел равна сумме абсолютных погрешностей операн-дов.

    Доказательство. Если x1, x2 — точные значения рассматриваемыхчисел, x̃1, x̃2 — их приближённые значения, а ∆1, ∆2 — соответствую-щие предельные абсолютные погрешности, то

    x̃1 −∆1 ≤ x1 ≤ x̃1 +∆1, (1.4)x̃2 −∆2 ≤ x2 ≤ x̃2 +∆2. (1.5)

    Складывая эти неравенства почленно, получим

    (x̃1 + x̃2)−(∆1 +∆2

    )≤ x1 + x2 ≤ (x̃1 + x̃2) +

    (∆1 +∆2

    ).

    Полученное соотношение означает, что величина ∆1+∆2 является пре-дельной абсолютной погрешностью суммы x̃1 + x̃2.

  • 16 1. Введение

    Умножая обе части неравенства (1.5) на (−1), получим

    −x̃2 −∆2 ≤ −x2 ≤ −x̃2 +∆2.

    Складывая почленно с неравенством (1.4), получим

    (x̃1 − x̃2)−(∆1 +∆2

    )≤ x1 − x2 ≤ (x̃1 − x̃2) +

    (∆1 +∆2

    ).

    Отсюда видно, что величина ∆1+∆2 является предельной абсолютнойпогрешностью разности x̃1 − x̃2. �

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

    Для умножения и деления формулы преобразования абсолютнойпогрешности более громоздки и менее точны.

    Предложение 1.1.2 Если приближённые величины x̃1, x̃2 имеют аб-солютные погрешности ∆1 и ∆2, то абсолютная погрешность произ-ведения x̃1x̃2 не превосходит |x̃1|∆2+|x̃2|∆1+∆1∆2. Если, кроме того,x̃2 6= 0 и известно, что точное значение этой величины x2 — ненуле-вое, а её относительная погрешность δ2 = ∆2/|x2| меньше единицы,то абсолютная погрешность частного x1/x2 не превосходит

    |x̃1|∆2 + |x̃2|∆1x̃22

    · 11− δ2

    .

    Интересно, что в формуле для абсолютной погрешности частно-го оказалось задействована относительная погрешность делителя. Какуже упоминалось, точные результаты для операций между приближён-ными величинами даются формулами интервальной арифметики, рас-сматриваемой ниже в §1.3.

  • 1.1. Погрешности вычислений 17

    Доказательство. Имеем

    |x̃1x̃2 − x1x2| = |x̃1x̃2 − x̃1x2 + x̃1x2 − x1x2|≤ |x̃1(x̃2 − x2)|+ |x2(x̃1 − x1)|= |x̃1(x̃2 − x2)|+ |(x̃2 − (x̃2 − x2))(x̃1 − x1)|≤ |x̃1(x̃2 − x2)|+ |x̃2(x̃1 − x1)|+ |(x̃1 − x1)(x̃2 − x2)|≤ |x̃1|∆2 + |x̃2|∆1 +∆1∆2,

    что доказывает первое утверждение.Доказательство второго утверждения:

    ∣∣∣∣

    x̃1x̃2− x1x2

    ∣∣∣∣=

    ∣∣∣∣

    x̃1x2 − x1x̃2x̃2x2

    ∣∣∣∣=

    ∣∣∣∣

    x̃1(x̃2 − (x̃2 − x2))− (x̃1 − (x̃1 − x1))x̃2x̃2x2

    ∣∣∣∣

    =|x̃1(x̃2 − x2) + (x̃1 − x1)x̃2|

    |x̃2x2|≤ |x̃1|∆2 + |x̃2|∆1|x̃2x2|

    =|x̃1|∆2 + |x̃2|∆1

    |x̃22|· 1|1− (x̃2 − x2)/x̃2|

    =|x̃1|∆2 + |x̃2|∆1

    x̃22· 11− δ2

    .

    Рассмотрим теперь эволюцию относительной погрешности в вычис-лениях.

    Предложение 1.1.3 Если все слагаемые в сумме имеют одинаковыйзнак, то относительная погрешность суммы не превосходит наи-большей из относительных погрешностей слагаемых и не являетсяменьшей, чем наименьшая из относительных погрешностей.

    Доказательство. Пусть складываются две приближённые величины,значения которых равны x̃1 и x̃2, а относительные погрешности сутьδ1 и δ2. Тогда их абсолютные погрешности —

    ∆1 = δ1 |x̃1| и ∆2 = δ2 |x̃2|.Если δ = max{δ1, δ2}, то

    ∆1 ≤ δ |x̃1|, ∆2 ≤ δ |x̃2|.

  • 18 1. Введение

    Складывая полученные неравенства почленно, получим

    ∆1 +∆2 ≤ δ(|x̃1|+ |x̃2|

    ).

    В случае, когда слагаемые имеют один и тот же знак, справедливо|x̃1|+ |x̃2| = |x̃1 + x̃2|, откуда

    ∆1 +∆2| x̃1 + x̃2|

    ≤ δ.

    Так как в числителе дроби из левой части стоит предельная абсолют-ная погрешность суммы, а в знаменателе — модуль значения суммы,то полученное нервенство завершает доказательство предложения.

    Адаптация этих рассуждений для нижней границы относительнойпогрешности очевидна. �

    Ситуация с относительной погрешностью принципиально меняется,когда в сумме слагаемые имеют разный знак, т. е. она является разно-стью. Если результат имеет меньшую абсолютную величину, чем суммаабсолютных величин операндов, то значение дроби (1.2) возрастёт, т. е.относительная погрешность станет больше. А если вычитаемые чис-ла очень близки друг к другу, то знаменатель в (1.2) сделается оченьмаленьким и относительная погрешность результата вычитания можеткатастрофически возрасти.

    Пример 1.1.1 Рассмотрим вычитание чисел 1001 и 1000, каждое изкоторых является приближённым и известным с абсолютной точно-стью 0.1. Таким образом, относительные точности обоих чисел пример-но равны 0.01%. Выполняя вычитание, получим результат 1, которыйимеет абсолютную погрешность 0.1+ 0.1 = 0.2. Как следствие, относи-тельная погрешность результата достигла 20%, т. е. увеличилась в 2000(две тысячи) раз. �

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

    4Соответствующий английский термин — loss of significance.

  • 1.1. Погрешности вычислений 19

    эту операцию на более безопасные. Например, преобразуя вычисли-тельные формулы так, чтобы малые разности двух величин вычисля-лись непосредственно, без вычисления самих этих величин.

    Следующие два результата являются аналогом Предложения 1.1.1для относительных погрешностей операндов.

    Предложение 1.1.4 Если погрешности приближённых чисел малы,то относительная погрешность их произведения приближённо (с точ-ностью до членов более высокого порядка малости) равна сумме от-носительных погрешностей сомножителей.

    Доказательство. Пусть x1, x2, . . . , xn — точные значения рассматри-ваемых чисел, x̃1, x̃2, . . . , x̃n — их приближённые значения. Обозначимтакже x := x1x2 . . . xn, x̃ := x̃1x̃2 . . . x̃n, и пусть

    f(u1, u2, . . . , un) := u1u2 . . . un

    — функция произведения n чисел. Разлагая её в точке (x̃1, x̃2, . . . , x̃n)по формуле Тейлора с точностью до членов первого порядка, получим

    x− x̃ = f(x1, x2, . . . , xn)− f(x̃1, x̃2, . . . , x̃n)

    ≈n∑

    i=1

    ∂f

    ∂ui(x̃1, x̃2, . . . , x̃n) · (xi − x̃i)

    =n∑

    i=1

    x̃1 . . . x̃i−1x̃i+1 . . . x̃n (xi − x̃i)

    =n∑

    i=1

    x̃1x̃2 . . . x̃nxi − x̃ix̃i

    .

    Разделив на x̃ = x̃1x̃2 . . . x̃n обе части этого приближённого равенстваи беря от них абсолютное значение, получим с точностью до членоввторого порядка малости

    ∣∣∣∣

    x̃− xx̃

    ∣∣∣∣=

    n∑

    i=1

    ∣∣∣∣

    x̃i − xix̃i

    ∣∣∣∣,

    что и требовалось. �

  • 20 1. Введение

    Предложение 1.1.5 Если погрешности приближённых чисел малы,то относительная погрешность их частного приближённо (с точно-стью до членов более высокого порядка малости) равна сумме отно-сительных погрешностей сомножителей.

    Доказательство. Если u = x/y, то, пользуясь разложением в ũ =(x̃, ỹ) по формуле Тейлора с точностью до членов первого порядка,получим

    ∆u ≈ ∂u∂x

    ∆x+∂u

    ∂y∆y =

    ∆x

    ỹ− x̃∆y

    ỹ2,

    где ∆u = u− ũ, ∆x = x− x̃, ∆y = y − ỹ. Поэтому∆u

    ũ=

    ∆x

    ỹx̃

    − x̃∆yỹ2x̃

    =∆x

    x̃− ∆y

    ỹ,

    так что ∣∣∣∣

    ∆u

    ∣∣∣∣≤∣∣∣∣

    ∆x

    ∣∣∣∣+

    ∣∣∣∣

    ∆y

    ∣∣∣∣.

    Это и требовалось показать. �

    Мы оценили погрешности отдельно взятых арифметических опера-ций. Они дают полезные сведения о поведении погрешностей и поз-воляют, в первом приближении, ориентироваться при анализе и про-ектировании вычислительных алгоритмов. Но решение почти любойпрактической задачи требует большого количества подобных опера-ций, которые складываются в длинные цепочки вычислений. Можноли применить полученные оценки погрешности к таким более слож-ным вычислениям?

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

    1.2 Компьютерная арифметика

    Для правильного учёта погрешностей реализации вычислительныхметодов на различных устройствах и для правильной организации этих

  • 1.2. Компьютерная арифметика 21

    методов нужно знать детали конкретного способа вычислений. В со-временных электронных цифровых вычислительных машинах, на ко-торых в настоящее время выполняется подавляющая часть вычисле-ний (и которые, как правило, обозначаются аббревиатурой ЭВМ), этидетали реализации регламентируются специальными международны-ми стандартами. Первый из них был принят в 1985 году Институтоминженеров по электротехнике и электронике5, профессиональной ассо-циацией, объединяющей в своих рядах также специалистов по аппарат-ному обеспечению ЭВМ. Этот стандарт, коротко называемый IEEE 754,был дополнен и развит в 1995 году следующим стандартом IEEE 854[27, 38], а затем в 2008 году появилась переработанная версия первогостандарта, которая получила наименование IEEE 754-2008. Работа пообновлению и дальнейшему развитию этих стандартов продолжается исейчас, но вполне сформировалось некоторое устойчивое ядро, общеевсем этим стандартам, которое не изменится в ближайшем будущем.Его мы кратко рассмотрим в этом разделе.

    Согласно этим стандартам вещественные числа представляются вЭВМ в виде «чисел с плавающей точкой», использующих экспоненци-альное представление, т. е. в виде произведения специального множите-ля, называемого мантиссой, на некоторую степень основания системысчисления. Более точно, зафиксируем натуральные числа β и p. Чис-лами с плавающей точкой по основанию β называются числа вида

    ±(α0 + α1β

    −1 + α2β−2 + . . .+ αp−1β

    −(p−1)) · βt, (1.6)

    где 0 ≤ αi < β, i = 0, 1, . . . , p−1. На показатель степени t накладывает-ся двустороннее ограничение tmin ≤ t ≤ tmax, а величина p, отвечающаяза количество значащих цифр мантиссы, — это точность или разряд-ность рассматриваемой числовой модели с плавающей точкой. Обычночисло (1.6) обозначают условной записью

    α0 . α1α2 . . . αp−1 · βt.

    Отметим, что термин мантисса является общеупотребительным и име-ет давнюю историю, но в текстах стандартов IEEE 754/854 множительα0 . α1α2 . . . αp−1 называется специальным термином significand (кото-рый можно перевести как «значимое»).

    5Чаще всего его называют английской аббревиатурой IEEE от Institute ofElectrical and Electronics Engineers.

  • 22 1. Введение

    Стандарты IEEE 754/854 предписывают для цифровых ЭВМ зна-чения β = 2 или β = 10, и в большинстве компьютеров используетсяβ = 2, т. е. двоичная система счисления. С одной стороны, это вызваноособенностями физической реализации современных ЭВМ, где 0 соот-ветствует отсутствию сигнала (заряда и т. п.), а 1 — его наличию. Сдругой стороны, двоичная система оказывается реально выгодной привыполнении с ней приближённых вычислений (см. [27]).

    ✲R

    Рис. 1.1. Множество чисел, представимых в цифровой ЭВМ— дискретное конечное подмножество вещественной оси R.

    Представление вещественного числа в виде с плавающей точкой,как правило, неединственно. Например, 1.234 · 105 = 0.1234 · 106 и т. д.Это безобидное, на первый взгляд, явление вызывает существенныенеудобства реализации, и потому на вид чисел с плавающей точкой(1.6) часто накладывают ограничение α0 6= 0. Удовлетворяющие это-му условию числа называют нормализованными числами с плавающейточкой. Представление вещественного числа в нормализованном видеуже единственно, и именно такие числа, главным образом, использу-ются в вычислениях по стандартам IEEE 754/854.

    Если в выражении (1.6) зафиксировать показатель t, то, варьируявсе коэффициенты αi в предписанных им пределах, получим дискрет-ное множество чисел на вещественной оси, в котором расстояние междусоседними числами постоянно и равно β−(p−1) · βt. Для другого значе-ния показателя t будет то же самое, с другим постоянным расстояниеммежду машинно представимыми числами. Таким образом, множествовсех чисел с плавающей точкой является объединением равномерныхучастков, покрывающих более или менее обширную часть веществен-ной оси R. Оно симметрично относительно нуля.

    Для чисел с плавающей точкой стандарты IEEE 754/854 предусмат-ривают «одинарную точность» и «двойную точность», а также «расши-ренные» варианты этих представлений. При этом для хранения чиселодинарной точности отводится 4 байта памяти ЭВМ, для двойной точ-ности — 8 байтов. Из этих 32 или 64 битов один бит зарезервирован для

  • 1.2. Компьютерная арифметика 23

    указания знака числа: 0 соответствует «−», а 1 соответствует «+».6Для одинарной точности (которая обозначается, как правило, клю-

    чевым словом «single») на показатель степени t отводится 8 битов па-мяти и полагается tmin = −126, tmax = 127. Для двойной точности,наиболее широко распространённой в современных расчётах (она обо-значается ключевым словом «double»), на показатель степени t отво-дится 11 битов памяти и полагается tmin = −1022, tmax = 1023.

    На мантиссу чисел одинарной и двойной точности стандарты IEEE754/854 отводят 23 бита и 52 бита соответственно. Но реально это со-ответствует разрядностям p = 24 и p = 53, так как для представлениячисел (1.6) кроме явно выделенных битов ещё неявно используется такназываемый «скрытый бит». Дело в том, что для двоичной системысчисления условие нормализации α0 6= 0 необходимо влечёт α0 = 1.Поэтому соответствующий бит, постоянно равный единице, можно во-обще не хранить в компьютерном представлении числа, используя какнекоторую константу, присутствующую по умолчанию.

    Как следствие, диапазон чисел одинарной точности, представимыхв ЭВМ, простирается по абсолютной величине примерно от 1.18 · 10−38до 3.4 · 1038. Диапазон чисел двойной точности, представимых в ЭВМ,гораздо более широк, и по абсолютной величине охватывает числапримерно от 2.22 · 10−308 до 1.79 · 10308. Как видим, числа одинар-ной точности могут быть недостаточны для современного математиче-ского моделирования, где даже значения некоторых физических кон-стант приближаются к пределам представимости на ЭВМ. Модель чи-сел с плавающей точкой двойной точности вполне удовлетворяет боль-шинство научно-технических расчётов. В целом, числа с плавающейточкой обеспечивают практически фиксированную относительную по-грешность представления вещественных чисел и изменяющуюся абсо-лютную погрешность.

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

    Количество различных показателей степени t, равное 2046 для двой-ной точности, не исчерпывает всех возможных 211 = 2048 целых чи-сел, которые можно закодировать 11 битами. Аналогична ситуация и содинарной точностью. Оставшиеся значения показателей t, которые невходят в целочисленный интервал [tmin, tmax], стандарты IEEE 754/854

    6Таким образом, во внутреннем «машинном» представлении знак присутствуету любого числа, в том числе и у нуля.

  • 24 1. Введение

    предназначают для кодирования некоторых специальных объектов, ко-торые могут участвовать в вычислениях или быть их результатами.Прежде всего, это нуль, который нельзя представить среди нормали-зованных чисел с плавающей точкой. Его поэтому предложено кодиро-вать специальным образом, как 1.0 · βtmin−1, т. е. в виде числа со всеминулями в мантиссе (с учётом скрытого бита) и показателем степени запределами интервала [tmin, tmax]. Кроме того, стандарты IEEE 754/854вводят «машинную бесконечность» и особый нечисловой объект под на-званием NaN (имя которого есть аббревиатура английской фразы «Nota Number»).

    Машинная бесконечность, обычно обозначаемая Inf, обладает свой-ствами математической бесконечности ∞:

    Inf± a = Inf, Inf+ Inf = Inf,

    Inf · a = Inf для a > 0, Inf · a = −Inf для a < 0.

    Она необходима для сигнализации о том, что результат вычисленийвышел за пределы машинно представимых чисел, и потому относитьсяк нему нужно по-особому.

    NaN означает невозможность придания результату операции какого-либо смысла вообще. Он полезен во многих ситуациях, в частности, мо-жет использоваться для сигнализации о нетипичных и исключитель-ных событиях в процессе вычислений, неопределённых результатах ит. п. Например,

    Inf− Inf = NaN, Inf ∗ 0 = NaN,

    0/0 = NaN, Inf/Inf = NaN.

    Результатом любой операции с NaN также является NaN. Машинная бес-конечность и NaN представляются в компьютере последовательностямибитов, которые соответствуют показателям степени tmax + 1.

    Очень важной характеристикой множества машинных чисел яв-ляется так называемое «машинное ε» (машинное эпсилон), котороехарактеризует густоту множества машинно-представимых чисел, точ-нее, расстояние между соседними машинно представимыми числами.Это наименьшее положительное число εмаш, такое что в компьютер-ной арифметике 1 + εмаш 6= 1 при округлении к ближайшему. Из кон-струкции чисел с плавающей точкой следует тогда, что компьютер,

  • 1.2. Компьютерная арифметика 25

    грубо говоря, не будет различать чисел a и b, удовлетворяющих усло-вию 1 < a/b < 1 + εмаш. Для двойной точности представления в стан-дарте IEEE 754/854 машинное эпсилон примерно равно 1.11 · 10−16.

    Удвоенное машинное эпсилон показывает расстояние между сосед-ними машинно-представимыми числами в районе единицы и справа отнеё. На других участках вещественной оси это расстояние будет дру-гим, но его можно легко найти из 2ǫмаш с помощью домножения нанеобходимый масштабирующий множитель.

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

    (a+ b) + c = a+ (b + c).

    Читатель может проверить на любом компьютере, что в арифметикеIEEE 754/854 двойной точности при округлении «к ближайшему»

    (1 + 10−16

    )+ 10−16 6= 1 +

    (10−16 + 10−16

    ).

    Левая часть этого соотношения равна 1, тогда как правая — ближай-шему к единице справа машинно-представимому числу. Эта ситуацияимеет место в любых приближённых вычислениях, которые сопровож-даются округлениями, а не только при расчётах на современных циф-ровых ЭВМ.

    Ещё один аналогичный по духу пример отсутствия ассоциативностив компьютерной арифметике

    (1020 − 1020) + 1 6= 1020 + (−1020 + 1).

    Из отсутствия ассоциативности следует, что результат суммирова-ния длинных сумм вида x1+x2+ . . .+xn зависит от порядка, в которомвыполняется попарное суммирование слагаемых, или, как говорят, отрасстановки скобок в сумме. Каким образом следует организовыватьтакое суммирование в компьютерной арифметике, чтобы получать наи-более точные результаты? Ответ на этот вопрос существенно зависитот значений слагаемых, но в случае суммирования уменьшающихся поабсолютной величине величин суммировать нужно «с конца». Именнотак, к примеру, лучше всего находить суммы большинства рядов.

  • 26 1. Введение

    1.3 Интервальная арифметика

    Исходной идеей создания интервальной арифметики является на-блюдение о том, что всё в нашем мире неточно, и нам в реальности чащевсего приходится работать не с точными значениями величин, которыеобразуют основу классической «идеальной» математики, а с целымидиапазонами значений той или иной величины. Например, множествовещественных чисел, которые точно представляются в цифровых ЭВМ,конечно, и из-за присутствия округления каждое из этих чисел, в дей-ствительности, является представителем интервала значений обычнойвещественной оси R (см. Рис. 1.5–1.6).

    Нельзя ли организовать операции и отношения между диапазонами-интервалами так, как это сделано для обычных точных значений? Что-бы можно было работать с ними, подобно обычным числам, опираясьна алгебраические преобразования, аналитические операции и т.п.? Ре-зультатом таких вычислений с диапазонами-интервалами станут оцен-ки изменения интересующих нас величин, т. е. очень ценная и востре-бованная на практике информация. Ответы на поставленные вопросыв целом положительны, хотя и не столь просты, а свойства получаю-щейся «интервальной арифметики» оказываются непохожими на при-вычные свойства операций с обычными числами. Дальнейшие иссле-дования в этом направлении привели к появлению и развитию интер-вального анализа, одной из плодотворных ветвей современной вычис-лительной математики (см., к примеру, [25]).

    Предположим, что нам даны переменные a и b, точные значениякоторых неизвестны, но мы знаем, что они могут находиться в интер-валах [a, a] и [b, b] соответственно. Что можно сказать о значении суммыa+ b?

    Складывая почленно неравенства

    a ≤ a ≤ a,b ≤ b ≤ b,

    получим

    a+ b ≤ a+ b ≤ a+ b,

    так что a+ b ∈[a+ b, a+ b

    ].

    На аналогичный вопрос, связанный с областью значений разности

  • 1.3. Интервальная арифметика 27

    a− b можно ответить, складывая почленно неравенства

    a ≤ a ≤ a,−b ≤ −b ≤ −b.

    Имеем в результате a− b ∈[a− b, a− b

    ].

    Для умножения двух переменных a ∈ [a, a] и b ∈ [b, b] имеет местонесколько более сложная оценка

    a · b ∈[min{a b, a b, a b, a b},max{a b, a b, a b, a b}

    ].

    Чтобы доказать её заметим, что функция φ : R × R → R, задаваемаяправилом φ(a, b) = a · b, будучи линейной по b при каждом фиксиро-ванном a, принимает минимальное и максимальное значения на концахинтервала изменения переменной b. Это же верно и для экстремумовпо a ∈ [a, a] при любом фиксированном значении b. Наконец,

    mina∈[a,a],b∈[b,b]

    φ(a, b) = mina∈[a,a]

    minb∈[b,b]

    φ(a, b),

    maxa∈[a,a],b∈[b,b]

    φ(a, b) = maxa∈[a,a]

    maxb∈[b,b]

    φ(a, b),

    т. е. взятие минимума по совокупности аргументов может быть заме-нено повторным минимумом, а взятие максимума по совокупности ар-гументов — повторным максимумом, причём в обоих случаях порядокэкстремумов несуществен. Следовательно, для a ∈ [a, a] и b ∈ [b, b] всамом деле

    min{a b, a b, a b, a b

    }≤ a · b ≤ max

    {a b, a b, a b, a b

    }, (1.7)

    и нетрудно видеть, что эта оценка достижима с обеих сторон.Наконец, для частного двух ограниченных переменных несложно

    вывести оценки из неравенств для умножения и из того факта, чтоa/b = a · (1/b).

    Проведённые выше рассуждения подсказывают идею — рассматри-вать интервалы вещественной оси как самостоятельные объекты, меж-ду которыми можно будет ввести свои собственные операции, отноше-ния и т. п. Мы далее будем обозначать интервалы буквами жирногошрифта: a, b, c, . . . , x, y, z. Подчёркивание и надчёркивание — a и a— будут зарезервированы для обозначения нижнего и верхнего концовинтервала, так что a = [a,a].

  • 28 1. Введение

    Рассмотрим множество всех вещественных интервалов a := [a,a ] ={ a ∈ R | a ≤ a ≤ a }, и бинарные операции — сложение, вычитание,умножение и деление — определим между ними «по представителям»,т. е. в соответствии со следующим фундаментальным принципом:

    a ⋆ b := { a ⋆ b | a ∈ a, b ∈ b } (1.8)

    для всех интервалов a, b, таких что выполнение точечной операцииa ⋆ b, ⋆ ∈ {+, −, · , / }, имеет смысл для любых a ∈ a и b ∈ b. При этомвещественные числа a отождествляются с интервалами нулевой ши-рины [a, a], которые называются также вырожденными интервалами.Кроме того, через (−a) условимся обозначать интервал (−1) · a.

    Для интервальных арифметических операций развёрнутое опреде-ление, равносильное (1.8), как мы установили выше, задаётся следую-щими формулами:

    a+ b =[a+ b, a+ b

    ], (1.9)

    a− b =[a− b, a− b

    ], (1.10)

    a · b =[min{ab,a b,ab,ab} , max{ab,ab,a b,ab}

    ], (1.11)

    a/b = a ·[1/b, 1/b

    ]для b 6∋ 0. (1.12)

    В частности, при умножении интервала на число полезно помнить сле-дующее простое правило:

    µ · a ={

    [µa, µa ], если µ ≥ 0,[µa, µa ], если µ ≤ 0.

    (1.13)

    Алгебраическая система 〈 IR,+,−, ·, / 〉, образованная множествомвсех вещественных интервалов a := [a,a ] = { x ∈ R | a ≤ x ≤ a }с бинарными операциями сложения, вычитания, умножения и деле-ния, которые определены формулами (1.9)–(1.12), называется класси-ческой интервальной арифметикой. Эпитет «классическая» использу-ется здесь потому, что существуют и другие интервальные арифмети-ки, приспособленные для решения других задач.

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

  • 1.3. Интервальная арифметика 29

    Для этого выделим в IR следующие подмножества:

    P := {a ∈ IR | a ≥ 0 и a ≥ 0 } — неотрицательные интервалы,

    Z := {a ∈ IR | a ≤ 0 ≤ a } — нульсодержащие интервалы,

    −P := {a ∈ IR | −a ∈ P } — неположительные интервалы.

    В целом IR = P ∪ Z ∪ (−P). Тогда интервальное умножение (1.11)может быть описано с помощью Табл. 1.1, особенно удобной при реа-лизации этой операции на ЭВМ.

    Таблица 1.1. Интервальное умножение

    · b ∈ P b ∈ Z b ∈ −P

    a ∈ P [ab,a b ] [ab,ab ] [a b,ab ]

    a ∈ Z [ab,a b ] [ min{ab,a b},max{ab,ab} ]

    [a b,ab ]

    a ∈ −P [ab,a b ] [ab,ab ] [a b,ab ]

    Именно по этой таблице реализовано интервальное умножение в по-давляющем большинстве компьютерных систем, поддерживающих ин-тервальную арифметику, так как в сравнении с исходными формуламитакая реализация существенно более быстрая.

    Алгебраические свойства классической интервальной арифметикисущественно беднее, чем у поля вещественных чисел R. В частности,особенностью интервальной арифметики является отсутствие дистри-бутивности умножения относительно сложения: в общем случае

    (a+ b)c 6= ac+ bc.

    Например,

    [1, 2] · (1− 1) = 0 6= [−1, 1] = [1, 2] · 1− [1, 2] · 1.

  • 30 1. Введение

    Тем не менее, имеет место более слабое свойство

    a(b+ c) ⊆ ab+ ac (1.14)

    называемое субдистрибутивностью умножения относительно сложе-ния. В ряде частных случаев дистрибутивность всё-таки выполняется:

    a(b+ c) = ab+ ac, если a — вещественное число, (1.15)

    a(b+ c) = ab+ ac, если b, c ≥ 0 или b, c ≤ 0. (1.16)

    x1

    x2

    Рис. 1.2. Интервальные векторы-брусы в R2.

    Интервальный вектор — это упорядоченный кортеж из интерва-лов, расположенный вертикально (вектор-столбец) или горизонтально(вектор-строка). Таким образом, если a1, a2, . . . , an — некоторые ин-тервалы, то

    a =

    a1a2...an

    — это интервальный вектор-столбец,

    аa =

    (a1,a2, · · · ,an

    )— это интервальная вектор-строка.

    Множество интервальных векторов, компоненты которых принадле-жат IR, мы будем обозначать через IRn. При этом нулевые векторы,т. е. такие, все компоненты которых суть нули, мы традиционно обо-значаем через «0».

  • 1.4. Интервальные расширения функций 31

    Введём также важное понятие интервальной оболочки множестваЕсли S — непустое ограниченное множество в Rn или Rm×n, то его ин-тервальной оболочкой �S называется наименьший по включению ин-тервальный вектор (или матрица), содержащий S. Нетрудно понять,что это определение равносильно такому: интервальная оболочка мно-жества S — это пересечение всех интервальных векторов, содержащихS, т. е.

    �S = ∩{a ∈ IRn | a ⊇ S }.Интервальная оболочка — это интервальный объект, наилучшим обра-зом приближающий извне (т. е. объемлющий) рассматриваемое множе-ство, и компоненты �S являются проекциями множества S на коорди-натные оси пространства.

    Сумма (разность) двух интервальных матриц одинакового размераесть интервальная матрица того же размера, образованная поэлемент-ными суммами (разностями) операндов.Если A = (aij) ∈ IRm×l и B = ( bij) ∈ IRl×n, то произведение матрицA и B есть матрица C = ( cij) ∈ IRm×n, такая что

    cij :=

    l∑

    k=1

    aikbkj .

    Нетрудно показать, что для операций между матрицами выполняетсясоотношение

    A ⋆B = �{A ⋆ B | A ∈ A, B ∈ B }, ⋆ ∈ {+,−, · }, (1.17)

    где � — интервальная оболочка множества, наименьший по включениюинтервальный вектор-брус, который содержит его.

    Интервальная арифметика, фактически, даёт точный и алгоритми-зованный способ для оперирования