Upload
others
View
15
Download
0
Embed Size (px)
Citation preview
85
Министерство образования и науки РФ Сибирский федеральный университет
Институт естественных и гуманитарных наук Факультет математики и информатики
Кафедра вычислительных и информационных технологий
Распопов В.Е., Клунникова М.М.
Лекции по курсу «Численные методы»
Красноярск 2007
86
Министерство образования и науки РФ Сибирский федеральный университет
Институт естественных и гуманитарных наук Факультет математики и информатики
Кафедра вычислительных и информационных технологий
Распопов В.Е., Клунникова М.М.
Методическое пособие
для практических и лабораторных работ по курсу
«Численные методы»
87
Красноярск 2007
88
Министерство образования и науки РФ Сибирский федеральный университет
Институт естественных и гуманитарных наук Факультет математики и информатики
Кафедра вычислительных и информационных технологий
Распопов В.Е., Клунникова М.М.
Презентации по курсу
«Численные методы»
Красноярск 2007
89
Содержание
Лекция 1. Математическое моделирование и вычислительный эксперимент. Численные методы как раздел современной математики. Роль компьютерно ориентированных численных методов в исследовании сложных математических моделей. 4
Лекция 2. Классификация погрешностей. Абсолютная и относительная погрешности числа и функции. Прямая и обратная задачи теории погрешностей. Неустойчивые алгоритмы. Особенности машинной арифметики. Задачи вычислительной алгебры. Прямые и итерационные методы. 10
Лекция 3. Метод исключения неизвестных (метод Гаусса) решения систем линейных алгебраических уравнений (СЛАУ). Схема единственного деления. Метод Гаусса с выбором главного элемента. LU – разложение матрицы. Методы вращений, квадратного корня. 19
Лекция 4. Векторные и матричные нормы. Согласованность норм. Обусловленность СЛАУ. Число обусловленности матрицы. Вычисление определителей. Обращение матриц. 36
Лекция 5. Ортогональные преобразования. Матрицы вращения и отражения. QR- и HR-разложения матриц. 45
Лекция 6. Метод прогонки решений СЛАУ с трехдиагональной матрицей. Устойчивость. Корректность. Варианты метода прогонки. Возможность распараллеливания расчетов. 53
Лекция 7. Итерационные методы. Стационарные. Нестационарные. Теоремы сходимости. Метод Якоби. Метод Гаусса-Зейделя. Каноническая форма итерационных методов. Сходимость. 61
Лекция 8. Метод простой итерации. Сходимость. Метод релаксации. Сходимость. Метод наискорейшего спуска. Метод минимальных невязок. Метод сопряженных градиентов. 68
Лекция 9. Полная и частичная проблема собственных значений. Прямые и итерационные методы. Степенной метод вычисления максимального по модулю собственного числа. Метод скалярных произведений. Методы исчерпывания. 77
Лекция 10. Метод Якоби решения полной проблемы собственных значений для симметричной матрицы. QR- метод. Уточнение собственных чисел и векторов. Оценки собственных чисел. 85
90
Теоремы Гершгорина.
Лекция 11. Вычисление корней нелинейных уравнений. Отделение корней. Метод деления отрезка пополам. Метод хорд. Методы простой итерации, Ньютона. Модификации метода Ньютона. Сходимость. Метод Вегстейна. 97
Лекция 12. Решение систем нелинейных уравнений. Методы простой итерации, Зейделя, Ньютона. Сходимость. 106
Лекция 13. Интерполяция. Существование и единственность обобщенного интерполяционного многочлена. Интерполирование алгебраическими многочленами. Интерполяционные полиномы Лагранжа и Ньютона. Оценка погрешности интерполяции. 112
Лекция 14. Многочлены Чебышева. Оптимизация погрешности интерполяции. Сходимость интерполяционного процесса. Сплайн-интерполирование. Построение кубического сплайна. 122
Лекция 15. Наилучшее приближение в линейном нормированном пространстве. Существование и единственность элемента наилучшего приближения. Многочлен наилучшего приближения. Наилучшее приближение в гильбертовом пространстве. Метод наименьших квадратов. Аппроксимация функций многих переменных. 136
Лекция 16. Интерполяционные квадратурные формулы. Квадратурные формулы прямоугольников, трапеций, Симпсона. Погрешность. Правило Рунге оценки погрешности. 149
Лекция 17. Квадратурные формулы наивысшей алгебраической степени точности. Построение. Погрешность. Устойчивость. Интегрирование функций специального вида. 157
Лекция 18. Приближенное вычисление кратных интегралов. Метод Монте-Карло. Формулы численного дифференцирования. Оценка погрешности. Некорректность. Регуляризация. Понятие сеточной функции. Простейшие операторы конечных разностей. 166
Литература 178
91
Лекция 1: Математическое моделирование и вычислительный эксперимент. Численные методы как раздел современной математики. Роль компьютерно-ориентированных численных методов в исследовании сложных математических моделей.
В современном мире математика все больше и больше становится
одним из важных инструментов познания человеком окружающего мира. Математика является основным методом теоретического исследования и практическим орудием в естествознании и технике, без математики совершенно невозможно проводить серьезные научные и инженерные расчеты. Недаром родоначальник немецкой классической философии Иммануил Кант (1742 – 1804 гг.) утверждал, что «в каждой отдельной естественной науке можно найти собственно науку лишь постольку, поскольку в ней можно найти математику». Математика, как наука, возникла в связи с необходимостью решения практических задач: измерений на местности, навигации и т.д. Вследствие этого математика всегда была численной математикой, ее целью являлось получение решения задач в виде числа.
Создание ЭВМ дало новый толчок развитию математики, появились новые дисциплины «математическая экономика», «математическая химия», «математическая лингвистика» и т. д. Возникло понятие «математическое моделирование».
Слово «Модель» происходит от латинского modus (копия, образ, очертание). Моделирование – это замещение некоторого объекта А (оригинала) другим объектом Б (моделью).
Математическая модель — это упрощенное описание реальности с помощью математических понятий.
Математическое моделирование — процесс построения и изучения математических моделей реальных процессов и явлений, т.е. метод исследования объектов и процессов реального мира с помощью их приближенных описаний на языке математики – математических моделей.
Крупнейшие ученые прошлого сочетали в своих трудах как построение математического описания явлений природы (математические модели), так и его исследования. Анализ усложненных моделей требовал создания новых, как правило, численных методов решения задач.
Основоположником отечественного математического моделирования справедливо считают академика А.А.Самарского. Он выразил методологию математического моделирования знаменитой триадой «модель – алгоритм – программа».
1 этап. Модель. Выбирается или строится модель исследуемого объекта, которая в математической форме отражает его важнейшие свойства. Обычно математические модели реальных процессов достаточно сложны и
92
включают в себя системы нелинейных функционально-дифференциальных уравнений. Ядром математической модели, как правило, являются уравнения с частными производными. Для получения предварительных знаний об объекте построенная модель исследуется традиционными аналитическими средствами прикладной математики.
2 этап. Алгоритм. Выбирается или разрабатывается вычислительный алгоритм для реализации построенной модели на компьютере, который не должен искажать основные свойства модели, должен быть адаптирующимся к особенностям решаемых задач и используемым вычислительным средствам. Проводится изучение построенной математической модели методами вычислительной математики.
3 этап. Программа. Создается программное обеспечение для реализации модели и алгоритма на компьютере. Создаваемый программный продукт должен учитывать важнейшую специфику математического моделирования, связанную необходимостью использования набора математических моделей и многовариантностью расчетов.
В результате исследователь получает в руки универсальный, гибкий и недорогой инструмент, который сначала отлаживается, тестируется и калибруется на решении набора пробных задач. Затем проводится широкомасштабное исследование математической модели для получения необходимых качественных и количественных свойств и характеристик исследуемого объекта.
Предложенная методология получила свое развитие в виде технологии «вычислительного эксперимента».
Вычислительный эксперимент – это информационная технология, предназначенная для изучения явлений окружающего мира, когда натурный эксперимент оказывается либо невозможен (например, при изучении здоровья человека), либо слишком опасен (например, при изучении экологических явлений), либо слишком дорог и сложен (например, при изучении астрофизических явлений).
Широкое применение ЭВМ в математическом моделировании, разработанная теория и значительные практические результаты позволяют говорить о вычислительном эксперименте, как о новой технологии и методологии научных и практических исследований. Серьезное внедрение вычислительного эксперимента в инженерную деятельность еще не очень широко, но там, где оно происходит реально (в авиационной и космической промышленности) его плоды весьма весомы.
Отметим некоторые достоинства вычислительного эксперимента по сравнению с натурным. Вычислительный эксперимент, как правило, дешевле физического. В этот эксперимент можно легко и безопасно вмешиваться. Его можно повторить еще раз, если это необходимо, и прервать в любой момент.
93
В ходе этого эксперимента можно смоделировать условия, которые нельзя создать в лаборатории.
В ряде случаев проведение натурного эксперимента затруднено, а иногда и невозможно. Часто проведение полномасштабного натурного эксперимента сопряжено с губительными или непредсказуемыми последствиями (ядерная война, поворот сибирских рек) или с опасностью для жизни или здоровья людей. Нередко требуется исследование и прогнозирование катастрофических явлений (авария ядерного реактора АЭС, глобальное потепление или похолодание климата, цунами, землетрясение). В этих случаях вычислительный эксперимент может стать основным средством исследования. С его помощью оказывается возможным прогнозировать свойства новых, еще не созданных конструкций и материалов на стадии их проектирования. В то же время нужно помнить, что применимость результатов вычислительного эксперимента ограничена рамками принятой математической модели.
В отличие от натурных исследований вычислительный эксперимент позволяет накапливать результаты, полученные при исследовании какого-либо круга задач, а затем эффективно применять их к решению задач в других областях. Например, уравнение нелинейной теплопроводности описывает не только тепловые процессы, но и диффузии вещества, движения грунтовых вод, фильтрации газа в пористых средах. Изменяется только физический смысл величин, входящих в это уравнение.
После проведения первого этапа вычислительного эксперимента может возникнуть необходимость в уточнении модели. На втором этапе учитываются дополнительные эффекты и связи в изучаемом явлении, либо возникает необходимость пренебречь некоторыми закономерностями и связями. Затем этот процесс повторяют до тех пор, пока не убеждаются, что модель адекватна изучаемому объекту.
Обычно в процессе математического моделирования и вычислительного эксперимента участвуют помимо профессиональных математиков и программистов специалисты в конкретной предметной области (биологии, химии, медицине и др.).
Первый серьезный вычислительный эксперимент был проведен в СССР в 1968 году группой ученых под руководством академиков А. Н. Тихонова и А. А. Самарского. Это было открытие, так называемого, эффекта Т-слоя (температурного токового слоя в плазме, которая образуется в МГД-генераторах) – явления, которого на самом деле никто не наблюдал. И только через несколько лет Т-слой был зарегистрирован в экспериментальных физических лабораториях и технологам и инженерам окончательно стал ясен принцип работы МГД-генератора с Т-слоем.
В последние годы ряд Нобелевских премий по химии, медицине, экономике, физике элементарных частиц были присуждены работам,
94
методологическую основу которых составляло именно математическое моделирование.
Математические модели для описания изучаемых явлений в механике, физике и других точных науках естествознания использовались издавна. 3-4 тысячи лет назад решали задачи прикладной математики, связанные с вычислением площадей и объёмов, расчетами простейших механизмов, т.е. с несложными задачами арифметики, алгебры и геометрии. Вычислительными средствами служили собственные пальцы, а затем – счёты. Большинство вычислений выполнялось точно, без округлений.
В 17 веке Исаак Ньютон полностью описал закономерности движения планет вокруг Солнца, решал задачи геодезии, проводил расчёты механических конструкций. Задачи сводились к обыкновенным дифференциальным уравнениям, либо к алгебраическим системам с большим числом неизвестных, вычисления проводились с достаточно высокой точностью до 8 значащих цифр. При вычислениях использовались таблицы элементарных функций, арифмометр, логарифмическая линейка; к концу этого периода появились неплохие клавишные машины с электромотором.
В это время были разработаны алгоритмы численных методов, которые до сих пор занимают почетное место в арсенале вычислительной математики. Так Ньютон предложил эффективный численный метод решения алгебраических уравнений, а Эйлер – численный метод решения обыкновенных дифференциальных уравнений.
Классическим примером применения численных методов является открытие планеты Нептун. Уран планета, следующая за Сатурном, который много веков считался самой из далеких планет. К 40-м годам XIX в. точные наблюдения показали, что Уран едва заметно уклоняется от того пути, по которому он должен следовать с учетом возмущений со стороны всех известных планет. Леверье (во Франции) и Адамс (в Англии) высказали предположение, что, если возмущения со стороны известных планет не объясняют отклонение в движении Урана, значит, на него действует притяжение еще не известного тела. Они почти одновременно рассчитали, где за Ураном должно быть неизвестное тело, производящее своим притяжением эти отклонения. Они вычислили орбиту неизвестной планеты, ее массу и указали место на небе, где в данное время должна была находиться неведомая планета. Эта планета и была найдена в телескоп на указанном ими месте в 1846 г. Ее назвали Нептуном. Для расчета траектории Нептуна Леверье понадобилось полгода.
Численное решение прикладных задач всегда интересовало математиков. Разработкой численных методов занимались крупнейшие ученые своего времени: Ньютон, Эйлер, Лобачевский, Гаусс, Эрмит, Чебышев и др. Численные методы, разработанные ими, носят их имена. Развитие численных методов способствовало постоянному расширению
95
сферы применения математики в других научных дисциплинах и прикладных разработках.
Появление ЭВМ дало мощный импульс еще более широкому внедрению численных методов в практику научных и технических расчетов. Скорость выполнения вычислительных операций выросла в миллионы раз, что позволило решить широкий круг математических задач, бывших до этого практически не решаемыми.
Разработка и исследование вычислительных алгоритмов, их применение к решению конкретных задач составляет содержание огромного раздела современной математики – вычислительной математики. Вычислительная математика как самостоятельная математическая дисциплина сформировалась в начале двадцатого века. Вычислительную математику определяют в широком смысле как раздел математики, исследующий широкий круг вопросов, связанных с использованием ЭВМ. В узком смысле вычислительную математику определяют как теорию численных методов и алгоритмов решения поставленных математических задач. В нашем курсе вычислительную математику будем понимать в узком смысле этого термина.
Современные компьютерно-ориентированные численные методы должны удовлетворять многообразным и зачастую противоречивым требованиям. Обычно построение численного метода для заданной математической модели разбивается на два этапа: дискретизацию исходной математической задачи и разработку вычислительного алгоритма, позволяющего отыскать решение дискретной задачи. Выделяют две группы требований к численным методам. Первая группа связана с адекватностью дискретной модели исходной математической задаче, вторая – с реализуемостью численного метода на имеющейся вычислительной технике. К первой группе относятся такие требования, как сходимость численного метода, выполнение дискретных аналогов законов сохранения, качественно правильное поведение решения дискретной задачи.
Предположим, что дискретная модель математической задачи представляет собой систему большого числа алгебраических уравнений. Обычно, чем точнее мы хотим получить решение, тем больше уравнений приходится брать. Говорят, что численный метод сходится, если при неограниченном увеличении числа уравнений решение дискретной задачи стремится к решению исходной задачи.
Поскольку реальный компьютер может оперировать лишь с конечным числом уравнений, на практике сходимость, как правило, не достигается. Следовательно, очень важно уметь оценивать погрешность метода в зависимости от числа уравнений, составляющих дискретную модель. По этой же причине стараются строить дискретную модель таким образом, чтобы она правильно отражала качественное поведение решения исходной задачи даже
96
при сравнительно небольшом числе уравнений. Так при дискретизации задач математической физики приходят к разностным схемам, представляющим собой системы линейных или нелинейных алгебраических уравнений. Дифференциальные уравнения математической физики являются следствиями интегральных законов сохранения. Поэтому естественно требовать, чтобы для разностной схемы выполнялись аналоги таких законов сохранения. Разностные схемы, удовлетворяющие этому требованию, называются консервативными. Оказалось, что при одном и том же числе уравнений в дискретной задаче консервативные разностные схемы более правильно отражают поведение решения исходной разностной задачи, чем неконсервативные схемы.
Сходимость численного метода тесно связана с его корректностью. Пусть исходная математическая задача поставлена корректно, т.е. ее решение существует, единственно и непрерывно зависит от входных данных. Тогда дискретная модель этой задачи должна быть построена таким образом, чтобы свойство корректности сохранялось. Следовательно, в понятие корректности численного метода включаются свойства однозначной разрешимости соответствующей системы уравнений и ее устойчивости. Под устойчивостью понимается непрерывная зависимость от входных данных.
Вторая группа требований, предъявляемых к численным методам, связана с возможностью реализации данной дискретной модели на данном компьютере, т.е. с возможностью получить численное решение за приемлемое время. Основным препятствием для реализации корректно поставленного алгоритма является ограниченный объем оперативной память ЭВМ и ограниченное время счета. Компьютерно-ориентированные численные методы должны быть экономичными как по числу арифметических действий, так и по требуемому объему памяти.
Обычно сложные вычислительные задачи, возникающие при исследовании физических и технических проблем, разбиваются на ряд элементарных. Многие элементарные задачи являются несложными, они хорошо изучены, для них уже разработаны методы численного решения и имеются стандартные программы решения их на ЭВМ.
Целью занятий в осеннем семестре является знакомство студентов с методологией построения и исследования основных численных методов алгебры и математического анализа и проблемами, возникающими при численном решении задач.
97
Лекция 2. Классификация погрешностей. Абсолютная и относительная погрешности числа и функции. Прямая и обратная задачи теории погрешностей. Неустойчивые алгоритмы. Особенности машинной арифметики.
2.1. Классификация погрешностей При численном решении математических и прикладных задач почти
неизбежно появление на том или ином этапе погрешностей. Погрешностью называют отклонение приближенного решения от истинного решения. Различают следующие типы погрешностей.
1. Неустранимая погрешность. Она связана с приближенным характером исходной содержательной модели, а также ее математического описания, в частности, с невозможностью учесть все факторы в процессе изучения моделируемого явления. Она также связана с тем, что параметрами математической модели служат обычно приближенные величины из-за принципиальной невозможности выполнения абсолютно точных измерений. Для вычислителя погрешность математической модели следует считать неустранимой (безусловной), хотя постановщик задачи иногда может ее изменить.
2. Погрешность метода. Это погрешность, связанная со способом решения поставленной математической задачи и появляющаяся в результате подмены исходной математической модели другой или конечной последовательностью других, например, линейных моделей. При создании численных методов закладывается возможность отслеживания таких погрешностей и доведения их до сколь угодно малого уровня. Отсюда естественно отношение к погрешности метода как к устранимой (или условной).
3. Вычислительная погрешность (погрешность действий). Этот тип погрешности обусловлен необходимостью выполнять арифметические операции над числами, усеченными до количества разрядов, зависящего от применяемой вычислительной техники (если, разумеется, не используются специальные программные средства, реализующие, например, арифметику рациональных чисел), т.е. вычислительная погрешность обусловлена округлениями.
Все три описанных типа погрешностей в сумме дают полную погрешность результата решения задачи. Поскольку первый тип погрешностей не находится в пределах компетенции вычислителя, то для вычислителя он служит лишь ориентиром точности, с которой следует рассчитывать математическую модель. Нет смысла решать задачу существенно точнее, чем это диктуется неопределенностью исходных данных. Таким образом, погрешность метода подчиняют погрешности
98
задачи. Наконец, при выводе оценок погрешностей численных методов обычно исходят из предположения, что все операции над числами выполняются точно. Это означает, что погрешность округлений не должна существенно отражаться на результатах реализации методов, т.е. должна подчиняться погрешности метода. Влияние погрешностей округлений не следует упускать из вида ни на стадии отбора и алгоритмизации численных методов, ни при выборе вычислительных и программных средств, ни при выполнении отдельных действий и вычислении значений функций.
Пример. Пусть требуется вычислить площадь фигуры, ограниченной некоторой кривой, отрезками прямых и осью ординат.
Рис. 1. Площадь фигуры с криволинейной границей
Пусть S – это истинное значение площади рассматриваемой фигуры. В
качестве математической модели для вычисления площади возьмем интеграл
∫b
a
dxxf )( . Неточность в этом выражении заложена в числах a и b и в
функции )(xfy = , которая аппроксимирует криволинейную границу
области. Пусть ∫=b
a
dxxfS )(1 – истинное значение интеграла. Тогда разность
1SS − и будет неустранимой погрешностью. Для вычисления интеграла применим численный метод, допустим некоторую интегральную сумму
∑=
∆n
iii xxf
1)( . Пусть 2S – истинное значение суммы. Разность 21 SS − – это
погрешность метода. Пусть, наконец, 3S – тот результат, который получился после вычисления суммы. Из-за округлений получим величину, вообще говоря, отличающуюся от 2S . Разность 32 SS − – это вычислительная погрешность. Сумма трех указанных погрешностей, которая равна разности
3SS − , т.е. разности между истинным значением площади (неизвестным нам) и тем значением, которое мы выдаем в качестве решения задачи, и есть полная погрешность.
Некоторые алгоритмы весьма чувствительны к ошибкам округлений. При счете по таким алгоритмам небольшая погрешность, допущенная на
99
каком-либо его шаге, может сильно нарастать и в результате получится весьма большая вычислительная погрешность. Такие алгоритмы называют неустойчивыми.
2.2. Абсолютная и относительная погрешности числа Когда мы говорим, что x~ представляет собой приближенное число, мы
подразумеваем, что существует некоторое «точное» число x, которое нам обычно бывает неизвестно. Строго говоря, задание приближенного числа предполагает задание двух величин: основного числа x~ и некоторого вспомогательного положительного числа x~∆ .
Итак, пусть x – точное значение величины, а x~ - ее приближенное значение.
Определение 1. Приближением x~ числа x называется число, мало отличающееся от x и заменяющее его в вычислениях.
Точность приближенных значений характеризуют погрешностью. Различают два вида погрешностей: абсолютную и относительную.
Определение 2. Абсолютной погрешностью приближения x~ называется величина x~∆ , удовлетворяющая условию xxx ~~ ∆≤− .
Абсолютная погрешность связана с размерностью и не полностью характеризует результат. Например, известно, что абсолютная погрешность равна 3 см. Ясно, что имеем совершенно различный по точности результат, если речь идет о длине карандаша или о расстоянии между Землей и Сатурном. Поэтому вводят понятие относительной погрешности.
Определение 3. Относительной погрешностью приближения x~
называется величина x~δ , удовлетворяющая условию xx
xx ~~
~δ≤
− .
2.3. Абсолютная и относительная погрешности функции Пусть в некоторой области G n-мерного евклидова пространства
задана непрерывно дифференцируемая функция ),,( 1 nxxfy L= . Как правило, в практических задачах известны лишь приближенные значения аргументов nxxx ~,~,~
21 L такие, что Gxxxx n ∈= )~,~,~(~21 L , и их абсолютные и
относительные погрешности. Поэтому необходимо ввести понятие приближенного значения функции.
Определение 4. Приближенным значением функции называют )~,,~(~
1 nxxfy L= . Не будем давать точных определений для погрешности функции,
отсылая читателя к литературным источникам, например [3,4], а вычислим
100
приближенное значение функции по формуле )~,,~(~1 nxxfy L= и оценим его
абсолютную и относительную погрешности. Если воспользоваться формулой Лагранжа, то, предполагая, что
),...,( 1 nxxf непрерывно дифференцируема и ее первые частные производные незначительно меняются в области G , получаем
∑=
∆∂∂
≤−n
iin
i
xxxfx
yy1
1~)~,,~(~ L ,
∑∑== ∂
∂=∆
∂∂
≤− n
iin
ii
n
iin
i
xxxfx
xxxxfxy
yy1
11
1~)~,,~(ln~~)~,,~(ln~
~δLL .
Поэтому, можно положить, что
∑=
∆∂∂
≈∆n
iin
i
xxxfx
y1
1~)~,,~(~ L , (2.1)
∑∑== ∂
∂=∆
∂∂
≈n
iin
ii
n
iin
i
xxxfx
xxxxfx
y1
11
1~)~,,~(ln~~)~,,~(ln~ δδ LL . (2.2)
Формулы (2.1), (2.2) позволяют оценить абсолютную и относительную
погрешности любого выражения, в том числе суммы, разности, отношения и т.д.
Нередко приходится сталкиваться с ситуацией, когда функция ),,( 1 nxxfy L= задается не явной формулой, а как решение нелинейного
уравнения 0),,( 1 =nxxyF L , т.е. неявно. Если для такой неявной функции воспользоваться известными формулами нахождения производных
∂∂
∂∂
−=∂∂
yF
xF
xf
jj
, вычисленными при )~(xfy = , nj ,...,1= , то исследование
погрешностей неявной функции сводится к рассмотренному выше случаю. Определение 5. Задачу вычисления погрешностей функции в случае,
когда заданы погрешности аргументов, называют прямой задачей теории погрешностей.
Часто приходится находить такие допустимые неизвестные погрешности аргументов, чтобы погрешность функции не превышала заданного ε .
Определение 6. Задача определения допустимой погрешности аргументов по заданной допустимой погрешности функции называется обратной задачей теории погрешностей.
101
Для функции одной переменной )(xfy = допустимую абсолютную погрешность аргумента, если 0)~( ≠′ xf , можно приближенно вычислить по формуле
yxf
x ~)~(
1~ ∆′
≅∆ .
Для функции нескольких переменных ),,( 1 nxxfy L= обратная задача
теории погрешностей не имеет общего алгоритма решения, а решается только при ряде ограничений. Например, если значения всех аргументов можно одинаково легко определить с любой точностью, то применяют принцип равных влияний, т.е. считают, что все слагаемые в формуле (2.1) равны между собой. В этом случае допустимые абсолютные погрешности аргументов находят по формулам
i
n
i
xxxfn
yx
∂∂
⋅
∆≅∆
)~,,~(
~~1 L
, ni ,...,1= . (2.3)
Если значение одного из аргументов значительно труднее измерить или
вычислить с той же точностью, что и значения остальных аргументов, то погрешность именно этого аргумента надо согласовать с требуемой погрешностью функции.
При вычислениях на ЭВМ погрешность единичного округления, как правило, мала ( 128 1010~ −− ÷=∆x ). Однако существуют такие опасные ситуации («вычислительные ловушки»), когда малые погрешности округлений вызывают большие ошибки в результате. Так, например, покажем, что при вычитании близких по величине чисел относительная погрешность может стать большой, даже если абсолютная погрешность мала. Предварительно напомним следующие определения.
Определение 7. Значащими цифрами в десятичной записи числа называются все цифры, начиная с первой ненулевой слева.
Определение 8. Значащая цифра называется верной, если абсолютная погрешность числа не превосходит половины единицы разряда, соответствующего этой цифре.
Пример. Требуется определить относительную погрешность разности yxu −= , проводя вычисления с четырьмя значащими цифрами.
Предполагается, что значения 41057207,0 ⋅=x , 41057234,0 ⋅=y заданы точно, 4105721.0~ ⋅=x , 4105723.0~ ⋅=y . Тогда
102
3,0~ =∆x ; %005,0105721,0
3,0~ 4 ≅⋅= −xδ ,
4,0~ =∆y ; %007,0105723,0
4,0~ 4 ≅⋅= −yδ ,
102,0100002,0~~~ 4 ⋅−=⋅−=−= yxu ;
точное значение 7,2−=u , 7,0~ ≅∆u , %3535,0~ =≅uδ , т.е. в ответе нет ни одного верного знака.
Поэтому, если возможно, следует избегать при расчетах вычитания двух почти равных чисел. Это иногда можно сделать за счет преобразования соответствующих выражений. Например, вместо вычисления 01cos1−=u нужно вычислять 03sin2 2 ′=u , вместо )/()( yxyxu nn −−= вычислять
121 −−− ++⋅+= nnn yyxxu L , вместо ε+−= 2ppz , где 0>p , ε – мало,
вычислять ( )εε
++−=
2ppu и т.д.
Другим примером потери точности из-за погрешности округлений является суммирование последовательности чисел разных порядков на вычислительной машине. Как правило, на ЭВМ при выполнении арифметических действий младшие разряды результата, не вмещающиеся в разрядную сетку, отбрасываются.
Пусть имеется возрастающая последовательность точных чисел: 0,2335; 0,3213; 0,2259·10; 0,2575·101; 0,1405·102; 0,2314·102; 0,1711·103; 0,3304·103; 0,1561·104; 0,6785·104, сумма которых S=0,88900788·104.
Найдем сумму этих же чисел, если в качестве типа данных возьмем single (7-8 разрядный тип). Сначала сложение произведем, начиная с наименьшего числа в порядке возрастания чисел, получим
31 15625·108,89007910=S с ошибкой 4
1 103 −⋅≅− SS . Затем просуммируем, начиная с большего числа в порядке убывания чисел, получим
32 5·108,89007812=S с ошибкой 4
2 1075,6 −⋅≅− SS . Сумма 2S найдена с ошибкой, в 2 раза большей, чем 1S . Эту ситуацию можно объяснить, рассматривая распространение ошибки округления при каждом отдельном суммировании.
Отсюда следует, что если необходимо сложение длинной последовательности чисел, надо так организовать счет, чтобы сначала суммировались наименьшие числа. При решении больших задач, когда надо выполнить огромное число операций, небольшая ошибка округления может быть сильно увеличена последующими операциями. Поэтому уменьшение потери точности при каждой отдельной операции важно для практических расчетов.
103
Замечание. Если число x~ приводится в качестве результата без указания величины погрешности, то принято считать, что все его значащие цифры являются верными. Начинающий пользователь часто слишком доверяет выводимым из ЭВМ цифрам, предполагая, что вычислительная машина придерживается того же соглашения. Однако это совсем не так: число может быть выведено с таким количеством значащих цифр, сколько потребует программист заданием соответствующего формата. Как правило, среди этих цифр только первые окажутся верными, а возможно верных цифр нет совсем. Анализировать результаты вычислений и определять степень их достоверности совсем непросто. Важно понимать, что следует, а чего нельзя ожидать от результатов, полученных на ЭВМ.
2.4. Особенности машинной арифметики Знание основных особенностей машинной арифметики необходимо для
грамотного использования ЭВМ при численном решении задач. Будем считать, что все вычислительные машины работают в двоичной
системе счисления. Для хранения числа в памяти ЭВМ отводится поле стандартной длины (машинное слово), в котором число записывается в виде последовательности двоичных цифр (0 или 1). Целое число n представляется в виде
)22...2( 0
01
1 aaan LL +++±= , (2.4)
где L - некоторое стандартное для ЭВМ целое число, ia – двоичные числа. Всего для хранения числа n отводят 2+L разрядов (один из них для хранения знака).
Из представления (2.4) видно, что максимальное по модулю целое число, представимое в ЭВМ, есть 1222...2 101
max −=+++= +LLn . Операции сложения, вычитания и умножения над целыми числами реализованы так, что если результат не превышает по модулю число maxn , то он получается точным. Однако, если модуль результата превышает maxn , то на ряде вычислительных машин эта ситуация не доводится до сведения пользователя, происходит присвоение результату некоторого значения, меньшего maxn по модулю, и вычисления продолжаются далее.
Для вещественных чисел принята форма представления с плавающей точкой, когда каждое число представляется в виде
pt
tx 2)2...22( 22
11
−−− ⋅++⋅+⋅±= γγγ , (2.5)
104
где tγγγ ,...,, 21 – двоичные цифры. Число x нормализуется так, чтобы 11 =γ и поэтому в ЭВМ хранятся только значащие цифры. Число
)2...22( 22
11
tt
−−− ⋅++⋅+⋅±= γγγµ называется мантиссой числа x . Количество t цифр, которое отводится для записи мантиссы, называется разрядностью мантиссы, p - целое число, называемое двоичным порядком. Порядок также записывают, как двоичное целое число )...( 01 σσσ −±= llp , для хранения которого в машинном слове отводится 2+l двоичных разрядов.
Так как нуль – ненормированное число (его нельзя представить в виде (2.5) при 01 ≠γ ), то для его хранения предусматривают особый способ записи.
Отметим следующие моменты. 1. В ЭВМ представимы не все числа, а лишь конечный набор
рациональных чисел специального вида. Эти числа образуют представимое множество вычислительной машины. Для всех остальных чисел x возможно лишь их приближенное представление с ошибкой, которую принято называть ошибкой представления (или ошибкой округления). Обычно приближенное представление числа x в ЭВМ обозначают как )(~ xflx = . Если округление производят по дополнению, то граница относительной погрешности представления равна единице первого отброшенного разряда мантиссы, т.е. t
Mx −== 2)~( εδ . Если же округление производят усечением, то t
Mx −== 12)~( εδ . Величина Mε играет в вычислениях на ЭВМ фундаментальную роль, ее называют относительной точностью ЭВМ, а также машинной точностью (или машинным эпсилон). Значение этой величины определяется разрядностью мантиссы и способом округления. Можно считать, что точное число x и отвечающее ему округленное число x~ связаны равенством
)1(~Mxx ε+= . (2.6)
Среди представимых на ЭВМ чисел нет не только ни одного
иррационального (в том числе и таких важных постоянных, как π , e , 2 ), но и даже такого широко используемого в вычислениях числа, как 0.1. Дело в том, что двоичная запись числа 0.1 является бесконечной периодической дробью: ...)0110001100110.0(1.0 = . Поэтому это число представляется на ЭВМ приближенно, с погрешностью, вызванной необходимостью округления.
2. Диапазон изменения чисел в ЭВМ ограничен. Для всех представимых на ЭВМ чисел x (за исключением нуля) имеем
∞<≤< XxX 00 , где )1(0
max2 +−= pX , max2 pX =∞ , 12 1max −= +lp . Все числа по
105
модулю большие ∞X рассматриваются, как машинная бесконечность. Попытка получить такое число приводит к аварийному останову (авосту) ЭВМ по переполнению. Все числа по модулю меньшие 0X для ЭВМ не различимы и представляются, как нуль (машинный нуль). Получение числа x , такого, что 0Xx < , называют исчезновением порядка. Обычно, при исчезновении порядка, автоматически полагается 0)( =xfl и вычисления продолжаются.
3. Правила выполнения арифметических операций в двоичной системе счисления просты и легко реализуются на ЭВМ. Однако в процессе проведения вычислений погрешности округлений (в силу ограниченной разрядности мантиссы арифметические операции над представимыми в ЭВМ вещественными числами не могут быть реализованы точно) могут накапливаться, так как выполнение каждой из четырех арифметических операций вносит некоторую погрешность. Считается, что выполнение каждой арифметической операции вносит относительную погрешность не большую, чем t−2 . Это предположение можно записать в виде
)1)(*()*( ε+= babafl , (2.7)
где звездочка означает любую из операций +, -, × , :, и t−≤ 2ε . Если результат выполнения арифметической операции является машинным нулем, то в формуле (2.7) надо положить 1−=ε .
Отметим еще, что в отличие от обычных математических операций, машинные арифметические операции из-за ограниченной разрядности мантиссы обладают иными свойствами. Например, не выполняется известное правило арифметики «от перемены мест слагаемых сумма не меняется». Соответствующие примеры приведены в [1,17].
Численные методы можно объединить в группы методов, предназначенных для решения задач математического анализа, алгебры, оптимизации, обыкновенных дифференциальных уравнений и уравнений в частных производных.
В осеннем семестре мы с Вами изучим численные методы решения задач линейной и нелинейной алгебры, аппроксимации функций, численное дифференцирование и интегрирование.
106
Лекция 3 Задачи вычислительной алгебры. Прямые и итерационные методы. Метод исключения неизвестных (метод Гаусса) решения систем линейных алгебраических уравнений (СЛАУ). Схема единственного деления. Метод Гаусса с выбором главного элемента. LU – разложение матрицы. Методы вращений, квадратного корня.
Алгоритмы построения решения многих задач приводят нас к
вычислительным задачам линейной алгебры. Так происходит при построении интерполяционного кубического сплайна, при численном решении дифференциальных и интегральных уравнений, при построении элемента наилучшего приближения в гильбертовом пространстве и в ряде других случаев. Поэтому очень важно уметь хорошо решать вычислительные задачи линейной алгебры.
К вычислительным задачам линейной алгебры относят задачи решения систем линейных алгебраических уравнений (СЛАУ) bxА
rr = , вычисления обратных матриц 1−A , вычисления определителей A , задачи вычисления собственных чисел и собственных векторов матриц. Эти задачи имеют очень важное теоретическое и прикладное значение. Трудности решения указанных задач, как правило, связаны с большой размерностью матриц.
Чаще всего вычислительные задачи линейной алгебры решают точными и итерационными методами.
Определение 1. Метод называется точным, если в предположении отсутствия ошибок округлений, получается точное решение за конечное число шагов.
Определение 2. Метод называется итерационным, если решение получается в виде предела элементов некоторой последовательности.
В точных методах матрицу исходной системы уравнений эквивалентными преобразованиями приводят к более простой матрице или раскладывают на произведение более простых матриц.
Большинство точных методов относятся к так называемым методам исключения. В этих методах, последовательно исключая неизвестные, исходную систему приводят к системе с треугольной или диагональной матрицей. Очевидно, что последние легко разрешимы.
3.1. Метод исключения Гаусса (схема единственного деления) решения
систем линейных алгебраических уравнений Пусть дана система линейных алгебраических уравнений (СЛАУ)
107
,bxArr = (3.1)
где A – вещественная матрица порядка n , b
r- заданный вектор, xr – искомый
вектор. Предположим, что 0|| ≠A . Тогда система (3.1) имеет единственное
решение. Перепишем систему (3.1) в скалярном виде
=+++
=+++=+++
..................................................
,...,...
2211
22222121
11212111
nnnnnn
nn
nn
bxaxaxa
bxaxaxabxaxaxa
(3.2)
Систему (3.2) будем решать методом исключения Гаусса, который
называют также методом последовательного исключения неизвестных. Он известен в различных вариантах уже более 2000 лет. Метод состоит в последовательном исключении неизвестных nxxx ,...,, 21 из уравнений системы.
Пусть 011 ≠a . Разделив первое уравнение на 11a , имеем
,... 112121 yxcxcx nn =+++ (3.3)
где ,11
11 a
ac j
j = ,,...,3,2 nj = .11
11 a
by =
Теперь умножаем уравнение (3.3) последовательно на ,1ia ni ,...,3,2= и вычитаем, соответственно, из 2-го, 3-го, …, n -го уравнений. В результате получаем
=+++
=+++=+++=++++
...............................
,...,...,...
)1()1()1(32
)1(2
)1(3
)1(3
)1(332
)1(32
)1(2
)1(2
)1(232
)1(22
113132121
nnnnnn
nn
nn
nn
bxaaxa
bxaaxabxaaxayxcxcxcx
(3.4)
Таким образом, 1x исключили из всех уравнений начиная со второго.
Далее, первое уравнение системы (3.4) оставляем без изменения. Теперь, предполагая, что ,0)1(
22 ≠a делим на него второе уравнение в (3.4) и
108
аналогично предыдущему исключаем 2x из всех уравнений, начиная с третьего, и т. д. В результате приходим к системе
==+
=+++=++++
−−−
.,
........................,...,...
1,11
223232
113132121
nn
nnnnn
nn
nn
yxyxcx
yxcxcxyxcxcxcx
(3.5)
Матрица этой системы
=
−
−
−
..
10...0001...000
.....................10...1
,1
21,223
11,11312
nn
nn
nn
c
ccccccc
C (3.6)
содержит нули всюду ниже главной диагонали. Такие матрицы называются верхними треугольными. Нетрудно проверить, что 1−C есть также верхняя треугольная матрица.
Преобразование системы (3.2) к эквивалентной системе (3.5) с верхней треугольной матрицей называется прямым ходом метода Гаусса. Вычисление неизвестных из (3.5) называется обратным ходом метода Гаусса.
Неизвестные ix вычисляются так: из последнего уравнения находим ,nx из предпоследнего − 1−nx и т.д. Итак
,1
∑+=
−=n
ijjijii xcyx ;1,...,1−= ni .nn yx = (3.7)
Изложенный алгоритм называется схемой единственного деления
метода исключения Гаусса. Недостатки данного метода. Если ведущий элемент )1( −k
kka на каком-либо шаге окажется равным нулю, то эта схема формально непригодна (из-за деления на нуль метод падает), хотя заданная система уравнений может иметь единственное решение. Кроме того, если определитель системы не равен нулю, но в процессе вычислений встречаются ведущие элементы )1( −k
kka , которые достаточно малы по сравнению с другими элементами соответствующей строки, то это обстоятельство способствует усилению
109
отрицательного влияния погрешностей округления на точность результата. Вычислительная погрешность может существенно нарастать.
Число действий (трудоемкость метода). Для реализации метода Гаусса
(схема единственного деления) требуется примерно 3
32 n арифметических
операций, причем подавляющее число этих действий совершается на этапе прямого хода.
Русские математики Клюев и Коковкин-Щербак доказали, что в общем случае система линейных алгебраических уравнений не может быть решена точными методами с помощью меньшего числа операций, чем требуется в Гауссовском исключении.
3.2. Метод Гаусса с выбором главного элемента по столбцу Если в схеме единственного деления на некотором шаге ведущий
элемент )1( −kkka окажется равным нулю, то схема единственного деления не
может быть реализована, несмотря на то, что система bxArr = (3.1) имеет
единственное решение. В этом случае может быть применен метод Гаусса с выбором главного элемента.
Главный элемент можно выбирать по строчке, по столбцу (частичный выбор) или по всей матрице A . Изложим наиболее простой и широко применяемый метод исключения Гаусса с выбором главного элемента по столбцу.
Выбираем максимальный по модулю элемент в первом столбце матрицы A . Пусть ||max|| 111 inim aa
≤≤= , т.е. максимальный по модулю элемент
первого столбца стоит в m -й строке. Меняем местами первое и m -е уравнения системы с соответствующей перенумерацией элементов этих уравнений. Делим новое первое уравнение на коэффициент при 1x , имеем
,... 112121 yxcxcx nn =+++
11
11 a
ac j
j = , nj ,...,3,2= , 11
11 a
by = , (3.8)
и, исключив 1x из второго, третьего,…, n -го уравнений точно так же, как в пункте 3.1, получаем систему
110
=+++
=+++=+++=++++
...............................
,...,...,...
)1()1(3
)1(32
)1(2
)1(3
)1(33
)1(332
)1(32
)1(2
)1(23
)1(232
)1(22
113132121
nnnnnn
nn
nn
nn
bxaxaxa
bxaxaxabxaxaxayxcxcxcx
(3.9)
Далее первое уравнение системы (3.9) оставляем без изменения.
Выбираем максимальный по модулю элемент во втором столбце матрицы системы (3.9), начиная со второй строки. Пусть ||max|| )1(
22
)1(2 inil aa
≤≤= , т.е.
максимальный по модулю элемент второго укороченного столбца стоит в l-той строке. Меняем местами второе и l-тое уравнения системы (3.9). Исключаем 2x из всех уравнений, начиная с третьего, и т.д. После n шагов получаем систему уравнений с верхней треугольной матрицей.
Обратный ход метода Гаусса (т.е. вычисление неизвестных ix , ni ,...,1= ) осуществляем так же, как и в схеме единственного деления. Заметим, что дополнительная работа по выбору главных элементов в
схеме частичного выбора требует порядка 2n действий, что практически не влияет на общую трудоемкость метода.
Известно, что для некоторых классов матриц при использовании схемы единственного деления главные элементы гарантированно располагаются на главной диагонали и поэтому применять частичный выбор нет необходимости. Именно так, например, обстоит дело с системами, имеющими положительно определенные матрицы, а так же матрицы с диагональным преобладанием.
Замечание. Метод Гаусса с частичным выбором главного элемента можно применять к любой СЛАУ с невырожденной матрицей. Однако этот метод не всегда вычислительно устойчив. Например, пусть методом Гаусса с выбором главного элемента по столбцу решается система bxA
rr = с матрицей коэффициентов
−−−−−
−=
1111111110111001
A .
111
Приведение такой матрицы к треугольному виду прямым ходом метода Гаусса равносильно следующей последовательности эквивалентных преобразований матрицы A :
⇒
−
⇒
−−−
⇒
−−−−−
−=
8000410020101001
4100410020101001
2110211020101001
1111111110111001
A .
В случае матрицы такого типа размерности nn × прямой ход метода Гаусса допускает рост элементов матрицы до )1(2 −n . При больших n это может привести если не к переполнению разрядной сетки ЭВМ, то к сильному влиянию погрешностей округлений на конечный результат.
Этот недостаток метода исключения Гаусса побуждает к разработке других точных методов, может быть более сложных, но численно более устойчивых, таких, например, как метод вращений, который будет изложен ниже.
3.3. Компактная схема Гаусса Как было показано в параграфе 3.1., для того, чтобы решить систему
(3.1), нам достаточно знать коэффициенты ijc и правые части iy системы (3.5). Явно их можно вычислить следующим образом.
Пусть осуществлены первые )1( −k шагов, т.е. уже исключены
11 ,..., −kxx , следовательно, система (3.1) приведена к виду:
=++
=++=+++
=++++=+++++
−−−
−−−
−−−−
.........................
,...,...
...........................,......,......
)1()1()1(
)1()1()1(1,1,11
2222
1112121
knn
knnk
knk
kkn
kknk
kkk
knnkkkkk
nnkk
nnkk
bxaxa
bxaxayxcxcx
yxcxcxyxcxcxcx
(3.10)
Рассмотрим k -е уравнение системы (3.10) и предположим, что
0)1( ≠−kkka . Разделив обе части этого уравнения на )1( −k
kka , получаем
knnkkkkk yxcxcx =+++ ++ ,11, ... , (3.11)
112
где
)1(
)1(
−
−
=k
kk
kkj
kj aa
c , nkj ,...,1+= , )1(
)1(
−
−
=k
kk
kk
k aby .
Теперь уравнение (3.11) умножаем последовательно на )1( −k
ika и вычитаем, соответственно, из (i -го) уравнения системы (3.10). В результате последняя группа уравнений системы (3.10) принимает вид
=++
=++=+++
++
+++++
++
,........................
,...,...
)()(1
)(1,
)(1
)(,11
)(1,1
,11,
knn
knnk
kkn
kkn
knkk
kkk
knnkkkkk
bxaxa
bxaxayxcxcx
(3.12)
где
,)1()1()(
kjk
ikk
ijk
ij caaa −− −= nkji ,...,1, += ; ,)1()1()(k
kik
ki
ki yabb −− −= .,...,1 nki +=
Таким образом, в прямом ходе метода Гаусса коэффициенты уравнений
преобразуются по формулам
,)0(kjkj aa = njk ,...,2,1, = ;
,)1(
)1(
−
−
=k
kk
kkj
kj aa
c ,,...,1 nkj += nk ,...,2,1= ; (3.13)
,)1()1()(kj
kik
kij
kij caaa −− −= nkji ,...,1, += , nk ,...,1= . (3.14)
Вычисление правых частей системы (3.5) осуществляется по формулам
,)0(kk bb = ,)1(
)1(
−
−
= kkk
kk
k aby nk ,...,1= ; (3.15)
,)1()1()(k
kik
ki
ki yabb −− −= nki ,...,1+= . (3.16)
По формулам (3.13) – (3.16) вычисляем коэффициенты ijc , правые
части iy , ,,...,1 ni = ,,...,1 nij += системы (3.5) и затем осуществляем обратный ход, как и в схеме единственного деления.
Реализация прямого хода метода Гаусса по формулам (3.13)-(3.16) называется компактной схемой Гаусса.
113
2.4. Метод оптимального исключения Методом оптимального исключения называется следующий алгоритм
решения СЛАУ. Дана система
=+++
=+++=+++
..................................................
,...,...
2211
22222121
11212111
nnnnnn
nn
nn
bxaxaxa
bxaxaxabxaxaxa
(3.17)
Делим первое уравнение на 11a . Получаем )1(
1,1)1(
12)1(
121 ... +=+++ nnn axaxax . Умножаем данное уравнение на 21a и вычитаем его из второго
уравнения системы (3.17). Получившееся второе уравнение делим на коэффициент при 2x и исключаем 2x из преобразованного первого уравнения. После первого шага система принимает вид:
=++++
=++++=+++=+++
.....................................
,...,...,...
332211
33333232131
)2(2
)2(23
)2(232
)2(1
)2(13
)2(131
nnnnnnn
nn
nn
nn
bxaxaxaxa
bxaxaxaxabxaxaxbxaxax
Теперь исключаем 1x и 2x из третьего уравнения. Преобразованное
третье уравнение делим на коэффициент при 3x и исключаем 3x из первых двух уравнений, и т.д. В итоге получаем ii yx = , ni ,...,2,1= , т.е. мы вычислили решение системы (3.17).
Последовательное введение уравнений экономит память ЭВМ. Метод позволяет решать системы, порядок которых в 2 раза больше чем при решении с помощью схемы единственного деления.
3.5. LU- разложение Доказано, что с алгебраической точки зрения метод исключения Гаусса
(схема единственного деления) эквивалентен разложению матрицы A на произведение двух треугольных матриц LUA = , где L – нижняя треугольная матрица, а U – верхняя. Пусть имеется матрица n
jiaA 1, )(= . Если
114
известно разложение LUA = , то решение системы bxArr = сводится к
решению двух систем с треугольными матрицами byLrr
= и yxU rr = . Решение СЛАУ с треугольными матрицами не вызывает затруднений.
Возникает вопрос, когда такое разложение возможно. Ответ на этот вопрос дает теорема.
Теорема об LU-разложении. Пусть все главные миноры матрицы A отличны от нуля ( 0≠∆ j , nj ,...,1= ), тогда матрицу A можно представить единственным образом в виде произведения LUA = , где L – нижняя треугольная матрица с ненулевыми диагональными элементами, U – верхняя треугольная матрица с единицами по главной диагонали.
Доказательство Доказательство будем вести по индукции по размерности матрицы.
1=n : A= ( )11a → 11aL = , )1(=U , 011 ≠a .
2=n :
=
2221
1211
aaaa
A .
Матрицы L и U будем искать в виде
=
2221
11 0ll
lL ,
=
101 12u
U .
Так как должно выполняться равенство LUA = , то, перемножая матрицы, для определения неизвестных ijl и iju получаем систему уравнений
1111 al = , 121211 aul = ,
2121 al = , 22221221 alul =+ .
Решая эту систему, находим
1111 al = , 11
1212 a
au = , 2121 al = , 11
1221221122 a
aaaal −= .
По условию 011 ≠a , 012212211 ≠− aaaa , поэтому система имеет единственное решение и 011 ≠l и 022 ≠l .
Пусть утверждение теоремы справедливо для матриц порядка )1( −k . Докажем справедливость утверждения для матрицы порядка k . Представим матрицу A следующим образом:
=
−
−−
kkk
kk
abaA
A1
11rr
, где
=
−
−
kk
k
k
a
aa
,1
1
1 ...r , ( )1,11 ... −− = kkkk aabr
.
115
Матрицы kL и kU будем искать в виде
=
−
−
kkk
kk ll
LL
1
1 0r ,
= −−
1011 kk
k
uUU
r, где ),...,( 1,11 −− = kkkk lll
r, T
kkkkk uuuu ),...,,( ,1211 −− =r – вектор-
строка и вектор-столбец. По предположению индукции 111 −−− = kkk ULA . Исходя из матричного равенства
=A
=
−−
−
−
−
−−
100 11
1
1
1
11 kk
kkk
k
kkk
kk uUll
LabaA r
rrr
, (3.18)
для определения неизвестных 1−kl
r, kkl и 1−kur получаем систему уравнений
111 −−− = kkk auL rr , (3.19)
111 −−− = kkk bUlrr
, (3.20)
kkkkkk alul =+−− 11
rr. (3.21)
Так как из равенства 111 −−− = kkk ULA и условия 01 ≠−kA следует, что 01 ≠−kL и 01 ≠−kU , то система уравнений (3.19)-(3.21) однозначно
разрешима. Отсюда 11
11 −−
−− = kkk aLu rr , 1111
−−−− = kkk Ubl
rr и 11 −−−= kkkkkk ulal rr
. Докажем, что 0≠kkl . Из разложения (3.18) следует, что
)det()det()det( 11 −−= kkkkk UlLA , отсюда, т.к. 0)det( ≠kA , 0)det( 1 ≠−kL , 0)det( 1 ≠−kU , то и 0≠kkl .
Справедливость разложения LUA = доказана. Осталось доказать единственность разложения. Будем вести доказательство от противного. Пусть 2211 ULULA == (здесь нижний индекс означает номер, а не размерность), отсюда
1
2121
1−− = UULL . (3.22)
Получили слева нижнюю треугольную матрицу, а справа − верхнюю, а
это возможно только в том случае, если 21
1 LL− и 121−UU − диагональные. Но на
диагонали матрицы 121−UU стоят единицы, следовательно, ELLUU == −−
21
11
21 и 21 UU = , 21 LL = . Теорема доказана. Если все главные миноры матрицы A отличны от нуля, то справедливы
рекуррентные формулы, позволяющие найти элементы матриц L и U :
116
1111 au = ,
jj au 11 = , 11
11 u
al j
j = , nj ,...,3,2= ,
∑−
=
−=1
1
i
ppiipiiii ulau , ni ,...,3,2= ,
∑−
=
−=1
1
i
ppjipijij ulau ,
ii
i
ppijpji
ji u
ulal
∑−
=
−=
1
1 ,
ni ,...,3,2= , niij ,...,2,1 ++= . Здесь 1=iil .
(3.23)
Замечание. Так как схема единственного деления эквивалентна LU -
разложению, то из доказанной теоремы следует, что если все главные миноры матрицы A отличны от нуля, то схема единственного деления работает (нет деления на нуль).
2.6. Метод квадратных корней Объем вычислений, требующихся для решения систем линейных
алгебраических уравнений с симметрическими матрицами, можно сократить почти вдвое, если учитывать симметрию при треугольной факторизации матриц (разложении на произведение двух треугольных матриц).
Пусть njiijaA 1,)( == – данная симметрическая матрица, т.е. jiij aa = .
Представим ее в виде UUA T= , где
=
nn
n
n
u
uuuuu
U
...00............
...0
...
222
11211
,
=
nnnn
T
uuu
uuu
U
...............0...0...0
21
2212
11
.
Составим систему 2
)1( +nn уравнений относительно такого же
количества неизвестных (элементов матрицы U ):
......................................
,...,,,...,,,
222
21
222211222222
212
111112111211211
nnnnnn
nnn
nn
auuu
auuuuauuauuauuau
=+++
=+=+===
117
Из первой строки уравнений находим сначала 1111 au = , затем
11
11 u
au j
j = при nj ,...,2= . Из второй – 2122222 uau −= , затем
22
11222 u
uuau jj
j
−=
при nj ,...,3= и т.д. Завершается процесс вычислением ∑−
=
−=1
1
2n
kknnnnn uau .
Таким образом, матрица U может быть определена совокупностью формул
∑−
=
−=1
1
2i
kkiiiii uau при ni ,...,2,1= ;
ii
i
kkjkiij
ij u
uuau
∑−
=
−=
1
1 при ni ,...,2= , ij > ( 0=iju при ij < ).
(3.24)
Осуществимости вещественного UU T – разложения вещественной
симметрической матрицы A могут помешать два обстоятельства: обращение в нуль элемента iiu при каком-либо ni ,...,2,1∈ и отрицательность подкоренного выражения. Известно, что для важного в приложениях класса симметричных положительно определенных матриц разложение по формулам (3.24) выполнимо.
При наличии UU T - разложения решение системы с симметрической матрицей bxA
rr = сводится к последовательному решению двух систем с треугольными матрицами byU T
rr = и yxU rr = . Первая из них имеет вид
=+++
=+
=
,...............................................
,
,
2211
2222112
1111
nnnnnn byuyuyu
byuyu
byu
откуда получаем вспомогательные неизвестные nyyy ,...,, 21 по формулам
,11
11 u
by = ii
i
kkkii
i u
yuby
∑−
=
−=
1
1 ( ( )1>i ). (3.25)
118
Из второй системы
=
=+
=+++
nnnn
nn
nn
yxu
yxuxuyxuxuxu
.........................................
,
,...
22222
11212111
находим искомые значения ix в обратном порядке, т.е. при 1,...,1, −= nni , по формулам
,nn
nn u
yx = ii
n
ikkiki
i u
xuyx
∑+=
−= 1 ( )ni < . (3.26)
Решение симметричных СЛАУ по формулам (3.24)-(3.26) называют
методом квадратных корней или схемой Холецкого. В случае систем с положительно определенными матрицами можно ожидать хороших результатов применения такого метода (особенно если в процессе решения делать проверку на немалость iiu , чтобы избежать большого роста погрешностей). В противном случае нет, например, гарантий, что в процессе разложения не появятся чисто мнимые числа, что, кстати, может не отразиться на результатах, если в алгоритме реализации метода квадратных корней предусмотреть возможность появления мнимых чисел.
3.7. Метод вращений Как и в методе Гаусса, цель прямого хода преобразований в этом
методе – приведение системы к треугольному виду последовательным обнулением поддиагональных элементов сначала первого столбца, затем второго и т.д. Делается это следующим образом.
Пусть 12c и 12s – некоторые отличные от нуля числа. Умножим первое уравнение системы
=+++
=+++=+++
nnnnnn
nn
nn
bxaxaxa
bxaxaxabxaxaxa
.................................................
,...,...
2211
22222121
11212111
(3.27)
119
на 12c , второе – на 12s и сложим их. Полученным уравнением заменяем первое уравнение системы. Затем первое уравнение исходной системы умножаем на 12s− , второе – на 12c и результатом их сложения заменяем второе уравнение. Таким образом, первые два уравнения системы (3.27) заменяются уравнениями
,)(...)()( 212112212112222121212121121112 bsbcxasacxasacxasac nnn +=++++++ .)(...)()( 212112212112222121212121121112 bcbsxacasxacasxacas nnn +−=+−+++−++−
На введенные два параметра 12c и 12s наложим два условия:
021121112 =+− acas – условие обнуления (т.е. исключения 1x из второго уравнения);
1212
212 =+ sc – условие нормировки. Легко проверить, что за 12c и 12s , удовлетворяющие этим условиям,
можно принять, соответственно,
,221
211
1112 aa
ac+
= .221
211
2112 aa
as+
= (3.28)
Эти числа можно интерпретировать как синус и косинус некоторого
угла 1α (отсюда название «Метод вращений», так как один промежуточный шаг прямого хода такого метода может рассматриваться как преобразование вращения на угол 1α расширенной матрицы системы в плоскости, определяемой индексами обнуляемого элемента).
После проведенных преобразований система (3.27) принимает вид
=+++
=+++=++=+++
,..............................
,...,...,...
2211
33232131
)1(2
)1(22
)1(22
)1(1
)1(12
)1(121
)1(11
nnnnnn
nn
nn
nn
bxaxaxa
bxaxaxabxaxabxaxaxa
(3.29)
где
jjj asaca 212112)1(
1 += , nj ,...,1= , 212112)1(
1 bsbcb += ,
jjj acasa 212112)1(
2 +−= , nj ,...,3,2= , .212112)1(
2 bcbsb +−=
120
Далее первое уравнение системы (3.29) заменяем новым, полученным сложением результатов умножения первого и третьего уравнений (3.29),
соответственно, на 231
2)1(11
)1(11
13 )( aaac
+= и
231
2)1(11
3113 )( aa
as+
= , а третье заменяем
уравнением, полученным сложением результатов умножения тех же уравнений, соответственно, на 13s− и 13c . Получаем систему
=+++
=+++=++=++=+++
,..............................
,...,...,...,...
2211
44242141
)1(3
)1(32
)1(32
)1(2
)1(22
)1(22
)2(1
)2(12
)2(121
)2(11
nnnnnn
nn
nn
nn
nn
bxaxaxa
bxaxaxabxaxabxaxabxaxaxa
где
jjj asaca 313)1(
113)2(
1 += , nj ,...,1= , 313)1(
113)2(
1 bsbcb += ,
jjj acasa 313)1(
113)1(
3 +−= , nj ,...,3,2= , .313)1(
113)1(
3 bcbsb +−= Проделав такие преобразования )1( −n раз, приходим к системе
=++
=++=+++ −−−−
)1()1(2
)1(2
)1(2
)1(22
)1(22
)1(1
)1(12
)1(121
)1(11
........................
,...,...
nnnnn
nn
nn
nn
nn
bxaxa
bxaxabxaxaxa
(3.30)
такого же вида, какой приняла бы система (3.27) после первого этапа преобразований прямого хода метода Гаусса:
=+++
=+++=+++=++++
.~~...~~...........................
,~~...~~,~~...~~,...
)1()1()1(32
)1(2
)1(3
)1(3
)1(332
)1(32
)1(2
)1(2
)1(232
)1(22
113132121
nnnnnn
nn
nn
nn
bxaaxa
bxaaxabxaaxayxcxcxcx
(3.31)
121
Однако в отличие от (3.31) система (3.30) обладает замечательным свойством: длина любого вектора-столбца расширенной матрицы системы (3.30) остается такой же, как у соответствующего столбца исходной системы. Чтобы убедиться в этом, достаточно посмотреть на результаты следующих преобразований, учитывающих условия нормировки:
.)()(
22)()(22
21
22
212
212
21
212
212
22
212211212
21
212
22
212211212
21
212
2)1(2
2)1(1
jjjj
jjjjjjjjjj
aaascasc
acaascasasaascacaa
+=+++=
=+−+++=+
Это равенство показывает, что сохраняется величина суммы квадратов,
изменяемых на данном промежуточном шаге преобразований, пары элементов любого столбца. Так как остальные элементы столбцов при этом остаются неизменными, то, значит, на любом этапе преобразований длина столбца будет одной и той же, т.е. не будет роста элементов матрицы и, тем самым, не будет нарастать вычислительная погрешность, несмотря на то, что коэффициенты пересчитываются )1( −n раз.
Дальше точно так же за )2( −n промежуточных шага преобразуем подсистему
=++
=++
,........................
,...
)1()1(2
)1(2
)1(2
)1(22
)1(22
nnnnn
nn
bxaxa
bxaxa
системы (3.30), создавая нули под элементом )1(
22a и т.д. В результате )1( −n таких этапов прямого хода исходная система (3.27)
будет приведена к треугольному виду
=
=++=+++
−−
−−−
−−−−
.............
,...,...
)1()1(
)1(2
)1(22
)1(22
)1(1
)1(12
)1(121
)1(11
nnn
nnn
nn
nn
n
nn
nn
nn
bxa
bxaxabxaxaxa
Нахождение отсюда неизвестных 11 ,...,, xxx nn − не отличается от
рассмотренного ранее обратного хода метода Гаусса. Метод вращений применим к любой системе bxA
rr = с невырожденной матрицей A и обладает хорошей вычислительной устойчивостью.
Метод вращений требует в четыре раза больше операций умножения, чем схема единственного деления.
122
Замечание. Для больших n схема единственного деления требует
3
3nO умножений и делений, метод квадратных корней −
6
3nO , метод
вращений −
3
34 nO , метод прогонки (он будет рассмотрен ниже) − )5( nO .
123
Лекция 4. Векторные и матричные нормы. Согласованность норм. Обусловленность СЛАУ. Число обусловленности матрицы. Вычисление определителей. Обращение матриц.
4.1. Векторные и матричные нормы. Согласованность норм. Пусть Н – линейное пространство n -мерных векторов. Напомним, что в Н задана норма, если каждому вектору xr из Н
сопоставлено вещественное число xr , удовлетворяющее аксиомам:
1. 0x ≥r и 0x =
r тогда и только тогда, когда 0x =rr .
2. x xα α= ⋅r r для любого числа α и любого x H∈
r . 3. x y x y+ ≤ +
r r r r . Аналогично определяется норма матриц. Напомним, что норма вектора
может быть вычислена, в частности, по одной из следующих формул:
,1
1 ∑=
=n
iixxr ,
1
2
2 ∑=
=n
iixxr ,max
1 niixx
≤≤∞
=r
а норма матрицы по формулам:
,max111 ∑
=≤≤=
n
iijnj
aA ,|)(|max12
AAA Tjnj
⋅=≤≤
λ .max11
∑=≤≤∞
=n
jijni
aA
Определение 1. Данная норма матриц называется согласованной с
данной нормой векторов, если для любой матрицы A и для любого вектора xr справедливо неравенство
Ax A x≤ ⋅
r r .
Нетрудно проверить, что приведенные нормы согласованы. В дальнейшем, не оговаривая особо, будем считать, что нормы матриц и векторов согласованы.
Определение 2. Вектор в вx x x∆ = −r r r называется вектором
погрешности. Здесь через xr обозначили точное решение системы Ax b=rr , а
через вxr – результат вычислений (говорят « x вычисленное»). Определение 3. Вектор вr Ax b= −
rr r называется вектором невязки. Вектор невязки вычисляют для проверки правильности решения.
Близость нормы вектора невязки к нулю, очевидно, необходима для того, чтобы система линейных уравнений была решена верно. С другой стороны близость нормы вектора невязки к нулю не гарантирует правильность решения.
124
Итак, малость вектора невязки необходима для того, чтобы вычисленные значения неизвестных были близки к точным, но не достаточна. Докажем последнее утверждение. Действительно, так как
ввв xAxxAbxAr rrrrrr ∆=−=−= )( , то
rAxв
rr 1−=∆ и rAxвrr
⋅≤∆ −1 . Из последнего неравенства вытекает, что из малости rr не обязательно
следует малость вxr∆ , т.е. близость вычисленного решения к точному решению системы bxA
rr = . Видно, что вx∆
r может быть большой, если велика норма обратной матрицы 1A− . Последнее наблюдается у так называемых плохо обусловленных матриц.
4.2. Обусловленность систем линейных уравнений
Под обусловленностью вычислительной задачи понимают чувствительность ее решения к малым погрешностям входных данных.
Задачу называют хорошо обусловленной, если малым погрешностям входных данных отвечают малые погрешности решения, и плохо обусловленной, если возможны большие изменения решения.
Часто оказывается возможным ввести количественную меру степени обусловленности вычислительной задачи – число обусловленности. Эту величину можно интерпретировать как коэффициент возможного возрастания погрешностей в решении по отношению к вызвавшим их погрешностям входных данных.
Пусть между погрешностями входных данных x~ и решениями y~ установлены неравенства )~()~( xvy ∆≤∆ ∆ , )~()~( xvy δδ δ≤ .
Величины ∆v и δv называют, соответственно, абсолютным и относительным числом обусловленности. Чаще всего под числом обусловленности v задачи понимают относительное число обусловленности.
Соотношение 1>>v свидетельствует о реальной возможности существенного роста ошибок. Грубо говоря, если Nv 10≈δ , то порядок N
125
показывает число верных цифр, которое может быть утеряно в результате, по сравнению с числом верных цифр входных данных.
Каково же значение v , при котором следует признать задачу плохо обусловленной? Ответ на этот вопрос существенно зависит, с одной стороны, от предъявляемых требований к точности решения, с другой − от уровня обеспеченности точности исходных данных. Например, если требуется найти решение с точностью 0.1%, а входная информация задается с точностью 0,02%, то уже значение 10=v сигнализирует о плохой обусловленности. Однако (при тех же требованиях к точности результата), гарантия того, что исходные данные задаются с точностью не ниже 0.0001%, означает, что и при 310=v задача хорошо обусловлена.
При решении систем линейных алгебраических уравнений, как и при решении других задач, возникает вопрос о влиянии погрешностей во входных данных: в элементах ija матрицы A и компонентах ib правой части
br
, – на результат. В реальных условиях вычисления на ЭВМ практически всегда
сопровождаются погрешностями, вызванными погрешностями перевода числовых исходных данных из десятичной системы счисления в двоичную, и погрешностями округления уже при записи информации в память ЭВМ.
Предположим, что в системе bxArr = возмущены (допущены ошибки
при измерениях, произведены округления при вычислениях) как правая часть, так и коэффициенты. Рассмотрим возмущённую систему bxA ~~~ = и обозначим AAA −=∆ ~ , xxx rr −=∆ ~ , bbb
rr−=∆ ~ . Если A имеет обратную
матрицу 1−A и выполнено условие 1
1−
<∆A
A , то матрица AAA ∆+=~ имеет
обратную и справедливы оценки относительной погрешности
∆+
∆−
≤∆
− b
bAA
AAAcondAcond
xx
r
r
rr
)/)((1)(
1,
)~()~( 1 AAAx δδ −≤ ,
)~()~( 1 bAAx δδ −≤ , где через cond(A) обозначили произведение 1−⋅ AA .
Определение 4. Число 1)( −⋅= AAAcond называют числом обусловленности матрицы, а вернее, стандартным числом обусловленности матрицы.
Очевидно, что число обусловленности зависит от выбора нормы.
126
Чем больше число обусловленности матрицы, тем больше может быть погрешность решения системы.
Определение 5. Систему линейных алгебраических уравнений (матрицу A ) называют плохо обусловленной, если число обусловленности велико, в противном случае – хорошо обусловленной.
Свойства )(Acond : 1. 1)( =Econd . 2. 1)( ≥Acond . 3. )()()( BcondAcondABcond ≤ . 4. Число обусловленности не меняется при умножении матрицы A на
ненулевое число.
5. Для симметрической матрицы A : |)(|min
|)(|max)(
1
1
A
AAcond
jnj
jnj
λ
λ
≤≤
≤≤= .
Не существует численного метода, с помощью которого можно было бы устранить чувствительность плохо обусловленной системы к возмущениям элементов матрицы и правой части.
Решение систем линейных уравнений с плохо обусловленными матрицами может оказаться некорректной задачей.
В случае систем второго порядка понятие обусловленности матрицы допускает наглядную геометрическую интерпретацию. В этом случае каждое из уравнений графически изображается прямой линией, и если система плохо обусловлена, то прямые почти параллельны. При этом небольшое изменение угла наклона или сдвиг одной из прямых очень изменяет положение точки пересечения прямых, т.е. значительно меняет решение соответствующей линейной системы (рис. 1).
Рис.1
Реальное вычисление числа обусловленности требует нахождения 1−A и
ее нормы. Это влечет за собой около 23 2nn + дополнительных операций и приблизительно в четыре раза увеличивает затраты на решение системы линейных уравнений bxA
rr = .
127
Поэтому можно грубо оценить 1−A . Заметим, что если yAz rr 1−= , то
yAz rr ⋅≤ −1 . Следовательно, yz
A rr
≥−1 . Можно выбрать k векторов iyr ,
ki ,...,1= , решить системы ii yzA rr = и положить i
i
i yz
A rr
max1 ≈− .
Если k мало, то это вычисление потребует около 3kn операций, что немного по сравнению с общими трудозатратами на решение bxA
rr = . Эвристически установлено, что если yr выбирать случайным образом,
то ожидаемой оценкой yzrr
будет 1
21 −A . Представляется надежным
использовать небольшие значения k . Традиционным примером очень плохо обусловленной матрицы
является матрица Гильберта A с элементами 1
1−+
=ji
aij . Из табл. 1 видно,
что для матрицы A даже сравнительно невысокого порядка число обусловленности оказывается чрезвычайно большим.
Таблица 4.1
Порядок матрицы Гильберта
2 3 4 5 6 7 8 9 10
Приближенное значение
)(Acond 1102 ⋅
2105 ⋅ 4102 ⋅
5105 ⋅ 7102 ⋅
8105 ⋅ 10102 ⋅
11105 ⋅ 13102 ⋅
Применив, например, метод Гаусса к системе с плохо обусловленной
матрицей, мы можем получить решение с большой погрешностью, но при этом вектор невязки (показатель вычислительной погрешности) будет достаточно малым.
Различают плохо обусловленные задачи и плохо обусловленные вычисления. Плохо обусловленные задачи – это задачи, в которых малые погрешности во входных данных (в том числе и во время промежуточных вычислений) вызывают большие погрешности решения. Плохо обусловленные вычисления – результат применения численно неустойчивых методов.
Чтобы лучше разобраться в этих понятиях приведем четыре рисунка
128
Рис.2 Рис. 3.
Рис. 4.
Рис. 5.
Обозначения: d - точные входные данные, d% - входные данные с
малой погрешностью, т.е. 1d d ε− ≤% = , x - точное решение с точными
входными данными, вx - вычисленное решение с точными входными данными, x% - точное решение, отвечающее входным данным d% , вx% - вычисленное решение с входными данными d% . На рисунках: слева – области входных данных, а справа – области решений.
Рисунок 2 соответствует случаю, когда и задача и численный метод хорошо обусловлены. В этом случае все четыре результата лежат близко друг к другу.
Рисунок 3 соответствует случаю, когда задача хорошо обусловлена, а вычисления плохо обусловлены. Здесь вычисленные вx и вx% далеко «убежали» от точных x и x% .
Рисунок 4 соответствует случаю, когда плохо обусловлена задача, а численный метод «хороший». Из-за малых погрешностей во входных данных точные решения x и x% далеко «убежали» друг от друга.
На рисунке 5 представлен случай, когда и задача и вычисления плохо обусловлены. Здесь уже все четыре переменных x , x% , вx и вx% далеко «разбежались» друг от друга.
Замечание. Иногда причиной появления плохо обусловленных задач становится отсутствие у пользователей ЭВМ элементарного представления об их существовании. В последнее время, к сожалению, получила развитие опасная тенденция пренебрежительного отношения к математическим знаниям вообще и к знанию вычислительной математики в частности.
4.3. Вычисление определителей
Пусть дана матрица
129
=
nnnn
n
n
aaa
aaaaaa
A
...............
...
...
21
22221
11211
и требуется вычислить ее определитель. Для вычисления определителей матриц можно применять алгоритмы точных методов решения систем линейных алгебраических уравнений bxA
rr = . Например, выполняемые преобразования прямого хода в методе исключения Гаусса, приводящие матрицу А системы к треугольному виду, таковы, что они не изменяют определителя матрицы А. Учитывая, что определитель треугольной матрицы равен произведению диагональных элементов, имеем
)1()1(2211
)1()1(2
)1(2
)1(22
11
)1()1(2
)1(2
)1(22
11211
21
22221
11211
......
............
...0............
...0
...
...............
...
...
det −⋅⋅==== nnn
nnn
n
nnn
n
n
nnnn
n
n
aaaaa
aaa
aa
aaaaa
aaa
aaaaaa
A .
Таким образом, определитель матрицы равен произведению всех
ведущих элементов при ее преобразовании методом Гаусса. Если известно LU – разложение матрицы: LUA = , где L – нижняя, а
U – верхняя треугольные матрицы, то, очевидно, ∏=
=⋅=n
iiiiiulULA
1detdetdet .
4.4. Обращение матриц
Определение 6. Обратной к матрице A называется такая матрица 1−A , для которой EAAAA =⋅=⋅ −− 11 , где E – единичная матрица:
=
1...00............0...100...01
E .
130
Определение 7. Квадратная матрица A называется неособенной или невырожденной, если ее определитель Adet отличен от нуля.
Всякая неособенная матрица имеет обратную матрицу. Пусть дана неособенная матрица
=
nnnn
n
n
aaa
aaaaaa
A
...............
...
...
21
22221
11211
.
Требуется найти 1−A . Обозначим элементы обратной матрицы
)(1ijxA =− , nji ,...,1, = . По определению EAA =−1 . Перепишем данное
равенство в следующем виде:
=
⋅
1...00............0...100...01
...............
...
...
...............
...
...
21
22221
11211
21
22221
11211
nnnn
n
n
nnnn
n
n
xxx
xxxxxx
aaa
aaaaaa
(4.1)
Обозначим столбцы обратной матрицы 1−A как векторы jxr , а столбцы
единичной матрицы E через jer . Из равенства (4.1) получаем
jj exA rr= , nj ,...,1= . (4.2)
Следовательно, чтобы найти элементы обратной матрицы нужно, найти
решения n систем линейных алгебраических уравнений (4.2). Так как эти системы имеют одну и ту же матрицу коэффициентов A , то их можно решать одновременно (делая соответствующие преобразования сразу над n правыми частями).
4.5. Применение метода итераций для уточнения элементов обратной матрицы
Пусть для неособенной матрицы A найдены приближенные значения элементов обратной матрицы 1−A . Обозначим матрицу с такими элементами
131
через 10
−≈ AD . Считаем, что полученная точность приближения элементов матрицы 1−A нас не удовлетворяет. Для уточнения элементов обратной матрицы строим следующий итерационный процесс:
11 −− −= kk ADEF , ,...2,1=k , (4.3)
)( 11 −− += kkk FEDD , ,...2,1=k . (4.4) Доказано, что итерации сходятся, если начальная матрица 0D
достаточно близка к искомой матрице 1−A . Матрица 1−kF на каждом шаге характеризует в некотором смысле
степень близости матрицы 1−kD к матрице 1−A . Обычно итерации продолжают до тех пор, пока элементы матрицы kF
по модулю не станут меньше заданного числа ε , и тогда приближенно полагают kDA ≈−1 .
Указанный итерационный процесс оказывается весьма полезным, так как точные методы вычисления обратной матрицы часто приводят к заметным погрешностям, вызванным неизбежными ошибками округления и большим количеством арифметических операций при расчете.
132
Лекция 5. Ортогональные преобразования. Матрицы вращения и отражения. QR- и HR-разложения матриц. Метод ортогонализации. Метод отражений.
5.1. Ортогональные преобразования. Матрицы вращения и
отражения. QR- и HR-разложения матриц. Большинство методов исключения решения системы линейных
алгебраических уравнений bxArr = неособыми преобразованиями приводят
исходную матрицу к верхней треугольной матрице. Решение задачи (3.1) сводится к решению некоторой эквивалентной задачи
βrr
=xU (5.1)
с верхней треугольной матрицей U . Решение последней задачи не представляет затруднений.
Переход от задачи (3.1) к задаче (5.1) осуществляется путем умножения матрицы A слева на последовательность некоторых матриц nBB ,...,1 , т.е. на матрицу 11 ... BBBB nn ⋅⋅⋅= − . Итак
BAU = .
По свойствам числа обусловленности матрицы
)()()()( AcondBcondBAcondUcond ⋅≤= ,
т.е. число обусловленности произведения матриц, не меньше чисел обусловленности сомножителей. Тем самым при преобразованиях, осуществляемых умножением на последовательность матриц, обусловленность системы линейных алгебраических уравнений ухудшается, что может привести к существенному росту погрешности решения.
Такого нежелательного явления можно избежать, если осуществлять приведение матрицы A к верхнему треугольному виду с помощью ортогональных преобразований.
Определение 1. Матрица Q с вещественными коэффициентами ijq называется ортогональной, если
EQQT = , 1−= QQT . (5.2)
Отметим следующие свойства ортогональных матриц
133
22xxQ rr
= , 22
AQA = . (5.3) Действительно
21
2
2),(),(),( xxxxxQQxxQxQxQ
n
ii
T rrrrrrrr ===== ∑=
и
21112)(max)(max))((max AAAQAQAQAQAQA T
jnj
TTjnj
Tjnj
====≤≤≤≤≤≤
λλλ .
Отсюда
)()()(2
122
12
AcondAAQAQAQAcond =⋅== −− . (5.4) Итак, если задача (3.1) сведена к задаче (5.1) с помощью
ортогонального преобразования, то
)()( AcondUcond = ,
т.е. обусловленность исходной задачи не изменилась. Рассмотрим матрицы вращения ),( lkQ , kl > . Ненулевые элементы ijq
матрицы ),( lkQ определены следующим образом
====−
====≠≠=
=
.,,sin,,,sin
,,cos,,,1
kjliеслиljkiесли
ljiилиkjiеслиlikiиjiесли
qij
ϕϕ
ϕ
Все остальные элементы матрицы ),( lkQ равны нулю. Нетрудно
проверить, что это ортогональные матрицы. Умножим слева (3.1) на )2,1(Q :
bQxAQrr )2,1()2,1( = .
134
Обозначим )2,1()2,1( AAQ = и элементы матрицы )2,1(A через ija )2,1( . Матрица )2,1(A отличается от матрицы A только первыми двумя строками. Пусть
jjj aaa 2121121 sincos)2,1( ϕϕ −= ,
jjj aaa 2121122 cossin)2,1( ϕϕ += ,
ijj aa =2)2,1( при 2>i .
Пусть хотя бы один из коэффициентов 11a , 21a отличен от нуля. Положив
221
211
2112sin
aaa
+−=ϕ ,
221
211
1112cos
aaa
+=ϕ ,
получаем
0)2,1( 21 =a , 221
21111)2,1( aaa += .
На этом шаге мы занулили коэффициент при 1x во втором уравнении
системы bxArr
= . Теперь умножаем слева преобразованную систему на )3,1(Q , получаем
bQQxAQQrr )2,1()3,1()2,1()3,1( = .
Полагая
231
211
3113 )2,1()2,1(
)2,1(sinaa
a+
−=ϕ , 231
211
1113 )2,1()2,1(
)2,1(cosaa
a+
=ϕ ,
получаем
0)3,1( 31 =a , 0)2,1()2,1()3,1( 2
3121111 >+= aaa ,
т.е мы занулили коэффициент при 1x в третьем уравнении. Продолжая таким образом, мы в итоге придем к системе с верхней треугольной матрицей.
Сравнивания проведенные преобразования с рассмотренным ранее методом вращений, видим, что мы сейчас просто по иному изложили этот метод. Итак, в методе вращений исходную матрицу приводят к верхней
135
треугольной последовательным домножением на ортогональные матрицы вращений, не ухудшая обусловленность системы. Итог таких преобразований можно сформулировать в виде теоремы.
Теорема 1. Пусть 0det ≠A . Тогда существует ортогональная матрица Q такая, что
UQA = (5.5)
При этом все диагональные элементы верхней треугольной матрицы
U , за исключением, возможно, nnu , положительны. Из (5.5) получаем, что UQA 1−= . Так как матрица Q – ортогональна, то
предыдущую теорему можно переформулировать так. Теорема 2. Пусть 0det ≠A . Матрица A разлагается в произведение
QRA = , (5.6)
где Q - ортогональная, а R – верхняя треугольная матрица. Пусть матрица A системы (3.1) – ортогональная, тогда
bAx Trr
= . (5.7) Отсюда понятна идея методов ортогонализации: нужно построить
такое преобразование, которое ортогонализирует строки исходной матрицы. Пусть iar – строки матрицы A . Если 0det ≠A , то система векторов iar является линейно независимой и, следовательно, образует базис в nR . Следовательно отыскание нужного преобразования сводится к задаче об ортогонализации базиса. Искомый ортогональный базис можно строить с помощью алгоритма Грамма-Шмидта. Изложим метод ортогонализации решения СЛАУ.
5.2. Метод ортогонализации Систему уравнений bxA
rr= запишем в виде
0),( 1 =ya rr , 0),( 2 =ya rr ,…, 0),( =yan
rr , (5.8) где
),,...,,( 1,21 += nkknkkk aaaaar , nk ,...,1= ; )(
1,k
nk ba −=+ , )1,,...,,( )()2()1( nxxxy =r .
136
Из (5.8) видно, что для того, чтобы найти решение исходной системы, нужно найти вектор yr , который ортогонален линейно независимым векторам
naa rr ,...,1 и имеет последнюю координату, равную 1. Ортогональность векторов yr и naa rr ,...,1 влечет за собой
ортогональность вектора yr ко всему подпространству nP , натянутому на вектора naa rr ,...,1 , и, следовательно, всякому базису этого подпространства. Верно и обратное. Поэтому для нахождения решения исходной системы достаточно построить какой-либо ортогональный базис подпространства nP и найти вектор zr , ортогональный этому базису.
Если )1( +nz – последняя координата вектора zr , то вектор )1(/ += nzzy rr с отброшенной последней координатой и есть решение исходной системы, т.е.
)1()()( / += nii zzx , ni ,...,1= . Итак, алгоритм построения решения следующий. К системе линейно независимых векторов naa rr ,...,1 добавляем еще один
линейно независимый вектор 1+nar :
)1,0,...0(1n
na =+
r .
Строим систему ортонормированных векторов 11,..., +nbbrr
таких, что для любого k ( 11 +≤≤ nk ) последовательность векторов kbbb
rrr,...,, 21 является
ортонормированным базисом подпространства kP , натянутого на kaa rr ,...,1 . В этом случае вектор 1+nb
r ортогонален к подпространству nP , натянутому на
вектора naa rr ,...,1 , и искомое решение будет иметь вид
)1(1
)(1
)( / +++= n
ni
ni bbx , ni ,...,1= , (5.9)
где )(
1k
nb + ( 1,...,2,1 += nk ) – компоненты вектора 1+nbr
. Сначала строим ортогональный базис iur , а через него
ортонормированный базис ibr
, по следующим формулам:
11 au rr= ,
1
11 u
ub rrr
= , ),( 11
2
1 uuu rrr= ,
∑=
+++ −=k
iiikkk bbaau
1111 ),(
rrrrr , 1
11
+
++ =
k
kk u
ub rrr
, ( )nk ,...,1= . (5.10)
Построив вектор 1+nb
r, решение вычисляем по формулам (5.9).
137
Отметим, что этот метод требует, как и все точные методы, )( 3nO операций. Метод простой, однако неустойчивый, если в матрице A строки близки к линейно зависимым.
5.3. Метод отражений Данный метод основан на переходе от заданной системы bxA
rr= к
новой системе bUxUArr
= такой, что система dRx = , где UAR = и Ubd = , решается проще, чем исходная. При выборе матрицы U нужно учитывать, по крайней мере, следующие два фактора. Во-первых, ее вычисление не должно быть чересчур сложным и трудоемким. Во-вторых, умножение на матрицу U не должно «портить» матрицу A (мера обусловленности матрицы A не должна значительно увеличиваться).
Такое приведение матрицы A к верхней треугольной матрице R можно осуществить с помощью последовательных ортогональных преобразований отражения.
В основе преобразования матрицы A к виду R (определяемому условием 0=ijr при ij < ) лежит преобразование Хаусхолдера, или, преобразование отражения,
TEU ωω
rr2−= , (5.11)
где ωr – некоторый вектор-столбец единичной длины, 1),( =ωω
rr . Под Tωω
rr здесь понимается матрица, являющаяся произведением вектора-столбца ωr на вектор-строку Tω
r , т.е. )( ijT ωωω =
rr , где jiij ωωω = . Из определения следует, что Tωω
rr – симметричная матрица. Воспользовавшись тем, что
1),( == ωωωωrrrr T , (5.12)
убедимся, что TUU = :
EEEEUU TTTTTTTT =+−−=−−= ωωωωωωωωωωωωrrrrrrrrrrrr 422)2)(2( .
Таким образом, матрица U – ортогональная и симметричная. Значит,
матрицы A и B , связанные соотношением UAUB = ( )1−== UAUUAU T , являются подобными, этот факт используется для решения задач на собственные значения.
Теперь нетрудно догадаться, как нужно распорядиться свободой задания элементов векторов ω
r при построении матриц отражения, чтобы за
138
конечное число шагов преобразований Хаусхолдера произвольно заданную матрицу A привести к верхней треугольной матрице R .
А именно, можно показать, что начатым с AR =1 процессом
mmm RUR =+1 , 1,2,...,2,1 −−= nnm , (5.13)
где Tmmm EU ωω
rr2−= , данная nn× матрица A за 1−n шаг будет приведена к треугольной матрице R , если задающие матрицы Хаусхолдера mU векторы
mωr по данной матрице A строить следующим образом.
При 1=m вектор 1ωr определяется равенством
),...,,( 12111111 n
T aasa −= µωr , (5.14)
где
∑=
⋅−=n
iiaasigns
1
21111 )( ,
)(21
1111
1 ass −=µ . (5.15)
Такое задание 1ω
r обеспечивает ортогональность симметричной матрицы TEU 111 2 ωω
rr−= и одновременное получение с ее помощью нужных
1−n нулей в первом столбце матрицы 112 RUR = ( )AU1= . Элементы матрицы
2R обозначим через )2(ijr . Далее при 2=m строим вектор 2ω
r следующим образом:
),...,,,0( )2(
2)2(
322)2(
2222 nT rrsr −= µω
r , (5.16) где
∑=
⋅−=n
iirrsigns
2
2)2(2
)2(222 )()( ,
)(21
)2(2222
2 rss −=µ . (5.17)
Такое задание T
2ωr обеспечивает ортогональность симметричной
матрицы TEU 222 2 ωωrr
−= и одновременное получение с ее помощью нужных 2−n нулей во втором столбце матрицы 223 RUR = . Вектор 3ω
r по матрице 3R строится совершенно аналогично, только фиксируется нулевым не одна, а две первые его координаты, и определяющую роль играет теперь не второй, а третий столбец матрицы 3R и
139
его третий элемент. При этом у матрицы 334 RUR = окажется 3−n нулевых элемента в третьем столбце и сохранятся полученные на предыдущем шаге нули в первом и втором столбцах.
Этот процесс очевидным образом может быть продолжен до исчерпания и без особого труда может быть описан общими формулами типа (5.13) – (5.17), для чего нужно лишь ввести обозначения для элементов последовательности матриц mR .
Матрицу отражений часто обозначают буквой Н. Результат проделанных преобразований можно сформулировать в виде теоремы.
Теорема 3. Пусть 0det ≠A . Тогда существует ортогональная матрица отражений Н такая, что
HRA = . (5.18)
При этом все диагональные элементы верхней треугольной матрицы
R за исключением, возможно, nnr , положительны. Сведение матрицы A приведенными преобразованиями к
треугольному виду составляет основу метода отражений решения алгебраических систем. Из равносильности равенств bxA
rr= ,
bUxUArr = , bUxR
rr= легко понять, что для решения СЛАУ этим методом
нужно над вектором свободных членов b выполнять те же преобразования, что и над матрицей коэффициентов A , после чего нужно будет сделать только обратный ход, как в методе Гаусса.
Метод отражений решения СЛАУ в полтора раза экономичнее метода вращений и практически не уступает последнему по устойчивости. Среди методов, требующих для своей реализации число операций 3/2~ 3nN , этот метод в настоящее время рассматривается как один из наиболее устойчивых к вычислительной погрешности.
140
Лекция 6. Метод прогонки решений СЛАУ с трехдиагональной матрицей. Устойчивость. Корректность. Варианты метода прогонки. Возможность распараллеливания расчетов.
6.1. Метод прогонки решения систем линейных алгебраических
уравнений с трехдиагональной матрицей Метод прогонки был предложен в начале 50-х годов прошлого века
независимо несколькими авторами, в том числе российскими учеными И. М. Гельфандом, О. В. Локуциевским, В. С. Владимировым, А. С. Кронродом.
Определение 1. Матрица называется ленточной, если ее элементы ija удовлетворяют условиям 0=ija при jil −< и mij >− для некоторых неотрицательных чисел l , m .
Если 0=m , то матрица называется левой ленточной матрицей. Если 0=l , то матрица называется правой ленточной матрицей. Величина
1++ ml называется шириной ленточной матрицы. Если 1== ml , то матрица называется трехдиагональной.
Рассмотрим систему линейных алгебраических уравнений bxArr
= с трехдиагональной матрицей A . Вводя новые обозначения систему перепишем в виде
1110 ν+= yky , (6.1)
iiiiiii FyByCyA −=+− +− 11 , 1,...,2,1 −= Ni , (6.2)
212 ν+= −NN yky , (6.3)
где 2121 ,,,,,,, ννkkFBCA iiii – заданные числа, iy – неизвестные, Ni ,...,1,0= .
Метод прогонки заключается в следующем. Предполагается, что справедливы рекуррентные соотношения
111 +++ += iiii yy βα , 1,...,2,1,0 −= Ni , (6.4)
где коэффициенты 11, ++ ii βα , которые называют прогоночными коэффициентами, пока не определены.
141
Для определения iα , iβ поступаем следующим образом: выражение
iiii yy βα +=−1 подставляем в (6.2), получаем:
iiiiiiiii FyBAyCA −=++− +1)( βα . Заменяя здесь iy согласно (6.4), имеем
iiiiiiiiiiiii FCAAyBCA −=−+++− +++ 111 )(])[( βαβαα . (6.5)
Потребуем, чтобы равенство (6.5) выполнялось при любом 1+iy . Это
будет иметь место, если
0)( 1 =+− + iiiii BCA αα , 0)( 1 =+−+ + FCAA iiiiii βαβ . (6.6)
Из (6.6) получаем рекуррентные соотношения для вычисления iα и iβ :
iii
ii AC
Bα
α−
=+1 , 1,...,2,1 −= Ni , (6.7)
iii
iiii AC
FAα
ββ
−+
=+1 , 1,...,2,1 −= Ni . (6.8)
Чтобы организовать счет по формулам (6.7), (6.8), надо знать 1α и 1β .
Из (6.1) и (6.4) имеем: 1110 βα += yy , 1110 ν+= yky . Отсюда
11 k=α , 11 νβ = . (6.9)
Уравнения для вычисления прогоночных коэффициентов найдены.
Чтобы организовать счет для вычисления iy , надо знать Ny . Согласно (6.3) и (6.4) NNNN yy βα +=−1 , 212 ν+= −NN yky , отсюда
2
22
1 kky
N
NN α
βν−+
= . (6.10)
Выражения (6.4), (6.7)-(6.10) называют прогоночными формулами.
Коэффициенты iα и iβ вычисляют («гонят») слева направо, а iy − справа налево, поэтому изложенный метод называют методом правой прогонки.
142
Отметим, что при выводе всех формул мы предполагали, что соответствующие знаменатели отличны от нуля. Сейчас покажем, когда это условие выполнено. Предварительно введем определения.
Определение 2. Прогонка называется корректной, если знаменатели в прогоночных формулах не обращаются в нуль.
Определение 3. Прогонка устойчива, если 1≤iα , для всех Ni ,...,1,0= . Лемма. (достаточное условие корректности и устойчивости правой
прогонки). Правая прогонка устойчива и корректна, если:
0≠jA , 0≠jB , jjj BAC +≥ , 1,...,1 −= Nj , 11 ≤k , 12 <k .
Доказательство. Сначала по индукции докажем, что все 1≤iα .
Согласно (6.9) и условия леммы 111 ≤=+ kjα . Предположим, что для
некоторого номера j 1≤jα и докажем, что 11 ≤+jα . Предварительно рассмотрим выражение jjj AC α− .
Имеем
0>≥−≥−≥−≥− jjjjjjjjjjjj BACACACAC ααα .
Поэтому
11 ≤−
=+
jjj
jj AC
Bα
α .
Тем самым устойчивость доказана. Попутно мы доказали, что
знаменатели в формулах (6.7) и (6.8) отличны от нуля. Осталось доказать, что знаменатель в формуле (6.10) отличен от нуля. Действительно
01111 2222 >−≥−≥−≥− kkkk NNN ααα . Корректность доказана. Лемма доказана.
Ранее мы назвали устойчивым метод, в котором не нарастает вычислительная погрешность. Покажем, что данное здесь определение устойчивости прогонки не противоречит данному ранее определению устойчивого метода. Пусть 1≤iα для всех номеров i . Пусть из-за ошибок округлений реальные вычисления идут по формулам
111~~
+++ += iiii yy βα , )1(,...,1,0 −= Ni . (6.11)
143
Вычислительную погрешность мы внесли в приближенные значения
iy~ . Вычитая (6.11) из (6.4), получаем
11111111~~)~(~
++++++++ −≤−≤−==− iiiiiiiiii yyyyyyyy αα ,
т.е. 1~~
+∆≤∆ ii yy , а т.к. в правой прогонке предыдущие значения iy вычисляются через последующие 1+iy , то последнее неравенство и означает, что вычислительная погрешность не нарастает и прогонка устойчива, согласно данного ранее определения устойчивого метода.
Аналогично выводятся формулы левой прогонки:
111 +++ += iiii yy ζξ , 1,...,2,1,0 −= Ni , (6.12)
iii
ii BC
A1+−
=ξ
ξ , iii
iiii BC
FB1
1
+
+
−+
=ξ
ζζ , 1,...,2,1 −= Ni , (
6.13)
2kN =ξ , 2νζ =N , 11
1110 1 ξ
ζνkky
−+
= . (6.14)
В левой прогонке коэффициенты «гонят» назад, а неизвестные −
вперед. Замечание. Нетрудно показать, что прогонка для своей реализации
требует порядка )(NO операций, поэтому прогонка эффективна и экономична. Стоит отметить, что прогонка – это тот же метод исключения Гаусса, реализованный специальным образом в случае, когда матрица A – трехдиагональная.
Иногда оказывается удобным комбинировать правую и левую прогонки, получая так называемый метод встречных прогонок. Этот метод целесообразно применять, если надо найти только одно неизвестное, например my ( )0 Nm ≤≤ или группу идущих подряд неизвестных.
Получим формулы метода встречных прогонок. Пусть Nm ≤≤1 и по приведенным ранее формулам найдены mm βββααα ...,,,,,...,, 2121 и
mNNmNN ζζζξξξ ...,,,,...,,, 11 −− . Выпишем формулы (6.4) и (6.12) для обратного хода правой и левой прогонок для 1−= mi . Получаем систему
mmmm yy βα +=−1 , mmmm yy ζξ += −1 ,
из которой найдем my :
144
mm
mmmmy
αξβξζ
−+
=1
.
Используя найденное my , по формулам (6.4) для 0,...,2,1 −−= mmi
найдем последовательно 021 ...,,, yyy mm −− , а по формулам (6.12) – остальные
Nmm yyy ...,,, 21 ++ . Рассмотрим следующую систему
iiiiiii fybycya −=+− +− 11 , ...,2,1,0 ±±=i , (6.15)
коэффициенты и правая часть которой периодичны с периодом N :
Nii aa += , Nii bb += , Nii cc += , Nii ff += . (6.16)
К системам (6.15), (6.16) приходят при численном отыскании
периодических решений обыкновенных дифференциальных уравнений второго порядка, а также при приближенном решении уравнений в частных производных в цилиндрических и сферических координатах.
При выполнении условий (6.16) решение системы (6.15), если оно существует, тоже будет периодическим с периодом N , т.е.
Nii yy += . (6.17)
Поэтому достаточно найти решение iy , например, при 1...,,1,0 −= Ni .
В этом случае задачу (6.15) – (6.17) удобней записать так:
0100010 fybycya N −=+−− , 0=i , iiiiiii fybycya −=+− +− 11 , 11 −≤≤ Ni ,
0yyN = .
(6.18)
Для нахождения решения системы (6.18) построен вариант метода
прогонки, который называется методом циклической прогонки. Подробно останавливаться на расчетных формулах этого метода не будем, отсылая читателя к соответствующей литературе [19,22]. Отметим также, что разработаны метод немонотонной прогонки – аналог метода Гаусса с выбором главного элемента для систем с трехдиагональной матрицей, метод
145
прогонки для систем с пятидиагональной матрицей, метод матричной прогонки [19].
Рассмотрим частный случай исходной задачи (6.1) – (6.3)
11 fy = ,
iiiiiii fybycya =+− +− 11 , 12 −≤≤ Ni ,
NN fy = ,
(6.19)
здесь для удобства нумерацию неизвестных ведем с единицы и немного изменили обозначения правых частей уравнений.
Теорема 1. Пусть в (6.19)
0>ia , 0>ib , ε++> iii bac , 0>ε . (6.20)
Тогда
≤ iini fffy max1,,max 1 ε
(6.21)
Доказательство. Заметим, что если iy есть решение задачи (6.19), то
( iy− ) является решением задачи
11)( fy −=− ,
iiiiiii fybycya −=−+−−− +− )()()( 11 , 12 −≤≤ Ni , NN fy −=− )( .
(6.22)
Поэтому, если для решения задачи (6.19) установлена оценка
≤ iiNi fffy max1,,max 1 ε
, (6.23)
то для решения задачи (6.22) будет справедлива оценка
−−−≤− iiNi fffy max1,,max 1 ε
. (6.24)
Оценки (6.23) и (6.24) дают оценку (6.21). Следовательно, все сводится
к установлению справедливости (6.23). Пусть my – наибольшее из Nyy ,...,1 .
146
Если 0<my , то (6.23) очевидно. Столь же очевидно (6.23) и при 1=m , Nm = . Остается рассмотреть случай 0≥my и 1≠m , Nm ≠ . Но тогда
mmmmmmmmmmmm yycbaybycyaf ε−≤−+≤+−= +− )(11 , что и доказывает (6.23). Теорема доказана.
Отметим следующее. Если в (6.19) 0=if , Ni ,...,1= и выполнены условия диагонального преобладания (6.20), то в силу (6.21) 0=iy , Ni ,...,1= . С другой стороны, поскольку однородная ( 0=if ) задача (6.19), (6.20) имеет только нулевое решение, неоднородная ( 0≠if ) задача (6.19), (6.20) разрешима и решение ее единственно. Следовательно, определитель системы линейных алгебраических уравнений (6.19) при условиях (6.20) отличен от нуля.
Пусть if в задаче (6.19) заданы с некоторой погрешностью if∆ . Тем самым решение задачи (6.19) определяется с некоторой погрешностью iy∆ . Очевидно (в силу линейности), что
11 fy ∆=∆ ,
iiiiiii fybycya ∆=∆+∆−∆ +− 11 , 12 −≤≤ Ni ,
NN fy ∆=∆ .
(6.25)
Если выполнены условия (6.20), то из (6.25) вытекает, что
∆∆∆≤∆ iiNi fffy max1,,max 1 ε
. (6.26)
Следовательно, если для задачи (6.19) справедлива оценка (6.26), то
естественно говорить об устойчивости решения задачи (6.19) по правой части.
В заключение рассмотрим алгоритм решения задачи (6.1) – (6.3), основанный на принципе суперпозиции. Для упрощения изложения рассмотрим частный случай этой задачи, а именно задачу (6.19).
11 fy = ,
iiiiiiii fybycyaLy =+−= +− 11 , 12 −≤≤ Ni ,
NN fy = .
(6.27)
Теорема 2. Пусть задача (6.27) однозначно разрешима. Пусть iu , iv
и iw есть решения задач
147
0=iLu , 11 =u , 0=Nu ; 0=iLv , 01 =v , 1=Nv ; ii fLw = , 01 =w , 0=Nw ;
(6.28)
Тогда решение задачи (6.27) дается формулой
iiNii wvfufy ++= 1 (6.29)
Доказательство. Из (6.29) следует, что
iiiNii fLwLvfLufLy =++= 1 . Кроме того 11111 fwvfufy iN =++= , NNNNNN fwvfufy =++= 1 . Теорема доказана. В этой теореме применительно к задаче (6.27) сформулирован
известный принцип суперпозиции: общее решение линейной неоднородной ( 0≠if ) задачи есть сумма общего решения однородной ( 0=if ) задачи и частного решения неоднородной задачи.
Замечание. Для эффективного использования многопроцессорных вычислительных систем требуются алгоритмы, допускающие распараллеливание. Как отмечено в книге [12] в основу параллельных алгоритмов метода прогонки может быть положен принцип суперпозиции (6.28), (6.29). Действительно, каждая задача в (6.28) может решаться независимо от других задач, одновременно с ними, каждая – на своем процессоре. Точно так же и определение iy из (6.29) может производиться одновременно на нескольких процессорах для различных значений i .
148
Лекция 7. Итерационные методы. Стационарные. Нестационарные. Теоремы сходимости. Метод Якоби. Метод Гаусса-Зейделя. Каноническая форма итерационных методов. Сходимость.
7.1. Итерационные методы решения систем линейных
алгебраических уравнений Итерационные методы (методы последовательных приближений)
решения систем bxArr
= являются бесконечными методами и вычисляют только приближенные ответы. Их эффективно применяют для решения задач большой размерности, когда использование прямых методов невозможно из-за ограничений в доступной оперативной памяти ЭВМ или из-за необходимости выполнения чрезмерно большого числа арифметических операций. Большие системы уравнений, возникающие в приложениях, как правило, разряженные. Итерационные методы привлекательны для разряженных матриц, поскольку они требуют гораздо меньше оперативной памяти, чем прямые методы, и могут быть использованы, несмотря на то, что требуют больше времени на исполнение.
В то же время итерационные методы для плохо обусловленных задач нисколько не лучше, чем метод исключения Гаусса. Примененные к плохо обусловленным задачам они дают, как правило, такой же неверный результат, что и прямые методы.
По-прежнему рассматриваем систему линейных алгебраических уравнений:
bxArr
= . (7.1) Определение 1. Линейным одношаговым итерационным методом
называют метод вида
kkkk gxBx rrr +=+1 , (7.2)
где k – это номер итерации. Если матрица kB и вектор kgr зависят от номера итерации, то метод называется нестационарным, в противном случае – стационарным.
Чтобы связать метод (7.2) с системой (7.1), поступают следующим образом. От итерационных методов требуют, чтобы после подстановки в них точного решения bAx
rr 1−= системы (7.1) получалось тождество. Итак, подставляя bAx
rr 1−= в (7.1), имеем
149
kk gbABbA rrr+= −− 11 .
Отсюда
bCbABEg kkk
rrr=−= −1)( ,
где через kC обозначили матрицу 1)( −− ABE k . Следовательно, линейный одношаговый итерационный метод для решения системы (7.1) имеет вид
bCxBx kkkk
rrr+=+1 , EBAC kk =+ , ,...1,0=k (7.3)
Первый вопрос, который возникает при применении методов
последовательного приближения, это вопрос сходимости. Выразим матрицу kC из второго соотношения в (7.3)
1)( −−= ABEC kk
и подставим в первое уравнение (7.3). Получаем
bABbAxBx kkkk
rrrr 111
−−+ −+= .
Вычитая из этого равенства почленно точное решение bAx
rr 1−= , имеем
)( 11 bAxBxx kkk
rrrr −+ −=− .
Полагая здесь последовательно mk ,...,1,0= , находим, что
)(... 10011 bAxBBBxx mmk
rrrr −−+ −=− .
Отсюда
bAxBxxm
iik
rrrr 10
01
−
=+ −
≤− ∏ .
Тем самым мы доказали теорему:
150
Теорема 1. Для сходимости нестационарного одношагового итерационного метода (7.3) достаточно, чтобы нормы всех матриц iB были меньше единицы: 1<iB , mi ,...,1,0= .
Рассмотрим одношаговый стационарный метод
bCxBx kk
rrr+=+1 , EBCA =+ , ,...1,0=k (7.4)
В этом случае справедлива следующая теорема. Теорема 2. Для сходимости стационарного метода (7.4) необходимо и
достаточно, чтобы все собственные числа матрицы B по модулю были меньше единицы.
Доказательство. Последовательно полагая в (7.4) mk ,...,1,0= , получаем
bCEBBBxBx mmmk
rrr )...( 10
11 +++++= ++
+ .
Отсюда следует, что для сходимости метода (7.4) необходимо и достаточно, чтобы сходился матричный ряд ...... ++++ kBBE .
Известно, что для сходимости этого матричного ряда, необходимо и достаточно, чтобы все собственные числа матрицы B по модулю были меньше единицы. Теорема доказана.
Вспоминая свойства собственных чисел матрицы и Теорему 1, видим, что из Теоремы 2 вытекает следствие
Следствие 1. Для сходимости стационарного метода (7.4) достаточно, чтобы какая-либо из норм матрицы B была меньше единицы.
Пусть имеем какой-либо сходящийся итерационный метод (7.4). Матрица B зафиксирована, ее норма меньше единицы. Для организации расчетов нужно задать начальное приближение 0xr , точность расчетов – малое
0>ε и критерий окончания расчетов. Как видно их доказанных теорем, если метод сходится, то 0xr выбирается произвольно. Что брать в качестве критерия окончания итерационного процесса? Пусть
bCxBx kk
rrr+=+1 .
В пределе получаем
bCxBxrrr
+= .
Вычитая одно равенство из другого, имеем
)()()( 1111 ++++ −+−=±−=− kkkkkk xxBxxBxBxxBxx rrrsrrrrr ,
151
откуда находим, что
kkk xxB
Bxx rrrr
−−
≤− ++ 11 1.
Следовательно, если требуется найти приближенное решение
отстоящее от точного на малое 0>ε , то в качестве критерия окончания расчетов нужно взять неравенство
ε≤−− + kk xx
BB rr
11.
Для нестационарных итерационных методов условием окончания
расчетов часто выбирают неравенство
ε≤−+ kk xx rr1 .
Выше мы получили, что
)(1 xxBxx kk
rrrr−=−+ ,
отсюда
)( 01 xxBxx kk
rrrr−=−+ ,
следовательно, справедлива оценка
xxBxx k
kk
rrrr−≤−+ 01 . (7.5)
Пусть 1<≤ qB . Из (7.5) получаем, что для того, чтобы начальная
погрешность xx rr−0 уменьшилась в ε1 необходимо провести
)1ln()1ln()(0 q
kk εε ≥> итераций. Числом )(0 εk можно характеризовать скорость
сходимости итерационного метода. Целая часть числа )(0 εk называют минимальным числом итераций, необходимым для получения заданной точности ε . Выражение )1ln( q называют скоростью сходимости итерационного метода. Скорость сходимости целиком определяется
152
свойствами матрицы B – матрицы перехода от итерации к итерации и не зависит ни от начального приближения 0xr , ни от задаваемой точности ε .
Чтобы построить итерационный метод, систему bxArr = предварительно
преобразовывают к виду
gxBx rrr += . (7.6) Операция приведения системы к виду удобному для итераций (т.е. к
виду (7.6)), вообще говоря, не простая и требует специальных знаний, а также существенного использования специфики системы. Один из способов перехода к виду (7.6) заключается в следующем. Исходную систему записывают в эквивалентном виде )( bxACxx
rrrr−−= . Выбор матрицы C
конкретизирует итерационный метод. Если в качестве матрицы C взять диагональную матрицу 1−D , где
=
−−
nn
nn
aa
aa
D
0...000..000.........000...000...0
)1)(1(
22
11
,
то получаем метод Якоби
∑ ∑−
= +=+ +−−=
1
1 1
)()()(1
i
j
n
ij ii
ijk
ii
ijjk
ii
ijik a
bxaa
xaa
x , ni ,...,1= , ,...1,0=k . (7.7)
Матрица B в методе Якоби имеет вид
−−−
−−−
−−−
=
0..................
...0
...0
321
22
2
22
31
22
21
11
1
11
13
11
12
nn
n
nn
n
nn
n
n
n
aa
aa
aa
aa
aa
aa
aa
aa
aa
B (7.8)
Отсюда и из Следствия 1. вытекает следующая теорема. Теорема 3. Если A – матрица с диагональным преобладанием, то
метод Якоби сходится.
153
Небольшая модификация метода Якоби приводит к методу Гаусса-Зейделя
∑ ∑−
= +=++ +−−=
1
1 1
)()(1
)(1
i
j
n
ij ii
ijk
ii
ijjk
ii
ijik a
bxaa
xaa
x , ni ,...,1= , ,...1,0=k . (7.9)
Идея, заложенная в методе (7.9) понятна: только что насчитанную
компоненту )(1
jkx + (предполагается, что она ближе к точной )( jx по сравнению с
)( jkx ) сразу же включаем в расчеты для вычисления )1(
1+
+j
kx компоненты. Представим матрицу A в виде суммы трех матриц
21 ADAA ++= ,
где
=
0............0...00...000...000
321
3231
21
1
nnn aaa
aaa
A ,
=
0...000.........
...000
...00
...0
3
223
11312
2 n
n
n
aaaaaa
A ,
матрицу D мы ввели ранее.
Введем обозначения 11
1 ADB −= , 21
2 ADB −= . Для метода Гаусса-Зейделя справедливы утверждения [4]:
Теорема 4. Пусть 11 1
2 <≤−
qB
B. Тогда метод Гаусса-Зейделя
сходится при любом начальном приближении 0xr и справедлива оценка
0xxqxx kk
rrrr −≤− для любого Nk ∈ . Теорема 5. Пусть 1<B , где B – матрица (7.8). Тогда для метода
Гаусса-Зейделя справедлива оценка 12
1 +−−
≤− kkk xxB
Bxx rrrr для любого
Nk ∈ . Замечание. Неверно, что если метод Якоби сходится, то метод Гаусса-
Зейделя сходится еще лучше. Существуют примеры, для которых метод Якоби сходится, а метод Гаусса-Зейделя расходится и наоборот. Дело в том, что эти методы ориентированы на решение различных классов систем: метод Якоби – на системы с матрицами, близкими к диагональным, а метод Гаусса-Зейделя – на системы с матрицами, близкими к нижне-треугольным. Поэтому можно ожидать хорошую сходимость метода Гаусса-Зейделя для систем с
154
«почти» нижне-треугольными матрицами A . Однако этот признак носит качественный характер и не является условием сходимости. Так, например,
метод Гаусса-Зейделя не сходится в случае 8 2 1
10 4 150 25 2
A =
, несмотря на ее
«почти» нижне-треугольный вид. Это объяснимо. Метод Гаусса-Зейделя можно переписать в виде
( ) ( )1 11 1 2 1k kx D A A x D A b− −
+ = − + + +rr r . Собственные числа матрицы
( ) 11 2D A A−− + следующие ( )2.2853; 0.6845;0.0− − , т.е. одно из них по модулю
больше единицы. Справедливо только утверждение [3]: если A – симметричная и
положительно определенная матрица с диагональным преобладанием, то методы Якоби и Гаусса-Зейделя сходятся, причем второй не медленнее, чем первый.
Определение 2. Канонической формой одношагового итерационного метода решения системы (3.1) называется его запись в виде
1
11
k kk k
k
x xB Ax bτ+
++
−+ =
r r rr , 0,1,...k = . (7.10)
Здесь 1kB + – матрица, задающая тот или иной итерационный метод, 1kτ +
– итерационный параметр. Итерационный метод называется стационарным, если 1kB B+ = и 1kτ τ+ = не зависят от номера итерации и нестационарным в противном случае. Очевидно, что итерационный метод, записанный в канонической форме всегда можно переписать в виде (7.2).
Из канонической формы (7.10) видно, что если итерационных метод сходится, то он сходится к точному решению исходной системы.
Для итерационных методов (7.10) в случае симметричной и положительно определенной матрицы доказан ряд теорем сходимости, которые мы рассмотрим в следующей лекции.
155
Лекция 8. Метод простой итерации. Сходимость. Метод релаксации. Сходимость. Метод наискорейшего спуска. Метод минимальных невязок. Метод сопряженных градиентов.
Рассмотрим явный стационарный итерационный метод, записанный в
канонической форме – метод простой итерации
1k kk
x x Ax bτ
+ −+ =
r r rr . (8.1)
Вычитая из (8.1) почленно исходную систему Ax b=
rr , получаем, что вектор погрешности k kz x x= −
r rr удовлетворяет задаче
1 0k kk
z z Azτ
+ −+ =
r r r . (8.2)
Отсюда для метода простой итерации имеем
1 ( )k k kz E A z Szτ+ = − =r r r , (8.3)
где через S E Aτ= − обозначили матрицу перехода от итерации к итерации.
Обозначим через iµ собственные числа матрицы S . Напомним, что для сходимости стационарного метода (8.2) (а тем самым и метода простой итерации (8.1)) достаточно, чтобы какая-либо из норм матрицы S была меньше единицы.
Пусть
0TA A= > и min maxE A Eλ λ≤ ≤ , (8.4)
где minλ – минимальное, а maxλ – максимальное собственные числа матрицы A . Так как TA A= , то и TS S= , поэтому
2 max max 1i ii i
S µ τλ= = − ,
где iλ – собственные числа матрицы A . В силу (8.4) условие сходимости метода простой итерации 1iµ < выполняется при
156
max
20 τλ
< < . (8.5)
Очевидно, что сходимость тем быстрее, чем меньше
2S . Задача
минимизации 2S сводится к отысканию такого 0τ > , при котором достигается
0min max 1 iiτ
τλ>
− . (8.6) Исследование функции 1 τλ− на отрезке [ ]min max,λ λ показывает, что
результат (8.6) достигается при
min max
2оптτ τ
λ λ= =
+. (8.7)
При этом наименьшее значение
2S есть
max min
2,minmax min
11
S λ λ ξλ λ ξ
− −= =
+ +, min
max
λξ
λ= . (8.8)
Полученные результаты объединим в теореме. Теорема 1. Пусть 0TA A= > , minλ и maxλ – минимальное и
максимальное собственные числа матрицы A . Тогда метод простой
итерации (8.1) сходится при max
2τ
λ< и наибольшая скорость сходимости
достигается при min max
2оптτ τ
λ λ= =
+.
Рассмотрим явный нестационарный итерационный метод
bxAxxk
k
kkrrrr
=+−
+
+
+1
1
1
τ. (8.9)
Считаем, что A – симметричная, положительно определенная матрица.
Последовательность итерационных параметров будем выбирать, исходя из условий минимума функционалов, связанных с такими характеристиками, как вектор невязки bxAr kk
rrr−= ++ 11 или вектор погрешности xxz kk
rrr −= ++ 11 . В частности рассмотрим функционал
157
2
2
2
2),()( rbxAbxAbxAxФ rrrrrrr
=−=−−= .
Определение 1. Методом минимальных невязок называется метод, в
котором итерационный параметр 1+kτ выбирается из условий минимизации
1+krr , при известной kr
r . Из (8.9) имеем
kkkk rxx rrr11 ++ −= τ ,
отсюда
kkkk rArr rrr11 ++ −= τ .
Поэтому
2
2
211
2
2
2
211 ),(2)( kkkkkkkk rArArrrxФ rrrrrr++++ +−== ττ .
Следовательно, минимум 1+kr
r достигается при
),(),(
1kk
kkk rArA
rArrr
rr=+τ (8.10)
Итак, алгоритм метода минимальных невязок следующий. Пусть kxr
найдено, тогда очередное приближение 1+kxr вычисляют по формулам
kkkk rxx rrr11 ++ −= τ ,
bxAr kk
rrr−= , ( )
( )kk
kkk rArA
rArrr
rr
,,
1 =+τ , ,...2,1,0=k . (8.11)
Определение 2. Методом скорейшего спуска называется метод, в
котором итерационный параметр 1+kτ выбирается из условий минимальности A -нормы вектора погрешности 1+kzr .
Из (8.9)
01
1 =+−
+
+k
k
kk zAzz rrr
τ,
158
отсюда
kkkk zAzz rrr11 ++ −= τ .
Поэтому
),(),(2 2211
22
1 kkkkkkAkAk zAzAzAzAzz rrrrrr+++ +−= ττ .
Следовательно, минимум 2
1 Akz +
r достигается при
),(),(
21kk
kkk zAzA
zAzArrrr
=+τ .
Поскольку kzr нам неизвестен, но rzA k
rr = , предыдущую формулу перепишем в виде
( )( )kk
kkk rAr
rrrr
rr
,,
1 =+τ .
Итак, расчетные формулы метода скорейшего спуска следующие. Пусть kxr найдено, тогда очередное приближение 1+kxr вычисляют по формулам
kkkk rxx rrr
11 ++ −= τ ,
bxAr kk
rrr−= , ( )
( )kk
kkk rAr
rrrr
rr
,,
1 =+τ , ,...2,1,0=k . (8.12)
Видим, что методы минимальных невязок и скорейшего спуска
отличаются лишь выбором итерационных параметров. Докажем сходимость этих методов. В методе минимальных невязок
2
21
2
211 )()( kkkk rAErxФ rrr+++ −== τ (8.13)
И последовательность 1+kτ из (8.10) минимизирует правую часть в (8.13). Поэтому при любом 1+≠ kττ будем иметь
2
21 )()( kk rAExФ rrτ−≤+ .
Выберем в качестве τ оптимальный параметр в методе простой
итерации
159
min max
2оптτ τ
λ λ= =
+.
Тогда
222221 )( kkоптkоптk rrAErAEr rrrrρττ =−≤−≤+ ,
где
)()()()(
minmax
minmax
AAAA
λλλλ
ρ+−
= .
Тем самым доказана Теорема 2. Если A – симметричная и положительно определенная
матрица, то метод минимальных невязок (8.11) сходится и справедлива оценка
2minmax
minmax21 )()(
)()(kk r
AAAAr rr
λλλλ
+−
≤+ .
Используя соотношение kk rzA rr = , аналогично устанавливается, что
справедлива Теорема 3. Если 0>= TAA , то метод скорейшего спуска (8.12)
сходится и справедлива оценка
AkAk zAAAAz rr
)()()()(
minmax
minmax1 λλ
λλ+−
≤+ .
Рассмотрим теперь стационарные неявные двухслойные итерационные
методы
bxAxxB kk
kkrrrr
=+−
+
+
+1
1
1
τ. (8.14)
Справедлива следующая, принадлежащая А.А.Самарскому Теорема 4. Пусть 0>= TAA , 0>B . Тогда условие
AB τ5,0> (8.15)
влечет за собой сходимость:
160
0limlim ==−∞→∞→ AkkAkk
zxx rrr (8.16)
Доказательство. Доказательство проведем, следуя [12]. Перейдем от (8.14) к задаче для вектора погрешности
01 =+−+
kkk zAzzB rrr
τ. (8.17)
Запишем тождество
ττ kk
kkk
zzzzzrrrrr −
−+= ++
11 2
)(21 ,
тогда (8.17) перепишется в виде
0)(21)
2( 1
1 =++−
− ++
kkkk zzAzzAB rrrr
ττ . (8.18)
Так как TAA = , то
22
111 ))(),((AkAkkkkk zzzzzzA rrrrrr −=−+ +++ .
Умножив (8.18) скалярно на )(2 1 kk zz rr −+ и используя последнее
равенство, получаем
22
111 ,)
2(2
AkAkkkkk zzzzzzAB rrrrrr
=+
−−
− +++
τττ
τ . (8.19)
В силу (8.15) и 0>τ из (8.19) вытекает, что 2
0
22
1 ...AAkAk zzz rrr
≤≤≤+ .
Поэтому последовательность 2
Akzr не возрастает, ограничена снизу нулем и, следовательно, является сходящейся. Это дает основание перейти к пределу в (8.19) и заключить, что
0)(),)(2
(lim 11 =
−−− ++∞→ kkkkk
zzzzAB rrrrτ .
Последнее выражение и условие (8.15) влекут за собой предельный
переход
161
0lim),(lim 2
2111 =−=−− +∞→++∞→ kkkkkkkkzzzzzz rrrrrr .
Обратимся теперь к (8.17) и перепишем его так
τkk
k
zzBAzArrr −
−= +− 12121 .
Тогда
2
2
21212
τkk
Ak
zzBAz
rrr −
≤ +− .
Переход к пределу в последнем неравенстве и завершает
доказательство теоремы. Эта теорема позволила получить доказательство сходимости ряда
итерационных методов, в том числе и релаксационных методов, в которых на каждом шаге происходит «подавление» одной, наиболее сильно меняющейся компоненты.
Среди специалистов по прикладной математике широко известен метод последовательной верхней релаксации – SOR-метод:
i
i
j
n
ij
jkij
jkij
ikii
ikii bxaxaxaxa ωωωω +−−−= ∑ ∑
−
= +=++
1
1 1
)()(1
)()(1 )1( . (8.20)
Здесь ω − это параметр, такой, что 20 << ω . При 21 << ω говорят о
верхней релаксации, при 10 << ω – о нижней. Значение 1=ω соответствует полной релаксации или методу Зейделя. В последнее время при любых
20 << ω его часто называют методом последовательной верхней релаксации. Приведем (8.20) к каноническому виду (8.14). Вспомним разложение матрицы 21 ADAA ++= . Тогда (8.20) перепишется в виде
bxAxxAD kkk
rrrr=+
−+ +
ωω 1
1)( (8.21)
Теорема 5. Если в (8.21)
0>= TAA , 20 << ω , (8.22) то SOR-метод (8.21) сходится:
162
0lim =
∞→ Akkzv .
Доказательство. Для доказательства этой теоремы нужно показать,
что
AAD ωω21
1 >+
и воспользоваться Теоремой 4. В силу (8.22) 21 AAT = , 0>D и поэтому
( )
( ) ( ) ( ) .0,211,
21,
211
,21
21
21,
21
2
21211
>
−=−
−=
=
−+
−=
++−+
xxDxxAxxD
xxAADxxADAAD
rrrrrr
rrrr
ωωω
ωωω
ωω
Теорема доказана. В последнее время получили широкое применение попеременно-
треугольные методы. Теория этих методов связана с работами А.А.Самарского. Основная идея методов заключается в следующем. Представим матрицу A в виде суммы двух треугольных матриц 1R и 2R :
2121 21
21 RRADDAA +=
++
+= .
По матрицам 1R и 2R строятся треугольные матрицы 1B и 2B , например
так:
1 1B E Rω= + , 2 2B E Rω= + , 0ω >
конструируют двухслойный итерационный метод
11 2
1
k kk
k
x xB B Ax bτ+
+
−+ =
r r rr . (8.23)
Переход от k -ой итерации к ( 1)k + -ой в (8.23) реализуется путем
последовательного обращения треугольных матриц 1B и 2B
163
1 kB y b Ax= −rr r , 1
21
k k
k
x xB yτ+
+
−=
r r r .
Среди трехслойных итерационных методов выделяют метод
сопряженных градиентов. Этот метод в случае симметричной и положительно определенной матрицы сходится за конечное число итераций. Приведем этапы и формулы, реализующие метод сопряженных градиентов (иногда его называют методом Ланцоша): 1. Задаем 0xr и ε . 2. Вычисляем 00 xAb rrr
−=ξ (невязка начального приближения). 3. Полагаем 00 ξ
rr =p , 0=k ( k – номер итерации). 4. Вычисляем скаляр ),/(),( kkkkk pAp rrrr
ξξα = . 5. Вычисляем вектор kkkk pxx rrr α+=+1 (очередное приближение). 6. Вычисляем kkkk pArrr
αξξ −=+1 (невязка )1( +k -го приближения. Действительно: kk xAb rrr
−=ξ ,
kkkkkkkk pApAxAbxAb rrrrrrrrαξαξ −=−−=−= ++ 11 . Такое выражение невязки
1+kξr
позволяет обходиться без вычисления вектора 1+kxAr ). 7. Проверяем выполнение неравенства εξ ≤+1k
r. Если «да», то
останавливаем работу алгоритма и выводим на печать результаты. В противном случае переходим к следующему пункту.
8. Вычисляем скаляр ),/(),( 1 kkkkk pAppA rrrr+= ξβ .
9. Вычисляем вектор kkkk pp rrrβξ −= ++ 11 (новое направление минимизации).
10. Полагаем 1+= kk и возвращаемся к вычислению скаляра 1kα + . В настоящее время наиболее развиты итерационные методы для
решения систем с симметричными и положительно определенными матрицами. Иногда этого достаточно, т.к., домножая слева Ax b=
rr на TA , мы приходим к эквивалентной системе TAx A b=
r) r с симметричной и положительно определенной матрицей TA A A=
). Однако, указанным образом
поступают сравнительно редко. Дело в том, что при переходе от A к A)
может быть утеряно свойство разряженности. Кроме того, вообще говоря, существенно ухудшается обусловленность системы. Имеется реальная опасность, что преобразованная система окажется очень плохо обусловленной.
164
Лекция 9. Полная и частичная проблема собственных значений. Прямые и итерационные методы. Степенной метод вычисления максимального по модулю собственного числа. Метод скалярных произведений. Методы исчерпывания.
9.1. Прямые методы. Обусловленность задач на собственные значения
Численные методы решения проблемы собственных значений
xxA rr λ= , (9.1)
использовавшиеся до конца 1940-х годов, сводились в конечном счете к решению характеристического или иначе «векового» уравнения
1 21 2 1... 0n n n
n np p p pλ λ λ λ− −−− − − − − = . (9.2)
При реализации такого подхода основные усилия были направлены на
разработку эффективных методов быстрого вычисления коэффициентов характеристического уравнения. Методы такого класса получили название прямых, к ним относятся пользовавшиеся популярностью методы Крылова, Данилевского, Леверье и др.
В методе Крылова, исходя из некоторого вектора 0cr , строится последовательность векторов 1i ic Ac −=
r r , 1,...,i n= и формируется система
линейных алгебраических уравнений 1
n
i n i ni
p c c−=
=∑ r r . Решая эту систему
уравнений, получаем в зависимости от ее ранга либо коэффициенты характеристического уравнения, либо коэффициенты минимального многочлена вектора 0cr . Метод опирается на следующие теоретические факты: а) корнями минимального многочлена ( )ψ λ матрицы A являются все различные корни характеристического многочлена, т.е. все различные собственные числа матрицы A ; б) минимальный многочлен
0( )cψ λr любого
вектора 0cr является делителем минимального многочлена ( )ψ λ матрицы A . В методе Данилевского матрица A подобными преобразованиями за
( 1)n − шаг приводится к канонической форме Фробениуса
165
1 2 3 1...1 0 0 ... 0 00 1 0 ... 0 0... ... ... ... ... ...0 0 0 ... 1 0
n np p p p p− Φ =
.
Элементами первой строки матрицы Φ являются коэффициенты
характеристического многочлена матрицы A . Метод Леверье заключается в следующем. Пусть 1,..., nλ λ – корни
характеристического многочлена, среди которых могут быть и равные.
Обозначим 1
nki k
isλ
=
=∑ . Тогда справедливы соотношения, известные под
названием формул Ньютона 1 1 1 1...k k k kkp s p s p s− −= − − − , 1,...,k n= . Так как с другой стороны известно, что k
ks SpA= , то приведенные формулы Ньютона позволяют найти все коэффициенты ip . (Напомним, что SpA – это след матрицы A .)
Однако подход, основанный на решении характеристического уравнения становится неудовлетворительным, если речь идет о вычислении собственных значений матриц, имеющих порядок n в несколько десятков и тем более сотен, т.е. матриц довольно скромных по нынешним понятиям размеров.
Одна из основных причин неудовлетворительности указанного подхода состоит в том, что задачи (9.1) и (9.2), хотя формально эквивалентны, имеют разную обусловленность. Корни многочлена )(xPn высокой степени чрезвычайно чувствительны к погрешностям в коэффициентах. Поэтому уже на этапе вычисления коэффициентов характеристического уравнения может быть значительно потеряна информация о собственных значениях матрицы.
С появлением ЭВМ широкое распространение получили итерационные методы решения проблемы собственных значений, не использующие вычисление характеристического многочлена.
Отметим, что задача вычисления собственных значений симметричных матриц очень хорошо обусловлена, что вытекает из следующего факта.
Пусть A~ – матрица с приближенно заданными элементами ijij aa ≈~ , jλ~ -
собственные числа матрицы A~ . Справедливо следующее утверждение: Если A и A~ – симметричные матрицы, а jλ и jλ
~ – их собственные числа, упорядоченные по возрастанию, то справедливы оценки погрешности
166
21
~|~|max AAjjnj−≤−
≤≤λλ .
В то же время нет аналогичного утверждения для несимметричных
матриц, что показывает следующий пример, принадлежащий Дж. Х. Уилкинсону.
Собственными числами верхней треугольной матрицы 20-го порядка
=
10...0000202...0000.........00...1700000...20180000...02019000...002020
A
являются числа 11 =λ , 22 =λ , …, 2020 =λ . Добавим малое 1010−=ε к элементу
01,20 =a . Собственные числа возмущенной матрицы таковы:
996.0~1 ≈λ , 11.2~
2 ≈λ , 57.2~3 ≈λ , i09.197.3~
5,4 ±≈λ , i95.189.5~7,6 ±≈λ ,
i53.212.8~9,8 ±≈λ , i73.25.10~
11,10 ±≈λ , i53.29.12~13,12 ±≈λ , i95.11.15~
15,14 ±≈λ ,
i09.10.17~17,16 ±≈λ , 4.18~
18 ≈λ , 9.18~19 ≈λ , 0.20~
20 ≈λ .
Большинство собственных значений оказалось полностью искаженным. Матрица очень плохо обусловлена по отношению к проблеме собственных значений.
Отметим, что число обусловленности )(Acond матрицы A не характеризует обусловленность матрицы по отношению к проблеме собственных значений.
Задачи вычисления собственных чисел и собственных векторов матрицы можно разделить на две группы: полная проблема собственных значений (поиск всех собственных чисел и соответствующих им собственных векторов) и частичная проблема собственных значений (вычисление одного или нескольких собственных чисел и собственных векторов).
9.2. Степенной метод вычисления максимального по модулю
собственного числа
167
Рассмотрим степенной (итерационный) метод решения частичной проблемы собственных значений.
Изложим его в простейшем случае. Пусть матрица A действительная с положительными коэффициентами. Обозначим через 1 2, , ..., nλ λ λ собственные числа матрицы, а через 1 2, , ..., nx x xr r r – соответствующие им собственные векторы.
Пусть справедливы неравенства
1 2 ... nλ λ λ> ≥ ≥ . (9.3) Требуется найти максимальное по модулю собственное число матрицы
A , т.е. 1λ и соответствующий ему собственный вектор 1xr . Выбираем произвольно вектор 0yr и строим последовательность
1k ky Ay −=r r , 1,2,...k = . На каждой итерации вычисляем отношение
( )( )
( )11
ik k
ik
yyλ
−
= , i – любое.
Пусть разложение вектора 0yr по собственным векторам 1 2, , ..., nx x xr r r
следующее 01
n
j jj
y c x=
= ∑r r , тогда 01 1
n n
j j j j jj j
Ay c Ax c xλ= =
= =∑ ∑r r r . Обозначим через
1, ..., ne er r базис из единичных векторов в n -мерном векторном пространстве.
Пусть 1
n
j ji ii
x x e=
= ∑r r , 1, ...,j n= – разложение собственных векторов по этому
базису. Тогда
i
n
j
n
j
n
i
n
i
n
j
kjjijiji
kjjj
kjj
kk excexcxcyAy rrrrr ∑ ∑ ∑ ∑ ∑
= = = = =
====
1 1 1 1 10 λλλ .
Поэтому ∑=
=n
j
kjjij
ik xcy
1
)( λ , а ∑=
++ =
n
j
kjjij
ik xcy
1
1)(1 λ . Рассмотрим отношение
этих компонент
k
n
i
nin
k
i
i
k
n
i
nin
k
i
i
knnin
ki
ki
knnin
ki
ki
ik
ik
xcxc
xcxc
xcxc
xcxc
xcxcxcxcxcxc
yy
++
+
++
+
=++++++
=
++
++++
1111
2
11
22
1
111
1
1
2
11
22
1222111
11222
1111
)(
)(1
...1
...1
......
λλ
λλ
λλ
λλ
λλλλλλλ .
Отсюда в силу (9.3) получаем, что
168
)(
)(1
1 limi
k
ik
k yy +
→∞=λ . (9.4)
Итак, для достаточно больших k
+=
−
k
ik
ik O
yy
1
21)(
1
)(
λλ
λ . (9.5)
Чтобы найти собственный вектор, рассмотрим kyr .
,2 11
111
1 21110
+=
=+===
∑
∑ ∑
=
= =
n
jj
k
jjk
j
n
j
n
j
kjj
kj
kjj
kk
xcc
xc
xcxcxcyAy
rr
rrrrr
λλ
λ
λλλ
поэтому, для достаточно больших k
111 xcy kk
rrλ≈ .
Так как собственный вектор находится с точностью до множителя, то в
качестве 1xr можно взять kyr . Замечание. Иногда предела нет. Получаются прыгающие значения
отношения )()(1
ik
ik yy + . В этом случае расчеты можно прекратить с этим 0yr .
Чтобы не появлялось больших чисел, рекомендуется на каждой итерации или через несколько итераций производить нормировку векторов kyr . Метод работает, когда 1λ – комплексное, а также в случае, когда 1λ – кратное.
Изложенный метод и есть степенной метод вычисления максимального по модулю собственного числа (иногда его называют PM-алгоритм – от англ. Power method).
Чтобы избавиться от некоторых недостатков степенного метода (возможное появление больших чисел, малых чисел в знаменателе, большое число итераций) на практике чаще применяют его модификацию: метод скалярных произведений (SP-метод, от англ. Scalar product).
Строим две последовательности векторов
1−= kk yAy rr и 1−′=′ k
Tk yAy rr , ,...2,1=k , 00 yy ′=
rr . (9.6) Нетрудно показать, что
169
( )
( )( )
( )001
00
11 ,
,,
,yAyA
yAyAyy
yykTk
kTk
kk
kk rrrr
rrrr
−−
=′
′≈λ , (9.7)
причем
( )( )
+=
′′
−
k
kk
kk Oyy
yy2
1
21
1 ,,
λλ
λrrrr
, (9.8)
т.е. этот метод сходится в два раза быстрее, чем степенной.
Для симметрических матриц ( )( )00
100
1 ,,
yAyAyAyA
kk
kk
rrrr
−≈λ .
Если 1 2 3 ... nλ λ λ λ> > ≥ ≥ , то приближенное значение второго по
модулю собственного числа 2λ можно найти по формуле ( ) ( )
1 12 ( ) ( )
1 1 2
i ik ki i
k k
y yy y
λλ
λ−
− −
−≈
−.
Степенной метод позволяет также вычислять наименьшее по модулю собственное значение матрицы. Для этого после того, как было определено максимальное по модулю собственное значение, необходимо решить аналогичную задачу для матрицы EAB maxλ−= . Обозначим максимальное собственное значение этой матрицы через Bλ . Тогда минимальное по модулю собственное значение матрицы A будет равно maxmin λλλ += B . Вектора, соответствующие значениям Bλ матрицы B и minλ матрицы A , будут при этом равны.
Рассмотрим еще один способ построения наименьшего по модулю собственного числа матрицы A – метод обратных итераций.
Пусть 1 2 1... n nλ λ λ λ−≥ ≥ ≥ > , тогда 11
1...11λλλ
≥≥>−nn
, т.е.
наименьшим по модулю собственным числом данной матрицы A является величина, обратная наибольшему по модулю собственному числу матрицы
1A− . Последнее же может быть получено прямыми итерациями произвольного начального вектора 0yr посредством матрицы 1A− по формуле
11k ky A y−
−=r r , 1,2,...k = . При достаточно больших k последовательность отношений одноименных координат векторов kyr и 1ky −
r должна давать
приближенное значение 1
nλ, а вектор kyr (желательно его нормировать)
можно принять за собственный вектор nxr .
170
Вместо прямых итераций, требующих предварительного обращения исходной матрицы A , обычно предпочитают строить ту же последовательность векторов kyr , решая при 1,2,...k = линейные системы
1k kAy y −=r r , 1,2,...k = . Построение последовательности векторов, приближающих
собственный вектор nxr по этой неявной формуле, и называют обратными итерациями.
Важными достоинствами степенного метода являются его простота, отсутствие необходимости преобразования матрицы A .
Недостаток метода в применении ко многим прикладным задачам – зачастую медленная сходимость. Часто в приложениях 2λ оказывается близким к 1λ . Так как скорость сходимости степенного метода определяется
величиной 11
2 ≈λλ , то в этом случае сходимость будет очень медленной.
Чтобы преодолеть эту неприятность прибегают, в частности, к степенному методу со сдвигом. Идея метода со сдвигом заключается в следующем: применяют степенной метод не к матрице A , а к матрице EAA σ−=
), где σ
– некоторое число. Собственными значениями матрицы A)
являются числа σλ −i , получаемые сдвигом собственных значений iλ на число σ . Если
число σλ −1 по-прежнему остается максимальным по модулю, то следует
попытаться подобрать σ так, чтобы сделать величину σλσλ
−−
≤≤1
2max i
ni
минимальной. Если, например, все собственные значения положительны, то
такой минимум достигается при 2
2 nλλσ
+= .
9.3. Методы исчерпывания После того как пара ( )11, xrλ найдена, возникает задача о вычислении
следующей пары ( )22 , xrλ , где nλλλ >>> ...32 , 2xr соответствующий 2λ собственный вектор. Существует несколько способов избавления от уже вычисленных собственных чисел и соответствующих собственных векторов с целью избежать их повторного вычисления. Эти способы принято называть исчерпыванием (методами исчерпывания). Приведем для примера один из методов исчерпывания, основанный на подобном преобразовании матриц. Напомним, что подобные матрицы имеют одинаковые собственные числа и соответствующие им собственные вектора, которые всегда определяются с точностью до множителя, умножаются на соответствующие матрицы.
171
Например, пусть матрицы A и B подобны, т.е. 1−= HAHB , где H – некоторая неособая матрица. Пусть справедливо равенство xxA rr
λ= , тогда верно равенство xHxHA rr
λ= или xHxHHAH rrλ=− )(1 . Это выражение можно
переписать в виде yyB rrλ= , где xHy rr
= . Последние равенства и устанавливают связь между собственными числами и собственными векторами подобных матриц.
Пусть задача 1111 xxA rrλ= решена, т.е. 1λ и ),...,( )(
1)1(
11nxxx =
r найдены, здесь AA ≡1 .
Образуем матрицу
−
−=
1...00...............
0...01
0...001
)1(1
)(1
)1(1
)2(1
)1(1
1
xx
xx
x
H
n
.
Тогда ( )0,...,0,1, 111 == eexH rrr . Равенство 1111 xxA rr
λ= преобразуем в эквивалентное )()( 1111
1111 xHxHHAH rr
λ=− или 1111
111 eeHAH rrλ=− , откуда следует,
что первый столбец матрицы 1111−HAH равен 11e
rλ . Введем в рассмотрение
матрицу
′== −
2
1111112 0 B
bHAHA r
vλ
, (9.9)
где ),...,( )(
2)2(
11nbbb =′
r и 2B – матрица размерности )1( −n . Из (9.9) следует, что
матрица 2B имеет своими собственными значениями числа nλλ ,...,2 , т.е. соответствующие собственные числа матрицы A . Для того, чтобы найти следующую пару ( )22 , xrλ нужно уже работать с матрицей 2B . После того, как
2λ и 2xr найдены, делаем соответствующие преобразования с матрицей 2B и т.д., пока не «исчерпаем» все собственные числа исходной матрицы A .
172
Лекция 10. Метод Якоби решения полной проблемы собственных значений для симметричной матрицы. QR- метод. Уточнение собственных чисел и векторов. Оценки собственных чисел. Теоремы Гершгорина.
10.1. Метод Якоби решения полной проблемы собственных
значений для симметричной матрицы Рассмотрим задачу
xxA rr λ= . (10.1) Требуется решить полную проблему собственных значений: найти все
собственные числа и соответствующие им все собственные векторы матрицы A . Вспоминая свойства подобных матриц, поставим вопрос: нельзя ли подобными преобразованиями привести матрицу A к такой матрице, для которой собственные числа легко находятся?
Пусть A – симметричная вещественная матрица. Известно [6], что такую матрицу всегда можно представить в виде
1−Λ= QQA , (10.2)
где Q – ортогональная матрица, Λ – диагональная матрица у которой на главной диагонали стоят собственные числа матрицы A . Как мы знаем для ортогональной матрицы TQQ =−1 , поэтому равенство (10.2) равносильно следующему
Λ=AQQT . (10.3)
Перепишем (10.3) в виде
173
QAQ Λ= . (10.4)
Из равенства (10.4) следует, что столбцы матрицы Q являются соответствующими собственными векторами матрицы A .
Формула (10.3) дает возможность строить алгоритмы вычисления матрицы Λ , отличающиеся между собой лишь способами вычисления матрицы Q . В основе их лежит следующий простой факт. Пусть каким-либо ортогональным преобразованием Q~ получили
Λ= ~~ AQQT . (10.5)
где матрица )~(~ijλ=Λ мало отличается от Λ . Собственные числа
матриц A и Λ~ совпадают. Если все ijλ~ при ji ≠ равны нулю, то
собственные значения матрицы A равны диагональным элементам матрицы Λ~ , т.е. iiλ~ . Если же недиагональные
элементы ijλ~ не равны нулю, но имеют малые значения, то
можно ожидать, что собственные значения iλ близки к iλ~ и iλ
~ можно взять за их приближенные значения. Поэтому на основании равенства (10.3) строят последовательность ортогональных приближений, позволяющих неограниченно уменьшать модули недиагональных элементов матрицы A :
Λ → ∞→nnT
n AWW ,
nn QQQW ⋅⋅⋅= 21 .
174
Чтобы оценить степень приближения, введем величину, характеризующую близость матрицы A к диагональной
2)( ∑
≠
=ji
ijaAσ . (10.6)
Перейдем теперь непосредственно к изложению метода вращений решения полной проблемы собственных значений симметричной матрицы (метода Якоби).
По заданной матрице A будем строить последовательность )(kA такую, чтобы матрица )1( +kA получалась из матрицы )(kA при помощи преобразования подобия ортогональной матрицей вращения )(ϕijQ :
столбецйjстолбецйi
строкаяj
строкаяiQij
−−
−
−
−=
1
1cossin
sincos1
1
)(
OMM
LLLMOM
LLL
MMO
ϕϕ
ϕϕϕ
. (10.7)
175
В матрице (10.7) выписаны только ненулевые элементы. Все остальные элементы равны нулю.
Предположим, что уже построена матрица ( ))()( kij
k aA = . Найдем в
ней максимальный по модулю недиагональный элемент. Пусть это будет )(k
ija . Ввиду симметричности можно считать, что ji < .
Если таких элементов несколько, то берем любой из них. При фиксированных индексах ji, строим матрицу вращения
)( )()()( kkij
kij QQ ϕ= , угол )(kϕ определим позже. Образуем матрицу
)()()()1( kij
kTkij
k QAQA =+ . (10.8)
Чтобы изучить вид элементов матрицы )1( +kA , предварительно рассмотрим вспомогательную матрицу )()()()( )( k
ijkk
ijk QAbB =≡ .
Согласно определению матрицы ijQ (10.7), все столбцы матрицы )(kB кроме i -го и j -го будут такими же как и в )(kA , элементы же
i -го и j -го столбцов вычисляются по формулам
kkj
kki
ki aab ϕϕ ννν sincos )()()()( += ,
kkj
kki
kj aab ϕϕ ννν cossin )()()()( +−= ,
n,...2,1=ν . (10.9)
Аналогично, строки матрицы )()()1( kTkij
k BQA =+ кроме i -ой и j -ой
будут такими же как в )(kB , а элементы i -ой и j -ой строк вычисляются по формулам
kkj
kki
ki bba ϕϕ ννν sincos )()()()1( +=+ , (10.10)
176
kkj
kki
kj bba ϕϕ ννν cossin )()()()( +−= ,
n,...2,1=ν .
Из (10.9) и (10.10), учитывая, что )()( kji
kij aa = получаем
( )( ) ( ) .2sin
212cossincossin
coscossinsincos
)()()()()()()()()()(
)()()()()()()()()1(
kkii
kjj
kkij
kkkjj
kkji
kkkij
kkii
kkjj
kkij
kij
aaaaa
aabba
ϕϕϕϕϕ
ϕϕϕϕϕ
−+=+−+
++−=+=+
(10.11)
Выбираем теперь угол )(kϕ так, чтобы элемент )1( +kija обратился в
нуль. Находим, что
kkjj
kii
kijk Paa
atg ≡
−=
)()(
)()( 2
2ϕ ,
отсюда
kk arctgP
21)( =ϕ .
Оценим теперь )( )1( +kAσ . Учитывая симметричность матрицы A , используя формулы (10.9) – (10.11), получаем
177
( ) ( ) ( ) ( )[ ]
( ) ( ) ( ) ( ) ( ) .22212
2cos22sin212
2)()()1(2)()(
2)()()()()(2)()()1(
kij
kkij
kij
k
kkij
kkii
kjj
kij
kk
aAaaA
aaaaAA
−=+−=
=+−+−=
+
+
σσ
ϕϕσσ
Так как )(kija согласно выбору максимальный по модулю элемент в
)(kA , то
( ) ( )2)()( )1( kij
k annA −≤σ .
отсюда
( ) ( ))1(
)(2)(
−≥
nnAa
kk
ij
σ ,
следовательно
( ) ( ) ( ) ( ) ( ) ( ))()(
)(2)()()1(
)1(22 k
kkk
ijkk Aq
nnAAaAA σ
σσσσ =
−−≤−=+ ,
178
где )1(
21−
−=nn
q . Очевидно, что 10 <≤ q при 2≥n . Поэтому
( ) ( ) ( ))0(1)()1( ... AqAqA kkk ++ ≤≤≤ σσ .
Итак
( ) ( ))0()( AqA kk σσ ≤ .
Так как constA =)(σ , то
( ) 0lim )( →∞→
k
kAσ ,
т.е. процесс сходится.
В методе вращений (методе Якоби) решения полной проблемы собственных значений симметричной матрицы A подобными преобразованиями исходную матрицу A сводим к диагональной, у которой на главной диагонали стоят собственные числа матрицы A . На каждом шаге наших преобразований зануляем максимальный по модулю недиагональный элемент матрицы
)(kA . Число недиагональных элементов конечно, но вычислительная погрешость заставляет рассматривать этот метод как итерационный. Расчеты ведут до тех пор, пока станет справедливым неравенство
179
( ) εσ ≤)(kA .
10.2. QR – метод решения полной проблемы собственных значений
Наиболее универсальным (не требующим никакой предварительной информации относительно собственных чисел матрицы) в настоящее время является QR-метод.
QR-метод был предложен почти одновременно российским математиком В.Н. Кублановской (1961 г.) и системным программистом англичанином Д. Фрэнсисом (1962 г.). Суть метода заключается в следующем.
Пусть A – вещественная nn× матрица. При ,...2,1,0=k , начиная с AA =0 , строят последовательность матриц )( kA по формулам
kkk RQA = , kkk QRA =+1 , (10.12)
первая из которых означает разложение матрицы kA в произведение матриц: ортогональной kQ и правой треугольной kR (такое разложение существует для любой квадратной матрицы), а вторая – перемножение полученных в результате факторизации матрицы kA матриц kQ и kR в обратном порядке.
На основе свойства ортогональных матриц 1−= kTk QQ в соответствии с
(10.12) можно записать представление данной матрицы A в виде
TTTk
Tkkkk QQQQAQQQQA 0111110 ...... −+−= ,
или, иначе,
1
1101110 )...()...( −−+−= kkkkk QQQQAQQQQA .
Значит, любая из этих матриц последовательности )( kA ортогонально
подобна матрице A . Как известно, подобные матрицы имеют одинаковые собственные числа.
При определенных ограничениях, одним из которых выступает требование, чтобы матрица A не имела равных по модулю собственных
180
значений, генерируемая процессом (10.12) последовательность матриц )( kA сходится к правой треугольной матрице с диагональю из искомых собственных чисел (это ограничение ввели, чтобы не усложнять изложение материала). Скорость обнуления поддиагональных частей матриц kA линейна и зависит от отношений ||/|| ji λλ при ji > (считаем, что ||...|||| 21 nλλλ >>> ). Наличие комплексно-сопряженных пар собственных чисел у данной вещественной матрицы A не является препятствием для применения QR-алгоритма, просто в этом случае предельной матрицей для последовательности )( kA будет матрица квазитреугольного (иначе, блочно – треугольного) вида. Каждой комплексной паре собственных чисел в такой матрице будет соответствовать 22× – блок, причем сходимость здесь наблюдается по форме матрицы, а не поэлементно (т.е. элементы внутри этих блоков могут изменяться без видимой зависимости от k при сохранении неизменными их собственных чисел).
Обычно QR-алгоритм применяют не к исходной матрице A , а к подобной ей правой почти треугольной матрице B , называемой также матрицей Хессенберга, вида
=
−
−−−
−
−
−
nnnn
nnnn
nn
nn
nn
bbbb
bbbbbbbbbbb
B
1,
,11,1
31,332
21,22221
11,11211
...00
...00...............
...0
...
...
.
Предварительное приведение матрицы к верхней почти треугольной
форме связано вот с чем. Разложение QR на каждом этапе в (10.12) требует )( 3nO операций. Если же матрица является верхней почти треугольной, то
QR -разложение осуществляется лишь за )( 2nO действий. Важно, что верхняя треугольная форма сохраняется при преобразованиях QR -алгоритма.
В основе преобразования матрицы A к матрице B (определяемому условием 0=ijb при 1−< ij ) лежит преобразование Хаусхолдера или, иначе, преобразование отражения TEH ωω rr2−= , где ω
r – произвольный вектор-столбец, но такой, что его евклидова норма равна единице. Легко проверить, что EHH T = , т.е. матрица отражения ортогональна, а значит, матрицы A и B связаны соотношением HAHB = ( )1−== HAHHAH T и являются подобными.
Теперь нужно распорядиться свободой задания элементов векторов ωr
181
при построении матриц отражения, чтобы за конечное число шагов преобразований Хаусхолдера произвольно заданную матрицу A привести к форме Хессенберга B .
А именно, можно показать, что начатым с AB =1 процессом
mmmm HBHB =+1 , 2,...,2,1 −= nm , (10.13)
где Tmmm EH ωω
rr2−= , данная nn× матрица A за 2−n шага будет приведена к виду B , т.е. матрица 1−= nBB подобна A , если задающие матрицы Хаусхолдера mH векторы mω
r по данной матрице A строить следующим образом.
При 1=m вектор 1ωr определяется равенством
),;...;;;0( 13112111 n
T aasa −= µωr (10.14)
где ∑=
⋅−=n
iiaasigns
2
21211 )( ,
)(21
21111 ass −
=µ . Такое задание 1ωr обеспечивает
ортогональность симметричной матрицы TEH 111 2 ωωrr
−= и одновременно получение с ее помощью нужных 2−n нулей в первом столбце матрицы
1112 HBHB = ( )11 AHH= . Вектор 2ω
r по матрице 2B строят совершенно аналогично, только фиксируют нулевыми не одну, а две первые его координаты, и определяющую роль играют теперь не первый, а второй столбец матрицы 2B и его третий элемент. При этом у матрицы 2223 HBHB = окажется 3−n нулевых элемента во втором столбце и сохранятся полученные на предыдущем шаге нули в первом столбце.
Этот процесс очевидным образом может быть продолжен до исчерпания и без особого труда описан общими формулами типа формул (10.13) и (10.14), для чего нужно лишь ввести обозначения для элементов последовательности матриц mB (например, с помощью верхних индексов m ).
Пример. Дана матрица
−−
−=
114203315
A . Найти матрицу B , подобную
матрице A и имеющую форму Хессенберга. Преобразование проводим по формулам (10.13) и (10.14) при 3=n ,
которые для данного случая можно записать так (в естественном для выполнения порядке):
182
231
22121)( aaasigns +⋅−= ;
)(21
21ass −=µ ;
),,0( 3121 asaT −= µωr ; TEH ωω
rr2−= ; HAHB = . Имеем:
5)4(3 22 −=−+−=s ;
541
)35)(5(21
=−−−
=µ ;
( )
−−=−
−=
4.08.008.06.10
0004,8,0
480
4012 Tωω
rr ;
−=
6.08.008.06.00
001H ;
−−−−
−=
16.0028.05315
HA ;
−−−
−−=
08.144.0056.008.25135
B .
10.3. Локализация собственных значений
С помощью так называемых теорем локализации иногда удается
получить хорошие оценки собственных чисел. Довольно общий принцип построения областей, локализующих собственные значения основан на следующей идее. Пусть A – произвольная матрица и )(AB – некоторое арифметическое условие, выполнение которого достаточно для невырожденности матрицы A . Если λ является собственным значением, то матрица EA λ− – вырожденная. Поэтому, для того, чтобы λ было собственным значением матрицы A необходимо невыполнение условия
( )EAB λ− . Это и определяет область, в которой должны находиться все собственные значения.
Теорема 1. Для того, чтобы матрица была невырожденной, достаточно выполнение неравенств
∑≠=
>n
ijj
ijii aa1
183
для всех ni ,...2,1= . Доказательство. Предположим, что матрица A вырожденная. Тогда
однородная система линейных алгебраических уравнений
∑=
=n
jjij xa
10 , ni ,...2,1= ,
имеет ненулевое решение. Пусть kx – наибольшая по модулю координата этого решения. Запишем k-е уравнение системы в виде
∑≠
−=kj
jkjkkk xaxa
откуда следует, что
jkj
kjkkk xaxa ∑≠
≤
и, окончательно,
∑∑≠≠
≤≤kj
kjkj k
jkjkk a
xx
aa .
Это противоречит условиям теоремы.
Пусть 1
n
i ijjj i
P a=≠
= ∑ – сумма модулей внедиагональных элементов i -ой
строки матрицы A . Обозначим через iS круг радиуса iP на комплексной плоскости с центром в точке iia , т.е. :i ii iS z z a P= − ≤ . Круги iS называют кругами Гершгорина. Справедлива следующая теорема.
Теорема 2. (теорема Гершгорина) Для того, чтобы λ было собственным значением матрицы A , необходимо выполнение неравенства
∑≠=
≤−n
ijj
ijii aa1
λ
хотя бы для одного значения i , где ni ≤≤1 , или иными словами: любое собственное значение матрицы лежит по крайней мере в одном из кругов Гершгорина.
Доказательство. Возьмем произвольное собственное значение λ
184
матрицы A и соответствующий ему собственный вектор xr . Пусть kx – максимальная по модулю компонента вектора xr . Запишем k-ое уравнение
системы (10.1) в следующем виде ∑≠
≤−n
kjjkjkkk xaxa λ . Из этого равенства с
учетом оценки 1≤k
j
xx
1j
i
xx ≤ следует неравенство k
n
kj k
jkjkk P
xx
aa ≤≤− ∑≠
λ ,
т.е iSλ ∈ . Кратко теорему можно сформулировать так: все собственные значения
матрицы A лежат в объединении кругов 1S , 2S , ..., nS . Отметим следующие полезные факты. Теорема 3. Если k кругов Гершгорина образуют замкнутую область
G , изолированную от других кругов, то в G находится ровно k собственных значений матрицы A (с учетом их кратности).
Следствие. Если какой-либо круг Гершгорина изолирован, то он содержит ровно одно собственное число матрицы A .
При вычислении собственных значений и собственных векторов симметричных матриц важную роль играет функция
( , )( )( , )Ax xxx x
ρ =r rr
r r . (10.15)
Эту функцию называют отношением Рэлея. Справедлива следующая
теорема. Теорема 4. Пусть A – симметричная матрица. Тогда справедливы
утверждения: 1) минимальное и максимальное собственные значения матрицы A
вычисляются по формулам min 0min ( )
xxλ ρ
≠= r
r , max 0max ( )
xxλ ρ
≠= r
r ;
2) вектор xr является стационарной точкой функции ( )xρr (т.е.
удовлетворяет условию ( ) 0grad xρ =r ) тогда и только тогда, когда xr –
собственный вектор матрицы A . Итак, если 0x ≠
r произвольный вектор, то справедливы неравенства
min max( , )( , )Ax xx x
λ λ≤ ≤r rr r . (10.16)
Неравенства (10.16) называют принципом Рэлея. Замечание. При построении методов решения задач на собственные
значения существенно используется то обстоятельство, что если xr – хорошее приближение к собственному вектору jxr , то ( )jxρ
r – хорошее приближение к
185
собственному числу jλ . Отметим еще один результат, позволяющий отделять собственные
числа симметричной матрицы. Теорема 5. Пусть xr – нормированный вектор, a – произвольное
действительное число, удовлетворяющее неравенству ( , )a Ax x<r r ,
( , ) ( , )( , )
Ax Ax a Ax xbAx x a
−=
−
r r r rr r . Тогда на отрезке [ , ]a b имеется по крайней мере одно
собственное число матрицы A . Следствие. Пусть ( , )Ax xα =
r r , ( , )Ax Axβ =r r , где xr – произвольный
нормированный вектор. Тогда на отрезке 2 2,α β α α β α − − + −
имеется по крайней мере одно собственное число матрицы A . Запишем задачу на собственные значения xxA rr λ= в скалярной форме
∑=
=−n
k
ikik xxa
1
)()( 0λ , ni ,...,1= . (10.17)
Левые части уравнений (10.17) обозначим через ),( λxFi
r . Пусть мы нашли приближенное собственное значение λ~ и
отвечающий ему собственный вектор x~ матрицы A . Соответствующие точные значения обозначим через λ и xr . Пусть λλλ ~~ ∆+= , xxx ~~ ∆+=
r . Подставляя эти выражения для λ b xr в (10.17) и линеаризируя полученные соотношения (считаем λ~∆ и x~∆ малыми), приходим к следующей системе уравнений
∑=
−=∆−∆−∆n
ki
iikik xFxxxa
1
)()()( )~,~(~~~~ λλλ , ni ,...,1= . (10.18)
Система (10.18) состоит из n линейных уравнений относительно (n+1)
неизвестных )()1( ~,...,~,~ nxx ∆∆∆λ . Так как собственный вектор определяется с точностью до постоянного множителя, то, не нарушая общности, можно положить )1(~x∆ или )(~ nx∆ равным нулю. Положив, допустим, в системе (10.18) 0~ )1( =∆x , находим ее решение и на основании полученных величин
λ~∆ , x~∆ вычисляем уточненные значения λλλ ~~ ∆+= и xxx ~~ ∆+=r
собственного числа и собственного вектора. При необходимости процесс можно повторить. Тем самым получим итерационный метод уточнения собственного числа и собственного вектора, который называют еще методом линеаризации.
97
Лекция 11. Вычисление корней нелинейных уравнений. Отделение корней. Метод деления отрезка пополам. Метод хорд. Методы простой итерации, Ньютона. Модификации метода Ньютона. Сходимость. Метод Вегстейна.
11.1. Основные этапы решения нелинейных уравнений. Скорость сходимости
Рассмотрим методы решения уравнений вида
0)( =xf , (11.1)
где )(xf – произвольная непрерывная функция. Процесс нахождения приближенных корней уравнения (11.1) разбивается на два этапа:
− отделение (локализация) корней; − итерационное уточнение корней до заданной точности. Отделить корни – значит разбить всю область допустимых значений на
отрезки, в каждом из которых содержится один корень. Отрезок, содержащий только один корень α=x , называется отрезком
локализации корня α=x . Способы локализации корней многообразны, и указать универсальный
метод не представляется возможным. Для локализации применяют различные теоремы алгебры и математического анализа. В простых ситуациях используют графики функции )(xfy = , таблицы значений
)( ii xfy = . После отделения корней для их вычисления с заданной точностью на
каждом из отрезков можно воспользоваться одним из приведенных ниже методов.
Пусть α=x – корень уравнения (11.1), подлежащий определению. Скорость сходимости – одна из важнейших характеристик метода.
Определение 1. Метод сходится со скоростью геометрической прогрессии, знаменатель которой 1<q , если для всех Nn∈ справедлива оценка n
n qCx 0≤−α ( αα −≤− −1nn xqx ). Определение 2. Пусть в некоторой окрестности корня
p
nn xCx αα −≤−+1 , где 0>C , 1≥p . В этом случае число p называют порядком сходимости метода.
98
Если 1=p , 1<C , то метод обладает линейной скоростью сходимости. Если 2=p , – квадратичной скоростью сходимости.
Очевидно, чем больше p , тем быстрее сходимость. Входными данными для вычисления корня α являются значения )(xf
в малой окрестности корня. Эти значения будут приближенными. Обозначим их через )(~ xf .
Рис.1 Рис. 2 На рис. 1 – идеальная ситуация, отвечающая исходной математической
постановке задачи, а на рис. 2 – реальная ситуация, соответствующая вычислениям значений функции )(xf на ЭВМ.
Пусть в достаточно малой окрестности корня ∆<− )(~)( xfxf , где
)~( f∆=∆ – абсолютная погрешность. Если функция )(xf непрерывна, то найдется такая малая окрестность
( )εαεα +− , корня α , в которой выполняется неравенство
∆<)(xf . (11.2) Для ( )εαεα +−∈ ,x знак вычисленного значения )(~ xf , вообще
говоря, не обязан совпадать со знаком )(xf . Следовательно, становится невозможным определить, какое именно значение x из интервала ( )εαεα +− , обращает функцию )(xf в нуль.
Этот интервал называют интервалом неопределенности корня α .
99
Найдем оценку величины ε . Пусть α – простой корень. Для x , близких к α , )()()()()()( ααααα fxfxfxf ′−=′−+≈ . Поэтому неравенство (11.2) примет вид
∆≤′− )()( αα fx ,
откуда
)()( αα
αα
fx
f ′∆+≤≤
′∆− .
Следовательно, )~( fcond ∆⋅≈ε , здесь )(
1αf
cond′
= − число, которое в
рассматриваемой задаче играет роль числа обусловленности. Действительно, если α~ − корень уравнения 0)(~
=xf , то ∆<)~(αf и справедливо
неравенство )~()~(~ fcond ∆⋅≈≤∆≤− εααα . Итак, ε – радиус интервала неопределенности, он возрастает с
возрастанием погрешности вычисления значения )(~ xf . Кроме того, ε растет (обусловленность ухудшается) с уменьшением )(αf ′ .
Если α – корень кратности m , то доказано, что mm
mfm 1
1
)( )(! −
∆⋅≈α
ε .
В этом случае радиус интервала неопределенности пропорционален m1
−∆ , что говорит о плохой обусловленности задачи вычисления кратных корней.
В реальной ситуации оценить ε довольно сложно, но знать об интервале неопределенности полезно и важно. Во-первых, нет смысла ставить задачу о вычислении корня с точностью εε < . Каждое значение x из интервала неопределенности можно взять за приближенное значение корня.
Во-вторых, нельзя требовать от алгоритмов вычисления корня получения достоверных результатов после того, как попали в интервал неопределенности. Вычисления следует прекратить и считать, что получен максимум действительно возможного.
Для большинства итерационных методов этот момент определить можно, поскольку, начиная с него, поведение nx становится крайне нерегулярным.
Вдали от интервала неопределенности величина
100
21
1
−−
−
−−
=nn
nnn xx
xxq (11.3)
обычно бывает меньше единицы. Появление значения 1>nq свидетельствует, скорее всего, о начале «разболтки» − хаотического поведения итерационной последовательности. В этой ситуации вычисления имеет смысл прекратить, попытаться выяснить причину этого явления и принять правильное решение. Лучшим из полученных приближений к решению следует считать 1−nx .
Использование для контроля вычислений величины (11.3) называют правилом Гарвика.
11.2. Метод деления отрезка пополам (метод бисекций)
Предположим, что найден отрезок ],[ ba , такой, что 0)()( <bfaf . Тогда согласно теореме Больцано-Коши внутри отрезка ],[ ba существует точка c , в которой значение функции равно нулю, т.е. 0)( =cf , ),( bac ∈ . Итерационный метод бисекций состоит в построении последовательности вложенных отрезков [ ] [ ] babababa nnnnnn ,,],[|],[ 11 ⊂⊂ −− , на концах которых функция )(xf принимает значения разных знаков. Каждый последующий отрезок получают делением пополам предыдущего. Процесс построения последовательности отрезков позволяет найти нуль функции )(xf (корень уравнения 0)( =xf ) с любой заданной точностью.
Если требуется найти корень с точностью ε , то деление пополам продолжаем до тех пор, пока длина отрезка не станет меньше ε2 . Тогда координата середины последнего отрезка и есть значение корня с требуемой точностью ε .
Середина n -го отрезка – точка 2/)( nnn bax += дает приближение к корню α=x , имеющее следующую оценку погрешности
12/)(2/)( +−=−≤− nnnn ababx α . Из этой оценки видно, что метод бисекции
сходится со скоростью геометрической прогрессии, знаменатель которой 21=q . Метод бисекций – простой и надежный метод поиска простого корня
уравнения 0)( =xf . Корень cx = называют простым корнем дифференцируемой функции )(xf , если 0)( =cf и 0)( ≠′ cf . Метод сходится для любых непрерывных функций )(xf , в том числе и
101
недифференцируемых. Для достижения точности ε необходимо совершить
N итераций, где ε
abN −≈ 2log . Это означает, что для получения каждых
трех верных десятичных знаков необходимо совершить около 10 итераций. Если на отрезке ],[ ba находится несколько корней уравнения
0)( =xf , то процесс сходится к одному из них, заранее не известно, к какому. Метод не применим для отыскания кратных корней четного порядка. В случае кратных корней нечетного порядка он менее точен, по сравнению со случаем простого корня.
11.3. Метод простых итераций
Метод простых итераций (метод последовательных приближений) решения уравнения 0)( =xf состоит в замене исходного уравнения эквивалентным ему уравнением )(xx ϕ= и построении последовательности
)(1 nn xx ϕ=+ , сходящейся при ∞→n к точному решению. Сформулируем достаточное условие сходимости метода простых итераций.
Теорема. Пусть функция )(xϕ определена и дифференцируема на ],[ ba , причем все ее значения ],[)( bax ∈ϕ . Тогда, если существует число q
такое, что 1)( <≤′ qxϕ на отрезке ],[ ba , то последовательность )(1 nn xx ϕ=+ , ,...2,1,0=n сходится к единственному на ],[ ba решению
уравнения )(xx ϕ= при любом начальном значении ],[0 bax ∈ , т.е ξϕ ==
→∞→∞+
nn
nn xx )(limlim 1 , 0)( =ξf , ],[ ba∈ξ .
При этом если на отрезке ],[ ba производная )(xϕ ′ положительна, то
11 −−−
<− nnn xxq
qxξ , если )(xϕ ′ отрицательна, то 1−−<− nnn xxxξ .
Как следует из теоремы, для сходящегося метода простой итерации справедлива оценка 1−−≤− nn xqx ξξ . Это означает, что метод простой итерации обладает линейной скоростью сходимости.
Опишем один шаг итераций. Исходя из найденного на предыдущем шаге значения 1−nx , вычисляем )( 1−= nxy ϕ . Если ε>− −1пху , полагаем
yxn = и выполняем очередную итерацию. Если же ε<− −1nxy , то вычисления заканчиваем и за приближенное значение корня принимаем
102
величину yxn = . Погрешность полученного результата зависит от знака производной )(xϕ′ .
При 0)( >′ xϕ корень найден с погрешностью q
q−1ε , если 0)( <′ xϕ ,
то погрешность не превышает ε . Как исходное уравнение 0)( =xf заменить в окрестности корня
эквивалентным ему уравнением )(xx ϕ= ? Очевидно, что эквивалентным исходному уравнению будет уравнение )()( xfxxx τ+= , где )(xτ не меняет знак на том отрезке, где разыскивается решение. Выбор функции )(xτ должен обеспечивать сходимость соответствующего метода простой итерации.
В частности, положим constx == ττ )( . Получаем итерационный метод
)(1k
kk xfxx=
−+
τ, ,...1,0=k ,
который называют методом релаксации. В методе релаксации
)()( xfxx ⋅+= τϕ , поэтому )(1)( xfx ′⋅+=′ τϕ , и достаточное условие сходимости 1)( <′ xϕ выполняется, если справедливы неравенства
0)(2 <′⋅<− xfτ . Если в некоторой окрестности корня выполнены условия
0)( <′ xf , Mxfm <′<< )(0 , то метод релаксации сходится при
∈
M2,0τ .
Доказано, что в этом случае оптимальным является Mm +
=2
0τ и
справедлива оценка 00 )( xqx nn −≤− ατα , где
mMmMq
+−
=)( 0τ .
Ничего не изменится, если 0)( >′ xf , просто в этом случае нужно поменять знак «плюс» на «минус» в уравнении )()( xfxxx τ+= .
Замечание. Вблизи корня асимптотическая сходимость определяется величиной )(αϕ ′ и будет особенно быстрой при 0)( =′ αϕ . Значит, успех метода зависит от того, насколько удачно выбрано )(xϕ . Например, для вычисления квадратного корня, т.е. решения уравнения ax =2 , можно
положить xax =)(ϕ и
+=
xaxx
21)(ϕ . Получаем соответственно
итерационные методы n
n xax =+1 и
+=+
nnn x
axx21
1 . Первый метод не
сходится, а второй сходится и очень быстро, т.к. 0)( =′ αϕ .
103
11.4. Метод Ньютона
Метод состоит в построении итерационной последовательности
)(/)(1 nnnn xfxfxx ′−=+ , ,....2,1,0=n , (11.4)
сходящейся к корню уравнения 0)( =xf . Сформулируем достаточные условия сходимости метода. Теорема. Пусть )(xf определена и дважды непрерывно
дифференцируема на ],[ ba , причем 0)()( <bfaf , а производные )(xf ′ , )(xf ′′ отличны от нуля и сохраняют знак на отрезке ],[ ba . Тогда, исходя из
начального приближения ],[0 bax ∈ , удовлетворяющего неравенству 0)()( 00 >′′ xfxf , можно построить последовательность
)(/)(1 nnnn xfxfxx ′−=+ , ,...2,1,0=n , сходящуюся к единственному на ],[ ba решению ξ уравнения 0)( =xf .
Метод Ньютона допускает простую геометрическую интерпретацию. Если через точку с координатами ))(,( nn xfx провести касательную, то абсцисса точки пересечения этой касательной с осью Ox и есть очередное приближение 1+nx корня уравнения 0)( =xf .
Для оценки погрешности n -го приближения корня можно
воспользоваться неравенством 2
11
2
2 −−≤− nnn xxm
Mxξ , где 2M – наибольшее
значение модуля второй производной )(xf ′′ на отрезке ],[ ba ; 1m – наименьшее значение модуля первой производной )(xf ′ на отрезке ],[ ba . Из приведенного неравенства следует, что метод Ньютона сходится с квадратичной скоростью сходимости. Таким образом, если ε<− −1nn xx , то
( )12
2 2/ mMxn εξ ≤− . Последнее соотношение означает, что при хорошем начальном приближении корня после каждой итерации число верных десятичных знаков в очередном приближении удваивается, т.е. процесс сходится очень быстро. Значит, если необходимо найти корень с точностью ε , то итерационный процесс можно прекращать, когда
2101 /2 Mmxx nn εε =<− − .
104
Замечание. Метод Ньютона можно рассматривать, как метод простой
итерации с )()()(
xfxfxx
′−=ϕ . Тогда
( )2)()()()(
xfxfxfx
′′′
=′ϕ . В точке корня ξ=x
нашего уравнения 0)( =ξf , тогда и 0)( =′ ξϕ . Поэтому в достаточно малой окрестности корня 1)( ≤′ xϕ и, следовательно, в этой окрестности метод Ньютона сходится.
11.5. Модификации метода Ньютона
Цель всех видоизменений основной формулы (11.4) метода Ньютона – уменьшение вычислительных затрат, связанных с необходимостью нахождения производной на каждом итерационном шаге, а также возможность вычисления кратного корня.
Следующие итерационные методы вычисления корня нелинейного уравнения 0)( =xf приведем для краткости в виде таб. 1.
Таблица 11.1. Наименование Формулы 1 Упрощенный метод
Ньютона )(/)( 01 xfxfxx nnn ′−=+ , ,...2,1,0=n .
2 Метод хорд )(
)()(1 nn
nnn xf
xfcfxcxx
−−
−=+ , ,...2,1,0=n .
c – фиксированная точка из окрестности корня
3 Метод секущих )(
)()( 1
11 n
nn
nnnn xf
xfxfxxxx
−−
−=−
−+ , ,...2,1,0=n .
4 Метод Стеффенсена )(
)())(()(
1 nnnn
nnn xf
xfxfxfxfxx
−+−=+ ,
,...2,1,0=n . 5 Модифицированный
метод Ньютона для поиска кратных корней
)()(
1n
nnn xf
xfmxx′
−=+ , ,...2,1,0=n ,
где m – кратность вычисляемого корня
105
11.6. Метод Вегстейна
Данное уравнение 0)( =xf переписываем в эквивалентном виде )(xx ϕ= . Исходя из некоторого начального приближения 0x действительного
корня уравнения )(xx ϕ= , строим две последовательности nx и ny , полагая
00 yx = ; )( 011 xyx ϕ== ,
а при 2≥n
)(1 nn xy ϕ=+ , )()(
))((
11
1111
−+
++++ −−−
−−−=
nnnn
nnnnnn xxyy
xyyyyx .
Доказано, что последовательность nx в методе Вегстейна будет
быстрее сходиться к корню, чем последовательные приближения в обычном итерационном процессе, описанном выше. Более того, указанная модификация итерационного процесса сходится и в том случае, когда в окрестности корня производная )(xϕ ′ по абсолютной величине больше единицы, т.е. при более широких условиях.
11.7. Метод Рыбакова А. М.
Метод Рыбакова позволяет последовательно найти все действительные корни уравнения
( ) 0=xf ,
начиная расчеты с некоторого левого крайнего Nx −= оси )( +∞<<−∞ x .
Итак, рассмотрим некоторый отрезок ],[ ba . Пусть [ ]
( ) Mxfbax
≤′∈ ,
max .
Организуем итерационный процесс
106
( )Mxf
xx nnn +=+1 , ax =0 , ,...1,0=n . (11.5)
Докажем, что справедливы неравенства:
α≤≤ +1nn xx , (11.6)
где α – первый левый корень на отрезке [ ]ba, . Справедливость левого неравенства 1+≤ nn xx следует из формулы
(11.5). Покажем, что справедливо и правое неравенство α≤+1nx . При 0=n это неравенство справедливо. Предположим, что неравенство верно для некоторого n , и докажем его справедливость для номера )1( +n .
Согласно формуле Лагранжа ( ) ( )( )αξ −′= nn xfxf , где [ ] [ ]baxn ,, ⊂∈ αξ . Вычитая α из обеих частей (11.5), получаем
( ) ( )
( ) ( )( ) ,01
1
≤
−
−′+−=
=−′
+−=+−=−+
ααξ
α
αξααα
n
nn
nn
nnn
xMxf
x
Mxf
xMxf
xx
тем самым справедливость неравенств (11.6) доказана. Из (11.6) видно, что имеем числовую последовательность nx , сходящуюся к α . Последовательность (11.5) сходится к α – первому корню уравнения
( ) 0=xf , расположенному справа от ax = . После вычисления корня α=x , полагаем εα +=0x , находим
следующий корень, расположенный правее α , и т.д.
107
Лекция 12. Решение систем нелинейных уравнений. Методы простой итерации, Зейделя, Ньютона. Сходимость.
Рассмотрим методы решений произвольной нелинейной системы
уравнений в nR
,0),...,,(,..............................,0),...,,(,0),...,,(
21
212
211
=
==
nn
n
n
xxxf
xxxfxxxf
или в более краткой векторной форме
0)( =xf rr
, здесь ),...,,( 21 nxxxx =r , ),...,,( 21 nffff =
v.
12.1. Метод простых итераций
Метод простых итераций (метод последовательных приближений) решения нелинейной системы уравнений
0)( =xf rr
(12.1)
состоит в замене исходной системы эквивалентной ей системой уравнений )(xx rrr
ϕ= и построении последовательности
)( )()1( kk xx rrrϕ=+ , ,...1,0=k , (12.2)
сходящейся при ∞→k к точному решению xr системы (12.1). Таким образом, данный метод является естественным обобщением метода простых итераций для одного уравнения.
Близость последовательных приближений (итераций) )( kxr к точному решению xr определяется по-разному для разных норм вектора. Нетрудно показать, что
108
( ) ( )( ) ( )j
ij
kj
n
jik
i дхдxxxx ξϕ
r−Σ=−
=
+
1
1 ,
где ξ
r – точка, лежащая между точками n-мерного пространства )1( +kxr и xr на
прямой, соединяющей эти точки. Из этого равенства видно, что сходимость итераций определяется
свойствами матрицы производных
=′
j
i
дхxдx )()(rr ϕ
ϕ . Действительно,
справедлива следующая теорема. Теорема. Пусть в некоторой G -окрестности решения α
rr=x
системы (12.1) функции )(xi
rϕ , ni ,...,1= дифференцируемы и выполнено
неравенство
qx ≤′ )(rϕ , (12.3)
где 0 1q≤ < , q – постоянная. Тогда независимо от выбора начального приближения )0(xr из указанной G -окрестности корня итерационная последовательность не выходит из этой окрестности, метод сходится со скоростью геометрической прогрессии и справедлива следующая оценка погрешности:
)0()( xqx kk rrrr−≤− αα . (12.4)
Замечание 1. В условиях теоремы верна апостериорная оценка
погрешности
)1()()(
1−−
−≤− kkk xx
qqx rrrr
α , (12.5)
которая удобна для формирования критерия окончания итераций, если известна величина q . Однако найти значение q , удовлетворяющее неравенству (12.5) для всех xr из некоторой G -окрестности корня, далеко не просто. В ряде случаев при наличии достаточно хорошего начального приближения )0(xr можно, считая, что )( )0(
0 xqq rϕ ′=≈ , использовать
следующий практический критерий окончания итерационного процесса:
εε0
01
)1()( 1q
qxx nn −=≤− −rr . (12.6)
109
Замечание 2. На практике рассматривают матрицу
.max)(
∂∂
==⊂
j
i
Gxij xMM ϕ
v Норма этой матрицы мажорирует соответствующие
нормы матрицы производных. Поэтому достаточным условием сходимости является неравенство 1<M .
В некоторых случаях для ускорения сходимости полезно использовать следующий аналог метода Зейделя:
).,...,,,(........................................................),,...,,,(
),,...,,,(),,...,,,(
)()1(3
)1(2
)1(11
)1(
)()(3
)1(2
)1(13
)1(3
)()(3
)(2
)1(12
)1(2
)()(3
)(2
)(11
)1(1
kn
kkkkn
kn
kkkk
kn
kkkk
kn
kkkk
xxxxx
xxxxxxxxxx
xxxxx
++++
+++
++
+
=
=
=
=
ϕ
ϕ
ϕ
ϕ
Более общий вариант метода Зейделя состоит в следующем: i -я
компонента решения на )1( +k -й итерации определяется как решение нелинейного уравнения ,0)( )1( =+k
ixF где ),...,,...()( )()(1
)1(1
)1(1
ki
kii
ki
kii xxxxxfxF +
+−
+= . Преимущества этого подхода состоят в возможности использования
методов решения уравнений с одним неизвестным и в отсутствие необходимости приведения системы уравнений к виду, удобному для
итераций. Указанный метод сходится, если для матрицы Якоби
∂∂
j
i
xxf )(r
выполнены условия диагонального преобладания. Иногда существенный выигрыш дает использование метода,
являющегося аналогом метода релаксации. В нем очередную i -ю компоненту )1( +k -го приближения вычисляют по формулам
).~)(1(~),,...,,,...,(~
)()1()1()1(
)()()1(1
)1(1
)1(
ki
ki
ki
ki
kn
ki
ki
ki
ki
xxxxxxxxx
−−+=
=+++
+−
++
ω
ϕ
110
12.2. Метод Ньютона для решения систем нелинейных уравнений
Метод Ньютона является одним из наиболее эффективных методов решения самых разных нелинейных задач. Чтобы привести расчетную формулу метода Ньютона, через )(xf r′ обозначим матрицу Якоби:
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
=
n
nnn
n
n
xxf
xxf
xxf
xxf
xxf
xxf
xxf
xxf
xxf
xf
)(...)()(.............
)(...)()(
)(...)()(
)('
21
2
2
2
1
2
1
2
1
1
'1
rrr
rrr
rrr
r
Итерационная формула метода Ньютона для вычисления корней
нелинейной системы уравнений (12.1) имеет вид:
,....2,1,0),()(( )(1)()()1( =⋅′−= −+ kxfxfxx kkkk rrrrr (12.7) Формула (12.7) предполагает использование трудоемкой операции
обращения матрицы, поэтому непосредственное ее использование для вычисления )1( +kxr не всегда целесообразно. Преобразуем (12.7) следующим образом. Перенося )( kxr влево и умножая результат на )( kxf r′ , получаем эквивалентную системе (12.7) систему линейных алгебраических уравнений
...1,0),()( )()1()( =−=∆⋅′ + kxfxxf kkk rrrr (12.8)
относительно разности )()1()1( kkk xxx rrr
−=∆ ++ . Решив систему линейных алгебраических уравнений (12.8) каким-либо
приемлемым методом, вычисляем очередное приближение к корню
,...1,0,)1()()1( =∆+= ++ kxxx kkk rrr (12.9) Если 0)(det ≠′ xf r в достаточно малой окрестности корня системы
(12.1), то в этой окрестности метод Ньютона сходится, причем с квадратичной скоростью, т.е. если ε<−+ )()1( kk xx rr , то εε <<≈− + 2)1(kxx rr .
111
Квадратичная скорость сходимости метода Ньютона позволяет использовать простой практический критерий окончания итерационного процесса
ε≤−+ )()1( kk xx rr . (12.10)
Если начальное приближение выбрано удачно, то метод Ньютона
сходится очень быстро. Пример. Используя метод Ньютона, найдем с точностью 410−=ε
решение системы
.lnln,8
1221
2132
31
xxxxxxxx
==+
.
Так же, как и в методе простых итераций, в качестве начального
приближения возьмем 8,3)0(1 =x , 2)0(
2 =x . Расчеты будем вести по формулам (12.8), (12.9), в которых
−−+
=1221
2132
31
lnln8
)(xxxx
xxxxxf rr
,
−−
−−=′
12
1
1
22
1222
21
lnln
8383)( x
xx
xxx
xxxxxf r .
Результаты расчетов приведены в таблице 2.
Таблица 12.1. k 0 1 2 3
)(1
kx 3.80000 3.77258 3.77388 3.77389 )(
2kx 2.00000 2.07189 2.07708 2.07710 При 2=k критерий окончания 4)()1( 10−
∞
+ =<− εkk xx rr выполняется и можно положить 0001,07739,3~
1 ±=x , 0001,00771,2~2 ±=x .
12.3. Модификации метода Ньютона
Существует большое число модификаций метода Ньютона, позволяющих в тех или иных ситуациях снизить его трудоемкость либо
112
избежать необходимости вычисления производных. Рассмотрим кратко некоторые из них.
Упрощенный метод Ньютона. Заменим в расчетных формулах метода Ньютона (12.8), (12.9) матрицу )( )(kxf r′ , зависящую от k , постоянной матрицей )( )0(xfA r′= . В результате получаем формулы упрощенного метода Ньютона:
)( )()1( kk xfxA rrr
−=∆ + , (12.11) ...1,0,)1()()1( =∆+= ++ kxxx kkk rrr (12.12)
Можно показать, что этот метод сходится со скоростью
геометрической прогрессии, если начальное приближение )0(xr выбрано достаточно близким к решению α
rr=x . Вычислительные затраты могут
оказаться меньше за счет того, что вычисление матрицы Якоби производится только один раз и, согласно (12.11), многократно решаются системы линейных алгебраических уравнений с одной и той же фиксированной матрицей A и различными правыми частями. Это означает, что при решении системы (12.11) методом Гаусса возможно применение LU -разложения матрицы A , которое резко уменьшает число операций, необходимых для вычисления )1( +∆ kxr .
Использование формул численного дифференцирования. Довольно
часто вычисление производных j
i
xf
∂∂ , являющихся элементами матрицы
)(xf r′ , затруднено или вообще невозможно. В такой ситуации для приближенного вычисления производных можно применять формулы численного дифференцирования. Например, можно использовать следующую конечно-разностную аппроксимацию производной:
)).,,(),,,,,,((1
)(
)()(1
)()(1
)()()(1
)(1)(
)()(
kn
ki
kn
kj
kj
kj
kj
kik
j
kij
k
j
i
xxfxxhxxxfh
Jxxf
KKK
r
−+=
=≈∂∂
+−
(12.13)
В результате получаем следующий итерационный метод:
)( )()1()( kkk xfxJ rrr−=∆⋅ + , (12.14)
)1()()1( ++ ∆+= kkk xxx rrr , ...1,0=k . (12.15)
113
В простейшем варианте шаги jh выбирают не зависящими от номера итерации. Следует отметить, что выбор величины шагов представляет непростую задачу. С одной стороны, они должны быть достаточно малыми, чтобы матрица )(kJ хорошо приближала матрицу )( )(kxf ′ , с другой, они не могут быть очень малы, так как в этом случае влияние погрешностей вычисления функций jf на погрешность формулы (12.13) численного дифференцирования становится катастрофическим.
Метод ложного положения. Пусть cr – фиксированный вектор. Положим )()( kk xch rrr
−= . Тогда формулы (12.13)-(12.15) определяют метод ложного положения, обладающий линейной скоростью сходимости, если вектор cr и начальное приближение )0(xr выбраны достаточно близко к решению.
Метод секущих. Метод секущих можно рассматривать как метод (12.13)-(12.15), где )()1()( kkk xxh rrr
−= − . Метод секущих является двухшаговым: для вычисления очередного приближения )1( +kxr используют два предыдущих приближения )( kxr и )1( −kxr . Для того чтобы начать вычисления, необходимо задать два начальных приближения )0(xr и )1(xr . При удачном выборе начального приближения метод секущих сходится с порядком сходимости
2/)15( +=P . Метод Стеффенсена. Вычисления по методу Стеффенсена производят
по формулам (12.13)-(12.15), где )( )()( kk xfh rrr= .
Важно, что, хотя этот метод не требует вычисления производных и в отличие от метода секущих является одношаговым, он, как и метод Ньютона, обладает свойством квадратичной сходимости. Правда, как и в методе Ньютона, его применение затруднено необходимостью выбора хорошего начального приближения.
114
Лекция 13. Интерполяция. Существование и единственность обобщенного интерполяционного многочлена. Интерполирование алгебраическими многочленами. Интерполяционные полиномы Лагранжа и Ньютона. Оценка погрешности интерполяции.
Вопросы, связанные с приближением функций, встречаются во многих
прикладных задачах химии, биологии, физики, экологии, медицины. Постановки задач аппроксимации функций многообразны, поэтому существует и множество методов решения таких задач. Некоторые из них будут нами рассмотрены.
13.1. Интерполяция. Интерполяционный полином Лагранжа
Пусть на отрезке [ ]ba, заданы точки n
ix 0 : bxxxxa n ≤<<<<≤ ...210 . Эти точки будем называть узлами интерполяции или узлами сетки. В точках n
ix 0 заданы значения функции ( )xfy = : )( ixf , ni ,...1,0= . Тем самым функция )(xf задана таблицей:
f
..
.. Требуется построить функцию )(xgy = приближающую )(xf , такую,
что в узлах сетки
)()( ii xfxg = , ni ,...1,0= . (13.1) Функция )(xfy = называется аппроксимируемой функцией, а )(xgy =
– аппроксимирующей функцией. Условия (13.1) называются условиями интерполяции.
Определение 1. Интерполяция – это такой способ аппроксимации, при котором аппроксимируемая и аппроксимирующая функции принимают одинаковые значения в заданных точках.
Для того, чтобы дать строгое определение интерполяции и ответить на вопрос, а существует ли решение задачи интерполяции, введем ряд обозначений и определений.
115
Пусть ( ) ( ) xxx nn
i ϕϕϕ ,...,)( 00 = – )1( +n линейно независимых функций на отрезке ],[ ba .
Определение 2. Функция ( ) ( )∑=
=n
iii xaaxg
0, ϕr , где все constai = ,
называется обобщенным многочленом, построенным по системе функций ( ) n
i x 0ϕ . Определение 3. Система ( ) n
i x 0ϕ называется системой функций Чебышева на отрезке ],[ ba , если любой обобщенный многочлен, построенный по этой системе функций, у которого хотя бы один коэффициент 0≠ja , имеет не более n нулей.
Определение 4. Пусть даны точки nix 0 , значения функции в этих
точках ( ) nixf 0 и обобщенный многочлен ( ) ( )∑
=
=n
iii xaaxg
0, ϕr . Если
параметры ia , ni ,...1,0= выбирают из условий совпадения ( )axg r, с ( )xf в точках n
ix 0 , то такой способ аппроксимации называется интерполяцией, интерполированием или Лагранжевой интерполяцией.
Определение 5. Если условия интерполяции (13.1) выполнены, то ( )axg r, называют обобщенным интерполяционным полиномом.
Обозначим через F множество всех функций ( )xf , определенных на отрезке ],[ ba . Справедлива следующая теорема существования и единственности.
Теорема 1. Для того, чтобы для каждой ( ) Fxf ∈ и для любого набора узлов интерполяции bxxxxa n ≤<<<<≤ ...210 существовал единственный обобщенный интерполяционный полином необходимо и достаточно, чтобы система функций ( ) n
i x 0ϕ была системой Чебышева на отрезке ],[ ba . Доказательство. Для существования обобщенного интерполяционного
полинома необходимо и достаточно, чтобы система линейных алгебраических уравнений
)()(...)()( 1100 iinnii xfxaxaxa =+++ ϕϕϕ , ni ,...1,0= . (13.2)
относительно )1( +n неизвестных naaa ...,,, 10 имела решение при любом выборе на [ ]ba, попарно различных узлов nxxx ...,,, 10 и любом выборе чисел
)( ixf , ni ,...1,0= . Это требование выполняется тогда и только тогда, когда определитель
116
)(...)()(............
)(...)()()(...)()(
10
11110
00100
nnnn
n
n
xxx
xxxxxx
ϕϕϕ
ϕϕϕϕϕϕ
=∆
отличен от нуля при любом выборе попарно различных точек ix из отрезка [ ]ba, .
Покажем, что необходимым и достаточным условием для этого является условие того, что система функций ( ) n
i x 0ϕ образует систему Чебышева на [ ]ba, .
Действительно, если определитель ∆ для какой-либо системы узлов n
ix 0 обращается в нуль, то между столбцами в ∆ существует линейная зависимость
0)(...)()( 1100 =+++ innii xbxbxb ϕϕϕ , ni ,...1,0= .
Следовательно, обобщенный многочлен ∑=
=n
kkk xbx
0)()( ϕϕ имеет на [ ]ba,
более nнулей и ( ) ni x 0ϕ не является системой Чебышева на [ ]ba, .
Обратно. Если система ( ) ni x 0ϕ не образует систему Чебышева на [ ]ba, ,
то найдется нетривиальный обобщенный многочлен ∑=
n
kkk xc
0)(ϕ , имеющий на
[ ]ba, не менее )1( +n различных нулей. Принимая эти нули за узлы nix 0 , ,
получаем, что однородная система уравнений
0)(0
=∑=
n
kkk xc ϕ , ni ,...,1,0=
имеет нетривиальное решение, а следовательно, ее определитель ∆ равен нулю.
Единственность следует из того, что если 0≠∆ , то система (13.2) имеет единственное решение ∆∆= iia , ni ,...,1,0= при любом наборе чисел
( ) ni xf 0 . Обобщенный многочлен
∑= ∆
∆=
n
ii
i xxg0
)()( ϕ (13.3)
117
и будет единственным обобщенным интерполяционным многочленом для функции )(xf по системе узлов n
ix 0 . Теорема доказана. Как нетрудно видеть, следующие системы функций а) ,...,,1 21 xx ee αα , ji αα ≠ , при ji ≠ ; б) ,...2sin,2cos,sin,cos,1 xxxx ; в) ,...,,1 2xx , т.е. i
i xx =)(ϕ ; – являются системами функций Чебышева на любом отрезке ],[ ba .
Возьмем в качестве )(xiϕ функции ix , ni ,...,1,0= , тогда n
n xaxaaaxg +++= ...),( 10
r будет не обобщенным, а обычным полиномом. Коэффициенты этого многочлена каждый раз нужно находить решая
СЛАУ )(),( ii xfaxg =r , ni ,...,1,0= . Однако Лагранж, чтобы отказаться от
трудоемкого процесса решения СЛАУ, предложил искать интерполяционный многочлен в виде
( ) ( ) ( )k
n
kkn xfxcxLaxg ∑
=
==0
),( r . (13.4)
Так как, согласно условий интерполяции (13.1), должны выполняться
равенства ( ) ( )iin xfxL = , то приходим к уравнениям ( ) ( ) )(0
ik
n
kik xfxfxc =∑
=
,
ni ,...,1,0= . Следовательно, функции ( )xck должны удовлетворять условиям
( )
=≠
=,,1,,0
kiki
xc ik ni ,...,1,0= . (13.5)
Отсюда видно, что каждая из функций ( )xсk , nk ,...,1,0= имеет на
отрезке ],[ ba не менее n нулей. Так как ( )xLn – многочлен степени n , то и ( )xсk можно искать в виде многочлена
( ) ( )( ) ( )( ) ( )nkkkk xxxxxxxxxxaxс −−−−−= +− ...... 1110 .
В этом случае первые условия из (13.5) выполняются. Второму
условию удовлетворяем выбором коэффициента ka . Из требования ( ) 1=kk xс ,
получаем ( )( ) ( )( ) ( )nkkkkkkkk xxxxxxxxxx
a−−−−−
=+− ......
11110
. Окончательно
( ) ∏≠= −
−=
n
kjj jk
jk xx
xxxс
0 )()(
, следовательно
118
( ) ( )∏∑≠== −
−=
n
kjj jk
jn
kkn xx
xxxfxL
00 )()(
. (13.6)
Это и есть интерполяционный многочлен Лагранжа. Иногда его
записывают в другом виде. Рассмотрим функцию ( ) ( ) ( )nn xxxxxxx −−−=+ )...( 101ω . Подчеркнем, что )(1 xn+ω – это многочлен
степени )1( +n со старшим коэффициентом единица, корнями которого служат узлы интерполяции. Нетрудно видеть, что
( ) ( ) ( )( ) ( )nkkkkkkk xxxxxxxxx −−−−=′+− ...... 110ω и ( ) ( )
( ) ( )knk
nk xxx
xxc1
1
+
+
′−=
ωω .
Поэтому )(xLn можно записать следующим образом
( ) ( ) ( )( ) ( )∑
= +
+
′−=
n
k knk
nkn xxx
xxfxL0 1
1
ωω . (13.7)
13.2. Разделённые разности. Интерполяционный полином Ньютона
Пусть заданы точки bxxxxa n ≤<<<<≤ ...210 и значения функции )(xfy = в этих точках ( )ixf , ni ,...,1,0= .
Определение 6. Разделённой разностью первого порядка называется
отношение ( ) ( ) ( )ij
ijji xx
xfxfxxf
−−
=, , nji ,...,1,0, = , ji ≠ .
Первую разделенную разность можно интерпретировать, как аппроксимацию первой производной функции )(xfy = .
Определение 7. Разделённой разностью второго порядка называется
отношение ( ) ( ) ( )ik
jikjkji xx
xxfxxfxxxf
−−
=,,
,, , kji ≠≠ .
Вторую разделенную разность можно рассматривать, как аппроксимацию второй производной.
Наконец, пусть известны разделенные разности k -го порядка ( )kjjj xxxf ++ ,...,, 1 и ( )121 ,...,, ++++ kjjj xxxf , тогда
119
Определение 8. Разделенной разностью ( )1+k -го порядка называется
отношение ( ) ( ) ( )jkj
kjjkjjkjjj xx
xxfxxfxxxf
−−
=++
+++++++
1
1111
,...,,...,,...,, .
Разделённые разности иногда удобно записывать с помощью таблицы:
120
Таблица 13.1. Таблица разделенных разностей
0x ( )0xf ... ( )10 , xxf ...
1x ( )1xf ( )210 ,, xxxf ... ( )21, xxf ...
2x ( )2xf ... … … … … ... ( )nxxxf ,...,, 10 ( )nnn xxxf ,, 12 −− ... ( )nn xxf ,1− ...
nx ( )nxf ... Отметим некоторые свойства разделенных разностей. 1. Разделённая разность есть симметрическая функция своих
аргументов. 2. Разделённая разность ( )1+k -го порядка от полинома k -го порядка
тождественно равна нулю.
3. ( ) ( )( )
∑∏=
≠=
−=
n
in
ijj
ji
in
xx
xfxxxf0
0
10 ,...,, .
Перейдем к выводу интерполяционного полинома в форме Ньютона. Пусть ( )xL j – интерполяционный полином Лагранжа, построенный по узлам
jxxx ,...,, 10 ; ( ) ( )00 xfxL = . Запишем тождество:
( ) ( ) ( ) ( )( ) ( ) ( )( )
( ) ( ) ( )( )∑=
−
−
−+=
=−++−+=n
jjj
nnn
xLxLxL
xLxLxLxLxLxL
110
1010 .... (13.8)
Рассмотрим произвольное слагаемое ( ) ( )xLxL jj 1−− . Из условий
интерполяции ( ) ( ) ( )kkjkj xfxLxL ==−1 для ( )1,...,1,0 −= jk , а nj ,...,1= . Следовательно, разность ( ) ( )xLxL jj 1−− , являющаяся алгебраическим многочленом степени j , обращается в нуль в точках 110 ,...,, −jxxx . Ее можно представить в виде
( ) ( ) ( )( ) ( )1101 ... −− −−−=− jjjj xxxxxxAxLxL , (13.9)
где jA - числовой коэффициент.
121
Для того, чтобы найти jA , подставляем в (13.9) jxx = . Имеем ( ) ( ) ( ) ( )101 ... −− −−=− jjjjjjj xxxxAxLxf , откуда
( ) ( )
( ) ( )( )
( ) ( ) ( )( ) ( )
( ) =−−
−−
−−=
=−−
−=
∏∑∏
−
≠=
−
=−
=
−
−
−
1
0
1
01
0
10
10
1
1...
...j
ikk ki
kjj
iij
kkj
jjj
j
jjj
jjjj
xxxx
xfxxxxxx
xfxxxx
xLxfA
( )( ) ( )
( )( ) ( ) ( )( ) ( ) =
−−−−−−
−−=
−+−
−
=−∑
1110
1
010 ......1
... jiiiiii
j
i ij
i
jjj
j
xxxxxxxxxxxf
xxxxxf
( ) ( ) ( )( ) ( ) ( )jjiiiiii
j
ii xxxf
xxxxxxxxxf ,...,,
......1
101100
=−−−−
=+−=
∑
(13.10)
Теперь, учитывая (13.8), (13.9) и (13.10), получаем
( ) ( ) ( )∑=
− =−−+=n
jjjn xxxfxxxxxLxL
110100 ,...,,))...((
( ) ( ) ( ) ( )( ) ( ) ...,,, 210101000 +−−+−+= xxxfxxxxxxfxxxf( )( ) ( ) ( )nn xxxfxxxxxx ,...,,...... 10110 −−−−+
(13.11)
Интерполяционный полином Лагранжа, записанный в виде (13.11),
называют интерполяционным полиномом Ньютона. Правую часть (13.11) можно считать разностным аналогом ряда Тейлора:
( ) ( ) ( ) ( ) ( ) ( ) ...!2 0
20
000 +′′−+′−+= xfxxxfxxxfxf .
Интерполяционной формулой Ньютона удобней пользоваться, когда
интерполируется одна функция ( )xf , но число узлов интерполяции постепенно увеличивается. Если число узлов фиксировано, а интерполируется несколько функций, то удобней пользоваться формулой Лагранжа.
Если nxxx <<< ...10 , то формулу (13.11) можно называть формулой для интерполирования вперед. Если интерполяционный полином Ньютона записать в виде
( ) ( ) ( ) ( ) ( )( ) ( ) ...,,, 2111 +−−+−+= −−−− nnnnnnnnnn xxxfxxxxxxfxxxfxL
( )( ) ( ) ( )01111 ,,...,,...... xxxxfxxxxxx nnnn −− −−−+ ,
122
то получаем формулу для интерполирования назад.
13.3. Остаточный член интерполяционных полиномов Лагранжа и Ньютона
Для того, чтобы оценить погрешность интерполяционных полиномов,
предположим, что ( ) [ ]baCxf n ,1+∈ . Введем в рассмотрение функцию
( ) ( ) ( ) ( )zkzLzfz nn 1+−−= ωϕ , (13.12)
где z – текущая координата, ))...()(()( 101 nn xzxzxzz −−−=+ω , k – константа. Выбираем k из условия ( ) 0=xϕ , где x – некоторая точка из [ ]ba, , т.е.
( ) ( )( )x
xLxfkn
n
1+
−=
ω. При таком выборе k функция ( )zϕ обращается в нуль по
крайней мере в )2( +n точках отрезка [ ]ba, , а именно, в точках ( )nxxxx ,...,,, 10 , тогда по теореме Ролля её производная )(zϕ′ обращается в нуль по крайней мере в ( )1+n -ой точке отрезка [ ]ba, , вторая производная
( )zϕ ′′ обращается в нуль по крайней мере в ( )n точках и т.д., наконец ( )( )zn 1+ϕ обращается в нуль по крайней мере в одной точке отрезка [ ]ba, . Следовательно, существует точка ( )ba,∈ξ такая, что ( )( ) 01 =+ ξϕ n . Распишем это равенство подробно: ( )( ) ( )( ) ( ) 0!111 =+−= ++ nkf nn ξξϕ , откуда находим, что
( )( )( )!1
1
+=
+
nfk
n ξ . Из равенства 0)( =xϕ при найденном k следует:
( ) ( )( )( )
( ) ( )xn
fxLxf n
n
n 1
1
!1 +
+
+=− ω
ξ . (13.13)
Формула (13.13) и есть формула остаточного члена или погрешности
интерполяционного многочлена Лагранжа. Сама по себе эта формула ничего не дает, т.к. точка ( )ba,∈ξ на практике неизвестна. Однако из (13.13) следует оценка погрешности интерполяционного полинома Лагранжа:
( ) ( )( )
( ) ( )xn
xfxLxf n
n
n 1
1
!1)(
+
+
+≤− ω . (13.4)
123
В частности справедливо неравенство ( ) ( ) ( ) ( )xnMxLxf n
nn 1
1
!1 ++
+≤− ω , где
( )( )xfM nn
11 sup +
+ = по ],[ bax ∈ . Интерполяционный полином Ньютона имеет тот же остаточный член, но его можно представить в другом виде.
Вспоминая формулу ( ) ( )( )
∑∏=
≠=
−=
n
in
ikk
ki
in
xxxfxxxf
0
0
10
1,...,, , распишем
разделенную разность ),...,,,( 10 nxxxxf подробно:
( ) ( )( )( ) ( )
( )( )( ) ( ) ...
......,...,,,
0100
0
1010 +
−−−+
−−−=
nnn xxxxxx
xfxxxxxx
xfxxxxf
( )( )( ) ( )10 ...
...−−−−
+nnnn
n
xxxxxxxf .
Отсюда находим, что
( ) ( ) ( ) ( )( ) ( ) ( ) ( )( ) ( )
( )( ) ( ) .........
...
...12101
201
010
10 +
−−−−−−
+−−
−−=
n
n
n
n
xxxxxxxxxxxxxf
xxxxxxxxxfxf
( ) ( )( ) ( )( )( ) ( ) +
−−−−−−
+−
−
110
110
.........
nnnn
nn xxxxxx
xxxxxxxf
( )( ) ( ) ( ) ( ) ( ) ( )nnnnn xxxfxxLxxxxfxxxxxx ,...,,,...,,,... 011010 ++=−−−+ ω .
Из этого равенства следует, что остаточный член интерполяционного полинома Ньютона есть
),...,,,()()()( 101 nnn xxxxfxxLxf +=− ω (13.15)
Сравнивая (13.13) и (13.15) находим, что
( )( )( )
( )!1,...,,,
1
10 +=
+
nfxxxxf
n
n
ξ .
Эта формула устанавливает связь между разделённой разностью и
производной ( )1+n -го порядка. Итак, мы получили оценку погрешности (13.14) интерполяционного
полинома Лагранжа на отрезке ],[ ba , когда число узлов интерполяции фиксировано. Возникает вопрос, как расположить эти узлы на отрезке, чтобы
124
погрешность была минимальной? Прежде чем ответить на этот вопрос, рассмотрим многочлены Чебышева.
125
Лекция 14. Многочлены Чебышева. Оптимизация погрешности интерполяции. Сходимость интерполяционного процесса. Сплайн-интерполирование. Построение кубического сплайна. Интерполирование с кратными узлами. Многомерная интерполяция.
14.1. Многочлены Чебышева
Определение 1. Многочленом Чебышева называется функция
[ ]xnxTn arccoscos)( = , (14.1) где ,...2,1,0=n , [ ]1,1−∈x .
Прежде всего, покажем, что функция )(xTn , представленная с помощью тригонометрических функций, на самом деле является многочленом при любом ,...2,1,0=n . Действительно, известна формула
( ) ( )θθθθ 1coscoscos21cos −−=+ nnn . Отсюда, полагая xarccos=θ , имеем
( ) ( ) ( )xTxxTxT nnn 11 2 −+ −= , 1≥n . (14.2) Так как 00 =T , xT =1 , то из рекуррентной формулы (14.2) следует, что
выражения (14.1) действительно есть многочлены. Нетрудно проверить, что 12)( 2
2 −= xxT , xxxT 34)( 33 −= ,
188)( 244 +−= xxxT , xxxxT 52016)( 35
5 +−= и т.д. Анализ рекуррентной формулы (14.2) показывает, что все функции )(xTn при любом натуральном n являются многочленами степени n со старшим коэффициентом 12 −n .
Из уравнения [ ] 0arccoscos)( == xnxTn находим корни полинома
Чебышева ( )n
kxk 212cos π+
= , 1,...,1,0 −= nk . Видно, что )(xTn имеет ровно n
корней и все они лежат на отрезке [ ]1,1− . Из (14.2) следует, что ( ) 1≤xTn при 1≤x , и точки экстремумов
полинома )(xTn есть n
mx m
πcos)( = , nm ,...,1,0= . Причем
( )( ) ( )mmn mxT 1cos −== π .
126
Рассмотрим многочлен ( ) ( ) ...21
1+==
−
nnnn xxTxT .
Лемма. Если ( )xPn – произвольный многочлен степени n со старшим коэффициентом единица, то
[ ]( )
[ ]( )
11,11,1 21maxmax
−−∈−∈=≥
nnxnxxTxP . (14.3)
Доказательство. Предположим противное. Рассмотрим разность
( ) ( )xPxT nn − , это многочлен степени ( )1−n . В точках экстремумов полинома Чебышева )(mx ( )( ) ( )( )( ) ( ) ( )( )( ) ( )m
mnnm
mnmn signxPsignxPxTsign 121 1 −=−−=− − , т.к.
согласно предположению ( )( )12
1−
< nmn xP при любом m . Таким образом,
между каждыми двумя точками ( )mx , ( )1+mx многочлен ( ) ( )xPxT nn − меняет знак. Следовательно, отличный от нуля многочлен ( ) ( )xPxT nn − степени ( )1−n имеет n различных корней. Противоречие. Полученное противоречие завершает доказательство леммы.
Итак, многочлен ( )xTn таков, что его максимальное по модулю значение на отрезке ]1,1[− не превосходит максимального по модулю значения на том же отрезке любого другого многочлена степени n со старшим коэффициентом единица. Отсюда его название:
Определение 2. Многочлен ( )xTn называется многочленом, наименее уклоняющимся от нуля на отрезке ]1,1[− .
Если рассматриваем некоторый отрезок [ ]ba, , то замена
xababx22−
++
=′ переведет отрезок [ ]1,1− в отрезок [ ]ba, . Тогда многочлен
[ ] ( ) ( ) ( )
−+−−
=− ab
abxTabxT nn
nba
n
22 12
, (14.4)
со старшим коэффициентом единица является многочленом, наименее уклоняющимся от нуля на отрезке [ ]ba, .
Корнями многочлена (14.4) являются
( )
+−
++
=n
kababxk 212cos
22π , 1,...,1,0 −= nk . (14.5)
127
Если ( )xPn – любой многочлен степени n со старшим коэффициентом
единица, то справедлива оценка [ ]
( )[ ]
[ ] ( ) ( )12
,
,, 2maxmax
−∈∈
−=≥
n
nba
nbaxnbax
abxTxP .
14.2. Минимизация оценки остаточного члена интерполяционного многочлена Лагранжа (выбор узлов интерполирования)
Из формулы остаточного члена интерполяционного полинома Лагранжа вытекает оценка
)(max!)1(
)()(max 1],[
1
],[x
nMxLxf nbax
nnbax +∈
+
∈ +≤− ω (14.6)
где )(max )1(
],[1 xfM n
baxn+
∈+ = .
Как минимизировать выражение, стоящее справа в оценке (14.6)? По построению ( ) ( )( ) ( )nn xxxxxxx −−−=+ ...101ω – это многочлен
степени ( )1+n со старшим коэффициентом единица. Поэтому
( ) ( )12
1
1],[ 2max
+
+
+∈
−≥
n
n
nbax
abxω при произвольном выборе узлов интерполяции.
Если в качестве узлов интерполирования взять корни полинома
Чебышева )(1 xTn+ , а именно: ( )
++−
++
=2212cos
22 nkababxk
π , nk ,...,1,0= , то
( ) ( ) ( )
−+−−
= ++
+
+ ababxTabx nn
n
n
22 112
1
1ω , и ( )12
1
1],[ 2)(max
+
+
+∈
−=
n
n
nbax
abxω .
Следовательно, при таком расположении узлов справедлива наилучшая из оценок, которая может быть получена как следствие оценки (13.14).
12
11
],[ 2)(
!)1()()(max
+
++
∈
−+
≤−n
nn
nbax
abnMxLxf . (14.7)
Итак, если в качестве узлов интерполирования взяты корни полинома
Чебышева, то получаем наименьшую погрешность интерполяции на отрезке при фиксированном числе узлов интерполяции.
128
14.3. О сходимости интерполяционного процесса
Поставим следующий вопрос. Можно ли другим способом, чем в предыдущем пункте повысить точность интерполяции на отрезке? А именно, будет ли уменьшаться погрешность интерполяции на отрезке, если все более и более увеличивать количество узлов интерполяции на отрезке? Чтобы ответить на этот вопрос, построим последовательности узлов интерполяции:
)0(
00 x=Ω , )1(1
)1(01 , xx=Ω , …, )()(
1)(
0 ,...,, nn
nnn xxx=Ω , …, (14.8)
здесь верхний индекс означает номер последовательности, нижний – номер узла. По каждой последовательности узлов nΩ строим интерполяционный полином для функции )(xfy = , который обозначим ),( xfLn . Тем самым получаем последовательность интерполяционных полиномов ),( xfLn . Как говорят, построили интерполяционный процесс для функции )(xfy = .
Определение 3 Интерполяционный процесс для функции )(xfy = сходится в точке [ ]bax ,* ∈ , если существует )(),(lim ** xfxfLnn
=∞→
.
Это мы привели определение поточечной сходимости. Теперь дадим определение равномерной сходимости.
Определение 4. Интерполяционный процесс сходится равномерно на [ ]ba, , если
[ ]0),()(max
,→−
∈xfLxf nbax
при ∞→n .
С ростом n элементы последовательностей nΩ , т.е. узлы интерполяции, все более плотно заполняют отрезок [ ]ba, , так что в любой его части, в окрестности любой точки отрезка, начиная с некоторого n , находится по крайней мере один узел. Причем, как мы помним, в каждом узле значение соответствующего интерполяционного полинома Лагранжа совпадает со значением функции в этой точке. Поэтому на первый взгляд кажется, что должна быть равномерная сходимость ),( xfLn к )(xf хотя бы для непрерывных функций. Однако оказывается не так.
Фабером было показано, что для любой системы узлов вида (14.8) найдется такая непрерывная функция )(xf , что построенные для нее интерполяционные многочлены Лагранжа по этим узлам не сходятся равномерно на [ ]ba, к )(xf .
Более того, как показал Бернштейн, последовательность интерполяционных полиномов Лагранжа ),( xfLn , построенных для
129
функции xxf =)( на отрезке [ ]1,1− по равноотстоящим узлам ( 1)(0 −=nx ;
1)( =nnx ) не стремится с возрастанием n к )(xf ни в одной точке отрезка за
исключением точек 1,0,1− . С другой стороны Марцинкевич показал: если )(xf непрерывна на
[ ]ba, , то найдется такая последовательность сеток, для которой соответствующий интерполяционный процесс сходится равномерно на [ ]ba, . Однако строить такие сетки очень сложно, причем для каждой )(xf нужно строить свою последовательность сеток.
Итак, в общем случае нет равномерной сходимости интерполяционного процесса, поэтому избегают строить интерполяционные многочлены высокой степени, чтобы избежать накопления вычислительной погрешности.
14.4. Сплайн–интерполяция
Если функция ( )xf очень сложно меняется на различных частях [ ]ba, или отрезок [ ]ba, – большой, то трудно аппроксимировать её с хорошей точностью на всем [ ]ba, с помощью одного интерполяционного полинома
( )xLn . Можно разбить отрезок [ ]ba, на какие-то части. На каждой части отрезка построить свой интерполяционный полином, а потом «срастить» их в точках разбиения отрезка [ ]ba, . Примерно такая идея заложена в сплайн-интерполяции.
Понятие сплайнов было введено в вычислительную математику примерно в 40-х годах прошлого века. Слово «сплайн» (английское spline) означает гибкую линейку, используемую для проведения гладких кривых через заданные точки плоскости.
Преимуществом интерполяционных сплайнов перед Лагранжевой интерполяцией является, во-первых, их сходимость и, во-вторых, устойчивость процесса вычислений.
Дадим определение интерполяционного сплайна степени m . Пусть на отрезке [ ]ba, заданы точки сетки bxxxxa N =<<<<= ...210 .
Тем самым будем считать, что отрезок [ ]ba, разбит на систему ∆ подотрезков: [ ] [ ] [ ] jiприxxbxaxxxxxxx jiNNN ≠≠===∆ − ,,,,,,...,,,, 012110 . В узлах сетки заданы значения функции Nyyy ,...,, 10 ( )( jj xfy = ).
130
Определение 5. Интерполяционным сплайном степени m для функции )(xf , построенным по системе подотрезков ∆ на отрезке [ ]ba, , называется
функция ),( xfS m∆ , которая удовлетворяет следующим условиям:
1) на каждом подотрезке [ ]ii xx ,1− , Ni ,...,1= она является многочленом степени m ;
2) на всем отрезке [ ]ba, она )1( −m раз непрерывно дифференцируема;
3) в узлах сетки она принимает заданные значения: iim yxfS =∆ ),( ,
Ni ,...,0= . Для примера рассмотрим, как строится кубический сплайн. Следует
отметить, что кубические сплайны, а также сплайны второй степени имеют большое практическое применение и довольно хорошо изучены.
На каждом подотрезке [ ]ii xx ,1− кубический сплайн, который для удобства обозначим через ( )xS , будем искать в виде многочлена третьей степени:
( ) ( ) ( ) ( )3
12
11 −−− −+−+−+= iiiiiii xxdxxcxxbaxS , ii xxx ≤≤−1 , Ni ,...,1= ,
(14.9)
где iiii dcba ,,, – коэффициенты, подлежащие определению. Их следует искать из условий непрерывности функции ( )xS и её первой и второй производных в узлах системы подотрезков ∆ и требований ( ) jj yxS = .
Подставляя в (14.9) 1−= ixx и ixx = имеем
( ) iii ayxS == −− 11 , Ni ≤≤1 , (14.10) ( ) 32
iiiiiiiii hdhchbayxS +++== , 1−−= iii xxh , Ni ≤≤1 . (14.11) Этими соотношениями мы удовлетворяем требованиям интерполяции и
непрерывности )(xS в узлах сетки. Найдем ( )xS ′ и ( )xS ′′ :
( ) ( ) ( )211 32 −− −+−+=′ iiiii xxdxxcbxS , [ ]ii xxx ,1−∈ , Ni ≤≤1 ,
( ) ( )162 −−+=′′ iii xxdcxS , [ ]ii xxx ,1−∈ , Ni ≤≤1 .
Потребуем непрерывности этих функций во всех точках, включая внутренние узлы. Приравнивая во внутренних узлах правые и левые пределы производных, имеем
131
21 32 iiiiii hdhcbb ++=+ , 11 −≤≤ Ni , (14.12)
iiii hdcc 31 +=+ , 11 −≤≤ Ni . (14.13) Итак, получили 24 −N уравнения на N4 неизвестных коэффициентов
iiii dcba ,,, . Недостающие два уравнения находят из краевых условий, которые, как
правило, задают на концах отрезка [ ]ba, в зависимости от решаемой задачи. Для простоты потребуем, чтобы ( ) 00 =′′ xS и ( ) 0=′′ NxS . Отсюда
получаем еще два уравнения на коэффициенты:
01 =c , 03 =+ NNN hdc . (14.14) В итоге имеем систему N4 линейных алгебраических уравнений
относительно N4 неизвестных. Эту систему можно решать по-разному, в частности методом исключения Гаусса. Решим ее следующим образом.
Из (14.10) находим все ia . Из (14.13) и (14.14) выражаем id через ic :
i
iii h
ccd31 −
= + , 11 −≤≤ Ni ,N
NN h
cd3
−= . (14.15)
Подставляя (14.15) в (14.11) и одновременно исключая 1−= ii ya , имеем
( )iiii
iii cch
hyyb 2
31
11 +−
−= +
− , 11 −≤≤ Ni ,
NNN
NNN ch
hyyb
321 −
−= − .
(14.16)
Теперь, исключая из (14.12) ib и 1+ib с помощью (14.16), а id – с
помощью (14.15), получаем систему линейных алгебраических уравнений относительно ic , которую нетрудно представить в виде
01 =c ,
( )
−−
−=+++
−
−−−+−−−
1
2111111 32
i
ii
i
iiiiiiiii h
yyh
yychchhch , Ni ≤≤2 ,
01 =+Nc .
(14.17)
Так как матрица этой системы трёхдиагональная, то решение легко
найти методом прогонки, которая в данном случае устойчива. По найденным
132
коэффициентам ic коэффициенты ib и id вычисляются по формулам (14.15) и (14.16).
Для кубического сплайна доказан [10] замечательный результат, который мы приведем без доказательств.
Теорема 1. Пусть ],[)( 4 baCxf ∈ . Тогда для интерполяционного кубического сплайна )(xS , построенного на сетке N
nx 0 , справедливы неравенства
4
4],[)()(max hMxSxf
ba≤− ,
34],[
)()(max hMxSxfba
≤′−′ , 2
4],[)()(max hMxSxf
ba≤′′−′′ ,
где
)(max )4(
],[4 xfMba
= , )(max 1 nnnxxh −= + .
Отсюда следует, что при 0→h последовательность функций )()( xS k ,
2,1,0=k (кубический сплайн и первые две его производные) сходится, соответственно, к )()( xf k .
Замечание. Кубический сплайн можно получить как решение следующей задачи. Обозначим через 2S множество непрерывных, непрерывно дифференцируемых и дважды кусочно непрерывно дифференцируемых функций )(xs , удовлетворяющих условиям ii yxs =)( ,
Ni ,...,1,0= , и через ∫ ∞<=1
0
22 ))(()( dxxssI . Требуется найти функцию )(3 xs ,
дающую )(inf 22
sISs∈
.
Решением поставленной задачи является кубический сплайн )(3 xs , удовлетворяющий условиям 0)( 03 =′′ xs и 0)(3 =′′ Nxs , где 00 =x , 1=Nx .
14.5. Интерполирование с кратными узлами. Интерполяционный полином Эрмита
Рассмотрим более общую задачу интерполирования.
133
Пусть теперь заданы в точках nix 0 не только значения функции, но и ее
производных до какого-то порядка, в каждом узле своего. Как строить интерполяционный полином?
Итак, пусть ),...(),...,(),( 10 xxx nϕϕϕ – это базисная система функций на ],[ ba . Требуется найти такую функцию
∑=
=m
iii xcx
0)()( ϕϕ , (14.18)
что
,,...,0,)(.........
,,...,0,)(,,...,0,)(
)1()1( njyx
njyxnjyx
jj
jj
jj
jj
==
=′=′==
−− ααϕ
ϕϕ
(14.19)
где )()()(
jkk
j xfy = – заданные числа, [ , ]jx a b∈ , ji xx ≠ при ji ≠ , , 0,...,i j n= . Чтобы найти функцию ( )xϕ единственным образом, очевидно нужно
потребовать, чтобы число неизвестных коэффициентов ic в (14.18) совпадало с числом условий, т.е. чтобы
nm ααα +++=+ ...1 10 (14.20)
и, чтобы определитель
)(...)()(............
)(...)()()(...)()(
............)(...)()()(...)()(
)1()1(1
)1(0
11110
0)1(
0)1(
10)1(
0
00100
00100
000
nmnn
m
m
m
m
xxx
xxxxxx
xxxxxx
nnn −−−
−−−
′′′
ααα
ααα
ϕϕϕ
ϕϕϕϕϕϕ
ϕϕϕϕϕϕ
(14.21)
не равнялся нулю.
Для простоты рассмотрим только случай ii xx =)(ϕ , т.е. нам нужно
построить обычный полином степени не выше m , удовлетворяющий
134
условиям (14.19). Обозначим его )(xHm . Наряду с )(xHm рассмотрим интерполяционный полином Лагранжа )(xLn , принимающий в узлах
nxxx ,...,, 10 значения nyyy ,...,, 10 . Разность )()( xLxH nm − должна быть многочленом степени не выше m ,
обращающимся в нуль в точках nxxx ,...,, 10 , следовательно
)()()()( 11 xHxxLxH nmnnm −−+=− ω , (14.22)
где ))...()(()( 101 nn xxxxxxx −−−=+ω .
Очевидно, что при любом многочлене )(1 xH nm −− , полином
)()()()( 11 xHxxLxH nmnnm −−++= ω (14.23)
принимает в узлах интерполяции nxxx ,...,, 10 значения nyyy ,...,, 10 . Подберем теперь многочлен )(1 xH nm −− так, чтобы удовлетворялись и
остальные условия в (14.19). Дифференцируя (14.23), получаем
)()()()()()( 1111 xHxxHxxLxH nmnnmnnm −−+−−+ ′+′+′=′ ωω . (14.24) Подставляя сюда ixx = , имеем
)()()()( 11 inmininimi xHxxLxHy −−+′+′=′≡′ ω . (14.25)
Так как 0)(1 ≠′
+ in xω , то в каждой точке, в которой задано значение )(xHm′ , по формулам (14.25) определим и )(1 inm xH −− , т.е. значения полинома
)(1 xH nm −− в узлах интерполирования. Продифференцируем (14.24) еще раз, получаем
)()()()(2)()()()( 111111 xHxxHxxHxxLxH nmnnmnnmnnm −−+−−+−−+′′+′′+′′+′′=′′ ωωω .
Подставляя сюда ixx = , находим
)()(2)()()()( 1111 inmininmininimi xHxxHxxLxHy −−+−−+′′+′′+′′=′′≡′′ ωω .
Из последних равенств мы найдем значения )(1 inm xH −−
′ в тех точках, в которых заданы )( im xH ′′ . Продолжаем этот процесс дальше. Причем каждый раз при старшей производной от )(1 xH nm −− в качестве коэффициента будет
135
стоять константа, умноженная на )(1 in x+′ω . Следовательно, исходную задачу о построении полинома )(xHm , удовлетворяющего условиям (14.19), мы свели к задаче построения полинома )(1 xH nm −− , удовлетворяющего условиям
.,...,1,0,)(......
,)(,)(
)2()2(1
1
1
njzxH
zxHzxH
jj
jnm
jjnm
jjnm
==
′=′=
−−
−−
−−
−−
αα
(14.26)
Справа в (14.26) стоят известные числа. К полиному )(1 xH nm −− применяем тот же алгоритм, а именно строим
)()(~)(~)( 2211 xHxxLxH nmnnnm −−+−− += ω и т.д. В конце концов, придем к построению интерполяционного полинома
Лагранжа, принимающего некоторые заданные значения nηηη ,...,, 10 в узлах
nxxx ,...,, 10 . Проделав обратный путь, найдем )(xHm . Многочлен )(xHm называется интерполяционным полиномом
Эрмита.
14.6. Многомерная интерполяция
Интерполирование функций многих переменных значительно сложнее, чем функции одной переменной. Это вызвано не только тем, что рассуждения и выкладки становятся более громоздкими, но и принципиальными трудностями.
Для краткости ограничимся случаем функции двух переменных ),( yxfz = .
Пусть на плоскости ),( yx даны )1( +n точки ),( 00 yx , ..., ),( nn yx . Будем разыскивать многочлен ),( yxP возможно низшей степени, который в этих точках принимает заданные значения nzzz ,...,, 10 . Искомый полином запишем в виде
,.........),(
01
1,10
20211
220011000
mm
mm
mm yayxaxa
yaxyaxayaxaayxP++++
++++++=−
−
136
тогда, подставляя данные значения точек и приравнивая левую часть соответствующему значению iz , получаем систему )1( +n линейных
алгебраических уравнений относительно 2
)2)(1()1(...21 ++=++++
mmm
неизвестных ija . Эти уравнения, вообще говоря, независимы. Следовательно, если на ),( yxP не накладывать дополнительных условий, то )1( +n должно
равняться 2
)2)(1( ++ mm . Это первое принципиальное затруднение, т.е. уже
не можем решить задачу при произвольном количестве узлов интерполирования.
Пусть 2=n . Рассмотрим определитель полученной системы
22
11
00
111
yxyxyx
.
Этот определитель обращается в нуль, если три точки ),( 00 yx , ),( 11 yx , ),( 22 yx лежат на одной прямой, и поэтому возникает вопрос о существовании
и единственности решения. Аналогично соответствующие определители будут обращаться в нуль, если точки – узлы интерполяции будут лежать на кривых второго, третьего и т.д. порядков. Это порождает второе принципиальное затруднение: узлы интерполирования не могут быть расположены произвольно. Проверка того, что определители не обращаются в нуль, чрезвычайно затруднительна. Третье принципиальное затруднение возникает при оценке остаточного члена. Теорема Ролля для рассматриваемого случая не действует.
В связи с указанными трудностями, рассмотрим специальный случай двумерной интерполяции.
Возьмем 2
)2)(1( ++ nn узлов и расположим их следующим образом
),,(),,(),,(
.....),,(,...),,(),,(
),,(),,(,...),,(),,(
0
1110
111110
0010100
n
nn
n
nn
yxyxyx
yxyxyxyxyxyxyx
−−
−
−
( ji xx ≠ , ji ≠ ; ji yy ≠ , ji ≠ ).
(14.27)
137
Значения ix и jy могут быть произвольными, так что взаимное расположение узлов может быть довольно общим. Проверим, что нет кривой n -го порядка, проходящей через все эти узлы. В самом деле, если бы такая кривая имелась, она содержала бы точки, расположенные в первом ряду. Этих точек )1( +n , и все они лежат на одной прямой. Следовательно, вся прямая также принадлежала бы кривой порядка n . В этом случае кривая порядка n распалась бы на прямую и кривую порядка )1( −n , проходящую
через все остальные 2
)1( +nn точек.
Для нее провели бы аналогичные рассуждения. Продолжая этот процесс, мы в конце концов пришли бы к заключению, что три точки
),( 10 −nyx , ),( 11 −nyx и ),( 0 nyx лежат на одной прямой. Этого нет. Следовательно, выбранные нами узлы не могут лежать на одной кривой порядка n .
Построим теперь интерполяционный полином по нашим узлам. Обозначим его через ),( yxPn , а ),( jin yxP через ijz , где ijz – соответствующие значения функции в узлах.
Если рассмотреть только те из выбранных нами узлов, для которых nji <+ , то на тех же основаниях мы можем построить интерполяционный
многочлен ),(1 yxPn− степени )1( −n , принимающий в точках ),( ji yx , nji <+ , значения ijz .
Образуем разность ),(),( 1 yxPyxP nn −− . Она будет многочленом степени не выше n , обращающимся в нуль в точках ),( ji yx , nji <+ . Представим эту разность в виде
).)...()((...))()()...(())()...(())...((),(),(
110,010302,2
0201,1100,1
−−−
−−−−
−−−++−−−−+
+−−−+−−=−
nnnn
nnnnnn
yyyyyyAyyyyxxxxAyyxxxxAxxxxAyxPyxP
Покажем, что можно так подобрать iinA ,− , что этот многочлен
обращающийся в нуль в точках ),( ji yx , nji <+ , будет равен ),(),( 1 jinjin yxPyxP −− при nji =+ .
В точке ),( ini yx − все его члены обратятся в нуль за исключением ))...()()...(( 1010, −−−−−− −−−− inininiiiini yyyyxxxxA . Таким образом, коэффициенты
iniA −, определяются однозначно. В силу единственности интерполяционного многочлена по выбранным нами узлам это и будет единственным значением разности. Итак
138
∑=
−−−−− −−−−+=n
iiiniinnn yyyyxxxxAyxPyxP
01010,1 ))...()()...((),(),( (14.28)
Поступая также с ),(1 yxPn− , ),(2 yxPn− и т.д. получим
).)...((...))()...(())...((...
...))(())(())(()()(),(
100
0201,1100
10020011
102000101000
−
−−−
−−+
+−−−+−−++−−+−−+
+−−+−+−+=
nn
nnnn
n
yyyyAyyxxxxAxxxxA
yyyyAyyxxAxxxxAyyAxxAAyxP
(14.29)
Выразим теперь ijA через значения функции ),( lkkl yxfz = в узлах
сетки. Подставляя в правую часть ),( 00 yx получим ),( 000000 yxfzA ≡= . В точке ),( 01 yx ),( 01 yxfPn = , а правая часть (14.29) равна )( 011000 xxAA −+ , следовательно
01
000110
),(),(xx
yxfyxfA−−
= .
Это отношение является разделенной разностью функции ),( 0yxf при
фиксированном 0yy = . Обозначим его через );;( 010 yxxf . Аналогично получаем );;( 10001 yyxfA = . Зафиксируем теперь 0yy = , получаем
))...((...))(()(),( 1001020010000 −−−++−−+−+= nn xxxxAxxxxAxxAAyxP .
Что мы получили? Это интерполяционный полином относительно x ,
принимающий в точках ),( 0yxi значения ),( 0yxf i . Следовательно, вспоминая, что такое интерполяционный полином Ньютона, видим, что
);;...;( 0100 yxxxfA ii = .
При 1yy = наш интерполяционный полином ),( yxPn принимает вид
).)...(())...()](([......))()](([
))](([)]([),(
10020011,10,1
10012120
00111100101001
−−−− −−+−−−+++−−−++
+−−++−+=
nnnnn xxxxAxxxxyyAAxxxxyyAA
xxyyAAyyAAyxP
139
Этот интерполяционный полином относительно x должен в точках ),( 1yxi , 1,...,1,0 −= ni , принимать значения ),( 1yxf i . Последний член при
этих значениях ix обращается в нуль. Следовательно, все члены правой части кроме последнего дают интерполяционный полином Ньютона степени
)1( −n , принимающий в точках ),( 1yxi , 1,...,1,0 −= ni значения ),( 1yxf i . Таким образом
);;...;;()( 1100110 yxxxfyyAA kkk =−+ .
Отсюда
01
0101101
);;...;;();;...;;(yy
yxxxfyxxxfA kkk −
−= .
Это разделенная разность по переменной y , обозначим ее так
);;;...;;( 10101 yyxxxfA kk = .
Аналогично, если уже знаем );...;;;;...;;( 1010 ikki yyyxxxfA = для всех
mi < , то рассматривая ),( myxP , получаем
....))]()...()((...)([)])...((...)([),(
0110101110
10000100
+−−−−++−++−−++−+=
−
−
xxyyyyyyAyyAAyyyyAyyAAyxP
mmmmmm
mmmmmm
Рассуждая как и прежде, найдем
);;...;;())...((...)( 1010010 mkmmmkmmkk yxxxfyyyyAyyAA =−−++−+ − . Рассматривая это выражение, как функцию my , получаем
);...;;;;...;;( 1010 ikki yyyxxxfA = . Таким образом, окончательно нашу интерполяционную формулу
можем записать в виде
∑∑ ∏ ∏=
−
=
−
=
−
=
−−⋅=n
i
in
j
i
p
j
qqpjin yyxxyyxxfyxP
0 0
1
0
1
000 )()();...;;;...;(),( . (14.30)
140
Это – обобщенный интерполяционный полином Ньютона для неравных промежутков в случае интерполирования функции двух переменных.
141
Лекция 15. Наилучшее приближение в линейном нормированном пространстве. Существование и единственность элемента наилучшего приближения. Многочлен наилучшего приближения. Наилучшее приближение в гильбертовом пространстве. Метод наименьших квадратов. Аппроксимация функций многих переменных.
15.1. Наилучшее приближение в линейном нормированном пространстве
Пусть ℜ – линейное нормированное пространство, элементами которого служат всевозможные действительнозначные функции ( )xf , определенные на [ ]ba, . 0ℜ – это подпространство из ℜ , ℜ⊂ℜ0 . Пусть 0ℜ порождено базисом ( ) ( ) ( ) xxx nϕϕϕ ,...,, 10 . Тогда любой элемент 0)( ℜ∈Φ x представим в виде линейной комбинации с некоторыми действительными
коэффициентами элементов базиса: ( ) ( )∑=
=Φn
iii xax
0ϕ .
Функции из пространства ℜ будем аппроксимировать функциями из подпространства 0ℜ так, чтобы погрешность аппроксимации была наименьшей. Пусть ℜ∈)(xf .
Определение 1. ( ) 00 ℜ∈Φ x называется элементом наилучшего приближения для ( ) ℜ∈xf , если
( ) ( ) ( ) ( )xxfxxf Φ−=Φ−
ℜ∈Φ 0
inf0 . (15.1)
Справедлива следующая теорема. Теорема 1. Для любой функции ( ) ℜ∈xf существует элемент
наилучшего приближения ( ) 00 ℜ∈Φ x . Доказательство. Введем обозначения:
),...,,()( 100
n
n
iii aaaxaФ ϕϕ == ∑
=
, ),...,,()( 100
n
n
iii aaagxafФf =−=− ∑
=
ϕ .
Если f зафиксировать и потребовать, что Ф пробегало 0ℜ , то )(arϕ и )(ag r будут функциями переменных naaa ,...,, 10 . Докажем, что эти функции непрерывны. Рассмотрим, например ),...,,( 10 naaaϕ . Имеем
142
( ) ( )
.)()()(
)()(...,,,...,,,
0
)2()1(
0
)2(
0
)1(
0
)2(
0
)1()2()2(1
)2(0
)1()1(1
)1(0
∑∑∑
∑∑
===
==
−≤−≤
≤−=−
n
iiii
n
iii
n
iii
n
iii
n
iiinn
xaaxaxa
xaxaaaaaaa
ϕϕϕ
ϕϕϕϕ
Пусть Nxii=)(max ϕ и
)1( +=
nNε
δ . Тогда из того, что δ≤− )2()1(ii aa
следует, что εϕϕ ≤− )()( )2()1( aa rr . Непрерывность функции )(arϕ доказана, аналогично доказывается непрерывность функции )(ag r . Итак функция )(ag r непрерывная и неотрицательная. Пусть 0≥m ее точная нижняя грань. Докажем, что найдется такая точка )0(ar , в которой эта нижняя грань достигается. Для этого в )1( +n -мерном Евклидовом пространстве
рассмотрим сферу единичного радиуса: 1/:0
20 =∑
=
n
iiaaE r . Так как это
замкнутое ограниченное множество, то непрерывная на нем функция )(arϕ достигает точной нижней грани µ . Очевидно, что 0>µ , т.к. в
противном случае в этой точке a~ , где 0)~( =aϕ , было бы 0~)~(0
== ∑=
n
iiiaa ϕϕ
откуда 0~0
=∑=
n
iiia ϕ , что противоречит линейной независимости функций
)(xiϕ . Итак, 0>µ . Введем величину µ
fmr
++=
1 и разобьем все
пространство точек ar на две части 1E и 2E , где
raaEn
ii ≤∑
=0
21 /: r , (
15.2) а 2E – все остальные точки ar . Рассмотрим теперь )(ag r на 2E . Пусть 2Ea ∈
r ,
тогда ∑=
>=n
ii ra
0
222 λ , поэтому
1
)(0000
+=−>−≥
≥−≥−=−≥−= ∑∑∑∑====
mfrf
fafafaafag i
n
i
in
i
in
iii
n
iii
µµλ
ϕλ
λλ
λϕϕr
143
Итак на 2E 1)( +> mag r . Следовательно, m – это )(inf ag r на множестве
1E . Но согласно (15.2) 1E – это замкнутое ограниченное множество. Значит непрерывная на нем функция )(ag r обязательно достигает своей точной нижней грани в некоторой точке 1
)0( Ea ∈r . Итак, существует точка 1
)0( Ea ∈r ,
такая, что 0)0(
0
inf)( ФfФfmagФ
−=−==ℜ∈
r . Теорема доказана.
Эта теорема гарантирует только существование элемента наилучшего приближения в линейном нормированном пространстве и ничего не говорит об единственности. Следовательно, в общем случае в линейном нормированном пространстве элемент наилучшего приближения может быть не единственен.
Рассмотрим специальный случай. Определение 2. Пространство называется строго нормированным, если
равенство 2121 ffff +=+ справедливо тогда и только тогда, когда
21 ff α= , где 0>α . В таких пространствах справедлива теорема единственности. Теорема 2. В строго нормированном пространстве ℜ элемент
наилучшего приближения единственен. Доказательство. Предположим противное, т.е. предположим, что
существуют 21 ФФ ≠ , такие, что mФfФf =−=− 21 . Очевидно, что 0≠m , т.к. в противном случае 21 ФФf == – противоречие. Рассмотрим
mФfФfФfФfФФf =−+−≤−
+−
=+
− 212121
21
21
222.
Так как по определению m
mФФf ≥+
−2
21 ,
то из этих неравенств следует, что
22222121 ФfФfФfФf −
+−
=−
+− .
Отсюда в силу строгой нормированности получаем, что
−
=−
2221 ФfФf
α .
144
Если 1≠α , то αα
−−
=1
21 ФФf , т.е f представима в виде линейной
комбинации функций nϕϕϕ ,...,, 10 и тогда 0=m – противоречие. Если 1=α , то 21 ФФ = – противоречие с допущением, что 21 ФФ ≠ . Теорема доказана.
Далее нужно рассматривать конкретные линейные нормированные пространства и, исходя из свойств пространства, строить элемент наилучшего приближения.
В частности, пусть ℜ – множество всех функций ],[)( baCxf ∈ . Введем норму
)(sup)(
],[xfxf
ba= .
В этом случае элемент наилучшего приближения называют элементом
наилучшего равномерного приближения. Согласно Теореме 1., такой элемент всегда существует. Однако Теорема 2. – теорема единственности не применима, т.к. пространство C не является строго нормированным.
В то же время известна теорема Хаара (приводим без доказательства). Теорема 3. (Хаара) Для того, чтобы для каждой ],[)( baCxf ∈
существовал единственный обобщенный многочлен наилучшего равномерного приближения необходимо и достаточно, чтобы функции n
i x 0)(ϕ образовывали систему Чебышева. Возьмем в качестве n
i x 0)(ϕ систему функций nix 0 , тогда из теоремы Хаара вытекает
Следствие. Многочлен наилучшего равномерного приближения непрерывной функции единственен.
Известна также Теорема 4. (Вейерштрасса) Если ],[)( baCxf ∈ то для любого 0>ε
существует такой многочлен )(xP , что при всех ],[ bax ∈
ε≤− )()( xPxf .
За доказательством приведенных теорем и примерами построения многочлена наилучшего равномерного приближения отсылаем читателя к [2, 3, 8].
145
15.2. Наилучшее приближение в гильбертовом пространстве
Пусть Η – гильбертово пространство, 0Η – его подпространство, Η⊂Η 0 . Известно, что гильбертово пространство нормировано, более того
строго нормировано. Следовательно для любой функции Η∈f существует
00 Η∈h – единственный элемент, такой, что hfhfh
−=−Η∈ 0
inf0 . Докажем
очень важную теорему. Теорема 5. Пусть 00 Hh ∈ – элемент наилучшего приближения для
0Hf ∈ . Тогда разность 0hf − ортогональна всем элементам подпространства 0Η , т.е. для любого 0Hh ∈ скалярное произведение 0),( 0 =− hhf .
Доказательство. Допустим противное. Предположим, что 0
~Η∈∃ h
такой, что ( ) 0~,0 ≠=− αhhf .
Так как вместо h~ можно взять hh~~
, то можно считать, что 1~=h .
Рассмотрим 00
~Η∈+= hhh α .
Имеем
( ) ( )( ) ( ) ( )+−−−−−−=
=−−−−=−−=−
hhfhfhhfhf
hhfhhfhfhfhf~,,~,
~,~,
0000
00
2
αα
αα
( ) 20
220
20
~,~ hfhfhfhh −<−−=+−−−=+ ααααααααα ,
т.е. получили, что 0hfhf −<− , а это противоречит тому, что 0h элемент наилучшего приближения. Теорема доказана.
Теорема 6. Если ( ) 0,0 =− hhf для любого 0h H∈ , то 0h – элемент наилучшего приближения.
Доказательство. Пусть h – произвольный элемент из 0H . Рассмотрим
( ) ( )( ) ( )
20 0 0 0 0 0 0 0
2 20 0 0 0 0 0
, , ( ,
, , .
f h f h h h f h h h f h f h h h f h
f h h h h h h h f h h h
− = − + − − + − = − − + − − +
+ − − + − − = − + −
146
Отсюда 220f h f h− > − для любого 0h H∈ , что и требовалось
доказать. Как построить 0h ? Пусть подпространство 0Η порождено базисом
nhhh ...,, 21 . Тогда элемент наилучшего приближения представим в виде
∑=
=n
iiihh
10 α (
15.3) Следовательно, задача построения 0h свелась к определению
коэффициентов iα . Для определения коэффициентов iα воспользуемся только что доказанными теоремами. Согласно доказанному, скалярные произведения ( ) 0,0 =− ihhf , ni ,...,2,1= . Отсюда приходим к системе n линейных алгебраических уравнений, относительно n неизвестных iα :
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
=+++
=+++
.,,...,,..................
,,,...,,
2211
11122111
nnnnnn
nn
hfhhhhhh
hfhhhhhh
ααα
ααα (
15.4)
Определителем этой системы является определитель Грамма
( )( ) ( )
( ) ( )nnn
n
n
hhhh
hhhhhhG
,..,......,...,
,...,
1
111
1 = .
Известно, что когда nhhh ,...,, 21 линейно независимы, ),...,( 1 nhhG
отличен от нуля и, более того, строго больше нуля, поэтому система (15.6) однозначно разрешима. Решив ее, найдем iα и построим элемент наилучшего приближения 0h по формуле (15.3). Однако, доказано, что с ростом n определитель Грама, оставаясь положительным, очень быстро стремится к нулю. Тем самым СЛАУ (15.4) становится плохо обусловленной, что может привести к большим погрешностям при ее решении. Можно ли и как избавиться от этой неприятности?
Возьмем ортонормированный базис. Тогда система (15.4) принимает вид ),( ii hf=α , ni ,...,1= , т.е. коэффициенты iα явно определяются.
Замечание. Известно, что численная ортонормировка функций может привести к большой вычислительной погрешности, поэтому ортонормировку функций базиса подпространства нужно проводить аналитически.
147
Пусть базис подпространства 0H ортонормирован, элемент наилучшего приближения )(0 xh для функции )(xf построен, рассмотрим
2
1
2
0
000
2
02
),(),(
),(),(
∑=
−=−=
=−=−−=−=n
iiffhff
fhfhfhfhf
α
δ (15.5)
Формула (15.5) – это формула погрешности аппроксимации функции
)(xf элементом наилучшего приближения )(0 xh в гильбертовом пространстве.
15.2. Аппроксимация функций, заданных таблицей, по методу наименьших квадратов
В последних двух пунктах мы неявно предполагали, что функция )(xfy = задана аналитически. Вернемся к случаю, когда )(xf задана своими
значениями в конечном числе точек nxxx <<< ...10 отрезка [ ]ba, . Для тех или иных целей требуется найти аналитическое приближенное представление этой функции на всем отрезке [ ]ba, . Два из таких способов приближения мы уже изучили – интерполяция и сплайн-интерполяция. Эти способы аппроксимации не всегда приемлемы по следующим причинам:
а) если число узлов велико, то получим громоздкие выражения для интерполяционных многочленов, что может повлечь за собой большую вычислительную погрешность;
б) если табличные значения функции подвержены каким-то случайным ошибкам, например, ошибкам измерения, то эти ошибки будут внесены в интерполяционный многочлен или интерполяционный сплайн и тем самым исказят истинную картину поведения функции.
Сейчас рассмотрим другой способ аппроксимации функций, заданных таблично.
Пусть снова )(),...,(),( 10 xxx mϕϕϕ система линейно независимых функций на [ ]ba, , причем nm ≤ . Будем строить обобщенный многочлен
∑=
=Φm
kkk xax
0)()( ϕ , составленный из этих функций, такой, чтобы сумма
квадратов отклонений
148
( ) ( )[ ]∑=
Φ−=n
iii xxfS
0
2 (15.6)
принимала наименьшее возможное значение. В тех случаях, когда известно, что значения функции ( )ixf имеют неодинаковую точность, можно вводить
веса ip ( 0>ip , 10
=∑=
n
iip ) и минимизировать сумму
( ) ( )[ ]∑=
Φ−=n
iiii xxfpS
0
21 . (
15.7) Причем при тех значениях ( )ixf , которые известны (заданы, измерены)
с большей точностью ставят больший вес ip . Такое введение весов позволяет сгладить влияние случайных ошибок на аппроксимацию ( )xf .
Покажем, что теорию построения обобщенных многочленов для поставленной сейчас задачи легко ввести в рамки теории, изученной в предыдущих пунктах.
Действительно пусть F – это множество всевозможных функций, определенных на [ ]ba, . Функции ( )xf и ( )xg из F считаем тождественными, если ( ) ( )ii xgxf = , ni ,...,1,0= . Нулевым элементом будем считать любую функцию, обращающуюся в ноль в точках nxxx ,...,, 10 . Операции сложения элементов и их умножение на число вводим естественным образом.
В этом множестве введем скалярное произведение функций f и g по формуле
( ) ( ) ( )i
n
iii xgxfpgf ∑
=
=0
, , (15.8)
где 0>ip – заданные числа, в частности все 1=ip . Норму вводим следующим образом
( )∑=
=n
iii xfpf
0
22 . (15.9)
Нетрудно проверить, что все свойства скалярного произведения и
нормы выполняются. Всевозможные линейные комбинации функций ( ) ( ) ( ) xxx mϕϕϕ ,...,, 10
образуют линейное ( )1+m -мерное подмножество 0F . Следовательно, на
149
основании общей теории в этом подмножестве для Fxf ∈)( найдется элемент наилучшего приближения 00 F∈Φ в смысле той метрики, которую мы ввели. Этот элемент будет единственным. Но нужно помнить, что за этим элементом скрывается целое множество функций нашего подмножества, принимающих в точках ix одинаковые значения.
Предположим теперь, что функции ( ) ( ) ( ) xxx mϕϕϕ ,...,, 10 образуют систему функций Чебышева. Тогда обобщенный полином, принимающий в точках ix заданные значения, будет единственен. Действительно, если бы имелось два таких многочлена )(1 xΦ и )(2 xΦ , то их разность ( ) ( )xx 21 Φ−Φ обращалась бы в нуль в ( )1+n точке ix , что противоречит понятию «система функций Чебышева», так как согласно постановке задачи nm ≤ . Следовательно, ( ) ( )xx 21 Φ≡Φ .
При nm = единственное решение поставленной задачи дает обобщенный интерполяционный многочлен. Если же nm < , то мы будем говорить, что нами получено приближение по методу наименьших квадратов.
Практическое отыскание обобщенных многочленов наилучшего приближения по методу наименьших квадратов также не выходит за рамки общей теории.
Действительно, если
( ) ( ) ( )xcxcx mmϕϕ ++=Φ ...000 (15.10)
является обобщенным многочленом наилучшего приближения для Ff ∈ , то согласно теореме из предыдущего параграфа коэффициенты jc удовлетворяют СЛАУ
( ) ( )k
m
jkjj fc ϕϕϕ ,,
0=∑
=
, mk ,...,1,0= . (15.11)
Определитель системы (15.11) – это определитель Грама. Так как ( )xjϕ
– линейно независимы, то определитель Грама отличен от нуля, и существует единственное решение системы (15.11). Но уже при 5m > этот определитель близок к нулю, и система может быть плохо обусловлена. Поэтому в качестве
( ) ( ) ( ) xxx mϕϕϕ ,...,, 10 нужно брать ортонормированную систему. Замечание. (Другой вывод уравнений (15.11)). Итак, мы минимизируем
сумму:
150
( ) ( )[ ] ( ) ( )∑ ∑ ∑= = =
−=Φ−=
n
i
n
i
m
jijjiii xcxfxxfS
0 0
2
0
2 ϕ .
Обозначим правую часть этого выражения как функцию ),...,,( 10 mcccϕ .
Коэффициенты jc должны быть найдены из требования, чтобы функция ),...,,( 10 mcccϕ принимала наименьшее значение. Следовательно, должны
равняться нулю все первые производные kс∂
∂ϕ , mk ,...,1,0= :
( ) ( ) ( ) 020 0
=
−−=
∂∂ ∑ ∑
= =ik
n
i
m
jijji
k
xxcxfс
ϕϕϕ , mk ,...,1,0= .
Эти уравнения запишем в виде:
( ) ( ) ( ) ( )∑ ∑∑= ==
=n
i
n
iikiikij
m
jj xxfxxc
0 00ϕϕϕ , mk ,...,1,0= ,
и, согласно определению скалярного произведения (15.8), перепишем следующим образом:
( ) ( )k
m
jkjj fс ϕϕϕ ,,
0=∑
=
, mk ,...,1,0= .
Как нетрудно видеть, снова пришли к системе (15.11). Систему
уравнений (15.11) еще называют системой нормальных уравнений. Очень часто в качестве базисных функций )(xkϕ берут kx , т.е.
аппроксимируют функцию, заданную таблицей, методом наименьших квадратов обычным многочленом. Отметим, что заранее степень многочлена неизвестна. Исследователь сам, удовлетворяя требуемой точности аппроксимации, с помощью вычислительного эксперимента устанавливает степень аппроксимирующего многочлена.
Примеры аппроксимации
1. Рассмотрим функцию xy = , [ ]1,0∈x . С точки зрения вычислительной математики эта функция сложна для вычислений. Будем аппроксимировать её многочленом первой степени baxP += , так чтобы
интеграл ( )∫ −−1
0
2dxbaxx принимал наименьшее значение.
151
Минимизировать будем за счет выбора коэффициентов a и b , поэтому этот
интеграл рассматриваем как функцию ( ) ( )∫ −−=1
0
2, dxbaxxbaϕ .
Для построения минимума находим первые производные от ϕ по a и b и приравниваем их нулю.
( ) 021
0
=−−−=∂∂
∫ dxbaxxxaϕ ,
( ) 021
0
=−−−=∂∂
∫ dxbaxxbϕ .
Операция построения системы уравнений для нахождения минимума выгодна – требует всего две операции. Решая эту систему, находим 8.0=a ,
154
=b .
Итак 1548.0)(1 += xxP – наилучшее приближение для xy = , ]1,0[∈x ,
в смысле введенной метрики среди всех многочленов первой степени.
Вычисление полинома 1548.0 +x вместо функции x очень выгодно, так как
требует две операции. Выясним, с какой точностью многочлен первой степени
1548.0)(1 += xxP аппроксимирует функцию xy = , когда 1≤x .
Для этого посчитаем погрешность ∫
−−=∆
1
0
2
1548.0 dxxx . Она
примерно равна 0.002, т.е. составляет %2.0 от единицы. Это великолепная, огромная точность. В технике зачастую погрешность в 20% считается достаточной.
Применим полученный результат в более сложном случае. Пусть ( )xP – многочлен такой, что у него нет корней на [ ]1,0 и ( ) 0>xP при [ ]1,0∈x .
Требуется вычислить интеграл ( )∫=1
0
dxxPJ . Этот интеграл – очень
сложен для вычислений. Для его вычисления можно применять те или иные квадратурные формулы, но это повлечет за собой много операций. Согласно же предыдущего, воспользовавшись аппроксимацией выражения )(xP , получаем
152
( ) ( )01
1548.0
1
0
1
0
xdxxPdxxPJ +≈= ∫∫ ,
что уже легко вычисляется. Погрешность вычисления также составит %2.0 .
2. Рассмотрим следующий пример аппроксимации. В теории разностных схем рассматривают сеточные ряды, для
построения которых нужно много раз вычислять ( )xfe , где )(xf – некоторая функция. Прямое вычисление таких выражений нерентабельно, т.к. требует много операций. Поэтому опять будем аппроксимировать функцию xe полиномом первой степени baxxP +=)(1 так, чтобы погрешность
( ) ( )∫ −−=1
0
2, dxbaxeba xϕ
принимала наименьшее значение. Находим первые частные производные функции ),( baϕ и приравниваем их нулю, получаем
( ) 021
0
=−−−=∂∂
∫ dxbaxexa
xϕ ,
( ) 021
0
=−−−=∂∂
∫ dxbaxeb
xϕ .
Решая систему двух линейных алгебраических уравнений, находим
( )ea −= 36 , 104 −= eb . Погрешность такой аппроксимации
( )( ) 004.0104361
0
2 ≈+−−−=∆ ∫ dxexee x ,
т.е. составляет примерно 0.5% от единицы. Так как функция xe быстро растет, то рассмотрим так же относительную погрешность δ ,
предварительно вычислив интеграл ( )2
121
0
2 −=∫
edxe x . Итак получаем, что
относительная погрешность
( )
( )01.01
0
2
1
0
2
≈−−
=∫
∫
dxe
dxbaxe
x
x
δ ,
153
т.е. равна 1%. Эти результаты говорят о высокой точности построенной аппроксимации.
3. Пример неудачного выбора базиса. В рассмотренных примерах в качестве базиса )(),( 10 xx ϕϕ
подпространства 0H гильбертового пространства H были взяты функции x,1 . Покажем, что если базисные функции выбраны неудачно, то погрешность аппроксимации может быть большой.
Пусть )1,0(2LH = . В качестве базиса подпространства 0H должны были быть взяты функции 1)(,)( 21 +== xxhxxh . Однако, предположим, что из-за случайной ошибки вместо )(2 xh получили 1)(~
2 += εxxh . Тогда коэффициенты системы (15.4) получаются следующими:
( ) 111,1
01111 =⋅== ∫ dxhha , ( ) ( )
2111~,
1
02112
εε +=+⋅== ∫ dxxhha ,
1221 aa = , ( ) ( )3
11~,~ 21
0
22222
εεε ++=+== ∫ dxxhha ,
и определитель Грама
123
12
12
11)~,(
2
221
εε
εε
ε
=+++
+=hhG .
Пусть 1.0≈ε , тогда 001.0)~,( 21 ≈hhG . Допустим, где-то в вычислениях
появилась ошибка. Тогда при дальнейших операциях из-за деления на )~,( 21 hhG произойдет умножение на 1000, т.е. допущенная где-то погрешность
возрастет в тысячу раз. Приведенные примеры демонстрируют большое прикладное значение
аппроксимации функций, даже в простых ситуациях. Задачи аппроксимации многомерных функций намного сложнее, чем в
одномерном случае. Пример двумерной интерполяции и возникающие при этом дополнительные сложности обсуждались в предыдущей лекции. За другими методами аппроксимации в многомерных случаях отсылаем к [2,3]
154
Лекция 16. Интерполяционные квадратурные формулы. Квадратурные формулы прямоугольников, трапеций, Симпсона. Погрешность. Правило Рунге оценки погрешности.
В этой лекции рассматриваются задачи вычисления интегралов
∫=b
a
dxxfJ )( ,
а чуть позже обратной задачи – вычисления производных от функций, заданных как аналитически, так и таблично.
Задача вычисления интеграла J одна из фундаментальных задач математического анализа. Она тесно связана с задачами решения дифференциальных уравнений и широко использует аппарат интерполирования.
Говоря о вычислении интегралов, употребляют термин «квадратура», он происходит от латинского quadratura, означающего вычисление площади, или квадрирование. Геометрическая задача древности, задача о квадратуре круга, заключалась в построении квадрата, площадь которого равнялась бы площади данного круга. Решение должно было быть получено за конечное число шагов с помощью линейки и циркуля. Почти через две тысячи лет после ее постановки удалось доказать, что задача решения не имеет, а ее название стало обозначением любой сложной или трудоемкой деятельности. Впоследствии термин «квадратура» стал употребляться как синоним, когда речь шла о нахождении площадей и объемов. Термин же «интегрирование» чаще употребляется для задачи решения дифференциальных уравнений и задачи вычисления неопределенного интеграла.
16.1. Общий подход к построению квадратурных формул. Квадратурные формулы прямоугольников, трапеций, Симпсона
Требуется вычислить интеграл
∫=b
a
dxxfJ )( . (16.1)
155
Сложность в вычислении интеграла (16.1) связана с подынтегральной функцией )(xf . Поэтому основной подход построения формул приближенного интегрирования заключается в следующем: заменяем )(xf какой-либо ее аппроксимацией. Пусть
∑=
+=n
iii xrxfxaxf
0)()()()( , (16.2)
где ∑=
n
iii xfxa
0)()( – это аппроксимирующая функция, а )(xr – погрешность
аппроксимации. Подставляем в интеграл (16.1) вместо )(xf правую часть выражения (16.2), получаем
∑∫ ∑==
+=+=n
inii
b
a
n
iii fRxfcdxxrxfxaJ
00)()())()()((
и полагаем
∑=
=≈n
iii xfcSJ
0)( , (16.3)
где ∫=b
aii dxxac )( , ∫=
b
an dxxrfR )()( .
Формулу (16.3) называют квадратурной формулой, ic – коэффициентами квадратурной формулы, а )( fRn – остаточным членом или погрешностью квадратурной формулы.
Определение 1. Квадратурная формула называется точной, если ее остаточный член равен нулю.
Чаще всего подынтегральную функцию )(xf аппроксимируют интерполяционным полиномом Лагранжа )(xLn той или иной степени n . Такие квадратурные формулы называют интерполяционными. Поскольку интегрирование полинома не составляет труда и аппарат интерполирования вполне доступен, то такой подход к построению квадратурных формул является численно реализуемым и эффективным.
Рассмотрим несколько широко используемых квадратурных формул, которые получаются за счет аппроксимации )(xf полиномом Лагранжа
)(xLn при 2,1,0=n .
156
а) Пусть 0=n . В этом случае )(xf заменяем интерполяционным
многочленом Лагранжа нулевого порядка, с узлом интерполяции 20
bax += ,
т.е. функцией
+
≡2
)(0
bafxL для всех ],[ bax∈ . Получаем
)(2
)()( 0 fRbafabdxxfb
a
+
+
−=∫ ,
следовательно
+
−=2
)(0
bafabS . (16.4)
Квадратурную формулу (16.4) называют квадратурной формулой
прямоугольников, а точнее серединных прямоугольников. Как нетрудно
видеть, функцию )(xfy = на отрезке ],[ ba заменили прямой
+
=2
bafy и
вместо площади криволинейной трапеции вычислили площадь прямоугольника – отсюда название формулы. Если в качестве узла взять
ax =0 или bx =0 , то получим формулу левых или правых прямоугольников.
Оценим погрешность квадратурной формулы (16.4). Пусть ],[)( 2 baCxf ∈ . Согласно формуле Тейлора
))((22
1222
)(2
xfbaxbafbaxbafxf ξ′′
+
−+
+′
+
−+
+
= ,
где ),()( bax ∈ξ . Интегрируя последнее равенство, получаем
∫∫ =′′
+
−+
+
−=b
a
b
a
dxxfbaxbafabdxxf ))((22
12
)()(2
ξ
)~(24
)(2
)(3
ηfabbafab ′′−+
+
−= ,
следовательно
)~(24
)()(3
0 ηfabfR ′′−= , (16.5)
157
где η~ – некоторая точка из ),( ba .
Чтобы повысить точность интегрирования, разбиваем отрезок ],[ ba на
m равных частей длиной m
abh −= . Применяя квадратурную формулу (16.4)
к каждому подотрезку и суммируя, находим
−
+++
++
+
−= hmafhafhaf
mabS h
212...
23
2)(
0 . (16.6)
Формулу (16.6) называют составной квадратурной формулой
прямоугольников. В этом случае остаточный член
)(24
)()(2
3
0 ηfmabfRh ′′−
= , ),( ba∈η , (16.7)
и справедлива оценка
22
3
0 24)(
24)()( MhabM
mabfR −
=−
≤ , )(max],[
xfMba
′′= .
Из этой оценки следует, что формула серединных прямоугольников
имеет точность )( 2hO при 0→h . Причем оценка остаточного члена не улучшаема, в том смысле, что существуют функции )(xf , для которых в последнем неравенстве достигается строгое равенство, (например для
2
2)(
+
−=baxxf ).
б) Пусть 1=n . В этом случае )(xf заменяем интерполяционным полиномом Лагранжа первой степени, построенным по узлам ax =0 и bx =1 . Кривая )(xfy = аппроксимируется хордой, соединяющей точки ))(,( afa и
))(,( bfb . Интеграл от такого многочлена Лагранжа дает площадь трапеции. Итак
( ))()(21 bfafabS +−
= . (16.8)
Формулу (16.8) называют квадратурной формулой трапеций.
Остаточный член квадратурной формулы трапеций имеет вид
158
),~(12
)())((!2
)~())(())((!2
1)( 1
31
1 ηη
ξ fabdxbxaxfdxxfbxaxfRb
a
b
a
′′−−=−−
′′=′′−−= ∫∫
где ),(~
1 ba∈η . Очевидно, что погрешность )(1 fR может быть большой, поэтому,
чтобы повысить точность интегрирования, отрезок ],[ ba разбивают на подотрезки, в частности, пусть ],[ ba разбит на m подотрезков равной длины
mabh −
= . Применяя к каждому подотрезку квадратурную формулу трапеций
и суммируя, получаем составную квадратурную формулу трапеций
]2...2[2 1101 mm
h ffffhS ++++= − , (16.9)
где )( ii xff = , ihaxi += , mi ,...,1,0= .
Остаточный член )(12
)(12
3
1 ηfmabRh ′′−
−= , и справедлива оценка
погрешности
)()(12
)( 2221 hOhabMfR =−≤ , )(max
],[2 xfMba
′′= . (16.10)
Оценка неулучшаема, т.к. в неравенстве (16.10) для функции
2)()( bxxf −= достигается равенство. в) Положим 2=n . Аппроксимируем функцию )(xf
интерполяционным полиномом Лагранжа второй степени с узлами ax =0 ,
21
bax += , bx =2 , т.е. заменяем кривую )(xfy = кусочком параболы:
( )
( )
( ).
2)(
2)(
22
))((2
2
2)()(2
+
−−
+
−−+
+
−
+
−
+−−
+
+−
+
−
−
+
−=
babab
baxaxbf
bbaababxaxbaf
babaa
bxbaxafxL
.
159
Интегрируя, получаем
+
+
+−
= )(2
4)(62 bfbafafabS . (16.11)
Формулу (16.11) называют квадратурной формулой Симпсона. Остаточный член квадратурной формулы Симпсона
90)~(
2)()( 2
)(
5
5
2
ηIVfabfR −−= , ),(~
2 ba∈η . (16.12)
Чтобы получить составную квадратурную формулу Симпсона
удобней разбить отрезок ],[ ba на m2 равных частей длиной m
abh2−
= . Тогда
∫ ==b
a
h dxxfS )(2
[ ])...(4)...(26 1231224220 −− +++++++++−
= mmm ffffffffm
ab , (16.13)
и остаточный член
42
)(5
2 90)(
2 mfabR
IVh η
−
−= , (16.14)
т.е. квадратурная формула Симпсона имеет четвертый порядок точности при малых h .
Рассмотрим пример.
Требуется вычислить 78539816,041
1
02 ≈=
+= ∫
πx
dxJ по составной
формуле трапеций и составной формуле Симпсона, разбив отрезок на 10 равных частей.
Составная формула трапеций дает 49814978,0~=I , а составная формула
Симпсона – 55398178,0=I , т.е. семь знаков после запятой совпадают с точными.
160
16.2. Правило Рунге практической оценки погрешности
Пусть имеем некоторый вычислительный алгоритм, зависящий от малого параметра (шага) h . Пусть при вычислении с шагом h получили
)( mkk
h hOChzz +++= , (16.15)
где z – точное значение вычисляемой величины, hz – приближенное значение, )( mkk hOCh ++ – погрешность, kCh – главный член погрешности,
)( mkhO + – величины более высокого порядка малости, C , k , m – положительные константы, не зависящие от h .
При вычислении с половинным шагом, имеем
)(22/
mkk
h hOhCzz ++
+= . (16.16)
Вычитая из одного равенства другое, получаем
)()12(22/
mkkk
hh hOhCzz ++−
=− ,
откуда
)(122
2/ mkk
hh
k
hOzzhC ++−−
=
.
Следовательно, если 0≠C , то с точностью до )( mkhO +
122/
2/ −−
≈−k
hhh
zzzz . (16.17)
Вычисление приближенного значения погрешности по формуле (16.17)
называют правилом Рунге практической оценки погрешности. Умножаем равенство (16.16) на k2 и из полученного результата
вычитаем выражение (16.15). Получаем
161
)(2)12( 2/mk
hhkk hOzzz ++−=− ,
откуда находим
)(* mkh hOzz ++= ,
где
122 2/*
−−=
khh
k
h
zzz . (16.18)
Величину *z называют уточненным по Ричардсону приближенным
значением величины z (уточнением по Ричардсону). Замечание. Для рассмотренных в предыдущем параграфе составных
квадратурных формул справедливы равенства
)( 2+++= kkh hOChSJ , 12
22
−−
≈−k
hhh SSSJ ,
122 2
*
−−
=k
hhk SSS ,
причем 2=k для составных квадратурных формул серединных прямоугольников и трапеций и 4=k для составной квадратурной формулы Симпсона.
162
Лекция 17. Квадратурные формулы наивысшей алгебраической точности. Построение. Погрешность. Устойчивость. Интегрирование функций специального вида.
17.1. Квадратурные формулы интерполяционного типа в общем случае
Будем рассматривать формулы приближенного вычисления интегралов
∫=b
a
dxxfxJ )()(ρ , (17.1)
где 0)( >xρ – заданная интегрируемая функция (так называемая весовая функция), )(xf – достаточно гладкая функция.
Определение 1. Если квадратурная формула получается путем замены функции )(xf на всем отрезке ],[ ba интерполяционным полиномом, то такая квадратурная формула называется квадратурной формулой интерполяционного типа.
Квадратурные формулы будем строить в виде
∑=
=n
kkk xfCS
0)( . (17.2)
Считаем, что заданы узлы квадратурной формулы kx , nk ,...,1,0= .
Предполагается, что среди узлов нет совпадающих, в остальном они могут быть расположены как угодно на отрезке ],[ ba . Заменяя в (17.1) )(xf интерполяционным полиномом Лагранжа
∑= +
+
−′=
n
kk
kkn
nn xf
xxxxxL
0 1
1 )())((
)()(ω
ω ,
где
∏=
+ −=n
jjn xxx
01 )()(ω , ∏
≠+ −=′
kjjkkn xxx )()(1ω
получаем приближенную формулу (17.2), с коэффициентами
163
1
1
( ) ( )( ) ( )
bn
kk n ka
x xC dxx x xρ ω
ω+
+
=′−∫ , kn ,...,1,0= . (17.3)
Отсюда следует, что формула (17.2) является квадратурной формулой
интерполяционного типа тогда и только тогда, когда ее коэффициенты вычисляются по правилу (17.3).
Найдем погрешность квадратурной формулы интерполяционного типа. Подставляя )()()( 1 xrxLxf nn ++= в (17.1), имеем
∫ ∫ ∫ ∑ ∫=
++ +=+=b
a
b
a
b
a
n
k
b
ankknn dxxrxxfCdxxrxdxxLxdxxfx
011 )()()()()()()()()( ρρρρ .
Таким образом, погрешность квадратурной формулы (17.2) равна
∫ ++ =b
ann dxxrxR )()( 11 ρ .
Так как погрешность полинома Лагранжа )()!1(
))(()( 1
)1(
1 xn
xfxr n
n
n +
+
+ += ω
ξ , то
погрешность квадратурной формулы интерполяционного типа 1+nR равна
∫ +++ +
=b
a
nnn dxxfxx
nR ))(()()(
)!1(1 )1(
11 ξωρ . (17.4)
Отсюда получаем оценку погрешности нашей квадратуры
dxxxnMxR n
b
a
nn )()(
)!1()( 1
11 +
++ ∫+
≤ ωρ , (17.5)
где )(max )1(
],[1 xfM n
baxn+
∈+ = . Из оценки погрешности квадратурной формулы
интерполяционного типа вытекает: Утверждение 1. Квадратурная формула интерполяционного типа,
построенная по )1( +n узлам nxxx ,...,, 10 , является точной для любого многочлена степени n , т.е. если )(xf – многочлен степени n и kС – коэффициенты, вычисленные по формулам (17.3), то имеет место точное равенство
164
∫ ∑=
=b
a
n
kkk xfCdxxfx
0)()()(ρ . (17.6)
Доказано, что справедливо и обратное утверждение.
Утверждение 2. Если квадратурная формула 0
( )n
k kk
S C f x=
= ∑ точна для
любого многочлена степени n , то она является квадратурной формулой интерполяционного типа.
17.2. Формулы Ньютона-Котеса. Численная устойчивость квадратурных формул
Определение 3. Формулами Ньютона-Котеса называются квадратурные формулы интерполяционного типа, построенные по равномерной сетке, т.е. когда consthxx kk ==− −1 , nk ,...,2,1= .
Отметим, что формулы Ньютона-Котеса при 10>n редко используются из-за возможной вычислительной неустойчивости, приводящей к резкому возрастанию вычислительной погрешности. Причиной такой неустойчивости является то, что коэффициенты формул Ньютона-Котеса при больших n имеют различные знаки. При 10>n ,
1)( ≡xρ существуют как положительные, так и отрицательные коэффициенты. Рассмотрим подробнее значение знакопостоянства коэффициентов для устойчивости вычислений.
Итак, рассмотрим квадратурную сумму
∑=
=n
kkkn xfCS
0)( . (17.7)
Предположим, что значения функции )(xf вычисляются с некоторой
погрешностью, т.е. вместо точного значения получаем приближенное значение kkk xfxf δ+= )()(~ . Тогда вместо nS получим сумму
∑=
+=+=n
knnkkkn SSxfCS
0))((~
δδ , где
∑=
=n
kkkn CS
0δδ . (17.8)
165
Поскольку квадратурная формула (17.7) (квадратурная формула
интерполяционного типа) точна для 1)( ≡xf , имеем ∑ ∫=
=n
k
b
ak dxxC
0)(ρ . Так как
0)( >xρ , то ∫ >==b
a
constMdxx 0)(ρ , поэтому
∑=
=n
kk MC
0. (17.9)
Следовательно, сумма ∑=
n
kkC
0 ограничена числом 0≥M , не зависящим
от n . Предположим, что все коэффициенты kC неотрицательны, тогда
согласно (17.8) и (17.9), получаем оценку
knk
n
kkkk
n
kkn MCCS δδδδ
≤≤==
⋅≤=≤ ∑∑000max . (17.10)
Оценка (17.10) означает, что при больших n погрешность в
вычислении квадратурной суммы (17.7) имеет тот же порядок, что и погрешность в вычислении функции. В этом случае говорят, что квадратура (17.7) вычисляется устойчиво (вычислительно устойчива).
Если же kС имеют различные знаки, то оценку (17.10) провести
невозможно и может оказаться, что сумма ∑=
n
kkC
0 не является равномерно
ограниченной по n и, следовательно, погрешность в вычислении nS неограниченно возрастает с ростом n . В этом случае вычисления по формуле (17.7) будут неустойчивы и пользоваться такой формулой при больших n нельзя.
Таким образом, если необходимо сосчитать интеграл ∫b
a
dxxfx )()(ρ
более точно, то имеются две возможности. Во-первых, можно разбить отрезок ],[ ba на несколько частей и на каждой из них применить формулу Ньютона-Котеса с небольшим числом узлов. Полученные таким образом формулы называются составными квадратурными формулами. Примеры построения составных квадратурных формул мы рассмотрели в предыдущей лекции. Во-вторых, можно попытаться выбрать узлы квадратурной формулы так, чтобы полученная формула имела большую точность, чем формула Ньютона-Котеса с тем же числом узлов.
166
17.3. Квадратурные формулы Гаусса
Рассмотрим задачу: построить квадратурную формулу
∑=
=n
kkkn xfCS
1)( , (17.11)
такую, что
∫ ∑=
≈b
a
n
kkk xfCdxxfx
1)()()(ρ ,
которая при заданном n была бы точна для многочленов максимально высокой степени. Такие квадратурные формулы называются квадратурными формулами Гаусса или квадратурными формулами наивысшей алгебраической точности. (В отличие от предыдущих параграфов здесь нумерацию узлов ведем с 1=k .)
Прежде всего нужно установить степень многочленов. Потребуем, чтобы квадратура (17.11) была точна для любого алгебраического многочлена степени m . Это эквивалентно требованию, чтобы формула была точна для функций αxxf =)( , m,...,1,0=α . Отсюда получаем условия
∑ ∫=
=n
k
b
akk dxxxxC
1)( αα ρ , m,...,1,0=α . (17.12)
Это система )1( +m нелинейных уравнений относительно n2
неизвестных nCCC ,...,, 21 , nxxx ,...,, 21 . Для однозначной разрешимости число уравнений должно совпадать с числом неизвестных, т.е. должно выполняться равенство
12 −= nm . (17.13)
Итак, максимально возможная степень полиномов равна )12( −n . Определение 4. Квадратурные формулы Гаусса (квадратурные формулы
наивысшей алгебраической точности) – это квадратурные формулы, построенные по n узлам и точные для многочленов степени )12( −n .
Пусть (17.13) выполнено. Построить квадратуру – это означает найти все узлы квадратурной формулы kx и все коэффициенты kC . Как их найти? Можно решать систему (17.12), но это сложно и ни откуда не следует, что
167
найденные таким образом узлы kx будут принадлежать отрезку [ ]ba, . Если узел [ ]baxk ,∉ , то в нем )(xf может быть не определена, и в таком случае квадратуру не построить. Поэтому пойдем другим путем. Напомним, что через )(xnω обозначаем ))...()(()( 21 nn xxxxxxx −−−=ω – многочлен степени n со старшим коэффициентом единица, корнями которого служат точки
nxxx ,..., 21 . Теорема 1. Квадратурная формула (17.11) точна для любого
многочлена степени 12 −= nm тогда и только тогда, когда выполнены два условия:
1. Многочлен )(xnω ортогонален с весом )(xρ на отрезке ],[ ba любому многочлену )(xq степени меньше n , т.е.
0)()()( =∫ dxxqxxb
anωρ . (17.14)
2. Формула (17.11) является квадратурной формулой
интерполяционного типа, т.е.
∫ ′−=
b
a knk
nk dx
xxxxxC
)()()()(
ωω
ρ , nk ,...2,1= . (17.15)
Доказательство.
Необходимость. Пусть квадратура ∑=
=n
kkkn xfCS
1)( точна для
многочленов степени 12 −= nm . Это значит, что она точна для многочлена )()()(12 xqxxQ nn ω=− , имеющего степень не выше 12 −n , т.е.
∑∫=
==n
knknk
b
an xqxCdxxqxx
10)()()()()( ωωρ , т.к. 0)( =kn xω , nk ,...,2,1= по
построению. Итак (17.14) выполнено, а (17.15) справедливо согласно высказанному
ранее утверждению: если квадратурная формула точна для многочлена степени )1( −n , то она является квадратурной формулой интерполяционного типа.
Достаточность. Пусть )(xf – любой многочлен степени 12 −n , тогда его можно представить в виде
)()()()( 11 xrxqxxf nnn −− += ω ,
где 1−nq и 1−nr многочлены степени не выше, чем )1( −n .
168
Рассмотрим
∫ ∫ ∫ ∫ −−− =+=b
a
b
a
b
a
b
annnn dxxrxdxxrxdxxqxxdxxfx )()()()()()()()()( 111 ρρωρρ .
Далее, т.к. )(1 xrn− это многочлен степени не выше, чем )1( −n и формула (17.11) есть формула интерполяционного типа, то она точна для
)(1 xrn− , поэтому
1 1 11 1 1
( ) ( ) ( ) ( ( ) ( ) ( )) ( )b n n n
n k n k k k n k n k k kk k ka
x r x dx C r x C f x x q x C f xρ ω− − −= = =
= = − =∑ ∑ ∑∫ ,
так как 0)( =kn xω , nk ,...2,1= .
Таким образом, получили, что
∫ ∑=
=b
a
n
kkk xfCdxxfx
1)()()(ρ ,
т.е. квадратурная формула (17.11) точна для многочленов степени )12( −n . Теорема доказана.
Замечание. Известно, что существует единственный многочлен степени n со старшим коэффициентом 1 ортогональный на ],[ ba с весом )(xρ всем
многочленам меньшей степени, т.е. такой, что ∫ =−
b
ann dxxqxx 0)()()( 1ωρ .
Причем этот многочлен имеет n различных корней и все они лежат на отрезке ],[ ba .
Как строить квадратурные формулы Гаусса? Алгоритм построения следующий. Строим при заданном n многочлен степени n , ортогональный на отрезке ],[ ba с весом )(xρ всем многочленам меньшей степени. Находим его корни. С этими корнями, как узлами квадратуры, строим интерполяционную квадратурную формулу.
Покажем, что все квадратурные формулы Гаусса вычислительно устойчивы, т.е. у них все 0>kC . Для этого рассмотрим многочлены
2
)()()()(
′−
=ini
ni xxx
xxω
ωϕ , ni ,...,2,1= .
169
Это многочлены степени ( )22 −n и kiki x δϕ =)( , где k
iδ – символ Кронекера-Капелли. Так как квадратурная формула Гаусса для )(xiϕ точна, то
∫ ∑=
>==b
a
n
kikiki CxCdxxx
10)()()( ϕϕρ , ni ,...,1= ,
т.к. под знаком интеграла стоит положительная функция. Доказали, что все
0>kС . Наконец отметим, что для погрешности квадратурных формул Гаусса
справедливо представление
∫=b
a
nnn dxxfxx
nfR ))(()()(
)!2(1)( )2(2 ξωρ ,
где ),()( bax ∈ξ .
Для многих распространенных на практике весовых функций )(xρ квадратурные формулы Гаусса построены.
В частности найдены узлы и коэффициенты квадратурных формул
Гаусса [ 1,1]1
( )m
i ii
S A f x−=
= ∑ для вычисления интегралов 1
1
( )J f x dx−
= ∫ с весовой
функцией ( ) 1xρ ≡ . Чтобы вычислить интеграл на произвольном конечном отрезке [ , ]a b достаточно сделать замену независимой переменной по
формуле ( ) ( )2 2
a b b at x+ −= + . Квадратурная формула Гаусса для вычисления
интегралов ( )b
a
J f t dt= ∫ принимает вид [ , ]1
( )2
m
a b i ii
b aS A f t=
−= ∑ , где
( ) ( )2 2i i
a b b at x+ −= + , ix и iA – узлы и коэффициенты квадратурной
формулы [ 1,1]S − . Приведем значения коэффициентов и узлов квадратурных формул
Гаусса [ 1,1]S − для некоторых m. m=2
1 1/ 3x = − , 2 1/ 3x = , 1 2 1A A= = . m=4:
1 4 0,86114x x= − = − , 2 3 0,33998x x= − = − ,
170
1 4 0,34785A A= = , 2 3 0,65215A A= = . m=5:
1 5 0,90618x x= − = − , 3 0x = , 2 4 0,538469x x= − = − ,
1 5 0,23693A A= = , 3 0,56889A = , 2 4 0,47863A A= = . m=8:
1 8 0,96028986x x= − = − , 2 7 0,79666648x x= − = − ,
3 6 0,52553242x x= − = − , 4 5 0,18343464x x= − = − ,
1 8 0,10122854A A= = , 2 7 0,22238103A A= = ,
3 6 0,31370664A A= = , 4 5 0,36268378A A= = . Часто приходится интегрировать сильно осциллирующие функции,
функции с особенностями, вычислять несобственные интегралы. Подходы к вычислению таких интегралов можно найти в [2,4,8]. Приближенное интегрирование в случае функций многих переменных обсудим в следующей лекции.
171
Лекция 18. Приближенное вычисление кратных интегралов. Метод Монте-Карло. Формулы численного дифференцирования. Оценка погрешности. Некорректность. Регуляризация. Понятие сеточной функции. Простейшие операторы конечных разностей.
18.1. Приближенное вычисление кратных интегралов
Рассмотрим некоторые методы приближенного вычисления многомерных интегралов. Отметим, что в многомерном случае формулы численного интегрирования называют уже кубатурными формулами.
Так как вычисление кратных интегралов может быть осуществлено путем повторного вычисления однократных интегралов, то одним из простейших способов построения кубатурных формул является метод повторного применения квадратурных формул. Продемонстрируем этот прием на примере вычисления двойного интеграла. Итак, требуется вычислить интеграл
∫∫=G
dxdyyxfJ ),( , (18.1)
где область G - это прямоугольник dycbxayx ≤≤≤≤ ,|, . Интеграл (18.1) можно записать в виде:
∫ ∫ ∫==b
a
d
c
b
a
dxxFdyyxfdxJ )(),( , ∫=d
c
dyyxfxF ),()( .
Для вычисления интеграла ∫b
a
dxxF )( применяем формулу Симпсона:
)]([)(2
4)(6 1 xFRbFbaFaFabJ +
+
+
+−
= . (18.2)
Затем опять по формуле Симпсона находим
)],([),(2
,4),(6
),()( yxfRdxfdcxfcxfcddyyxfxF y
d
c
+
+
+
+−
== ∫ . (18.3)
172
Тогда из (18.2) и (18.3) имеем
).(2
,2
16
,2
,22
,2
,4
),(),(),(),(36
))((
fRdcbaf
dbafcbafdcbfdcaf
dbfcbfdafcafcdabJ
+
+++
+
+
+
+
+
+
+
+
+
++++−−
=
(18.4)
После ряда выкладок получаем, что
,),(902
)()(
),(902
))((),(902
)()()(
4433
8
210
55
422
4
5
5
411
4
5
5
yxfcdab
yfcdab
xfcdabfR
∂∂∂
⋅−−
−
−∂
∂⋅
−−−
∂∂
⋅−−
−=
ηξ
ηξηξ
(18.5)
где Gii ∈),( ηξ .
Отбрасывая в (18.4) остаточный член, получаем кубатурную формулу Симпсона в случае двух независимых переменных. Эта формула содержит значения функции ),( yxf в девяти точках. Из (18.5) следует, что формула точна, если ),( yxf произвольный многочлен степени не выше третьей.
Понятно, что если для вычисления интегралов ∫b
a
dxxF )( и ∫=d
c
dyyxfxF ),()(
применять другие квадратурные формулы, то будем получать и другие кубатурные формулы.
Допустим, что вычисления одномерных интегралов производим с помощью формул
∑∫=
+=n
iii
b
a
FRxFAdxxF1
0 )()()( , (18.6)
∫ ∑=
+==d
c
m
jijijii yxfRyxfBdyyxfxF
11 )],([),(),()( ,
тогда получаем
∫ ∫ ∑∑= =
+=b
a
d
c
n
i
m
jjiij fRyxfCdxdyyxf
1 1)(),(),( , (18.7)
173
где jiij BAC = , ∑=
+=n
iii xFRyxfRAfR
101 )]([)],([)( . Формула (18.7) дает нам
новую кубатурную формулу. Если область G определена неравенствами )()(, xyxbxa ψϕ ≤≤≤≤ , то
∫∫ ∫ ∫∫ ===G
x
x
b
a
b
a
dxxFdyyxfdxdxdyyxfJ)(
)(
)(),(),(ψ
ϕ
, (18.8)
где
∫=)(
)(
),()(x
x
dyyxfxFψ
ϕ
.
Допустим, что для вычисления ∫b
a
dxxF )( используем квадратурную
формулу вида (18.6), а для вычисления интегралов )( ixF квадратурные формулы
∫ ∑=
+==)(
)( 1
)()( )),((),(),()(i
i
ix
x
m
jii
iji
ijii yxfRyxfBdyyxfxF
ψ
ϕ
.
Получаем кубатурную формулу
( )
1 1
( , ) ( , ) ( )imn
iij i j
i jG
f x y dxdy C f x y R f= =
= +∑∑∫∫ ,
где
)(ijiij BAC = , ∑∫
=
+
=
n
iiii
d
c
yxfRAdyyxfRfR1
0 )],([),()( .
В случаях, когда область G имеет более сложную структуру, ее нужно
разбить на подобласти рассмотренного вида и применить составную кубатурную формулу.
Нужно отметить, что на этом пути получаются кубатурные формулы с большим числом узлов. Поэтому целесообразно применять квадратурные формулы максимальной точности (с минимальным числом узлов), например формулы Гаусса.
174
Другой подход к получению кубатурных формул состоит в замене подынтегральной функции некоторым интерполяционным полиномом.
Двумерный интерполяционный полином может быть записан в виде
∑=
=N
iiii yxLyxfyxL
1),(),(),( , (18.9)
где многочлены ),( yxLi не зависят от функции ),( yxf и обладают свойством
1, ,
( , )0, .i j j
i jL x y
i j=
= ≠
Применяя полином (18.9), находим
∫∫ ∫∫ ∑=
=≈=G G
N
iiii yxfCdxdyyxLdxdyyxfJ
1),(),(),( ,
где
∫∫=G
ii dxdyyxLC ),( .
Вычисление коэффициентов кубатурных формул в случае простых
областей G не вызывает затруднений. Пусть, например, G - это прямоугольник dycbxa ≤≤≤≤ , . Строим сетку узлов, как пересечения
прямых ihaxi += , jlcy j += ; n
abh −= ,
mcdl −
= ; ni ,...,1,0= ; mj ,...,1,0= .
Интерполяционная формула в этом случае имеет вид:
1 1
0 0 1 1
( ) ( )( , ) ( , ) ( , )( )( ) ( ) ( )
n mn m
i ji j i j n i m j
x yf x y f x y R x yx x y y x y
ω ωω ω
+ +
= = + +
= +′ ′− −∑∑ ,
где 1 0( )...( )n nx x x xω + = − − , 1 0( ) ( )...( )m my y y y yω + = − − . Заменяя функцию
),( yxf интерполяционным полиномом, получаем
∫ ∫ ∑∑= =
+=b
a
d
c
n
i
m
jjiij fRyxfCdxdyyxf
0 0)(),(),( ,
где 1 1
1 1
( ) ( )( ) ( ) ( ) ( )
b dn m
iji n i j m ja c
x yC dx dyx x x y y y
ω ωω ω
+ +
+ +
=′ ′− −∫ ∫ , а ∫ ∫=
b
a
d
c
dxdyyxRfR ),()( .
175
18.1. Понятие о методе Монте-Карло
Метод Монте-Карло состоит в том, что задается случайная величина ξ , математическое ожидание которой равно искомой величине z , т.е.
zM =ξ . (18.9)
Осуществляется серия n независимых испытаний случайной величины
ξ : nξξ ,...,1 и приближенно полагается
1 ... nnz
nξ ξ
ξ+ +
≈ = . (18.10)
В силу (18.9) при любом натуральном n
∑∑==
===
=
n
ii
n
iin z
nnzM
nnMM
11)(11
ξξξ . (18.11)
Если дисперсия 2σξ =D - конечна, то
∑=
===n
iin nn
nDn
D1
2
2
2
2
1 σσξξ . (18.12)
В силу центральной предельной теоремы распределение случайной
величины nξ асимптотически нормально. Поэтому, при достаточно больших n (практически при 10>n ) из (18.11), (18.12) и известного правила «трех сигм» имеем
997,03 ≈
<−
nzP n
σξ ,
т.е. неравенство
nz n
σξ 3<− (18.13)
176
выполняется с вероятностью, достаточно близкой к единице.
На практике σ неизвестна, но, как правило, конечна, тогда при 10>n есть ее хорошая несмещенная оценка
∑=
−−
≈n
inin 1
2)(1
1ξξσ . (18.14)
Пусть требуется вычислить интеграл
∫=1
0
)( dxxfJ ,
причем считаем, что интеграл ∫1
0
2 )( dxxf тоже существует. Пусть η -
равномерно распределенная на отрезке ]1,0[ случайная величина, т.е. плотность ее распределения
1, 0 1,( )
0, [0,1].x
p xxη
≤ ≤= ∉
Тогда )(ηξ f= - тоже случайная величина, причем
∫ ∫ ===1
0
1
0
)()()( JdxxfdxxpxfM ηξ .
Поэтому, согласно предыдущего, получаем
∑=
=≈n
iin f
nJ
1)(1
ηξ ,
где nηη ,...,1 - n независимых реализаций случайной величины η .
Далее
∫ ∫ ∞<
−=−==
1
0
21
0
2222 )()())(()]([)]([ dxxfdxxfMffMfD ηηησ ,
т.е. σ - конечна. Поэтому можно оценить σ по формуле (18.14). Тогда погрешность построенной квадратурной формулы nJR ξ−= оценивается по формуле (18.13) с вероятностью 997.0≈ .
177
18.3. Численное дифференцирование. Некорректность операции численного дифференцирования
Численное дифференцирование применяется тогда, когда функцию трудно или невозможно продифференцировать аналитически. Например, необходимость в численном дифференцировании возникает в том случае, когда функция задана таблицей. Кроме того, формулы численного дифференцирования широко используются при разработке вычислительных методов решения многих задач, например, при решении дифференциальных уравнений, поиске решений систем нелинейных уравнений, поиске точек экстремума функций и др.
Основной подход при построении формул численного дифференцирования – это аппроксимация функции. Предположим, что в окрестности точки *x функция )(xu аппроксимируется некоторой другой функцией )(xg , причем производная )()( xg k в точке *x легко вычисляется. Естественно в такой ситуации воспользоваться приближенной формулой
)()( *)(*)( xgxu kk ≈ . (18.15)
Наиболее просто этот подход реализуется в случае, когда
аппроксимация функции осуществляется с помощью интерполяции. Пусть )(xLn - интерполяционный многочлен Лагранжа степени n с
узлами интерполяции nxxx <<< ...10 и ],[ 0 nxxx ∈ . В этом случае формула (18.15) принимает вид
)()( )()( xLxu k
nk ≈ , nk ≤≤0 .
При этом справедлива следующая оценка
knnkn
kn
k hMCxLxu −++≤− 1
max1,)()( )()( , nk ≤≤0 .
здесь knC , - положительные числа, )(max )1(
],[10
xuM n
xxnn
++ = , maxh - максимальное
расстояние между узлами интерполяции.
178
Пусть, например, построен интерполяционный полином Лагранжа )(2 xL по равноудаленным узлам интерполяции 210 ,, xxx , hxxxx =−=− 0112 .
Тогда )()()( 22 xRxLxu += при 20 xxx << и )()()( 22 xRxLxu ′+′=′ , где
[ ]21012002122 ))(())((2))((21)( uxxxxuxxxxuxxxxh
xL −−+−−−−−= ,
))()((!3
))(()( 2102 xxxxxxxuxR −−−′′′
=ξ ,
)( ii xuu = , 2,1,0=i , а )(ξu ′′′ - значение третьей производной функции )(xu в
некоторой внутренней точке [ ]20 ,)( xxx ∈ξ , естественно нам неизвестное и служащее для оценок и теоретических исследований. Из этих формул
)(3
)43(21)( 1
2
2100 ξuhuuuh
xu ′′′+−+−=′ ,
)(6
)(21)( 2
2
021 ξuhuuh
xu ′′′−−=′ ,
)(3
)34(21)( 3
2
2102 ξuhuuuh
xu ′′′++−=′ ,
здесь iξ - некоторые точки из [ ]20 , xx . Как видим, погрешность аппроксимации )( 2hO . Если брать полиномы Лагранжа более высокой степени, то будем получать аппроксимации более высокого порядка точности. Аналогично можем получить аппроксимационные формулы для старших производных.
Интересные результаты получаются при аппроксимации функции интерполяционными сплайнами. За соответствующими аппроксимационными формулами производных отсылаем к [10]. Часто для построения аппроксимаций производных, особенно когда требуется построить аппроксимацию более высокого порядка точности, применяют метод неопределенных коэффициентов. Он состоит в следующем. Выражение для производной k -го порядка в точке ixx = ищем в виде линейной комбинации значений функции в узлах nxxx ...,,, 10
nn
ki uuuu ααα +++≈ ...1100
)( . (18.16) Предполагается, что это соотношение выполняется точно, если
функция )(xuu = является многочленом степени не выше n , т.е. представима в виде
179
n
n xxaxxaau )(...)( 0010 −++−+= .
Отсюда следует, что соотношение (18.16) должно, в частности, выполняться точно для многочленов 1=u , )( 0xxu −= , …, nxxu )( 0−= . Подставляя последовательно эти многочлены в (18.16) и требуя выполнения точного равенства, получаем систему )1( +n линейных алгебраических уравнений относительно )1( +n неизвестных nααα ...,,, 10 .
При построении формул численного дифференцирования, особенно при численном решении задач для дифференциальных уравнений, широко используются разделенные разности (разностные отношения).
Чтобы привести примеры разностных отношений (разностных производных) введем некоторые понятия.
Определение 1. Сеткой на отрезке [ ]ba, называется любое конечное множество точек этого отрезка.
Определение 2. Функция, определенная в точках сетки, называется сеточной функцией.
Пусть построена сетка bxxxa N =<<<= ...10 . Это множество точек, т.е. сетку, будем обозначать символом Nω .
Определение 3. Точки Nix ω∈ называют узлами сетки Nω . Определение 4. Равномерной сеткой на [ ]ba, называется множество
точек
Niihaxih ,...1,0, =+==ω . (18.17)
Определение 5. Величину N
abh )( −= называют шагом сетки.
В случае неравномерной сетки шаг iii xxh −= +1 меняется от узла к узлу. Пусть в узлах сетки заданы значения )( ii xuu = функции )(xu . Тогда
первую производную )( ixu′ в точке ix можно аппроксимировать следующими разностными отношениями
huuu ii
ix1
,−−
= , h
uuu iiix
−= +1
, , huuu ii
ix 211
,ˆ−+ −
= ,
которые называют, соответственно, разностным отношением назад, вперед и центральным (часто кратко говорят: разность назад, вперед и центральная разность).
Погрешность такой аппроксимации характеризуется равенствами
180
)(2
)( )1(, iiix uhxuu ξ′′−′= , (18.18)
)(2
)( )2(, iiix uhxuu ξ′′+′= , (18.19)
)(6
)( )3(2
,ˆ iiix uhxuu ξ′′′+′= , (18.20)
где )( jiξ - некоторые точки из интервалов ),( 1 ii xx − ; ),( 1+ii xx ; ),( 11 +− ii xx . Эти
выражения получаются разложением 1−iu и 1+iu в ряд Тейлора в точке ix . Так как hxx ii +=+1 , то, например
( )
).(2
)(
2)()(1)()(
)2(
)2(2
1,
ii
iiiiiii
ix
uhxu
uhxuhxuhh
xuhxuh
uuu
ξ
ξ
′′+′=
=
′′+′+=−+
=−
= +
Из (18.18)-(18.20) следует, что разностные отношения вперед и назад
(односторонние разности) аппроксимируют первую производную iu′ в точке
ix с первым порядком по h , а центральная – со вторым порядком по h . Вторую производную в точке ix можно аппроксимировать отношением
211,,
,
2)(h
uuuh
uuu iiiixix
ixx−+ +−
=−
= . (18.21)
Применяя разложение в ряд Тейлора, получаем
)()(12
)( 4)(2
, hOxuhxuu iIV
iixx ++′′= , откуда следует, что вторая разделенная
разность аппроксимирует вторую производную функции со вторым порядком по h . Аналогично выписываются разностные производные более высокого порядка.
Вот теперь обсудим важное обстоятельство. Мы привыкли к тому, что погрешность аппроксимации стремится к нулю при 0→h . Это, вообще говоря, не так при численном дифференцировании.
Попытаемся разобраться. Как правило, значения функции )(xu в узлах сетки hω вычисляются не точно, а с каким-то приближением. Оказывается, что погрешность, возникающая при вычислении разностных отношений, может намного превосходить погрешность в задании функции )(xu и даже может неограниченно возрастать при стремлении шага сетки 0→h . Поэтому операцию вычисления разностных отношений (операцию численного дифференцирования) называют некорректной. Поясним
181
причину некорректности на примере вычисления первой разделенной
разности huuu ii
ix1
,−−
= .
Разностное отношение ixu , хорошо приближает )( ixu′ только в том случае, когда шаг h достаточно мал. Требование малости величины h , находящейся в знаменателе разностного отношения, как раз и является причиной некорректности операции численного дифференцирования.
Действительно, пусть вместо точных значений iu , 1−iu вычислены приближенные значения iii uu δ+=~ , 111
~−−− += iii uu δ .
Тогда вместо ixu , будет вычислена величина h
u iiix
)( 1,
−−+
δδ .
Следовательно, появляется дополнительная погрешность в вычислении
первой разностной производной, которая равна h
iiix
)( 1,
−−=
δδδ .
Пусть известна граница δ погрешностей: δδ ≤i и δδ ≤−1i , тогда
hix
δδ
2, ≤ , (18.22)
причем эта оценка достигается при δδδ =−= −1ii . Из оценки (8.22) видно, что вследствие малости h дополнительная погрешность, возникающая при вычислении первой разностной производной, значительно превосходит погрешность вычисления самой функции )(xu . Если δ не зависит от h , то погрешность ix ,δ неограниченно возрастает при 0→h .
Сказанное не означает, что нельзя пользоваться формулами численного дифференцирования. Чтобы не происходило существенного понижения точности надо следить за тем, чтобы дополнительная погрешность имела тот же порядок, что и погрешность аппроксимации.
Например, из (18.18) следует, что погрешность аппроксимации при замене )(xu′ отношением ixu , не превосходит величины 25.0 hM , где
)(max],[2 xuM
ba′′= . Естественно потребовать, чтобы и дополнительная
погрешность ix ,δ была сравнима с погрешностью аппроксимации, например потребовать, чтобы
222 hM
h≤
δ , (18.23)
182
где 2M не зависит от h . Это означает, что погрешность δ при вычислении значений функции )( ixu должна быть величиной )( 2hO .
С другой стороны, неравенство (18.23) показывает, что если величина δ задана и мы не можем ее менять, то вычисления надо проводить не с произвольно малым шагом h , а с шагом, удовлетворяющим условию 0hh ≥ ,
где 2
0 2 Mh δ= .
Запрет вести расчеты с шагом 0hh < называют регуляризацией численного дифференцирования.
Некорректность численного дифференцирования – это следствие некорректности операции дифференцирования непрерывных функций. Дифференцирование некорректно в том смысле, что из справедливости неравенства ( ) ε<− 21)( xuxu не следует справедливость неравенства
( ) ε<′−′ 21)( xuxu .
183
Литература
1. Амосов А. А., Дубинский Ю. А., Копченова Н. В. Вычислительные методы для инженеров. - М.: Высшая школа, 1994.
2. Бахвалов Н. С., Жидков Н. П., Кобельков Г. М. Численные методы. - М.: Лаборатория базовых знаний, 2001.
3. Березин И. С., Жидков Н. П. Методы вычислений. Т.1. - М.: Физматгиз, 1962.
4. Вержбицкий В. М. Основы численных методов. - М.: Высшая школа, 2002.
5. Воеводин В. В. Вычислительные основы линейной алгебры. - М.: Наука, 1977.
6. Воеводин В. В., Кузнецов Ю. А. Матрицы и вычисления. - М.: Наука, 1984.
7. Волков Е. А. Численные методы. - СПб.: Лань, 2004. 8. Демидович Б. П., Марон И. А. Основы вычислительной математики. - М.: Наука, 1970.
9. Дробышевич В. И., Дымников В. П., Ривин Г.С. Задачи по вычислительной математике. - М.: Наука, 1980.
10. Завьялов Ю.С., Квасов Б.И., Мирошниченко В.А. Методы сплайн-функций. –М.: Наука, 1980. - 352 с.
11. Калиткин Н. Н. Численные методы. - М.: Наука, 1978. 12. Коновалов А.Н. Введение в вычислительные методы линейной алгебры. – Новосибирск, Наука, 1993. - 158 с.
13. Марчук Г. И. Методы вычислительной математики. - М.: Наука, 1989. 14. Методы вычислений: Методуказания и задания для лабораторных работ.Ч.1/Сост. В. Е. Распопов, В. А. Сапожников, М. М. Клунникова. -Красноярск, 2000.
15. Плис А. И., Сливина Н. А. Лабораторный практикум по высшей математике. - М.: Высшая школа, 1994.
16. Райс Дж. Матричные вычисления и математическое обеспечение. - М.: Мир, 1984.
17. Ракитин В. И., Первушин В. Е. Практическое руководство по методам вычислений с приложением программ для персональных компьютеров. - М.: Высшая школа, 1998.
18. Распопов В. Е., Клунникова М. М., Сапожников В. А. Численный анализ. - Красноярск, 2005.
19. Самарский А. А. Введение в численные методы. - М.: Наука, 1987. 20. Самарский А. А., Гулин А. В. Численные методы. - М.: Наука, 1989. 21. Самарский А. А., Николаев. Методы решения сеточных уравнений. -М.:Наука, 1978.
184
22. Сборник задач по методам вычислений/Под ред. П. И. Монастырного.-М.: Наука, 1994.
23. Уилкинсон Дж. Х. Алгебраическая проблема собственных значений. - М.: Наука, 1970.
24. Фаддеев Д. К., Фаддеева В. Н. Вычислительные методы линейной алгебры. - М.: Физматгиз, 1960.