Текст
                    о
ЛАВ!.
А. А. Амосов, Ю. А. Дубинский, Н. В. Копченова
ВЫЧИСЛИТЕЛЬНЫЕ
МЕТОДЫ

А. А. АМОСОВ, Ю. А. ДУБИНСКИЙ, H. В. КОПЧЕНОВА ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ Учебное пособие Издание четвертое, стереотипное ЛАНЬ® САНКТ-ПЕТЕРБУРГ - МОСКВА - КРАСНОДАР 2014
ББК 22.1я73 А 62 Амосов А. А., Дубинский Ю. А., Копченова Н. В. А 62 Вычислительные методы: Учебное пособие. — 4-е изд., стер. — СПб.: Издательство «Лань», 2014. — 672 с.: ил. — (Учебники для вузов. Специальная литера- тура). ISBN 978-5-8114-1623-3 В книге рассматриваются вычислительные методы, наиболее часто используемые в практике прикладных и научно-технических расчетов: методы решения задач линейной алгебры, нелинейных уравнений, проблемы собственных значений, методы теории приближения функций, численное дифференцирование и интегри- рование, поиск экстремумов функций, решение обыкновенных диф- ференциальных уравнений, численное решение интегральных уравнений, линейная и нелинейная задачи метода наименьших квадратов, метод сопряженных градиентов. Значительное внимание уделяется особенностям реализации вычислительных алгоритмов на компьютере и оценке достоверности полученных результатов. Имеет- ся большое количество примеров и геометрических иллюстраций. Даются сведения о стандарте IEEE, о сингулярном разложении матрицы и его применении для решения переопределенных систем, о двухслойных итерационных методах, о квадратурных формулах Гаусса-Кронрода, о методах Рунге-Кутты-Фельберга. Учебное пособие предназначено для студентов всех направлений подготовки, обучающихся в классических и технических универ- ситетах и изучающих вычислительные методы, будет полезно аспи- рантам, инженерам и научным работникам, применяющим вычисли- тельные методы в своих исследованиях. ББК 22.1я73 Рецензенты: Н. Н. КАЛИТКИН — член-корреспондент РАН; Н. С. БАХВАЛОВ — профессор, зав. кафедрой вычислительной математики механико-математического факультета МГУ, академик РАН; Е. И. МОИСЕЕВ — профессор, декан факультета вычислительной математики и кибернетики МГУ, член-корреспондент РАН. Обложка Е. А. ВЛАСОВА © Издательство «Лань», 2014 © Коллектив авторов, 2014 © Издательство «Лань», художественное оформление, 2014
Цель расчетов — не числа, а понимание. Р.В. Хемминг Из нашего девиза «Цель расчетов — не числа, а понимание» следует, что человек, который должен этого понимания достиг- нуть, обязан знать, как происходит вычис- ление. Если он не понимает, что делается, то очень маловероятно, чтобы он извлек из вычислений что-нибудь ценное. Он видит голые цифры, но их истинное значение мо- жет оказаться скрытым в вычислениях. Р.В. Хемминг ПРЕДИСЛОВИЕ К ПЕРВОМУ ИЗДАНИЮ В настоящее время имеется значительное число учебников и моно- графий, посвященных методам вычислений (часть из них отражена в списке литературы к данному пособию). Однако, на наш взгляд, боль- шинство этих книг ориентировано на студентов-математиков или на специалистов по вычислительной математике. В то же время практиче- ски отсутствует отечественная учебная литература, в которой доступ- ным для студента технического вуза или инженера образом были бы изложены основы вычислительных методов, применяемых сегодня для решения инженерных задач. Особенно острой, по мнению авторов, является потребность в книге, которая содержала бы не только изложе- ние начал численных методов, но и давала бы представление о реально используемых в вычислительной практике алгоритмах. Данное учебное пособие призвано в определенной степени восполнить этот пробел. Настоящее пособие адресовано в первую очередь студентам и аспи- рантам высших технических учебных заведений, изучающим основы математического моделирования и численные методы. Авторы наде- ются на то, что эта книга будет полезна широкому кругу инженерных и научно-технических работников, которые намерены применять ЭВМ для решения прикладных задач. При написании книги авторы использовали многолетний опыт пре- подавания курса вычислительных методов студентам и аспирантам различных специальностей Московского энергетического института, а также опыт работы в вычислительном центре МЭИ. Значительное влияние на выбор материала и характер изложения оказали также мно- гочисленные дискуссии со слушателями существующего при МЭИ факультета повышения квалификации преподавателей вузов страны. Авторы стремились изложить материал по возможности наиболее простым и доступным образом. Объем знаний высшей математики, необходимый для понимания содержания книги, не выходит за рамки программы младших курсов втуза. Пособие содержит довольно много 3
Предисловие примеров, иллюстрирующих те или иные положения теории, а также демонстрирующих особенности вычислительных методов или работу конкретных алгоритмов. Тем не менее, многие из рассматриваемых вопросов трудны для восприятия и требуют внимательного изучения. К сожалению, в учебной литературе они нередко опускаются. К таким цен- тральным вопросам относятся, например понятия корректности, устойчи- вости и обусловленности вычислительных задач и вычислительных алго- ритмов, особенности поведения вычислительной погрешности. Важность их понимания для эффективного применения ЭВМ сегодня велика и не акцентировать на них внимание авторы посчитали невозможным. Дадим краткое изложение основного содержания книги. Важную идей- ную нагрузку несут на себе первые три главы. Рассматриваемые в них вопросы закладывают фундамент, необходимый для правильного пони- мания изложенных в остальных главах вычислительных методов. В гл. 1 дается общее представление о методе математического моде- лирования, в том числе о процессе создания математических моделей, последовательности этапов решения инженерной задачи с применение ЭВМ, вычислительном эксперименте. В гл. 2 наряду с введением в элементарную теорию погрешностей содержится изложение основных особенностей машинной арифметики. Понимание этих особенностей необходимо тем, кто заинтересован в эффективном применении ЭВМ для решения прикладных задач. В гл. 3 обсуждаются важнейшие свойства вычислительных задач, методов и алгоритмов. Дается общее представление о корректности, устойчивости и обусловленности вычислительной задачи. Приводится описание основных классов вычислительных методов. Значительное внимание уделяется устойчивости вычислительных алгоритмов, их чув- ствительности к ошибкам. Дается представление о различных подходах к анализу ошибок, в том числе и об обратном анализе ошибок. Обсужда- ются требования, предъявляемые к вычислительным алгоритмам. Конкретные вычислительные задачи и методы их решения рассмат- риваются начиная с гл. 4. Здесь авторы стремились к тому, чтобы не только изложить простейшие подходы, но и дать представление об алгоритмах, которые реально используются для решения соответствую- щих задач. В гл. 4 рассматриваются методы отыскания решений нелинейных уравнений. Значительное внимание уделено постановке задачи и ее свойствам, в частности — чувствительности корней нелинейных урав- нений к погрешностям. Среди различных методов отыскания корней более подробно излагаются метод простой итерации, метод Ньютона и различные их модификации. В гл. 5 рассмотрены прямые (точные) методы решения систем линейных алгебраических уравнений. Основное внимание уделяется 4
Предисловие методу Гаусса и его различным модификациям. Рассматриваются использование /.^/-разложения матриц для решения систем линейных уравнений, метод квадратных корней, метод прогонки, методы враще- ний и отражений. Обсуждается алгоритм итерационного уточнения. В гл. 6 рассматриваются итерационные методы решения систем линейных алгебраических уравнений: метод простой итерации, метод Зейделя, метод релаксации и другие методы. В гл. 7 рассматривается задача отыскания решений систем нелинейных уравнений. Обсуждаются не только соответствующие итерационные методы, но и различные подходы к решению сложной задачи локализации. В гл. 8 дается представление о проблеме собственных значений и о различных подходах к вычислению собственных значений и собст- венных векторов. Излагаются степенной метод и обратный степенной метод, обсуждается ^-алгоритм. В гл. 9 излагаются наиболее известные численные методы решения задачи одномерной минимизации, в том числе метод деления отрезка пополам, метод Фибоначчи, метод золотого сечения и метод Ньютона. В гл. 10 рассматриваются различные методы решения задачи безус- ловной минимизации. Наиболее полно изложены градиентный метод, метод Ньютона и метод сопряженных градиентов. В гл. 11 рассмотрены наиболее важные и часто встречающиеся в приложениях методы приближения функций. Значительное внимание уделено интерполяции, причем рассматривается интерполяция не только алгебраическими многочленами, но и тригонометрическими многочле- нами, а также интерполяция сплайнами. Достаточно подробно обсужда- ется метод наименьших квадратов. Дается понятие о наилучшем равно- мерном приближении и дробно-рациональных аппроксимациях. В эту главу включены также некоторые вопросы, имеющие непо- средственное отношение к методам приближения функций. Это конеч- ные и разделенные разности, многочлены Чебышева, быстрое дискрет- ное преобразование Фурье. В гл. 12 рассматриваются различные подходы к выводу формул чис- ленного дифференцирования, обсуждается чувствительность этих фор- мул к ошибкам в вычислении значений функции. В гл. 13 излагаются методы вычисления определенных интегралов. Выводятся квадратурные формулы интерполяционного типа и квадра- турные формулы Гаусса. Дается представление о принципах построения адаптивных процедур численного интегрирования и, в частности, об используемых в них способах апостериорной оценки погрешности. Рас- сматриваются различные подходы к вычислению интегралов от функ- ций, имеющих те или иные особенности. В частности, затрагивается проблема интегрирования быстро осциллирующих функций. 5
Предисловие Глава 14 посвящена численным методам решения задачи Коши для обыкновенных дифференциальных уравнений. Подробно рассматрива- ются метод Эйлера и его различные модификации. Значительное вни- мание уделено рассмотрению классических методов Рунге—Кутты и Адамса. Обсуждаются различные свойства устойчивости численных методов решения задачи Коши, в том числе нуль-устойчивость, абсо- лютная устойчивость, А -устойчивость, Л(а)-устойчивость. Специально рассматриваются жесткие задачи и методы их решения. В гл. 15 изучаются методы численного решения двухточечных крае- вых задач. Подробно излагается применение метода конечных разно- стей к решению краевых задач для обыкновенного дифференциального уравнения второго порядка. Дается представление о проекционных методах Ритца и Галеркина; обсуждается один из их современных вариантов — метод конечных элементов. Завершает главу рассмотре- ние метода пристрелки. Можно предположить, что к изучению отдельных параграфов или даже глав этой книги читатель приступит, только столкнувшись с необ- ходимостью решить на ЭВМ важную для него задачу. Вероятно, в этом случае польза от изучения соответствующего раздела будет наиболь- шей. Многие вопросы рассмотрены очень кратко или не рассмотрены вообще. Авторы надеются на то, что соответствующие пробелы можно восполнить, использовав сделанные в тексте ссылки на известные учебники и монографии. В ряде случаев авторы позволяют себе интерпретировать те или иные результаты, делать определенные выводы и даже давать рекомендации в надежде на то, что для новичка соответствующие рассуждения дадут полезный начальный ориентир. В целом же ко всяким рекомендациям в такой сложной и многообразной области, как применение вычислитель- ных методов для решения прикладных задач на ЭВМ, следует отнестись с осторожностью. Они не могут претендовать на бесспорность и их сле- дует рассматривать скорее как отражение точки зрения авторов. Иногда то или иное положение обосновывается ссылкой на вычис- лительную практику. Хотя критерий практики и играет при отборе методов вычислений существенную роль, все же оценки методов, осно- ванные на результатах их применения для решения конкретных задач, нередко бывают весьма субъективны и противоречивы. В заключение отметим, что никакие теоретические положения и советы не могут заменить собственного опыта вычислительной работы. Как надеются авторы, параллельно с изучением данной книги такой опыт может приобрести читатель, переходя от решения задач учебного характера к серьезным практическим задачам. Авторы 6
ПРЕДИСЛОВИЕ КО ВТОРОМУ ИЗДАНИЮ Со времени выхода в свет первого издания этой книги, в 1994 г. в издательстве «Высшая школа», прошло около десяти лет. За это время стало ясно, что она нашла своего читателя. Книга активно используется студентами, аспирантами, преподавателями и научными сотрудниками не только Московского энергетического института, но и других вузов страны. В то же время обнаружился ряд опечаток и неточностей в из- ложении, которые было бы желательно исправить. Поэтому авторы с благодарностью приняли любезное предложение Издательства МЭИ о переиздании учебного пособия. Во втором издании книги исправлены замеченные недостатки. Рас- смотрен ряд вопросов, которые не были включены в первое издание. Это стандарт IEEE, сингулярное разложение матрицы и его примене- ние для решения переопределенных систем, двухслойные итерацион- ные методы решения систем линейных алгебраических уравнений (включая метод с чебышевским набором параметров, метод сопряжен- ных градиентов и предобусловливание), обратная интерполяция, интер- поляционный многочлен Бесселя, многомерная интерполяция, квадра- турные формулы Гаусса—Кронрода, метод Рунге—Кутты—Фельберга. Дополнен список литературы. Авторы пользуются случаем выразить свою благодарность россий- ским ученым, которые оказали существенное влияние на формирование их взглядов на вычислительную математику. Это акад. РАН Н.С. Бах- валов, акад. РАН В.В. Воеводин, акад. РАН А.А. Самарский, акад. РАН А.Н. Тихонов, проф. Ф.П. Васильев, проф. Е.Г. Дьяконов, проф. Я.М. Жи- лейкин, проф. Х.Д. Икрамов, проф. Г.М. Кобельков, докт физ-мат. наук А.С. Кронрод, проф. И.А. Марон. Работа по подготовке второго издания к печати выполнена проф. А.А. Амосовым. Авторы искренне признательны своим коллегам проф. А.А. Злотнику, доц. О.А. Амосовой и доц В.П. Григорьеву, чьи заме- чания были существенно использованы в процессе работы над вто- рым изданием. Авторы заранее благодарны всем, кто пожелает вы- сказать свои замечания и предложения. Их следует направлять по ад- ресу: 111250, Москва, Красноказарменная ул., д. 14, Издательство МЭИ или по адресу AmosovAA@mpei.ru. Авторы 7
ПРЕДИСЛОВИЕ К ТРЕТЬЕМУ ИЗДАНИЮ Перед Вами третье издание книги, которая теперь называется «Вычис- лительные методы», хотя в двух предыдущих изданиях она выходила под названием «Вычислительные методы для инженеров». По-видимому, авторы должны как-то объяснить, почему название книги стало сущест- венно короче. Во-первых, методы вычислений, применяемые для решения возни- кающих на практике задач, универсальны. И не существует каких-то специ- альных методов, предназначенных для решения только лишь инженерных задач. Поэтому изложенные в книге методы могут использоваться студен- тами, аспирантами и исследователями для решения самых разных задач, в том числе — экономических, медицинских, биологических и т.д. Нет необхо- димости специально сужать круг возможных читателей. Во-вторых, перемены, происходящие в высшем образовании нашей страны, скоро приведут к тому, что высокое звание «инженер» станет воспри- ниматься как архаика. Книга, предназначенная для каких-то непонятных инже- неров, может показаться ненужной будущим бакалаврам и магистрам. Так что сокращение названия книги — это и вынужденная дань нынешней моде. Чем это издание отличается от предыдущего? Во-первых, в нем исправ- лены обнаруженные неточности и опечатки. Во-вторых, добавлена новая глава, посвященная численному решению интегральных уравнений. В третьих, час- тично изменено содержание некоторых параграфов. Существенной перера- ботке подвергся параграф 2.5, посвященный особенностям машинной арифметики. В нем теперь достаточно полно отражены особенности IEEE арифметики, реализованной в настоящее время на большинстве современ- ных компьютеров. Достойное место в книге, наконец, занял метод наимень- ших квадратов. В ней появились два новых параграфа, посвященных линейной и нелинейной задачам метода наименьших квадратов. Появился также отдельный параграф, посвященный методу сопряженных градиентов решения систем линейных алгебраических уравнений. Список литературы дополнен. Ссылки на литературу, добавленную к третьему изданию, помечены звездочкой. Работа по подготовке к печати третьего издания выполнена проф. А.А. Амосовым. Авторы заранее благодарны читателям, которые пожелают высказать свои замечания или предложения по содержанию книги. Их следует направлять по адресу 111250, Москва, Красноказарменная ул., д. 14, Изда- тельский дом МЭИ или по адресу электронной почты AmosovAA@mpei.ru. Авторы 8
Глава 1 МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ И РЕШЕНИЕ ПРИКЛАДНЫХ ЗАДАЧ С ПРИМЕНЕНИЕМ КОМПЬЮТЕРА В этой главе дается общее представление о методе математического моделирования, в том числе о процессе создания математических моде- лей, о последовательности этапов решения прикладной задачи с приме- нением компьютера, о вычислительном эксперименте. Разделение решаемых с применением компьютера задач на приклад- ные и научные является до известной степени условным. Тем не менее, при написании данного пособия авторы ориентировались на читателя, интересующегося решением именно прикладных задач. Попытаемся охарактеризовать этот класс задач, выделив его некоторые характерные особенности. 1. Прикладные задачи имеют ярко выраженную практическую направленность. Целью их решения является создание новой конструк- ции, разработка нового технологического процесса, минимизация затрат на производство некоторого изделия и т.д. Поэтому для таких задач характерна необходимость доведения результатов до конкретных чисел, графиков, таблиц, на основании которых можно принимать решения. 2. Эти задачи характеризуются значительным объемом выполняе- мой вычислительной работы. 3. Для этих задач характерно использование достаточно сложных математических моделей и серьезного математического аппарата. 4. Прикладные задачи, как правило, решают специалисты, не являю- щиеся профессионалами в области разработки математических мето- дов и программного обеспечения компьютеров. Поэтому естественно желание этих специалистов использовать готовые вычислительные методы и стандартное математическое программное обеспечение. Наконец, условимся считать, что в рассматриваемый класс задач входят задачи только умеренной сложности. Для их решения не требу- ются сверхбольшие скорости вычислений и сверхбольшие объемы памяти для хранения данных. Таким образом, эти задачи могут быть решены с помощью компьютеров, доступных массовому пользователю. Те же задачи, которые требуют для решения сверхмощной вычисли- тельной техники и принципиально новых алгоритмов, будем относить к категории научных задач. 9
Глава 1. Математическое моделирование и решение прикладных задач § 1.1. Математическое моделирование и процесс создания математической модели Математическое моделирование представляет собой метод иссле- дования объектов и процессов реального мира с помощью их прибли- женных описаний на языке математики — математических моделей. Этот метод чрезвычайно плодотворен и известен уже несколько тыся- челетий. Насущные задачи земледелия и строительства еще в древние времена приводили к необходимости определения площадей и объе- мов, а следовательно, и к рассмотрению элементарных геометрических фигур, дающих пример простейших математических моделей. Возмож- ности математического моделирования и его влияния на научно-техни- ческий прогресс неизмеримо возросли в последние десятилетия в связи с созданием и широким внедрением компьютеров. Процесс создания математической модели условно можно разбить на ряд основных этапов: 1) построение математической модели; 2) постановка, исследование и решение соответствующих вычисли- тельных задач, 3) проверка качества модели на практике и модификация модели. Рассмотрим основное содержание этих этапов. 1. Построение математической модели. Предполагается, что с помощью наблюдений и экспериментов, практики (понимаемой в самом широком смысле) получена достаточно подробная информация об изучаемом явлении. Для рассматриваемого этапа характерно глубо- кое проникновение в полученные факты в целях выяснения главных закономерностей. Выявляются основные «характеристики» явления, которым сопоставляются некоторые величины. Как правило, эти вели- чины принимают числовые значения, т.е. являются переменными, век- торами, матрицами, функциями и т.д. Установленным внутренним связям между «характеристиками» явления придается форма равенств, неравенств, уравнений и логиче- ских структур, связывающих величины, включенные в математическую модель. Таким образом, математическая модель становится записью на языке математики законов природы, управляющих протеканием иссле- дуемого процесса или описывающих функционирование изучаемого объекта. Она включает в себя набор некоторых величин и описание характера связи между ними. Построение математических моделей — существенная и очень важная часть естественных и технических наук. Эта задача, требующая от иссле- 10
§1,1. Математическое моделирование и процесс математической модели дователя глубокого знания предметной области, высокой математической культуры, опыта построения моделей, развитой интуиции и многого другого. Создание удачной новой модели — всегда крупное достижение соответствующей науки, а иногда и целый этап в ее развитии. Подчеркнем, что математическая модель неизбежно представляет собой компромисс между бесконечной сложностью изучаемого явления и желаемой простотой его описания. Модель должна быть достаточно полной, для того чтобы оказаться полезной для изучения свойств иссле- дуемого явления. В то же время она обязана быть достаточно простой, для того чтобы допускать возможность ее анализа существующими в математике средствами и ее реализации на компьютере. Из огромного числа характеристик явления и действующих на него факторов требу- ется выделить основные, определяющие, отбросив при этом второсте- пенные, несущественные. Нередко в математическую модель закладываются некоторые гипо- тезы, еще не подтвержденные на практике. Такую математическую модель часто называют гипотетической. Приведем пример простейшей математической модели. Пример 1.1. Пусть исследуется движение тела, брошенного со скоростью Vq под утлом а к поверхности Земли. Будем считать, что в рассматриваемом случае можно пренебречь сопротивлением воздуха, считать Землю плоской, а ускорение свобод- ного падения g — постоянной. Введем систему координат, ее начало поместим в точку бросания, ось Ох направим горизонтально в направ- лении бросания, а ось Оу — вертикально вверх (рис. 1.1). Пусть u(t) и w(j) — горизонтальная и вертикальная составляющие скорости v(t) в момент времени t (в начальный момент t = 0, v = г>0) Согласно законам механики, при сделанных предположениях движе- ние тела в горизонтальном направлении является равномерным, а в вер- 11
Глава 1. Математическое моделирование и решение прикладных задач тикальном — равноускоренным с ускорением, равным -g. Поэтому спра- ведливы следующие равенства: и = v0 cosa, х = (i>0cosa)/, (1.1) • i?/2 w = vQ sina - g/, у = (г>0 sina)/ - . (1.2) Формулы (1.1), (1.2) и дают простейшую математическую модель рассматриваемого явления, созданную в XVII в. Г. Галилеем1. Заметим, что при 0 < a < я/2 траектория движения представляет собой параболу У -----7^-— + (tga)x. ▲ 2v0 cos2 a Математические модели часто разделяют на статические и динами- ческие. Статическая модель описывает явление или ситуацию в пред- положении их завершенности, неизменности (т.е. в счъчнке). Динамиче- ская модель описывает, как протекает явление или изменяется ситуация от одного состояния к другому (т.е. в динамике). При использовании динамических моделей, как правило, задают начальное состояние сис- темы, а затем исследуют изменение этого состояния во времени. 2. Постановка, исследование и решение вычислительных задач. Для того чтобы найти интересующие исследователя значения величин или выяснить характер из зависимости от других входящих в математи- ческую модель величин, ставят, а затем решают математические задачи. Выявим основные типы решаемых задач. Для этого все величины, включенные в математическую модель, условно разобьем на три группы: 1) исходные (входные) данные х; 2) параметры модели а; 3) искомое решение (выходные данные) у. В динамических моделях искомое решение часто является функцией времени у = y(t)\ переменная t в таких моделях, как правило, бывает выделенной и играет особую роль. Наиболее часто решают так называемые прямые задачи, постановка которых выглядит следующим образом: по данному значению входного данного х при фиксированных значениях параметров а требуется найти решение у. Процесс решения прямой задачи можно рассматривать как математическое моделирование причинно-следственной связи, прису- щей явлению. Тогда входное данное х характеризует «причины» явле- 1 Галилео Галилей (1564—1642) — итальянский физик, механик, астроном, один из основателей точного естествознания. 12
§1.1. Математическое моделирование и процесс математической модели ния, которые задаются и варьируются в процессе исследования, а иско- мое решение у — «следствие». Для того чтобы математическое описание было применимо не к еди- ничному явлению, а к широкому кругу близких по природе явлений, в действительности строят не единичную математическую модель, а неко- торое параметрическое семейство моделей. Будем считать, что выбор конкретной модели из этого семейства осуществляется фиксацией зна- чений параметров модели а. Например, в роли таких параметров могут выступать некоторые из коэффициентов, входящих в уравнения. С помощью выбора параметров может производиться указание типа функциональной зависимости между некоторыми из величин. Наконец, если используемые математические модели разбиты на классы, то параметром может служить и класс используемой модели. Пример 1.2. Для модели (1.1), (1.2) прямую задачу естественно формулировать как задачу вычисления величин «(/), w(z), x(z), y(f) по задаваемым входным данным v0, а. Параметром модели здесь является ускорение свободного падения g. Его значение зависит от того, произ- водится ли бросание тела с поверхности Земли на уровне Мирового океана, в глубокой шахте или же на большой высоте. Заметим, что та же модель пригодна для описания движения тела, брошенного на любой другой планете, если значение параметра g для этой планеты известно. ▲ Большую роль играет решение так называемых обратных задач, состоящих в определении входного данного х по данному значению у (параметры модели а, как и в прямой задаче, фиксированы). Решение обратной задачи — это в определенном смысле попытка выяснить, какие «причины» х привели к известному «следствию» у. Как правило, обратные задачи оказываются сложнее для решения, чем прямые. Пр и мер 1.3. Для модели (1.1), (1.2) обратную задачу можно сфор- мулировать так: по заданным «(/), w(f), x(t),y(t) требуется найти значе- ния Vq, а. Заметим, что для однозначного определения г0, а достаточно задать в любой фиксированный момент tQ > 0 одну из пар величин (w(*o)’TV</o>) или W'oVOo))- ж Помимо двух рассмотренных типов задач следует упомянуть еще один тип — задачи идентификации. В широком смысле задача иденти- фикации модели — это задача выбора среди множества всевозможных моделей той, которая наилучшим образом описывает изучаемое явле- ние. В такой постановке эта задача выглядит как практически неразре- шимая проблема. Чаще задачу идентификации понимают в узком смысле, как задачу выбора из заданного параметрического семейства моделей 13
Глава 1. Математическое моделирование и решение прикладных задач конкретной математической модели (с помощью выбора ее параметров а), с тем чтобы оптимальным в смысле некоторого критерия образом согла- совать следствия из модели с результатами наблюдений. Пр и мер 1.4. Применительно к модели (1.1), (1.2) задача иденти- фикации может состоять в определении значения ускорения свобод- ного падения планеты g по результатам наблюдений за параметрами траектории. ▲ Указанные три типа задач (прямые, обратные и задачи идентифика- ции) будем называть вычислительными задачами. Для удобства изло- жения в дальнейшем независимо от типа решаемой задачи будем назы- вать набор подлежащих определению величин искомым решением и обозначать через у, а набор заданных величин — входным данным и обозначать через х. Пример 1.5. При описании многих явлений используют модель полиномиальной зависимости между величинами х и у: У=Рп(х) = а0 + а{х+...+апхп. (1.3) Здесьа0, Лр ..., ап — коэффициенты многочлена, являющиеся парамет- рами модели (в число параметров модели можно включить и степень многочлена). При фиксированных значениях параметров прямая задача состоит в вычислении значения многочлена у = Рп(х) по заданному х. В таком слу- чае целью решения обратной задачи является определение по заданному значению у соответствующего ему значения х. Нетрудно видеть, что это есть задача отыскания корней многочлена, отличающегося от Рп(х) заме- ной коэффициента а0 на а0 = а0 -у. Если же из практики известна неко- торая информация о зависимости у от х, то определение параметров а0, Лр ...,а„, при которых модель (1.3) наилучшим в некотором смысле обра- зом описывает эту зависимость, представляет собой задачу идентифика- ции. Например, если задана таблица значений xnyt (/ = 1,..., У),то такую задачу в зависимости от ситуации можно решать, используя известные методы интерполяции и наименьших квадратов (см. гл. 11). ▲ Пример 1.6. Нередко входящие в модель функции x(t) и y(t) бывают связаны равенством t y(t)= Уо + <1т. О Например, так связаны между собой скорость x(t) и путь y(t) при прямолинейном движении. Тогда при фиксированном значении посто- 14
§1.1. Математическое моделирование и процесс математической модели янной у0 прямая задача (задача интегрирования) состоит в вычислении первообразной y(t) по заданной функции x(t). Обратная задача (задача дифференцирования) заключается в вычислениих(/) =y'(t) по заданной функции y(t). ▲ Как правило, решение вычислительной задачи не удается выразить через входные данные в виде конечной формулы. Однако это совсем не означает, что решение такой задачи не может быть найдено. Сущест- вуют специальные методы, которые называют численными (или вычис- лительными). Они позволяют свести получение численного значения решения к последовательности арифметических операций над числен- ными значениями входных данных. Эти методы были известны давно: в качестве примера, уже ставшего классическим, можно привести открытие Леверье1 в 1846 г. новой планеты Нептун. Однако для реше- ния задач численные методы применялись довольно редко, так как их использование предполагает выполнение гигантского объема вычисле- ний2. Поэтому в большинстве случаев до появления компьютеров при- ходилось избегать использования сложных математических моделей и исследовать явления в простейших ситуациях, когда возможно найти аналитическое решение. Несовершенство вычислительного аппарата становилось фактором, сдерживающим широкое использование мате- матических моделей в науке и технике. Появление компьютеров кардинально изменило ситуацию. Класс математических моделей, допускающих подробное исследование, резко расширился. Решение многих, еще недавно недоступных, вычислитель- ных задач стало обыденной реальностью. 3. Проверка качества модели на практике и модификация модели. На этом этапе выясняют пригодность математической модели для описания исследуемого явления. Теоретические выводы и конкрет- ные результаты, вытекающие из гипотетической математической модели, сопоставляют с экспериментальными данными. Если они противоречат друг другу, то выбранная модель непригодна и ее следует пересмотреть, вернувшись к первому этапу. Если же результаты совпадают с допусти- мой для описания данного явления точностью, то модель можно при- 1 Урбен Жан Жозеф Леверье (1811 —1877) — французский астроном. На основании законов небесной механики, использовав данные об аномалиях в движении планеты Уран, Леверье рассчитал траекторию движения гипотетической неизвестной планеты. В том же году немецкий астроном Галле обнаружил Нептун в указанном Леверье месте. 2 Расчет траектории планеты Нептун потребовал от Леверье нескольких месяцев кро- потливой вычислительной работы. 15
Глава 1. Математическое моделирование и решение прикладных задач знать пригодной. Конечно, необходимо дополнительное исследование в целях установления степени достоверности модели и границ ее приме- нимости. На определенном этапе развития науки и техники постепенное накоп- ление знаний приводит к моменту, когда результаты, получаемые с помощью математической модели, вступают в противоречие с данными практики или перестают удовлетворять ее требованиям в смысле точно- сти. Тогда возникает необходимость модификации модели или же созда- ния принципиально новой, более сложной модели. Таким образом, цикл создания математической модели повторяется многократно. Пример 1.7. Рассмотрим задачу внешней баллистики, те задачу о движении артиллерийского снаряда. Простейшая модель (1.1), (1.2) дает параболическую траекторию движения снаряда, что, как было замечено еще в XVII в, противоречит данным практики. Существен- ным неучтенным фактором здесь является сопротивление воздуха. Приведенная ниже модификация модели Галилея принадлежит И. Ньютону1. Известно, что сила лобового сопротивления воздуха F про- порциональна квадрату скорости, т.е. F = -рг>2. При этом 0 = 0.5С5р, где р — плотность воздуха; S — площадь поперечного сечения; С — коэф- фициент лобового сопротивления (для многих задач баллистики С « 0.15). Обозначим через Fx и F горизонтальную и вертикальную проек- ции вектора лобового сопротивления. Заметим, что FJF = u/v, FJF = = w/v, v = 7w2 + w2 (рис. 1.2). Следовательно, Fx = -fiuju2 + w2, F = = -0wVw2 + w2. Пусть m — масса снаряда. Тогда в силу второго закона Ньютона справедливы уравнения (14) d/ K-'v- > d, Рис. 1.2 1 Исаак Ньютон (1643—1727) — английский физик» механик, астроном и математик, заложивший основы современного естествознания. 16
§ 1.2. Основные этапы решения прикладной задачи с применением компьютера т ^-=-mg-$wJu2 + w2, = w, (1.5) которые необходимо дополнить начальными условиями i/(0)= tf0cosa, и>(0) = uosina, х(0) = О, у(0) = 0. (1.6) Полученная модель является более сложной, чем рассмотренная ранее модель (1.1), (1.2), однако она содержит ее как частный случай. Действительно, в случае (3=0 (сопротивление воздуха отсутствует) уравнения (1.4)—(1.6) и (1.1), (1.2) эквивалентны. Естественно, что модель (1.4)—(1.6) непригодна для решения задач современной баллистики и реально используемые модели значительно сложнее. А Заметим, что работа по созданию математической модели, как пра- вило, проводится объединенными усилиями специалистов, хорошо знающих предметную область, и математиков, владеющих соответст- вующими разделами прикладной математики и способных оценить воз- можность решения возникающих вычислительных задач. § 1.2. Основные этапы решения прикладной задачи с применением компьютера Решение серьезной прикладной задачи с использованием компью- тера — довольно длительный и сложный процесс. С определенной сте- пенью условности его можно разбить на ряд последовательных этапов Выделим следующие этапы 1) постановка проблемы; 2) выбор или построение математической модели; 3) постановка вычислительной задачи; 4) предварительный (предмашинный) анализ свойств вычислитель- ной задачи; 5) выбор или построение численного метода; 6) алгоритмизация и программирование; 7) отладка программы; 8) счет по программе; 9) обработка и интерпретация результатов; 10) использование результатов и коррекция математической модели. 1. Постановка проблемы. Первоначально прикладная задача бывает сформулирована в самом общем виде исследовать некоторое явление, спроектировать устройство, обладающее заданными свойствами, дать прогноз поведения некоторого объекта в определенных условиях и т.д. На данной стадии происходит конкретизация постановки задачи, и пер- 17
Глава 1. Математическое моделирование и решение прикладных задач востепенное внимание при этом уделяется выяснению цели исследова- ния. От исследователя требуется глубокое понимание существа задачи и умение сформулировать ее так, чтобы найденное решение было полез- ным и в то же время могло быть получено с помощью существующих методов и в реальные сроки. Неудачная постановка проблемы может при- вести к тому, что длительный и дорогостоящий процесс решения задачи завершится получением бесполезных или тривиальных результатов (в этом случае возможно и отсутствие каких-либо результатов). Этот очень важный и ответственный этап завершается конкретной формулировкой проблемы на языке, принятом в данной предметной области. Знание возможностей, которые дает применение компьютера, может оказать существенное влияние на окончательную формули- ровку проблемы. 2. Выбор или построение математической модели. Для после- дующего анализа исследуемого явления или объекта необходимо дать его формализованное описание на языке математики, т.е. построить математическую модель (см. § 1.1). Часто имеется возможность выбора модели среди известных и принятых для описания соответствующих процессов, но нередко требуется и существенная модификация извест- ной модели, а иногда возникает необходимость в построении принци- пиально новой модели. Рассматриваемый этап — едва ли не самый важный и трудный. Часто удачный выбор математической модели является решающим шагом к достижению цели. Одна из существенных трудностей такого выбора состоит в объективном противоречии между желанием сделать описание явления как можно более полным (что приводит к усложнению модели) и необходимостью иметь достаточно простую модель (чтобы была возмож- ность реализовать ее на компьютере). Важно, чтобы сложность математи- ческой модели соответствовала сложности поставленной проблемы. Если поставленных целей можно достигнуть, использовав более простую математическую модель, то ей и следует отдать предпочтение. Как пра- вило, полезно иметь несколько упрощенных вариантов принимаемой модели. Заметим, что грамотное упрощение модели — непростая задача, однако анализ упрощенных моделей весьма полезен в течение всего процесса решения задачи. Такие упрощенные модели часто позволяют ответить на многие принципиальные вопросы и понять основные зако- номерности поведения более сложной модели. 3. Постановка вычислительной задачи. На основе принятой математической модели формулируют вычислительную задачу (или ряд таких задач). Анализируя результаты ее решения, исследователь предполагает получить ответы на интересующие его вопросы. 18
§ 1.2. Основные этапы решения прикладной задачи с применением компьютера 4. Предварительный анализ свойств вычислительной задачи. На этом этапе проводят предварительное (предмашинное) исследование свойств вычислительной задачи. Большое внимание уделяют анализу кор- ректности ее постановки, т.е. выяснению вопросов существования и единственности решения, а также исследованию устойчивости решения задачи к погрешностям входных данных (эти вопросы более подробно рас- сматриваются в гл. 3). Такое исследование, как правило, относится к компетенции профессиональных математиков. Тем не менее, решающему задачу полезно быть в курсе современного состояния названных проблем, уметь самостоятельно проводить простейшие исследования. К сожалению, для многих имеющих практическую ценность задач их строгое исследование в полной постановке провести не удается и к решению приступают без детального анализа математических свойств этих задач. Это нежелательная, но вынужденная мера, так как в прикладных исследованиях существенное значение имеют конкрет- ные (часто — весьма сжатые) сроки получения результата. На этом этапе полезным оказывается изучение упрощенных постановок задачи. Иногда для них удается провести исследование, позволяющее понять основные особенности исходной вычислительной задачи. Особую цен- ность имеют различные аналитические решения; они оказываются полезными не только для анализа явления, но и как основа для тесто- вых испытаний на этапе отладки программы. 5. Выбор или построение численного метода. Для решения вычислительной задачи на компьютере требуется использование чис- ленных методов. Часто решение прикладной задачи сводится к последовательному решению стандартных вычислительных задач, для которых разрабо- таны эффективные численные методы. В этой ситуации происходит либо выбор среди известных методов, либо их адаптация к особенно- стям решаемой задачи. Однако если возникающая вычислительная задача является новой, то не исключено, что для ее решения не суще- ствует готовых методов. Построение численного метода для такой задачи может оказаться очень трудной проблемой и потребовать при- влечения специалиста по вычислительной математике. Умение разли- чать отмеченные две ситуации необходимо, и наличие его уже говорит об определенной квалификации в области вычислительных методов. Для решения одной и той же вычислительной задачи обычно может быть использовано несколько методов. Необходимо знать особенности этих методов, критерии, по которым оценивается их качество, чтобы выбрать метод, позволяющий решить проблему наиболее эффективным образом. Здесь выбор далеко не однозначен. Он существенно зависит 19
Глава 1. Математическое моделирование и решение прикладных задач от требований, предъявляемых к решению, от имеющихся в наличии ресурсов, от доступной для использования вычислительной техники и т.д. Возникающим на этом этапе вопросам и посвящена большая часть данной книги. 6. Алгоритмизация и программирование. Как правило, выбранный на предыдущем этапе численный метод содержит только принципиаль- ную схему решения задачи, не включающую многие детали, без которых невозможна реализация метода на компьютере. Необходима подробная детализация всех этапов вычислений, для того чтобы получить реализуе- мый на компьютере алгоритм. Составление программы сводится к пере- воду этого алгоритма на выбранный язык программирования. Заметим, что в настоящее время для вычислительных задач наиболее широко используются алгоритмические языки СИ++ и ФОРТРАН. В книге значительное место уделяется алгоритмам (в гл. 3 обсужда- ются их общие свойства и критерии оценки качества) и практически не рассматриваются вопросы собственно программирования. Конечно, алго- ритмизация и программирование очень тесно связаны. Более того, прак- тика показывает, что небольшие, на первый взгляд, различия в програм- мах могут привести к значительным различиям в их эффективности. Тем не менее, вопрос разработки качественного программного продукта мы не затрагиваем (этому предмету посвящено большое число пособий). Подчеркнем лишь, что большинство пользователей справедливо предпо- читает строить свои программы из готовых модулей и использовать стан- дартные программы, реализующие те или иные алгоритмы. Разумеется, отсутствие в библиотеке стандартных программ той или иной программы не должно быть непреодолимым препятствием. 7. Отладка программы. На этом этапе с помощью компьютера выявляют и исправляют ошибки в программе. Как правило, начинающий пользователь компьютера убежден, что ошибок в составленной им программе нет или же они могут быть легко обнаружены и исправлены. Однако совершенно неожиданно для него отладка программы и доведение ее до рабочего состояния нередко ока- зывается длительным и весьма трудоемким процессом. Приобретая определенный опыт в составлении и отладке сравнительно сложных программ, пользователь убеждается в справедливости популярного афоризма: «В любой программе есть по крайней мере одна ошибка». Таким образом, наличие в программах ошибок — вполне нормаль- ное и закономерное явление, поэтому подготовку к отладке следует начинать уже на этапе алгоритмизации и программирования. Заметим, что эффективность отладки самым существенным образом зависит от общей методики разработки программ. 20
§ 1.2. Основные этапы решения прикладной задачи с применением компьютера После устранения ошибок программирования необходимо про- вести тщательное тестирование программы — проверку правильности ее работы на специально отобранных тестовых задачах, имеющих известные решения. 8. Счет по программе. На этом этапе происходит решение задачи на компьютере по составленной программе в автоматическом режиме. Этот процесс, в ходе которого входные данные с помощью компью- тера преобразуются в результат, называют вычислительным процес- сом. Как правило, счет повторяется многократно с различными вход- ными данными для получения достаточно полной картины зависимости от них решения задачи. Первые полученные результаты тщательно анализируются, для того чтобы убедиться в правильности работы программы и пригодно- сти выбранного метода решения. Счет по программе продолжается несколько секунд, минут или часов. Именно быстротечность этого этапа порождает распространенную иллюзию о возможности решать важные прикладные задачи на компьютере в очень короткое время. В действительности же, конечно, необходимо принимать во внимание весь цикл от постановки проблемы до использования результатов. Для серьезных задач часто полезные результаты получаются только в результате многолетней работы. 9. Обработка и интерпретация результатов. Полученные в результате расчетов на компьютере выходные данные, как правило, представляют собой большие массивы чисел. Начинающий пользователь часто пытается вывести эти массивы на печать, чтобы «потом провести их анализ». Обычно первый же опыт анализа распечатки, содержащий сотни тысяч чисел, приводит к пониманию того, что эта работа непо- сильна для человека и следует постараться возложить ее на компьютер. Часто первоочередной интерес представляет лишь небольшая часть полученной информации (например, значения одной из функций в выделенных точках) или даже некоторая грубая интегральная характе- ристика (максимальное или минимальное значение, оценка энергии системы и т.д.). Для того чтобы исследователь мог воспользоваться результатами расчетов, их необходимо представить в виде компактных таблиц, гра- фиков или в иной удобной для восприятия форме. При этом следует, максимально использовать возможности компьютера для подготовки такой информации и ее представления с помощью печатающих и гра- фических выходных устройств. Для правильной интерпретации результатов расчетов и оценки их достоверности от исследователя требуется глубокое знание существа 21
Глава 1. Математическое моделирование и решение прикладных задач решаемой инженерной задачи, ясное представление об используемой математической модели и понимание (хотя бы в общих чертах) особен- ностей применяемого вычислительного метода. Вопросы обработки и интерпретации результатов вычислений будут затронуты при рассмотрении конкретных вычислительных методов и алгоритмов. 10. Использование результатов и коррекция математической модели. Завершающий этап состоит в использовании результатов расче- тов в практической деятельности, иначе говоря, во внедрении результа- тов. Не стоит огорчаться, если большинство полученных сначала резуль- татов окажется бесполезным. Действительно полезные для практики результаты являются плодом серьезной целенаправленной работы, в процессе которой цикл решения задачи повторяется неоднократно. Очень часто анализ результатов, проведенной на этапе их обработки и интерпретации, указывает на несовершенство используемой матема- тический модели и необходимость ее коррекции. В таком случае мате- матическую модель модифицируют (при этом она, как правило, услож- няется) и начинают новый цикл решения задачи. § 1.3. Вычислительный эксперимент Создание математических моделей и решение прикладных задач с применением компьютера требует выполнения большого объема работ (см. § 1.1, 1.2). Нетрудно заметить аналогию с соответствую- щими работами, проводимыми при организации натурных эксперимен- тов: составление программы экспериментов, создание эксперименталь- ной установки, выполнение контрольных экспериментов, проведение серийных опытов, обработка экспериментальных данных и их интер- претация и т.д. Однако вычислительный эксперимент проводится не над реальным объектом, а над его математической моделью, и роль экс- периментальной установки играет компьютер, оснащенный специально разработанным пакетом прикладных программ. В связи с этим естест- венно рассматривать проведение больших комплексных расчетов при решении прикладных и научных задач как вычислительный экспери- мент, а описанную в предыдущем параграфе последовательность эта- пов решения как один его цикл. Широкое применение компьютеров в математическом моделирова- нии, разработанная теория и значительные практические результаты позволяют говорить о вычислительном эксперименте как о новой тех- нологии и методологии научных и прикладных исследований. Серьезное внедрение вычислительного эксперимента в прикладные исследования 22
§ 1.3. Вычислительный эксперимент лишь начинается, но там, где оно происходит реально (в авиационной и космической промышленности), его плоды весьма весомы. Отметим некоторые достоинства вычислительного эксперимента по сравнению с натурным. Вычислительный эксперимент, как правило, дешевле физического. В этот эксперимент можно легко и безопасно вмешиваться. Его можно повторить еще раз (если в этом есть необходи- мость) и прервать в любой момент. В ходе этого эксперимента можно смоделировать условия, которые нельзя создать в лаборатории. Заметим, что в ряде случаев проведение натурного эксперимента затруднено (а иногда и невозможно), так как изучаются быстропроте- кающие процессы, исследуются труднодоступные или вообще пока недоступные объекты. Часто проведение полномасштабного натурного эксперимента сопряжено с губительными или непредсказуемыми последствиями (ядерная война, поворот сибирских рек) или с опасно- стью для жизни или здоровья людей. Нередко требуется исследование и прогнозирование результатов катастрофических явлений (авария ядерного реактора АЭС, глобальное потепление климата, землетрясе- ние). В этих случаях вычислительный эксперимент может стать основ- ным средством исследования. Заметим, что с его помощью оказывается возможным прогнозировать свойства новых, еще не созданных конст- рукций и материалов на стадии их проектирования. Существенным недостатком вычислительного эксперимента явля- ется то, что применимость его результатов ограничена рамками приня- той математической модели. Конечно, вычислительный эксперимент никогда не сможет полно- стью заменить натурный, и будущее за их разумным сочетанием. Дей- ствительно, построение математической модели основано на результа- тах наблюдений, опыта, а достоверность ее выводов проверяется с помощью критерия — практики. Для прикладных задач характерно наличие значительного числа пара- метров (конструктивных, технологических и др.). Создание нового изде- лия или технологического процесса предполагает выбор среди большого числа альтернативных вариантов, а также оптимизацию по ряду парамет- ров. Поэтому в ходе вычислительного эксперимента расчеты проводятся многократно с разными значениями входных параметров. Для получения нужных результатов с требуемой точностью и в приемлемые сроки необ- ходимо, чтобы на расчет каждого варианта тратилось минимальное время. Именно поэтому при создании программного обеспечения так важно использовать эффективные численные методы. Разработка программного обеспечения вычислительного экспери- мента в конкретной области прикладной деятельности приводит к созда- нию крупного программного комплекса. Он состоит из связанных между 23
Глава 1. Математическое моделирование и решение прикладных задач собой прикладных программ и системных средств, включающих сред- ства, предоставляемые пользователю для управления ходом вычисли- тельного эксперимента, обработки и представления его результатов. Такой комплекс программ иногда называют проблемно-ориентирован- ным пакетом прикладных программ. § 1.4. Дополнительные замечания I. Математическое моделирование является основой современной методологии решения прикладных задач, и его роль объективно возрас- тает в связи с необходимостью решения все более сложных приклад- ных проблем. 2. Эффективность применения компьютера в той или иной области науки и техники тем выше, чем совершеннее ее математические модели. В то же время использование компьютера для исследования каких-либо процессов часто служит серьезным стимулом для создания новых математических моделей и детального изучения этих процессов другими методами. 3. Само по себе применение компьютера не позволяет решить прикладную задачу, а лишь дает в руки исследователя мощный инст- румент познания. Использование компьютера не только не освобож- дает от необходимости глубоко осмыслить решаемую проблему, но и заставляет уделять постановке задачи гораздо больше внимания. 4. Вычислительный эксперимент не противоречит натурному экс- перименту и классическому математическому анализу прикладной задачи, а, напротив, находится с ними в органическом единстве. 5. Для успешного применения метода математического моделирова- ния с использованием компьютера необходимо гармоническое владе- ние всеми его составляющими. В настоящем пособии основное внима- ние уделено вычислительным методам и алгоритмам, анализу свойств вычислительных задач, интерпретации получаемых результатов. 6. Дополнительную информацию о методологии современного матема- тического моделирования и концепции вычислительного эксперимента можно получить из следующих источников: [58, 71, 79, 96, 99, 11*]. 7. В настоящее время большое количество высококачественных про- грамм и пакетов программ распространяется бесплатно. Например, через Internet по адресу http://www.netlib.org доступно программное обеспечение, предназначенное для решения широкого спектра приклад- ных задач. Кроме того, по адресу http://www.acm.org/pubs/calgo можно найти 866 тщательно разработанных программ, реализующих эффек- тивные вычислительные алгоритмы. 24
Г лава 2 ВВЕДЕНИЕ В ЭЛЕМЕНТАРНУЮ ТЕОРИЮ ПОГРЕШНОСТЕЙ § 2.1. Источники и классификация погрешностей результата численного решения задачи Для правильного понимания подходов и критериев, используемых при решении прикладной задачи с применением компьютера, очень важно с самого начала признать, что получить точное значение реше- ния практически невозможно и не в этом цель вычислений. Получае- мое на компьютере решение у* почти всегда (за исключением некото- рых весьма специальных случаев) содержит погрешность, т.е. является приближенным. Невозможность получения точного решения следует уже из ограниченной разрядности компьютера. Наличие погрешности решения обусловлено рядом весьма глубоких причин. Перечислим их. 1. Математическая модель является лишь приближенным описа- нием реального процесса. Характеристики процесса, вычисленные в рамках принятой модели, заведомо отличаются от истинных характери- стик, причем их погрешность зависит от степени адекватности модели реальному процессу. 2. Исходные данные, как правило, содержат погрешности, поскольку они либо получаются в результате экспериментов (измерений), либо являются результатом решения некоторых вспомогательных задач. 3. Применяемые для решения задачи методы в большинстве слу- чаев являются приближенными. Найти решение возникающей на прак- тике задачи в виде конечной формулы возможно только в отдельных, очень упрощенных ситуациях. 4. При вводе исходных данных в компьютер, выполнении арифме- тических операций и выводе результатов на печать производятся округ- ления. Пусть у — точное значение величины, вычисление которой является целью поставленной задачи. Соответствующая первым двум из указан- ных причин погрешность 8ну называется неустранимой погрешно- стью. Такое название вызвано тем, что принятие математической модели и задание исходных данных вносит в решение погрешность, которая 25
Глава 2. Введение в элементарную теорию погрешностей не может быть устранена далее. Единственный способ уменьшить эту погрешность — перейти к более точной математической модели и задать более точные исходные данные. Погрешность 5му, источником которой является метод решения задачи, называется погрешностью метода, а погрешность 5ву, возни- кающая из-за округлений при вводе, выводе и вычислениях, — вычис- лительной погрешностью. Таким образом, полная погрешность резуль- тата решения задачи на компьютере = у - у* складывается из трех составляющих: неустранимой погрешности, погрешности метода и вычислительной погрешности, т.е. = 5ну + 5му + 5ву. Будем далее исходить из предположения, что математическая модель фиксирована и входные данные задаются извне, так что повлиять на зна- чение величины 5ну в процессе решения задачи действительно нельзя. Однако это совсем не означает, что предварительные оценки значения неустранимой погрешности не нужны. Достоверная информация о порядке величины 5ну позволяет осознанно выбрать метод решения задачи и разумно задать его точность. Желательно, чтобы погрешность метода была в 2—10 раз меньше неустранимой погрешности. Большее значение 5му ощутимо снижает точность результата, меньшее — обычно требует увеличения затрат на вычисления, практически уже не влияя на значение полной погрешности. Иногда характер использования резуль- тата таков, что вполне допустимо, чтобы погрешность 5му была срав- нима с 5ну или даже несколько превышала ее. Значение вычислительной погрешности (при фиксированных модели, входных данных и методе решения) в основном определяется характеристиками используемого компьютера. Желательно, чтобы погрешность 5ву была хотя бы на порядок меньше погрешности метода и совсем не желательна ситуация, когда она существенно ее превышает. Умение анализировать погрешности при решении прикладной задачи и соблюдать между ними разумный компромисс позволяет существенно экономить используемые ресурсы и является признаком высокой квалификации. § 2.2. Приближенные числа. Абсолютная и относительная погрешности В § 2.1 было отмечено, что числа, получаемые при решении на ком- пьютере прикладных задач, как правило, являются приближенными. Следовательно, вопрос о точности результатов, т.е. о мере их уклоне- ния от истинных значений, в теории и практике методов вычислений 26
§ 2.2. Приближенные числа. Абсолютная и относительная погрешности приобретает особое значение. Начнем его рассмотрение с введения основных понятий элементарной теории погрешностей. Условимся относительно обозначений, которые в дальнейшем будут использоваться при сравнении величин. Кроме привычных знаков «=», «^», «<», «<», будем использовать знаки приближенного равенства «»» и приближенного неравенства «^». Когда положительные величины а и b являются величинами одного порядка (т.е. 101 < alb 10), будем использовать обозначение а - Ь. Если же а много меньше Ь, то будем писать а Ь, что эквивалентно соотношению alb 1. 1. Абсолютная и относительная погрешности. Пусть а — точное (вообще говоря, неизвестное) значение некоторой величины, а* — известное приближенное значение той же величины {приближенное число). Ошибкой или погрешностью приближенного числа а* называют разность а—а* между точным и приближенным значениями. Простейшей количественной мерой погрешности является абсолют- ная погрешность Д(а*) = \а - а*|. (2.1) Однако по значению абсолютной погрешности далеко не всегда можно сделать правильное заключение о качестве приближения. Дейст- вительно, если Д(а*) = 0.1, то следует ли считать погрешность большой или нужно признать ее малой? Ответ существенным образом зависит от принятых единиц измерения и масштабов величин. Если а « 0.3 то ско- рее всего точность приближения невелика; если же а « 3 • 10 8 то сле- дует признать точность очень высокой. Таким образом, естественно соотнести погрешность величины и ее значение, для чего вводится понятие относительной погрешности (при а * 0) 5(а*) = Ь-у^ = ^р. (2.2) И |а| Использование относительных погрешностей удобно, в частности, тем, что они не зависят от масштабов величин и единиц измерения. Заметим, что для приведенного выше примера 5(а*) « 0.33 = 33 % в первом случае и 5(а*) ~ 0.33 • 10-9 = 0.33 • 10-7 % во втором. Так как значение а неизвестно, то непосредственное вычисление величин Д(а*) и 5(а*) по формулам (2.1), (2.2) невозможно Более реальная и часто поддающаяся решению задача состоит в получении оценок погрешности вида \а - а* | < Д(а’), (2.3) Ц^<5(О, (2-4) |я| 27
Глава 2. Введение в элементарную теорию погрешностей где Д(а*) и 5(а*) — величины, которые мы будем называть верхними границами (или просто границами) абсолютной и относительной погрешностей. Если величина Д(а*) известна то неравенство (2.4) будет выпол- нено, если положить б(а*) = ^-\ (2.5) Точно так же если величина 5(а*) известна, то следует положить Д(а*) = |а|5(а*). (2.6) Поскольку значение а неизвестно, при практическом применении формулы (2.5), (2.6) заменяют приближенными равенствами 8(«*)«ТТГ, Д(а*)«И8(а‘). (2.7) I Замечание. В литературе по методам вычислений широко используется термин «точность». Принято говорить о точности входных данных и решения, о повышении и снижении точности вычислений и т.д. Мы также будем использовать эту терминологию, за которой скрывается довольно простой смысл. Точность в качест- венных рассуждениях обычно выступает как противоположность погрешности, хотя для количественного их измерения использу- ются одни и те же характеристики (например, абсолютная и относи- тельная погрешности). Точное значение величины — это значение, не содержащее погрешности. Повышение точности воспринимается как уменьшение погрешности, а снижение точности — как увеличе- ние погрешности. Часто используемая фраза «требуется найти решение с заданной точностью е» означает, что ставится задача о нахождении приближенного решения, принятая мера погрешности которого не превышает заданного значения е. Вообще говоря, сле- довало бы говорить об абсолютной точности и относительной точ- ности, но часто этого не делают, считая, что из контекста ясно, как измеряется погрешность. 2. Правила записи приближенных чисел. Пусть приближенное число а* задано в виде конечной десятичной дроби: a=a„a„_t ... а0 . р, Р2 ... Рт. Значащими цифрами числа а* называют все цифры в его записи, начиная с первой ненулевой слева. 28
§ 2.2. Приближенные числа. Абсолютная и относительная погрешности Пример 2.1. У чисел а* = 0.0103 и а* = 0.0103000 значащие цифры подчеркнуты. Первое число имеет три, а второе — шесть значащих цифр. ▲ Значащую цифру числа а* называют верной, если абсолютная погрешность числа не превосходит единицы разряда, соответствую- щего этой цифре. Пример 2.2. Если Д(а*) = 2 • 10-6, то число а* = 0.0103000 имеет четыре верные значащие цифры (они подчеркнуты). ▲ Следует отметить, что широко распространенной ошибкой при записи приближенных чисел является отбрасывание последних знача- щих нулей (даже если они представляют собой верные цифры). Замечание. Верная цифра приближенного числа, вообще говоря, не обязана совпадать с соответствующей цифрой в записи точного числа. Таким образом, термин «верная цифра» не следует понимать буквально (см. пример 2.3). Пример 2.3. Пусть а = 1.00000, а* = 0.99999. Тогда Д(а*) = 0.00001 и у числа а* все подчеркнутые цифры — верные, хотя они и не совпа- дают с соответствующими цифрами числа а. К Количество верных значащих цифр числа тесно связано со значением его относительной погрешности. Приведенные ниже утверждения позво- ляют в дальнейшем связывать точность числа с количеством его верных значащих цифр и трактовать потерю точности как потерю верных цифр. Предложение 2.1. 1°. Если число а* содержит N верных знача- щих цифр, то справедливо неравенство 5(а*)<(10*-1 - I)'1 « 10~* + 2°. Дчя того чтобы число а* содержало N верных значащих цифр, достаточно чтобы было выполнено неравенство 5(а*)<(10* + I)-1 « КУЛ 3°. Если число а* имеет ровно N верных значащих цифр, то 10-*-1 <5(а*)< 10* +I и, таким образом, 5(я*) ~ 10“*. Пример 2.4. Что можно сказать об относительной погрешности числа а*, если известно, что оно содержит три верные значащие цифры? В силу утверждения 1° имеем 5(а*) 10-2 = 1 %. ▲ 29
Глава 2. Введение в элементарную теорию погрешностей Пример 2.5. С какой относительной точностью следует найти число а*, чтобы верными оказались шесть его значащих цифр? Из утверждения 2° следует, что достаточно найти а* с относитель- ной точностью 8 « 10 6. ▲ Заметим, что границы абсолютной и относительной погрешностей принято записывать с одной или двумя значащими цифрами. Большая точность в записи этих величин, как правило, не имеет смысла, так как обычно они являются довольно грубыми оценками истинных значений погрешностей, и кроме того, для практического использования часто бывает достаточно знать только их порядок. Пр и мер 2.6. Информация о погрешности вида 5(а*) » 0.288754 • 10-5 практически равноценна информации 5(а*) » 3 е 10-6, причем послед- няя вызывает больше доверия. Скорее всего, вполне удовлетворитель- ной в данном случае является и запись 5(а*) ~ 10-6. ▲ Неравенство (2.3) эквивалентно двойному неравенству а - Д(а*) < а < а + Д(а*) и поэтому тот факт, что число а* является приближенным значением числа а с верхней границей абсолютной погрешности Д(а*) [с абсо- лютной точностью г = Д(а*)], принято записывать в виде а = а* + Д(а*). Как правило, числа а* и Д(а*) указывают с одинаковым числом цифр после десятичной точки. Пример 2.7. Пусть для числа а известны приближенное значение а* = 1.648 и граница абсолютной погрешности Д(а*) = 0.002832. Тогда можно записать а = 1.648 ± 0.003. Записи вида а = 1.648 ± 0.002832 или а = 1.648 ± 0.1 являются неестественными. ▲ Из неравенства (2.4) следует, что значение а заключено примерно между а*(1 - 5(а*)) и а*(1 + 5(а*)). Поэтому тот факт, что число а* является приближенным значением числа а с границей относительной погрешности 5(а*) (с относительной точностью 8 = 5(а*)), принято записывать в виде а = а* (1 ± 8 (а*))- Пример 2.8. Оценим точность часто используемого в простейших расчетах приближения л* = 3 14 к числу л. Поскольку л = 3.14159..., то л - л* = 0.00159... Следовательно, можно принять Д(л*) = 0.0016 и 5(л*) «0.0016/3 14 «0.00051 =0.051 %. Итак, л = 3.14(1 ±0 051 %). ▲ 30
§2.2. Приближенные числа. Абсолютная и относительная погрешности Замечание. Если число а* приводится в качестве результата без указания значения погрешности, то принято считать, что все его значащие цифры являются верными. Начинающий пользова- тель часто слишком доверяет выводимым из компьютера цифрам, предполагая, что вычислительная машина придерживается того же соглашения. Однако это совсем не так: число может быть выве- дено с таким количеством значащих цифр, сколько потребует про- граммист заданием соответствующего формата. Как правило, среди этих цифр только небольшое число первых окажутся вер- ными, а возможно верных цифр нет совсем. Анализировать резуль- таты вычислений и определять степень их достоверности совсем непросто. Одна из целей изучения вычислительных методов и состоит в достижении понимания того, что можно и чего нельзя ожидать от результатов, полученных на компьютере. 3. Округление. Часто возникает необходимость в округлении числа а, т.е. в замене его другим числом а* с меньшим числом значащих цифр. Возникающая при такой замене погрешность называется погреш- ностью округления. Существует несколько способов округления числа до п значащих цифр. Наиболее простой из них — усечение состоит в отбрасывании всех цифр, расположенных справа от п-й значащей цифры. Более пред- почтительным является округление по дополнению. В простейшем вари- анте это правило округления состоит в следующем. Если первая слева из отбрасываемых цифр меньше 5, то сохраняемые цифры остаются без изменения. Если же она больше либо равна 5, то в младший сохраняе- мый разряд добавляется единица. Абсолютное значение погрешности округления при округлении по дополнению не превышает половины единицы разряда, соответствую- щего последней оставляемой цифре, а при округлении усечением — единицы того же разряда. Пр и мер 2.9. При округлении числа а = 1.72631 усечением до трех значащих цифр получится число а* = 1.72, а при округлении по дополне- нию — число а* = 1.73. ▲ Границы абсолютной и относительной погрешностей принято все- гда округлять в сторону увеличения. Пример 2.10. Округление значений Д(а*) = 0.003721 и 5(а*) = = 0.0005427 до двух значащих цифр дает значения Д(а*) = 0.0038 и 5(а*) = 0.00055. ▲ 31
Глава 2. Введение в элементарную теорию погрешностей § 2.3. Погрешность арифметических операций над приближенными числами Исследуем влияние погрешностей исходных данных на погреш- ность результатов арифметических операций. Пусть а* и Ь* — прибли- женные значения чисел а и Ь. Какова соответствующая им величина неустранимой погрешности результата? Пр едложение 2.2. Абсолютная погрешность алгебраической суммы (суммы или разности) не превосходит суммы абсолютных погрешностей слагаемых, т е. Д(а* ± Ь*) < Д(а*) + Д(У). (2.8) Доказательство. Имеем Д(а* ± У) = | (а ± Ь) - (а* ± У) | = | (а - а*) ± (Ь - Ь*) | < < Д(а*) + Д(£*). Следствие. В силу неравенства (2.8) естественно положить Д (а* + Ь*) = Д (а*) + Д (Ь*). (2.9) Оценим относительную погрешность алгебраической суммы. Пр едложение 2.3. Пусть а и b — ненулевые числа одного знака. Тогда справедливы неравенства 5(а* + **) < 5тах, 5(а*-/>*)< v5max, (2.10) где 5тах =- тах{5(а*), S(Z>*)}, v = \а 4- ЬЩа- Z>|. Доказательство. Используя формулу (2.2) и неравенство (2.8), имеем |а ± b|5(а* ± Ь*) = Д(а* ± Ь*) < Д(а*) 4- Д(6*) = = |а|8(а‘) + |Z>|8(3‘) < (|a| + |Z>|)8max = \а + b|8max. Из полученного неравенства сразу следуют оценки (2.10). Следствие. В силу неравенств (2.10) естественно положить 8(а- + ^) = 5тах, 8(а‘-И = v5max, (2.11) где 8тах = тах{8(а*), 3(8’)}, v = \а + b\l\a - Z>|. Первое из равенств (2.11) означает, что при суммировании чисел одного знака не происходит потери точности, если оценивать точность в относительных единицах. Совсем иначе обстоит дело при вычитании 32
§ 2.3. Погрешность арифметических операций над приближенными числами чисел одного знака. Здесь граница относительной погрешности возрас- тает в v > 1 раз и возможна существенная потеря точности. Если числа а и b близки настолько, что | а 4- 61 >> | а - 61, то v >> 1ине исключена полная или почти полная потеря точности. Когда это происходит, гово- рят о том, что произошла катастрофическая потеря точности. Пример 2.11. Пусть решается прикладная задача, в которой окон- чательный результат у вычисляется по формуле у = 1 - х с помощью предварительно определяемого значения х. Предположим, что найден- ное приближение х* = 0.999997 к значению х содержит шесть верных значащих цифр. Тогда у* = 1 - 0.999997 = 0.000003 и в процессе вычис- ления оказались потерянными пять верных цифр. Если же учесть, что 5(х*) ~ 0.0001 %, а 5(у*) ~ 33 %, то следует признать, что произошла катастрофическая потеря точности. Подчеркнем, что здесь виновником «катастрофы» является не опера- ция вычитания, а предложенный метод решения задачи, где оконча- тельный результат получается с помощью вычитания двух близких чисел. Выполнение этой операции лишь делает очевидным то, что дей- ствительно полезная информация о значении у уже оказалась потерян- ной до вычитания. Если нет другого варианта расчета, то для получе- ния приемлемого результата следовало бы предварительно вычислить х с существенно большим числом верных знаков, учитывая, что пять старших значащих цифр при вычитании будут потеряны. ▲ Итак, получаем следующий важный вывод. При построении числен- ного метода решения задачи следует избегать вычитания близких чисел одного знака. Если же такое вычитание неизбежно, то следует вычис- лять аргументы с повышенной точностью, учитывая ее потерю при- мерно в v = | а 4- b | /1 а - b | раз. Предложение 2.4. Для относительных погрешностей произведе- ния и частного приближенных чисел верны оценки 5 (а* Ь*) < 5 (а*) +5 (6*) + 5(а*) 5 (6*), (2.12) 5(а !Ь*) < 8(а ) + Д* ), (2.13) 1-8(6*) в последней из которых считается, что 5(6*) < 1. Доказательство. Выполним следующие преобразования: | ab 15(а*6*) = Д(я*6*) = | ab - а*Ь* | = = | (а - а*)Ь 4- (6 - 6*)а - (а - а*)(Ь - 6*) | < 16| Д(а*) + |а| Д(6*) 4- Д(д*)Д(6*) = |а6|(5(а*) 4- 5(6*) 4- §(д*)5(6*)). 33
Глава 2. Введение в элементарную теорию погрешностей Разделив обе части полученного неравенства на | ab |, выведем оценку (2.12). Для вывода второй оценки предварительно заметим, что l*’l = I b + (b* - b) I > |*| -Д(*‘) = 1*1(1 -8(**)). Тогда \а/Ь- а*/Ь*\ |а6*-6а*| 8(« /ь ) = —Г77|— = ~i~k'*T = |а/о| I ab I _ | а(Ь* — Ь) + Ь(а - а*)| < | а| Д(6*) + |6| Д(а*) _ 5(6*) + 5(а*) — |а/>’| ~ |ай|(1 -8(8*)) 1-8(8*) Следствие. Если 8(а") << 1 и 8(**) <?с 1, то для оценки границ относительных погрешностей можно использовать следующие при- ближенные равенства'. 5(а*6*) « 5(а*) + S (h*), 5(а*/6*)« 5(а*) + 5(6*). (2.14) Именно равенства (2.14) чаще всего и используют для практической оценки погрешности. Итак, выполнение арифметических операций над приближенными числами, как правило, сопровождается потерей точности. Единствен- ная операция, при которой потеря не происходит, — это сложение чисел одного знака. Наибольшая потеря точности может произойти при вычитании близких чисел одного знака. § 2.4. Погрешность функции 1. Погрешность функции многих переменных. Пусть /(х) = = /(хр х2, ..., хш) — дифференцируемая в области G функция т перемен- ных, вычисление которой производится при приближенно заданных зна- чениях аргументов х*, х2, ...» х* . Такая ситуация возникает, например всякий раз, когда на компьютере производится расчет по формуле. Важно знать, каково значение неустранимой погрешности, вызванной тем, что вместо значения у = /(х) в действительности вычисляется значение У* = f(x*\ где х* = (xf, Х2, .... х* )• Введем обозначения: пусть [х, х*] — отрезок1, соединяющий точки х и х*, и fx = dfldXj. 1 Отрезком, соединяющим точких их* в m-мерном пространстве, называется множе- ство точек вида ах + (1 - а)х*, 0 < а < 1. 34
§ 2.4. Погрешность функции Предложение 2.5. Для абсолютной погрешности значения у* = /(х*) справедлива следующая оценка: т Д(/)<У max |/'(х)|Д(х*). (2.15) Доказательство. Оценка (2.15) вытекает из формулы конечных приращений Лагранжа1: Дх) -Дх*) = £ f'(x)(xj - х*), х е [х, х* ]. /=1 7 Следствие. Если х* « х, то в силу оценки (2.15) можно положить 1Л.(х*) I Д(х/), (2.16) /=1 7 _ т _ *(/)«£ |/'(x)|A(x/). (2.17) 7=1 7 Равенство (2.16) удобно для практических оценок, а равенством (2.17) мы воспользуемся в дальнейшем для теоретических построений. Из (2.16), (2.17) вытекают приближенные равенства для оценки гра- ниц относительных погрешностей: 8(Г)=* £ v;8(x/), 8(/)« £ V78(x/). ;=i ;=i (2.18) (2.19) Пр и мер 2.12. Пусть корни квадратного уравнения х2 + Ьх + с = О вычисляются при значениях коэффициентов b » 103, с » 1. Каково влия- ние погрешностей задания коэффициентов на точность вычисляемых значений? Воспользуемся явными формулами для корней: X, = ДЬ, с) = (-b- Jd)/2, x2=g(b,c) = (-b+Jd)/2, где d = b2 - 4с. 1 Жозеф Луи Лагранж (1736—1813) — французский математик, механик и астроном. Один из создателей математического анализа, вариационного исчисления, классической аналитической механики. 35
Глава 2. Введение в элементарную теорию погрешностей Заметим, что х1,х2 = с. Тогда при заданных значениях коэффициен- тов получим: Vj« 7106-4 « 103, X] « (-103 - 103)/2 = -103, х2 = с/хх я 1/(-Ю3) = -IO 3. Далее, имеем: Л = (-1 - bljd)l2 « (-1 - 103/103)/2 = -1, Л = \/Jd » КГ3, g'b = (-1 + bljd)l2 = (b - jd)/(2jd) = -x2/Jd « 10~6, g'c = -Vjd « -10-3. Применяя первую из формул (2.19), для корня находим: у;,, = it‘i 1л1/|^1 v*2=ic*i 1л1/|*;| «ю-6 Аналогично для корня х2 имеем: V2., = 1**1 lg;|/|x2‘| «1, V2*2= |с‘| |g'|/|x*| «1. Таким образом, 5«)« 5(Z>*) + 10-6 5 (с*), S(x2)« 5(Z>*) + 5(с*). (2.20) Следовательно, точность первого корня практически определяется только точностью задания коэффициента Ь, в то время как коэффициент с может быть задан очень грубо. Для второго корня влияние погрешностей в задании коэффициентов b и с практически одинаково. ▲ 2. Погрешность функции одной переменной. Формулы для гра- ниц погрешностей функции f(x) одной переменной являются частным случаем формул (2.16)—(2.18) при т = 1: A(/)«l/'(x*)|Z(x*), Д(/)«|/'Л)|Д(х*); (2.21) Ъ(у*)«ч*Ъ(х*), (2.22) 3. Погрешность неявной функции. Нередко приходится сталки- ваться с ситуацией, когда функция у = f(x), где х = (jq, х2, ..., хт) зада- ется не явным образом, а как решение нелинейного уравнения F(y, х) = = 0, т.е. неявно. Если для такой неявной функции воспользоваться известными формулами вычисления частных производных 36
§ 2.5. Особенности машинной арифметики то исследование неустранимой погрешности неявной функции сразу же сводится к рассмотренному выше случаю. П р и м е р 2.13. Для проведенного в примере 2.12 исследования совсем не обязательно было выписывать явные формулы для корней. В этом слу- чае величины Xj = f(b, с) и х2 =g(b, с) можно рассматривать как неявные функции, заданные уравнением F(x, b, с) = 0, где F = х2 + Ьх + с. Здесь F'x = 2х + b, F'b = х, F'c = 1. Следовательно, х=х*, />=10\ с=] 1 1(2%; + юз)х‘| Вычисления при i = 1, х* « -103 и i = 2, xj » -10-3 дают те же зна- чения коэффициентов v*j , v* 2, v2J, v2 2» что и в примере 2.12, a следовательно, те же формулы (2.20). ▲ § 2.5. Особенности машинной арифметики Знание основных особенностей машинной арифметики необходимо для грамотного использования компьютеров при решении научно-тех- нических задач. Пользователь, не учитывающий эти особенности, вряд ли может рассчитывать на высокую точность и эффективность вычис- лений. Невнимание к ним часто приводит к неверным результатам. Подчеркнем, что в основе причин появления вычислительной погреш- ности лежит сам способ представления чисел в компьютерах. 1. Системы счисления. Принятый способ записи чисел состоит в представлении их упорядоченным набором цифр. В привычной нам десятичной позиционной системе счисления вещественное число х представляют последовательностью символов, которая начинается со знака (+ или -) и продолжается цепочкой десятичных цифр а; и ру-, раз- деленных десятичной точкой- х = +а„ .. c^Oo-Pik ... ... (2.24) Здесь каждой позиции (разряду), которую занимает цифра относи- тельно десятичной точки, отвечает определенная степень числа 10. 37
Глава 2. Введение в элементарную теорию погрешностей По существу, равенство (2.24) представляет собой принятую форму сокращенной записи разложения числа х в сумму по степеням 10: х = ±(ал • 10Л + ... + aj • 101 + а0• 10° + pj • 10-1 + 4- Р2- 10-2 + ... + Рш- 10-ш + ...). Пример 2.14. Запись х = 20.5 означает, что х = 2 • 101 + 0 • 10° + + 5- 10-1. ▲ Для представления чисел в компьютере также используют позици- онные системы счисления, однако основаниями систем служат, как пра- вило, степени числа 2. Это вызвано способом хранения чисел в устрой- ствах памяти компьютера, каждое из которых можно рассматривать как набор однотипных элементов, способных находиться только в одном из двух возможных устойчивых состояний — «включен» или «выключен». Эти состояния интерпретируются соответственно как 0 или 1 — значе- ние двоичной цифры. Наиболее распространены системы счисления с основанием 2 (базисная двоичная система счисления), 8 и 16. Игнорируя некоторые малосущественные детали, будем считать, что все вычислительные машины работают в двоичной системе счисления. В ней вещественное число х по-прежнему записывается в виде (2.24), однако az и ру — уже двоичные цифры (0 или 1). В этом случае число х разлагается в сумму по степеням числа 2: х = ±(а„-2” + ... + aj -21 + a0• 2° + pj • 2'1 + р2• 2~2 + ... + pw• 2~т + ...). Пример 2.15. Запишем число х = 20.5 в двоичной системе счисле- ния. Для этого разложим его в сумму по степеням числа 2: х = 1 -24+ 0-23 + 1 •22 + 0-21 +0-2°+ 1 -2'1. Опуская степени числа 2, получаем х = (10100.1)2. Здесь нижний индекс 2 указывает на основание системы счисления. ▲ Для хранения числа в памяти компьютера отводится поле стандарт- ной длины (машинное слово), в котором число записывают в виде последовательности двоичных цифр. По форме представления, способу хранения и реализации арифметических операций существенно разли- чаются два типа используемых в компьютерах чисел: целые числа и вещественные числа. 2. Представление целых чисел. Целое число п представляют в виде п = ±(aL • 2L + ... + a^1 + a02°), (2.25) 38
§ 2.5. Особенности машинной арифметики где L — некоторое стандартное для компьютера целое число, а, — дво- ичные цифры. Всего для хранения числа п отводят 5 = L + 2 разрядов (один из них для хранения знака). Из представления (2.25) видно, что максимальное по модулю целое число, представимое в компьютере, есть итах = 2£+... + 21 + 2 0 = 2L + 1 - 1. Обычно оно не очень велико. Например, при стандартном формате записи целых чисел в компьютерах 5 = 32 и итах = 231 - 1 ~ 2 • 109. Операции сложения, вычитания и умножения над целыми числами реализованы так, что если результат не превышает по модулю число итах, то он получается точным. Отметим, однако, следующую неприят- ную особенность. Если модуль результата превышает итах, то на боль- шинстве компьютеров эта ситуация не доводится до сведения пользо- вателя, происходит присвоение результату некоторого значения (меньшего итах по модулю) и вычисления продолжаются далее. 3. Представление вещественных чисел. В современных компью- терах для вещественных чисел принята форма представления с плаваю- щей точкой, когда каждое число представляют в виде х = ±(у1*2-1 + у2*2-2 + ... + yt-2~‘)2P. (2.26) Здесь ур у2, ..., yt — двоичные цифры. Как правило, число х нормализуется так, чтобы Yj = 1, и поэтому в памяти компьютера хранятся только значащие цифры соответствующего нормализованного числа. Число ц = ±(yj • 2-1 + у2 • 2-2 + ... + yt • 2-') назы- вается мантиссой числа х. Количество t цифр, которое отводится для записи мантиссы, называемое разрядностью мантиссы, зависит от кон- структивных особенностей конкретной вычислительной машины, но всегда является конечным. В представлении (2.26) р — целое число, называемое двоичным порядком. Порядок также записывают как двоич- ное целое число р = ±(ст/ст/ j ... ст0)2, для хранения которого в машинном слове отводится 1 + 2 двоичных разрядов. На рис. 2.1 схе- матически представлена структура машинного слова для хранения вещественного нормализованного числа. 1 4- ?2 Yr + 1 °/ . °2 °1 °0 ч__________________________________________________________у___________> Мантисса Двоичный порядок Рис. 2.1 39
Глава 2. Введение в элементарную теорию погрешностей Пр и мер 2.16. Представим число х = 20.5 в виде двоичного нор- мализованного числа. Так как х= (10100.1)2 (см. пример 2.15), то, перемещая двоичную точку на пять позиций влево, получаем х = = (0.101001)2-25. ▲ Длительное время различные компьютеры отличались друг от друга числом разрядов, отводимых для хранения мантиссы и порядка, спосо- бом округления и имели различные правила машинной арифметики. Однако в настоящее время большинство компьютеров (в том числе — все персональные компьютеры) конструируются в соответствии с раз- работанным в 1985 году IEEE — стандартом двоичной арифметики (IEEE Floating Point Standard). При стандартном способе записи норма- лизованного числа х в IEEE арифметике под хранение мантиссы отво- дится 24 разряда (включая знак), а под хранение двоичного порядка — 8 разрядов. Поскольку для нормализованного числа всегда Y] = 1, то необходимости в хранении первого значащего разряда нет, и сэконом- ленный разряд используется для хранения еще одного двоичного раз- ряда мантиссы. Поскольку Y] = 1, то для мантиссы нормализованного числа спра- ведливы оценки 0.5 < |ц| < 1. В то же время для представления порядка используется конечное число I + 1 двоичных цифр и поэтому _(2/+ 1 - 2) =pmin ^р <ртах = 2/ + 1 - 1. Таким образом, для представи- мых на компьютере нормализованных чисел имеем 0 < < |х| < Х^, где _ 1 v n^min v п^тах „ Хо = 2 , Л х = 2 . Числа Хо и лх иногда называют порогом машинного нуля и порогом переполнения. На компьютерах, удовлетворяющую стандарту IEEE, в арифметике обычной точности pmm = -126, pmax = 127 и поэтому Х§ = 2“127 « 10-38, Х„ =2127 « 1038. Кроме нормализованных чисел IEEE арифметика включает в себя еще и субнормальные (денормализованные) числа. Субнормальные числа — очень малые числа из диапазона (А”о, Хо), которые возникают в процессе вычислений и не могут быть представлены в нормализован- ном виде. Они также представляются в виде (2.26), но с Yj = 0 и мини- мально возможным показателем р = pmin. Напомним, что в IEEE ариф- метике обычной точности Xq ~ IO 38. 40
§ 2.5. Особенности машинной арифметики Пример 2.17. Число х = 2 130 не может быть представлено в IEEE арифметике обычной точности как нормализованное число. Оно представ- ляется как субнормальное число вида х = (0.00010 ... 0)? • 2~126. ▲ Заметим, что нуль — особое ненормализуемое число. Оно представ- ляется в IEEE арифметике как +0 и -0. Числа +0 и -0 считаются рав- ными, но в некоторых случаях они могут проявлять себя по разному. В представлении (2.26) нуль имеет нулевую мантиссу и показатель сте- пени р = ртт - 1, т.е. ±0 = ±(0.000 ... 0)2 • 2Ртш На основании имеющихся сведений о представлении чисел в ком- пьютере можно сделать ряд важных выводов. 1°. В компьютере представимы не все числа, а лишь конечный набор рациональных чисел специального вида. Эти числа образуют представимое множество компьютера. Для всех остальных чисел х возможно лишь их приближенное представление с ошибкой, которую принято называть ошибкой представления (или ошибкой округления). Обычно приближенное представление числа х в компьютере обозна- чают как х* = fl(x)1. В IEEE арифметике округление производится по дополнению, поэтому для нормализованных чисел граница относитель- ной погрешности представления равна единице первого отброшенного разряда мантиссы, т.е. 5 (х*) = ем = 2~' (порядок числа не влияет на относительную погрешность представления). Величина ем играет в вычислениях на компьютере фундаментальную роль; ее называют относительной точностью компьютера, а также машинной точно- стью (или машинным эпсилон). Всюду в дальнейшем ем — это относи- тельная точность компьютера. Заметим, что значение этой величины определяется разрядностью мантиссы и способом округления. Важно с самого начала иметь четкое представление о том, что почти наверняка в представимом множестве компьютера нет числа у, являю- щегося решением поставленной задачи. Лучшее, что можно попытаться сделать, — это найти его представление у* = fl (у) с относительной точ- ностью порядка ем. Полезно отметить, что среди представимых в компьютере чисел нет не только ни одного иррационального (в том числе и таких важ- ных постоянных, как л, е, J2), нои даже такого широко используе- мого в вычислениях числа, как 0.1. Дело в том, что двоичная запись числа 0.1 является бесконечной периодической дробью: 0.1 = 1 fl — начальные буквы английского слова floating — «плавающий». 41
Глава 2. Введение в элементарную теорию погрешностей = (0.0001100110011 ...)2. Поэтому это число всегда представляется в компьютере приближенно, с погрешностью, вызванной необходимо- стью округления. 2°. Диапазон изменения чисел в компьютере ограничен. Нормализо- ванные числа расположены в интервалах (-Х^, -Xq) и ( Xq, Х^), где зна- чения Xq и Х^ определяются числом разрядов, отведенных для хранения двоичного порядка. 3°. Все числа х, по модулю большие Х&, рассматриваются как машинная бесконечность и представляются в IEEE арифметике симво- лами -оо или +оо. Получение числа х такого, что |х| > Xq называют пере- полнением. Получение числа х такого, что |х| < Xq, называют исчезнове- нием порядка или антипереполнением. Обычно при антипереполнении генерируется субнормальное число или полагается fl(x) = 0 и вычисле- ния продолжаются. Замечание. Не следует смешивать машинную точность ем, порог машинного нуля Хо и минимальное представимое на компью- тере положительное субнормальное число хт1П. Это совершенно раз- ные числа, причем хт1П Xq ем. В IEEE арифметике обычной точности xmin « 10-43, X » 10~38 и ем » 10-7. пип м 4°. На машинной числовой оси (рис. 2.2) числа расположены нерав- номерно. Плотность их возрастает по мере приближения к нулю и падает с удалением от нуля. Чтобы убедиться в этом, заметим, что рас- стояние от одного нормализованного числа х = ц • 2Р до другого бли- жайшего нормализованного равно единице последнего разряда ман- тиссы, умноженной на 2Р, т.е. равно 2Р~1. Так как t фиксированно, то расстояние уменьшается с уменьшением значения порядка р и возрас- тает с увеличением р. Субнормальные числа распределены на интер- вале (-Xq, Xq) равномерно (см. рис. 2.2), расстояние между соседними субнормальными числами равно 2 1 1-4 I . I 1 i I 1 V------- Отрицательные нормализованные числа Субнормальные числа Положительные нормализованные числа Рис. 2.2 42
§ 2.5. Особенности машинной арифметики 4. Арифметические операции над числами с плавающей точ- кой. Правила выполнения арифметических операций в двоичной сис- теме счисления чрезвычайно просты и легко реализуются на компью- тере. Однако в силу ограниченной разрядности мантиссы операции сложения, вычитания, умножения и деления над представимыми в компьютере вещественными числами не могут быть реализованы точно. Дело в том, что арифметические операции над числами, ман- тиссы которых содержат t разрядов, приводят, как правило, к резуль- татам, содержащим более t разрядов. Округление результата до t раз- рядов и служит главным источником погрешности. Для того чтобы отличать машинные арифметические операции от идеальных матема- тических операций +, х, будем обозначать их через Ф, О, 0, О. Игнорируя несущественные детали, можно считать, что результат машинной арифметической операции совпадает с результатом точного выполнения той же операции с погрешностью, приближенно равной погрешности округления. Таким образом, Д(а Ф Ь) « \а + />|ем, Д(л Э b) « \а - h|cM, A(a®Z>)«|axZ>|eM, A(aOZ>)»|a:Z>|eM. Конечно, в некоторых ситуациях округление может отсутствовать. Например, полезно знать, что умножение и деление числа на целую степень числа 2 выполняется на компьютере точно, так как в этом слу- чае мантисса не меняется. Пр и мер 2.18. Рассмотрим гипотетический компьютер, в котором числа представляются всего лишь с шестью двоичными разрядами ман- тиссы, а округление производится по дополнению. Пусть на таком ком- пьютере вычисляются сумма и произведение двух представимых на ней чисел а = 20.5 = (10100.1 )2 и b = 1.75 = (1.11)2. Производим вычисления в двоичной арифметике: а + b = (10100.1)2 4- (1.11 )2 = (10110.01 )2, а х b = (10100.1)2 х (1.11)2 = (100011.111)2. После округления до шести значащих цифр получим а Ф b = = (10110.1 )2 = 22.5, а®Ь = (1ОО1ОО.)2 = 36. Очевидно, что эти резуль- таты отличаются от точных значений а 4- Ь = 22.25, а х Ь = 35.875. ▲ Заметим, что машинные арифметические операции обладают иными свойствами, нежели обычные математические операции. Например, не выполняется известное правило арифметики «от перемены мест слагае- мых сумма не меняется». Покажем это на примере. 43
Глава 2. Введение в элементарную теорию погрешностей Пример 2.19. Пусть вычисления производятся на компьютере из примера 2.17, причем а = (l.)2, b = с = (0.000001)2. Тогда а + b = = (1.000001)2 и после округления имеем а 0 b = (1.00001)2. Далее, (а® />)+ с = (1.000011)2 и после округления получим (а ® Ь) 0 с = = (1.00010)2. Сложение в ином порядке дает с 0 b = (0.000010)2, (с 0 Ь) 0 0 а = (1.00001 )2. Таким образом, (а 0 Ь) 0 с Ф (с 0 Ь) 0 а. ▲ 5. Двойная точность. На компьютерах, удовлетворяющих IEEE стандарту, при вычислениях с обычной точностью, нормализованные числа расположены в диапазоне 10“38 |х| 1038, вполне достаточ- ном для большинства приложений. Однако разрядность мантиссы t невелика и поэтому е ~ 10-7; в десятичной арифметике это эквива- лентно тому, что мантисса содержит семь десятичных цифр. На большинстве компьютеров возможна реализация арифметиче- ских действий над числами, разрядность мантиссы которых примерно вдвое превосходит стандартную разрядность t. Это приводит к суще- ственному повышению машинной точности. Например на компьютерах, удовлетворяющую стандарту IEEE, для представления чисел двойной точности отводится 53 разряда для хранения мантиссы (включая знак) и И разрядов для хранения порядка. Здесь Хо » 1О-308, « 1О308 и 8м~10’16. Для сравнения напомним, что обычная точность этих компьютеров есть ем ~ 10-7, так что следует говорить не об удвоении точности, а о повышении точности на много порядков. В IEEE арифметике есть еще режим расширенной двойной точ- ности, в котором для представления мантиссы отводится 65 разрядов (включая знак), а для представления порядка — 15 разрядов. В этом режиме Xq « 10-4964, Хю « Ю4964 и ем ~ 10-19. Подчеркнем, что исполь- зование режимов двойной или расширенной двойной точности отнюдь не позволяет ликвидировать погрешность округления, а только лишь уменьшает ее значение. 6. Вычисление машинного е. Для приближенного вычисления величины ем удобно воспользоваться следующим определением. Машинное эпсилон — это минимальное из представимых на компью- тере положительных чисел е, для которых 1 Ф е > 1. Величину ем можно оценить непосредственно в ходе вычислитель- ного процесса. Для этого достаточно включить в программу фрагмент, реализующий следующий метод. Полагая е(0) = 1, следует вычислять последовательно = 0.5е<0), е(2) = 0.5еП), = 0.58^ ..., 44
§ 2.5. Особенности машинной арифметики запоминая получающиеся значения в памяти компьютера и прове- ряя каждый раз выполнение неравенства 1 Ф e(w) > 1. Как только при некотором п окажется, что 1 Ф = 1, следует положить ем = и перейти к следующему этапу вычислений. Хотя полученное таким спо- собом значение может отличаться от ем в два раза, обычно оно исполь- зуется так, что эта погрешность не имеет значения. Пример 2.20. Покажем, что ем = 2~6 = (0.000001)2 — машинное эпсилон для компьютера из примера 2.18. В самом деле, 1 + ем = = (1.000001)2 и после округления имеем 1 Ф ем = (1.00001 )2 > 1. Если же к 1 добавить любое положительное е < ем, то в седьмом разряде резуль- тата будет стоять нуль и после округления получим 1 Ф е = 1. А Всюду в дальнейшем, приводя конкретные числовые примеры, мы отказываемся от использования двоичной арифметики. Десятичная арифметика привычнее, а основные закономерности поведения ошибок округления не зависят от основания используемой системы. В боль- шинстве расчетов, которые будут приведены для иллюстрации поведе- ния ошибок округления, имитируется выполнение вычислений на гипо- тетическом компьютере, имеющем шесть десятичных разрядов мантиссы и производящем округление по дополнению. Будем называть этот компьютер 6-разрядным десятичным компьютером. Для него ем = = 5 • 10~7, так что по точности он сравним со стандартным компьюте- ром (при вычислениях с одинарной точностью). 7. Дополнительные сведения об IEEE арифметике. Напомним, что кроме нормализованных чисел IEEE арифметика включает в себя субнормальные (денормализованные) числа. В отличие от нормализо- ванных чисел в представлении (2.26) для субнормальных чисел всегда Yj = 0 ир = pmin. Субнормальные числа расположены в интервале (-XQ, XQ). Расстояние между двумя соседними субнормальными числами посто- янно. В арифметике обычной точности оно составляет 2~150 » 10-45, а в арифметике двойной точности 2~1075 » 10-324. Одним из приятных следствий наличия субнормальных чисел явля- ется тот факт, что в IEEE арифметике равенство х О у = 0 возможно тогда и только тогда, когда х = у. Множество нормализованных и субнормальных чисел в IEEE ариф- метике дополнено символами +оо, -со и NaN (Not a Number — НеЧисло). Символы ±оо генерируются в случае, если при выполнении очередной операции возникает переполнение. Символы ±оо представля- 45
Глава 2. Введение в элементарную теорию погрешностей ются в виде (2.26) с нулевой мантиссой и показателем р = pmax + 1, т.е. в виде р +1 ±ОО = ±(0.000 ...0)-2 тах . Символы ±оо ведут себя в соответствии со следующими естествен- ными правилами: +оо+оо = +оо, (-1)х(+оо) = -оо, = 0 для всякого ±оо числа х с плавающей точкой, — =±оо для всякого положительного х числа х с плавающей точкой, +оо ф х = +оо и т.д. Символ NaN генерируется в случае, если результат выполняемой операции не определен. Например = NaN, = NaN, 0х(+оо) = NaN, 4-ос 4- (-<ю) = NaN, - = NaN, NaN Ф x = NaN, NaN © NaN = NaN и т.д. NaN числа представляются в виде (2.26) с ненулевой мантиссой и с показателем р = ртах 4- 1. Таким образом, IEEE арифметика замкнута относительно арифмети- ческих операций. Каждая выполняемая на компьютере операция имеет результатом либо число с плавающей точкой, либо один из символов 4-оо, -оо, NaN. Информация о возникновении символов ±оо или NaN доводится до сведения пользователя выставлением индикатора особого случая (exception flag), но работа программы при этом не прерывается. Это позволяет разрабатывать более надежные программы. Любые два NaN числа считаются различными. Поэтому простейший способ убе- диться в том, что х =NaN состоит в проверке свойства х * х. Замечание. Казалось бы, результат выполнения операции 0° в IEEE арифметике должен получить значение NaN, но в дей- ствительности принято соглашение, что 0° = 1. Это соглашение очень полезно при работе с многочленами. § 2.6. Дополнительные замечания 1. Более подробно приближенные числа и погрешности арифмети- ческих операций над ними изложены в известном учебном пособии [35]. Здесь же приведены правила подсчета оставляемых значащих цифр, которые рекомендуется применять при массовых «ручных» вычислениях без точного учета погрешностей. 46
§ 2.6. Дополнительные замечания 2. Дополнительную информацию об особенностях арифметических операций над числами с плавающей точкой можно найти, например в [23, 54, 102, 106]. 3. В последнее время в практике вычислений в качестве меры погрешности приближенного числа а* часто используют величину , объединяющую в себе черты абсолютной и относительной погрешностей. Она близка к Д(а*) при |а| 1 и практически совпа- дает с 5(а*) при | а | » 1. 4. Информацию о IEEE стандарте можно найти в [54, 122, 5*, 15*, 20*, 24*]. 5. Для уменьшения погрешностей округления иногда используется рациональная арифметика. В ней каждое рациональное число пред- ставляется парой целых чисел (с увеличенным по сравнению со стан- дартным числом разрядов) — числителем и знаменателем. Арифмети- ческие операции над такими числами производятся как над обычными рациональными дробями. Рациональная арифметика реализована во многих пакетах символь- ных вычислений, например в пакетах Mathematica и MACSYMA. 6. К настоящему времени разработан интервальный анализ, даю- щий возможность заставить компьютер следить за совершаемыми ошибками округления, чтобы затем получить гарантированные оценки их накопления. 47
Глава 3 ВЫЧИСЛИТЕЛЬНЫЕ ЗАДАЧИ, МЕТОДЫ И АЛГОРИТМЫ. ОСНОВНЫЕ ПОНЯТИЯ § 3.1. Корректность вычислительной задачи 1. Постановка вычислительной задачи. Под вычислительной задачей будем понимать одну из трех задач, которые возникают при анализе математических моделей: прямую задачу, обратную задачу или задачу идентификации (см. § 1.2). Слово «вычислительная» подчерки- вает, что основные усилия будут направлены на то, чтобы найти (вычислить) ее решение. Будем считать, что постановка задачи включает в себя задание мно- жества допустимых входных данных X и множества возможных решений Y. Цель вычислительной задачи состоит в нахождении реше- ния у е Y по заданному входному данному х е X. Для простоты пони- мания достаточно ограничиться рассмотрением задач, в которых вход- ные данные и решение могут быть только числами, наборами чисел (векторами, матрицами, последовательностями) и функциями. Предпо- ложим, что для оценки величин погрешностей приближенных входных данных х* и приближенного решения у* введены абсолютные и относи- тельные погрешности Д(х*), Д(у*), 5(х*), 5(у*), а также их границы Д(х*), Д(/), 8(х*), 5(у*). Определения этих величин когда х и у — числа, были даны в § 2.2. В тех случаях, когда входные данные или решение не являются числами, эти характеристики погрешностей также можно вве- сти естественным образом; мы будем это делать по мере необходимости. 2. Определение корректности задачи. Анализ важнейших требо- ваний, предъявляемых к различным прикладным задачам, приводит к понятию корректности математической задачи, которое было впервые сформулировано Ж. Адамаром1 и развито затем И.Г. Петровским2. Вычислительная задача называется корректной (по Адамару—Петров- скому), если выполнены следующие три требования: 1) ее решение у g Y существует при любых входных данных х е X; 1 Жак Адамар (1865—1963) — французский математик. 2 Иван Георгиевич Петровский (1901 —1973) — российский математик. 48
§3.1. Корректность вычислительной задачи 2) это решение единственно; 3) решение устойчиво по отношению к малым возмущениям вход- ных данных. В том случае, когда хотя бы одно из этих требований не выполнено, задача называется некорректной. Существование решения вычислительной задачи — естественное требование к ней. Отсутствие решения может свидетельствовать, например, о непригодности принятой математической модели либо о неправильной постановке задачи. Иногда отсутствие решения является следствием неправильного выбора множества допустимых входных данных X или множества возможных решений Y. Пр и мер 3.1. Рассмотрим задачу о решении квадратного уравнения х2 + Ьх + с = 0. (3.1) Старший коэффициент а считается равным единице; этого всегда можно добиться делением уравнения на а. Если считать входным данным пару коэффициентов Ь, с и искать решение в множестве вещественных чисел, то существование решений X] = (-b-J b2-4с)/2, х2 = (-b + Jb2-4c)/2 (3.2) будет гарантировано только в том случае, если ограничить множе- ство входных данных коэффициентами, удовлетворяющими условию Ь2 - 4с > 0. Если же расширить множество возможных решении и счи- тать, что корни (3.2) могут принимать комплексные значения, то задача будет иметь решение при любых Ь, с. ▲ Так как математическая модель не является абсолютно точным отражением реальной ситуации, то даже в случае, когда исходная про- блема заведомо имеет решение, соответствующая вычислительная задача может и не оказаться разрешимой. Конечно, такая ситуация говорит о серьезном дефекте в постановке задачи. Иногда отсутствие решения математической задачи приводит к пониманию того, что пер- воначально сформулированная проблема неразрешима и нуждается в серьезной корректировке. 3. Единственность. Для некоторых вычислительных задач единст- венность является естественным свойством; для других же решение может и не быть единственным. Например, квадратное уравнение (3.1) имеет два корня (3.2). Как правило, если задача имеет реальное содер- жание, то неединственность может быть ликвидирована введением дополнительных ограничений на решение (т.е. сужением множества У). В некоторых случаях проблема снимается тем, что признается целесо- образным найти набор всех решений, отвечающих входным данным х, 49
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия и тогда за решение у принимается этот набор. Например, для уравнения (3.1) решением можно назвать пару (хь х2). Неединственность решения вычислительной задачи — весьма неприятное свойство. Оно может быть проявлением неправильной постановки исходной прикладной проблемы, неоднозначности ее реше- ния или сигналом о неудачном выборе математической модели. 4. Устойчивость решения. Решение у вычислительной задачи называется устойчивым по входным данным х, если оно зависит от входных данных непрерывным образом. Это означает, что для любого 8 > 0 существует 8 = 8(e) > 0 такое, что всякому исходному данному х*, удовлетворяющему условию Д(х*) < 8, отвечает приближенное решение у*, для которого Д(у*) < 8. Таким образом, для устойчивой вычислитель- ной задачи ее решение теоретически можно найти со сколь угодно высокой точностью 8, если обеспечена достаточно высокая точность 8 входных данных. Схематически ситуация изображена на рис. 3.1. Мно- жества тех х* и у*, для которых Д(х*) < 8 и Д(у*) < 8 изображены как окрестности точек х и у имеющие радиусы 8 и 8. Требование увеличить точность решения приводит автоматически к повышению требований к точности данных; соответствующие окрестности на рис. 3.1 отмечены штрихами. Неустойчивость решения у означает, что существует такое е0 > О, что какое бы малое 8 > 0 ни было задано, найдутся такие исходные дан- ные х*, что Д(х*) < 8, но Д(у*) > 80. Приведем простейшие примеры устойчивых и неустойчивых задач. Пример 3.2. Задача вычисления корней квадратного уравнения (3.1) устойчива, так как корни (3.2) являются непрерывными функ- циями коэффициентов b и с. ▲ Рис. 3.1 50
§3.1. Корректность вычислительной задачи Пр и мер 3.3. Задача о вычислении ранга матрицы в общем случае неустойчива. В самом деле, для матрицы А = 1 О 0 °_ ранг равен 1, поскольку det А = 0 и существует ненулевой элемент аи = 1. Однако сколь угодно малое возмущение коэффициента а22 на величину 8*0 приводит 0 к матрице А£ = 0 8 , для которой det/ig = 8 * 0 и, следовательно, ранг равен 2. ▲ Пример 3.4. ь интеграла I = j/(x) dx устойчива. а Покажем, что задача вычисления определенного Пусть /*(х) — приближенно заданная интегрируемая функция и ь = |/*(x)dx. Определим абсолютную погрешность функции /* с а помощью равенства Д(/*) = sup | /(х) -/*(х)|, в котором знак sup х е [а,А] можно заменить на max, если f и /* непрерывны. Так как ь Д(Г) = |/-Г| = | f(/(x)-/’(*))dx| <(/>-а)Л(Г), (3.3) а то для любого 8 > 0 неравенство Д(/*) < 8 будет выполнено, если потре- бовать выполнение условия Д(/*) < 5 = г/(Ь - а). ▲ Пр и мер 3.5. Покажем, что задача вычисления производной м(х) = f'(x) приближенно заданной функции является неустойчивой. Пусть/*(х) — приближенно заданная на отрезке [a, Z>] непрерывно дифференцируемая функция и м*(х) = (f*)'(x). Определим абсолютные погрешности с помощью равенств Д(/*) = тах| /(х) -/*(х)|, Д(и*) = тах| и(х) - «*(х)|. [а,/>] [и,А] Возьмем, например /*(х) = /(х) + a sin(х/а2), где 0 < а << 1. Тогда м*(х) = м(х) + a_,cos(x/a2) и Д(м*) = а-1, в то время как Д(/*) = а. Таким образом, сколь угодно малой погрешности задания функции f может отвечать сколь угодно большая погрешность производной f. ▲ 51
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия О Рис. 3.2 Различие в ситуациях, возникающих при приближенном задании функции f в задачах интегрирования и дифференцирования, отражено на рис. 3.2. Видно, что уменьшение значения 5 = Д^*) влечет за собой уменьшение погрешности Л(/*) (ее значение не превышает заштрихо- ванной площади), в то время как производные f и (/*У могут отли- чаться сколь угодно сильно. Одна и та же задача может оказаться как устойчивой, так и неустой- чивой в зависимости от выбора способа вычисления абсолютных погрешностей Д(х*) и Д(у*). В реальных задачах этот выбор определя- ется тем, в каком смысле должно быть близко приближенное решение к точному и малость какой из мер погрешности входных данных можно гарантировать. Пр и м е р 3.6. Рассмотрим задачу о вычислении суммы сходящегося оо ряда S = ак с приближенно заданными слагаемыми ак « ак. Если ак к=0 определяется таким образом, что гарантируется малость Д(а£) для всех к, то для последовательности а* = {ак}^0 естественно положить Д (а*) = = sup| ак - . В такой постановке задача неустойчива. Чтобы убедиться в этом, достаточно положить а*к = ак + 5 (где 5 > 0) для к < N и ак = ак оо для к> N. Тогда для суммы ряда S* = £ ак имеем Д(5*) = N5. Следо- k=Q вательно, как бы ни была мала величина Д(а*) = 5, абсолютную погрешность суммы ряда S* с помощью выбора можно сделать сколь 52
§ 3.1. Корректность вычислительной задачи угодно большой. Если же положить ак = ак + 5 для всех к, то сумма ряда 5* вообще станет бесконечной, т.е. ряд станет расходящимся. В то же время, если можно задавать ак так, чтобы оказалась малой величина Д(а*) = £ | ак - ак\, то Д(5*) = | £ (ак - ак) | < Д(а*) и в к=0 к=0 такой постановке задача устойчива. ▲ 5. Относительная устойчивость решения. Часто требование малости абсолютной погрешности является неоправданным или трудно проверяемым. В таких случаях полезно рассмотреть относительную устойчивость решения, определение которой отличается от данного выше определения устойчивости (абсолютной устойчивости) только тем, что Д(х*) и Д(у*) заменяются на 5(х*) и 5(у*) соответственно. оо Пример 3.7. Вернемся к задаче вычисления суммы ряда S = ^ак к=0 из примера 3.6. Предположим, что ак Ф 0 для всех к. Часто можно гарантировать малость величины 5(а*)= sup{|a*-a£|/|a*|}. Тогда к>Ъ &(ак) < |aj •§(</) и поэтому Д(5*) < *5(я*). Таким образом, к=0 (оо оо \ (з-4) к=0 k=Q Следовательно, задача вычисления суммы сходящегося ряда S относительно устойчива, если он сходится абсолютно (т.е. сходится оо оо ряд £ | ). Если же ряд сходится только условно, т.е. £ | aj = оо, к=0 к=о то задача не является относительно устойчивой. ▲ Замечание. Так как для решения вычислительных задач используют компьютеры, точность которых определяется разряд- ностью мантиссы или эквивалентным значением границы относи- тельной погрешности округления ем, то представляется более естественным исследование относительной устойчивости. 6. О некорректных задачах. Длительное время считалось, что некор- ректные задачи, решения которых неустойчивы, не имеют физического смысла и не представляют ценности для приложений. Однако это мне- ние оказалось ошибочным. Как выяснилось, многие важные приклад- 53
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия ные задачи некорректны. Не вызывает, например, сомнения практиче- ская важность решения некорректных задач дифференцирования и суммирования ряда (см. примеры 3.5., 3.6). К некорректным задачам относятся также обратные задачи геофизики, астрофизики, спектрогра- фии, многие задачи распознавания образов, задачи синтеза и ряд дру- гих прикладных задач. К настоящему времени разработана теория решения многих классов некорректных задач. Важная роль в создании методов решения таких задач принадлежит российским математикам, в первую очередь А.Н. Тихонову1. Эти методы (методы регуляризации) довольно сложны и выходят за рамки данной книги. Мы ограничимся изложением в § 16.7 того, как метод регуляризации может быть применен в случае некорректной задачи вычисления решения интегрального уравнения Фредгольма первого ряда. Для первого знакомства с методами регуля- ризации можно рекомендовать учебные пособия [37, 97]. § 3.2. Обусловленность вычислительной задачи 1. Определения. Пусть вычислительная задача корректна (ее решение существует, единственно и устойчиво по входным данным). Теоретически наличие у задачи устойчивости означает, что ее реше- ние может быть найдено со сколь угодно малой погрешностью, если только гарантировать, что погрешности входных данных достаточно малы. Однако на практике погрешности входных данных не могут быть сделаны сколь угодно малыми, точность их ограничена. Даже то что исходные данные нужно будет ввести в компьютер, означает, что их относительная точность будет заведомо ограничена величиной порядка £м (см. § 2.5). В реальности, конечно, уровень ошибок в исходной информации будет существенно выше. Как же повлияют малые, но конечные погрешности входных данных на решение, как сильно спо- собны они исказить желаемый результат? Для ответа на этот вопрос введем новые понятия. Под обусловленностью вычислительной задачи понимают чувстви- тельность ее решения к малым погрешностям входных данных. Задачу называют хорошо обусловленной, если малым погрешностям входных данных отвечают малые погрешности решения, и плохо обусловленной, если возможны сильные изменения решения. Часто оказывается возможным ввести количественную меру степени обусловленности вычислительной задачи — число обусловленности. Эту величину можно интерпретировать как коэффициент возможного 1 Андрей Николаевич Тихонов (1906—1993) — российский математик, один из созда- телей теории решения некорректных задач. 54
§3.2. Обусловленность вычислительной задачи возрастания погрешностей в решении по отношению к вызвавшим их погрешностям входных данных. Пусть между абсолютными погрешностями входных данных х и решения у установлено неравенство &(у')<Ул&(х*). (3.5) Тогда величина называется абсолютным числом обусловленности. Если же установлено неравенство 5(/)<v85(Z) (3.6) между относительными погрешностями данных и решения, то вели- чину vg называют относительным числом обусловленности. В неравен- ствах (3.5), (3.6) вместо погрешностей Д и 5 могут фигурировать их границы Д и 5 . Обычно под числом обусловленности v задачи пони- мают одну из величин или vg, причем выбор бывает ясен из смысла задачи. Чаще все же под числом обусловленности понимают относи- тельное число обусловленности. Для плохо обусловленной задачи v » 1. В некотором смысле неустойчивость задачи — это крайнее проявление плохой обусловленности, отвечающее значению v = оо. Конечно, v — это максимальный коэффициент возможного возрастания уровня оши- бок, и для конкретных входных данных действительный коэффициент возрастания может оказаться существенно меньше. Однако при выводе оценок (3.5) и (3.6) стремятся к тому, чтобы не завышать значений vA и vg и поэтому соотношение v 1 все же свидетельствует о реальной возможности существенного роста ошибок. Грубо говоря, если v ~ 10^, где v — относительное число обусловленности, то порядок N показы- вает число верных цифр, которое может быть утеряно в результате по сравнению с числом верных цифр входных данных. Каково то значение v, при котором следует признать задачу плохо обусловленной? Ответ на этот вопрос существенно зависит, с одной сто- роны, от предъявляемых требований к точности решения и, с другой — от уровня обеспечиваемой точности исходных данных. Например, если требуется найти решение с точностью 0.1 %, а входная информация задается с точностью 0.02 %, то уже значение v = 10 сигнализирует о плохой обусловленности Однако (при тех же требованиях к точности результата) гарантия, что исходные данные задаются с точностью не ниже 0.0001 %, означает, что и при v = 103 задача хорошо обусловлена. С простым, но очень важным примером плохо обусловленной задачи мы уже познакомились в § 2.3. Это задача вычитания прибли- женных чисел одного знака. Оценка (2.10) дает для нее значение отно- сительного числа обусловленности v = |a + £|/|a-Z>|. Так как в при- 55
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия мере 2.11 имеем v » 11 + х*|/| 1 - х*| « 7 • 105, то потеря пяти верных значащих цифр здесь не представляется удивительной. 2. Примеры плохо обусловленных задач. Первым рассмотрим классический пример, принадлежащий Дж. Уилкинсону1 [102]. Пр и мер 3.8. Пусть требуется найти корни многочлена Р(х)=(х- 1)(х - 2) ... (х - 20) = х20 - 210х19 + ... по заданным значениям его коэффициентов. Из теории известно, что эта задача устойчива. Возьмем коэффициент а = -210 при х19 и изме- ним его значение на а* = -210 + 2-23. Как повлияет эта, казалось бы, незначительная погрешность на значения корней? Заметим, что Xj = 1, х2 = 2, ...» х20 = 20 — точные значения корней. Вычисленные с высокой точностью корни возмущенного много- члена таковы: xf « 1.00000, х2 « 2.00000, х3 « 3.00000, х4 « 4.00000, х5* « 5.00000, х* « 6.00001, х7 « 6.99970, х8* « 8.00727, х9 « 8.91725, x;0J1 « 10.0953 ± 0.643501/, xf2 13 « 11.7936 ± 1.65233/, х*4>15 « 13.9924 ± 2.51883/, xf6 17 « 16.7307 ± 2.81262/, xf8 19 « 19.5024 ± 1.94033/, х20 « 20.8469. Как нетрудно видеть, корни хр ..., х6 оказались практически нечувстви- тельны к погрешностям в коэффициенте а. В то же время некоторые корни превратились в комплексные и имеют относительные погрешно- сти от 6 до 18 %, несмотря на то, что 8(а*) » 6 • 10-8 %. В данном случае нетрудно провести анализ чувствительности кор- ней. Пусть F(x, а) = х20 + ах19 + ... . Будем рассматривать корни хк как функции параметра а, т.е. хк = х*(а). Равенство F(x*(a), а) = 0, выпол- ненное в окрестности точки а = -210, задает хк как неявную функцию от а. Пользуясь второй из формул (2.22) для границы относительной погрешности и применяя формулу (2.23) для производной неявной функции, имеем 8(x;)«v*8(a’), 1 Джеймс X. Уилкинсон (1918—1986) — американский математик, внесший значи- тельный вклад в современное понимание вычислительных методов. О деятельности Джеймса X. Уилкинсона см. [54]. 56
§ 3.2. Обусловленность вычислительной задачи |а| где vk = — х=х^, а=-210 Учитывая, что 20 20 20 /WrErr-'Vip-1'). к, а=-210 у = 1 , =1 /=1 i*j i*k получаем 210Л18 20 i= 1 i # к Вычисление чисел vk дает следующие значения: у^г-Ю15, v2«9-10~8, v3==10~4, v4«10-‘, у^З-Ю1, v6»2-IO3, v7«8-104, v8«2-106, v9»2-107, vio«2-1O8, ун*9-109, v12»4‘109, v|3 » IO10, v14»2-10'°, v15 = 3-IO10, v)6 » 3 • 10!°, v|7 = 3-1010, v)g » IO10, V|9 = 3-109, v20 = 5-108, свидетельствующие о чрезвычайно плохой обусловленности старших корней. ▲ Следует обратить серьезное внимание на то, что задача вычисления корней многочленов высокой степени часто оказывается плохо обу- словленной. Поэтому имеет смысл с определенной настороженностью относиться к алгоритмам, составной частью которых является вычисле- ние корней многочленов высокой степени. К сожалению, эта задача может быть плохо обусловленной и для многочленов невысокой степени, в особенности, если вычисляются кратные корни. Пример 3.9. Пусть ищется решение уравнения (х - I)4 = 0 с крат- ным корнем. Погрешность в младшем коэффициенте, равная 10-8, приво- дит к уравнению (х - I)4 = 10-8, имеющему следующие корни: Xj 2 = = 1 ± 10-2, х3 4 = 1 ± 10-2 • z. В этом случае погрешность, равная 10-6 % в одном из коэффициентов, привела к погрешности решения примерно в 1 %, что явно говорит о плохой обусловленности задачи. ▲ 57
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия 3. Обусловленность задачи вычисления значения функции одной переменной. Пусть задача состоит в вычислении по заданному х значения у = f(x) дифференцируемой функции f В силу формул (2.21), (2.22) для этой задачи имеем: va«|/'(x)L (3.7) Воспользуемся этими формулами для оценки обусловленности задачи вычисления значений некоторых элементарных функций. Пример ЗЛО. Для задачи вычисления значения функции у = 0х в силу формулы (3.8) относительное число обусловленности vg прибли- женно равно |х| и при реальных вычислениях оно не может быть очень большим. Например, при вычислении экспоненты на компьютере типа IBM PC всегда | х| ^88, так как в противном случае возможно пере- полнение или антипереполнение. Следовательно, задача вычисления этой функции хорошо обусловлена, однако в случае 10 < | х | < 102 сле- дует ожидать потери одной-двух верных значащих цифр по сравнению с числом верных цифр аргумента х. Подчеркнем, что эта потеря точно- сти объективно обусловлена погрешностью задания аргумента и не связана с используемым алгоритмом. ▲ Пр и мер 3.11. Для задачи вычисления значения функции у = sinx в силу формулы (3.7) имеем vA = |cosx| < 1, что говорит о хорошей абсолютной обусловленности этой задачи при всех х. Однако если важен результат с определенным числом верных знаков, то нужно исследовать относительную обусловленность. Согласно формуле (3.8) имеем vg ® |х ctgx |. На рис. 3.3 приведен график этой функ- ции при х > 0 (она четная). Так как vg —* оо при х —► пк (для к = ±1,±2,...), то при х ® тгк задача обладает плохой относительной обусловленностью, и можно лишь уте- шаться тем, что мала абсолютная погрешность значения у* = sinx*. Если же значение |х| очень велико, то vg » 1 и вычислять значение синуса просто бессмысленно. Например, если вычисления ведутся на компьютере типа IBM PC, где £м ~ 10-7 при вычислениях с одинарной точностью, то уже для |х| ~ 107 одна только абсолютная погрешность представления числа х есть величина порядка единицы, так как Д(х*) » ~ |х| *£м. Нетрудно понять, что при Д(х*) - 1 вычисленное любым способом значение sinx* не представляет никакой ценности. Вывод, 58
§ 3.2. Обусловленность вычислительной задачи который можно сделать, довольно прост: при использовании функции у = sinx желательно проводить вычисления так, чтобы аргумент нахо- дился в диапазоне | х| <2, поскольку здесь vg < 1. ▲ ь 4. Обусловленность задачи вычисления интеграла / = J/(x) dx. а Как следует из оценки (3.3), в этом случае абсолютное число обуслов- ленности имеет вид vA = b - а. Если же перейти к рассмотрению отно- сительных погрешностей и положить 8(/*) = sup|/*(x)-/(х)|/|/(х)| для тех, х, где /(х) * 0, то используя неравенство b h Л(Г)< J|/’(x)-/(*)l dx< J|/(x)| dx-8(f), a a получаем оценку 5(7*) < v68(f), (3.9) ь b в которой v8= J|/(x)| dx/| J/(x) dx| . a a Если подынтегральная функция знакопостоянна, то vg = 1 и задача хорошо обусловлена. Если же функция f на отрезке [а, Ь] принимает значения разных знаков, то vg > 1. Для некоторых сильно колеблю- щихся (осциллирующих) около нуля функций может оказаться, что vg » 1 и тогда задача вычисления интеграла является плохо обуслов- ленной. 59
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия Иногда причиной появления плохо обусловленных задач становится отсутствие у пользователя компьютера элементарного представления об их существовании. В связи с этим заметим, что в последнее время получила развитие опасная тенденция пренебрежительного отношения к математическим знаниям вообще и к знанию вычислительной мате- матики, в частности. Вера в могущество компьютеров и надежность стандартных программ бывает так велика, что считается совсем ненуж- ным знать о вычисляемой математической величине что-либо кроме ее определения и, возможно, геометрического или физического смысла. Приведем простой пример, иллюстрирующий оценку (3.9) и заодно показывающий, что иногда аналитическая выкладка бывает эффектив- нее, чем применение самого современного компьютера. Пр и мер 3.12. Пусть в распоряжении пользователя имеется высо- копроизводительный компьютер и стандартная программа для вычис- ь ления интегралов вида /= jf(x) dx. Предположим, что нужно вычис- а 1 лить коэффициенты Фурье gn = jg(x) sin(nnx) dx для функции g(x) = = х + A ecos2x при п I и J » 1. Использование для вычисления gn указанной стандартной программы при/(х) = g(x) sin(Tcwx) автоматиче- ски означает, что ставится вычислительная задача, рассмотренная выше. При этом относительная погрешность 5(/**) вычисляемой на ком- пьютере функции «/заведомо не может быть меньше1 ем. Оценим величину v5. Заметим, что функция A ecos2x sin(7t их) нечет- ная и, следовательно, интеграл от нее равен нулю. Поэтому возможно аналитическое вычисление интеграла: 1 1 1 • Y If 2 g= xsin(7tnx) dx=-------cos(khx) +— COS(7CHX)dx =—(-l)w+1. " J Т1П . Tin J Tin -1 ' -1 Кроме того, |g(x) | > | A ecos2x | - |x| > A - 1 и поэтому i i i J|/(x)| dx= J|g(x)| • | sin(7tHx)| dx > (A - 1) j| sin(7tHx)| dx = A - 1. -i -i -i 1 Если учитывать погрешность вычисления функции sin (лях), то следует ожидать, что эта погрешность будет значительно больше ем. 60
§ 3.3. Вычислительные методы Таким образом, v5 > (А - 1 )пп/2 « 1.5Ли. Если gn вычисляется, напри- мер при А = 104 и п = 102, то vg £ 1.5 • 106. Следовательно, для этих зна- чений параметров принятое решение о вычислении интеграла по про- стейшей стандартной программе может обойтись в потерю примерно шести значащих цифр результата. Если вычисления ведутся на компью- тере, имеющем лишь около семи десятичных значащих цифр, то воз- можна катастрофическая потеря точности. Заметим, что в этих рассужде- ниях никак не учтены погрешность реализованного в программе метода и вычислительная погрешность, наличие которых усугубляет ситуацию. ▲ 5. Обусловленность задачи вычисления суммы ряда. Рассмот- рим задачу вычисления суммы абсолютно сходящегося ряда с ненуле- выми слагаемыми. В силу оценки (3.4) эта задача устойчива, а за отно- сительное число обусловленности следует принять величину оо оо v8= (3-10) к=0 к=0 Заметим, что для ряда с положительными слагаемыми имеем vg = 1, т.е. задача хорошо обусловлена. Если же ряд незнакопостоянный, то v5 > 1 и при vg » 1 задача оказывается плохо обусловленной. § 3.3. Вычислительные методы Обсудив некоторые важные особенности вычислительных задач, обратим внимание на те методы, которые используются в вычисли- тельной математике для преобразования задач к виду, удобному для реализации на компьютере, и позволяют конструировать вычислитель- ные алгоритмы. Мы будем называть эти методы вычислительными. С некоторой степенью условности можно разбить вычислительные методы на следующие классы: 1) методы эквивалентных преобразований; 2) методы аппроксимации; 3) прямые (точные) методы; 4) итерационные методы; 5) методы статистических испытаний (методы Монте-Карло). Метод, осуществляющий вычисление решения конкретной задачи, может иметь довольно сложную структуру, но его элементарными шагами, являются, как правило, реализации указанных методов. Дадим о них общее представление. 1. Методы эквивалентных преобразований. Эти методы позво- ляют заменить исходную задачу другой, имеющей то же решение. 61
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия Выполнение эквивалентных преобразований оказывается полезным, если новая задача проще исходной или обладает лучшими свойствами, или для нее существует известный метод решения, а, может быть, и готовая программа. Пр и мер 3.13. Эквивалентное преобразование квадратного уравнения X \ ^2_4 с х2 + Ьх + с = 0 к виду I х + - I = —-— (выделение полного квадрата) сводит задачу к проблеме вычисления квадратного корня и приводит к известным для ее корней формулам (3.2). ▲ Эквивалентные преобразования иногда позволяют свести решение исходной вычислительной задачи к решению вычислительной задачи совершенно иного типа. Пример 3.14. Задача отыскания корня нелинейного уравнения /(х) = 0 может быть сведена к эквивалентной задаче поиска точки гло- бального минимума функции Ф(х) = (/(х))2. В самом деле, функция Ф(х) неотрицательна и достигает минимального значения, равного нулю, при тех и только тех х, для которых /(х) = 0. ▲ 2. Методы аппроксимации. Эти методы позволяют приблизить (аппроксимировать) исходную задачу другой, решение которой в опре- деленном смысле близко к решению исходной задачи. Погрешность, возникающая при такой замене, называется погрешностью аппрокси- мации. Как правило, аппроксимирующая задача содержит некоторые параметры, позволяющие регулировать значение погрешности аппрок- симации или воздействовать на другие свойства задачи. Принято гово- рить, что метод аппроксимации сходится, если погрешность аппрокси- мации стремится к нулю при стремлении параметров метода к некоторому предельному значению. Пример 3.15. Один из простейших способов вычисления инте- ь грала I = |/(х) dx состоит в аппроксимации интеграла на основании а формулы прямоугольников величиной /А = /(* + ('-0 л) • /=1 Шаг h = (b- а)/п является здесь параметром метода. Так как Ih пред- ставляет собой специальным образом построенную интегральную 62
§ 3.3. Вычислительные методы сумму, то из определения определенного интеграла следует, что Iй —► I при h —► 0, т.е. метод прямоугольников сходится. ▲ Пр и мер 3.16. Учитывая определение производной функции \ 1 Лх + Л)“ЛХ) zr f (х) = lim -----г-----, для ее приближенного вычисления можно h - 0 h использовать формулу f (х) » --------. Погрешность аппроксима- ции этой формулы численного дифференцирования стремится к нулю при h —► 0. ▲ Одним из распространенных методов аппроксимации является дис- кретизация — приближенная замена исходной задачи конечномерной задачей, т.е. задачей, входные данные и искомое решение которой могут быть однозначно заданы конечным набором чисел. Для задач, которые не являются конечномерными, этот шаг необходим для после- дующей реализации на компьютере, так как вычислительная машина в состоянии оперировать лишь с конечным количеством чисел. В приве- денных выше примерах 3.15 и 3.16 была использована дискретизация. Хотя точное вычисление интеграла и предполагает использование бес- конечного множества значений /(х) (для всех х е [а, £>]), его прибли- женное значение можно вычислить, использовав конечное число п зна- чений в точках а + (/ -1/2)й. Аналогично, задача вычисления производной, точное решение которой предполагает выполнение опе- рации предельного перехода при h —► 0 (а следовательно, использова- ние бесконечного множества значений функции /), сводится к прибли- женному вычислению производной по двум значениям функции. При решении нелинейных задач широко используют различные методы линеаризации, состоящие в приближенной замене исходной задачи более простыми линейными задачами. Пр и мер 3.17. Пусть требуется приближенно вычислить значение х = = Ja для а > 0 на компьютере, способном выполнять простейшие ариф- метические операции. Заметим, что по определению х = *[а является положительным корнем нелинейного уравнения х2 - а = 0. Пусть х(0) — некоторое известное приближение к */а Заменим параболу у = х2- а пря- мой у = (х<°))2-а + 2х(0\х-х(0)), являющейся касательной, проведенной к ней в точке с абсциссой х = х<°> (рис. 3.4). Точка пересечения этой каса- тельной с осью Ох дает лучшее, чем х<0), приближение и находится из 63
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия линейного уравнения (х(0>)2 - а + 2х(0)(х - х(0)) = 0. Решая его, полу- чаем приближенную формулу Та«х* = х<°>- (*<0))2~° = - (х<°> + —1 (3 11) 2Л(°) 2\ л(0)Л 14 Например, если для х = л/2 взять х(0) = 2, то получится уточненное значение ~х* = ^2 + = 1.5. А При решении разных классов вычислительных задач могут исполь- зоваться различные методы аппроксимации; к ним можно отнести и методы регуляризации решения некорректных задач. Заметим, что методы регуляризации широко используют для решения плохо обу- словленных задач. 3. Прямые методы. Метод решения задачи называют прямым, если он позволяет получить решение после выполнения конечного числа элементарных операций Пр и мер 3.18. Метод вычисления корней квадратного уравнения х2 + Ьх + с = 0 по формулам Xj 2 = (- b ± J Ь2 - 4с)/2 является прямым методом. Элементарными здесь считаются четыре арифметические операции и операция извлечения квадратного корня. А Заметим, что элементарная операция прямого метода может ока- заться довольно сложной (вычисление значений элементарной или спе- циальной функции, решение системы линейных алгебраических урав- 64
§ 3.3. Вычислительные методы нений, вычисление определенного интеграла и т.д.). То, что она принимается за элементарную, предполагает во всяком случае, что ее выполнение существенно проще вычисления решения всей задачи. При построении прямых методов существенное внимание уделяется минимизации числа элементарных операций. Пр и мер 3.19. (схема Горнера1). Пусть задача состоит в вычис- лении значения многочлена Рп(х) = aQ + AjX + а2х2 + ... + апхп (3.12) по заданным коэффициентам я0, ..., ап и значению аргумента х. Если вычислять многочлен непосредственно по формуле (3.12), причем х2, х3, ..., хп находить последовательным умножением на х, то потребу- ется выполнить 2п - 1 операций умножения и п операций сложения. Значительно более экономичным является метод вычисления, назы- ваемый схемой Горнера. Он основан на записи многочлена в следую- щем эквивалентном виде: Ря(х) = ((... ((айх +ап_})х + а„_2)х + ...)х + а{)х + а0. Расстановка скобок диктует такой порядок вычислений: 50 = ап, = = sox + an-vs2 = s\x + an~2’ = + ...,Sn = Sn_iX + a0. Здесь вычисление значения Рл(х) = Sn потребовало выполнения только п операций умножения и п операций сложения. Схема Горнера интересна тем, что дает пример оптимального по числу элементарных операций метода. В общем случае значение Рп(х) нельзя получить никаким методом в результате выполнения меньшего числа операций умножения и сложения. ▲ Иногда прямые методы называют точными, подразумевая под этим, что при отсутствии погрешностей во входных данных и при точном выполнении элементарных операций полученный результат также будет точным. Однако при реализации метода на компьютере неиз- бежно появление вычислительной погрешности, которая зависит от чувствительности метода к погрешностям округления. Многие прямые (точные) методы, разработанные в домашинный период, оказались непригодными для машинных вычислений именно из-за чрезмерной чувствительности к погрешностям округления. Не все точные методы таковы, однако стоит заметить, что не совсем удачный термин «точ- ный» характеризует свойства идеальной реализации метода, но отнюдь не качество полученного при реальных вычислениях результата. 1 Вильямс Джордж Горнер (1786—1837) — английский математик. 65
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия 4. Итерационные методы. Это — специальные методы построе- ния последовательных приближений к решению задачи. Применение метода начинают с выбора одного или нескольких начальных прибли- жений. Для получения каждого из последующих приближений выпол- няют однотипный набор действий с использованием найденных ранее приближений — итерацию'. Неограниченное продолжение этого ите- рационного процесса теоретически позволяет построить бесконечную последовательность приближений к решению — итерационную после- довательность. Если эта последовательность сходится к решению задачи, то говорят, что итерационный метод сходится. Множество начальных приближений, для которых метод сходится, называется областью сходимости метода. Заметим, что итерационные методы широко используются при решении самых разнообразных задач с применением компьютеров. Пр и мер 3.20. Рассмотрим известный итерационный метод, пред- назначенный для вычисления J~a (где а > 0), — метод Ньютона. Зада- дим произвольное начальное приближение х<°) > 0. Следующее при- ближение вычислим по формуле х(1> = 1 х(0) + -±. 2 I Л0) выведенной с помощью метода линеаризации в примере 3.17 (см. формулу (3.11)). Продолжив этот процесс далее, получим итерационную последователь- ность х<°\ х<1\ х<2\ ..., х<"\ ..., в которой очередное (к + 1)-е прибли- жение вычисляется через к-е по рекуррентной2 формуле Х<*+') = 1 fxW + 4-J, к>0. (3.13) 2 k XWJ Известно, что этот метод сходится при любом начальном приближе- нии х(°) > 0, так что его область сходимости — множество всех поло- жительных чисел. Вычислим с его помощью значение на 8-разрядном десятичном компьютере. Зададим х(°)= 2 (как в примере 3.17). Тогда xW= 1.5, х<2> = = 1.4166667, х<3> = 1.4142157, х<4>= 1.4142136, х<5> = 1.4142136. Дальней- шие вычисления бессмысленны, так как из-за ограниченности разрядной сетки все следующие уточнения будут давать тот же результат. Однако сравнение с точным значением 72 = 1.41421356... показывает, что уже на третьей итерации были получены шесть верных значащих цифр. ▲ 1 От латинского слова iteratio — «повторение». 2 От латинского слова recurrent — «возвращающийся». 66
§ 3.3. Вычислительные методы Обсудим на примере метода Ньютона некоторые типичные для ите- рационных методов (и не только для них) проблемы. Итерационные методы по своей сути являются приближенными; ни одно из получае- мых приближений не является точным значением решения. Однако схо- дящийся итерационный метод дает принципиальную возможность найти решение с любой заданной точностью 8 > 0. Поэтому, применяя итерационный метод, всегда задают требуемую точность 8 и итераци- онный процесс прерывают, как только она достигается. Хотя сам факт сходимости метода безусловно важен, он недостаточен для того, чтобы рекомендовать метод для использования на практике. Если метод сходится очень медленно (например, для получения решения с точностью в 1 % нужно сделать 106 итераций), то он непригоден для вычислений на компьютере. Практическую ценность представляют быстро сходящиеся методы, к которым относится и метод Ньютона (напомним, что в рассмотренном выше примере точность 8 = 10-5 в вычислении J2 была достигнута всего за три итерации). Для теоретического исследования ско- рости сходимости и условий применимости итерационных методов выводят так называемые априорные' оценки погрешности, позволяющие еще до вычислений дать некоторое заключение о качестве метода. Приведем две такие априорные оценки для метода Ньютона. Пусть > *[а. Известно, что тогда > Ja для всех п > 0 и погрешности двух последовательных приближений связаны следующим неравенством: 8(”) <(8("-1))2. (3.14) О 1 z Г\ 5(л(”)) Здесь = —р (х^п) - Ja) = — — величина, характеризующая 2ja 2 относительную погрешность и-го приближения. Это неравенство говорит об очень высокой квадратичной скорости сходимости метода: на каждой итерации «ошибка» возводится в квадрат. Если выразить 5^ через погрешность начального приближения, то получим неравенство 5(") < (8(°))2", (3.15) из которого видна роль хорошего выбора начального приближения. Чем меньше 8<°) = 8(*(0))/2, тем быстрее будет сходиться метод. Практическая реализация итерационных методов всегда связана с необходимостью выбора критерия окончания итерационного про- цесса. Вычисления не могут продолжаться бесконечно долго и должны быть прерваны в соответствии с некоторым критерием, связанным, например с достижением заданной точности. Использование для этой 1 От латинского слова a’priori — «до опыта». 67
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия цели априорных оценок чаще всего оказывается невозможным или неэф- фективным. Качественно верно описывая поведение метода, такие оценки являются завышенными и дают весьма недостоверную количест- венную информацию. Нередко априорные оценки содержат неизвестные величины (например, в оценках (3.14), (3.15) содержится величина Ja), либо предполагают наличие и серьезное использование некоторой дополнительной информации о решении. Чаще всего такой информа- ции нет, а ее получение связано с необходимостью решения дополни- тельных задач, нередко более сложных, чем исходная. Для формирования критерия окончания по достижении заданной точности, как правило, используют так называемые апостериорные' оценки погрешности — неравенства, в которых значение погрешности оценивается через известные или получаемые в ходе вычислительного процесса величины. Хотя такими оценками нельзя воспользоваться до начала вычислений, в ходе вычислительного процесса они позволяют давать конкретную количественную оценку погрешности. Например, для метода Ньютона (3.13) справедлива следующая апо- стериорная оценка: |х<Л> - J~a | < |х<") - х(" " Ч |, и>1, позволяющая оценивать абсолютную погрешность приближения через модуль разности двух последовательных приближений. Она дает воз- можность сформулировать при заданной точности 8 > 0 очень простой критерий окончания. Как только окажется выполненным неравенство |х(”) -x^-OI <8, (3.16) вычисления следует прекратить и принять х<п) за приближение к Ja с точностью е. Пример 3.21. Если значение J2 требуется найти с точностью 8 = = 10-5, то неравенство (3.16), как видно из приведенных в примере 3.20 вычислений, будет выполнено при п = 4. Так как |х(4)-х<3)| = 3 • 10-6, то с учетом погрешности округления можно записать результат: = = 1.41421 ± 0.00001. ▲ 5. Методы статистических испытаний (методы Монте-Карло). Это — численные методы, основанные на моделировании случайных величин и построении статистических оценок решений задач. Этот класс 1 От латинского слова a’posteriori — «после опыта». 68
§ 3.4. Корректность вычислительных алгоритмов методов, как принято считать, возник в 1949 г., когда Дж. фон Нейман1 и С. Улам2 использовали случайные числа для моделирования с помо- щью компьютеров поведения нейтронов в ядерном реакторе. Эти методы могут оказаться незаменимыми при моделировании больших систем, но подробное их изложение предполагает существенное использование аппарата теории вероятностей и математической стати- стики и выходит за рамки данной книги. $ 3.4. Корректность вычислительных алгоритмов 1. Вычислительный алгоритм. Вычислительный метод, доведен- ный до степени детализации, позволяющий реализовать его на компью- тере, принимает форму вычислительного алгоритма. Определим вычислительный алгоритм как точное предписание дей- ствий над входными данными, задающее вычислительный процесс, направленный на преобразование произвольных входных данных х (из множества допустимых для’данного алгоритма входных данных X) в полностью определяемый этими входными данными результат. Реальный вычислительный алгоритм складывается из двух частей: абстрактного вычислительного алгоритма, формулируемого в обще- принятых математических терминах, и программы, записанной на одном из алгоритмических языков и предназначенной для реализации алго- ритма на компьютере. Как правило, в руководствах по методам вычисле- ний излагаются именно абстрактные алгоритмы, но их обсуждение про- водится так, чтобы выявить особенности алгоритмов, которые оказывают существенное влияние на качество программной реализации. 2. Определение корректности алгоритма. К вычислительным алгоритмам, предназначенным для широкого использования, предъяв- ляется ряд весьма жестких требований. Первое из них — корректность алгоритма. Будем называть вычислительный алгоритм корректным, если выполнены три условия: 1) он позволяет после выполнения конечного числа элементарных для вычислительной машины операций преобразовать любое входное данное х е X в результат у, 1 Джон фон Нейман (1903—1957) — американский математик, физик, инженер-изо- бретатель. Оказал значительное влияние на развитие современной математики. Один из создателей первых компьютеров. Историческую справку о фон Неймане см. в [54]. 2 Станислав Улам (1909—1984) — американский математик. Краткий очерк о его дея- тельности можно найти в [54]. 69
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия 2) результат у устойчив по отношению к малым возмущениям вход- ных данных; 3) результат у обладает вычислительной устойчивостью. Если хотя бы одно из перечисленных условий не выполнено, то будем называть алгоритм некорректным. Уточним и более подробно обсудим эти условия. Необходимость выполнения первого условия понятна. Если для получения результата нужно выполнить бесконечное число операций либо требуются операции, не реализованные на компьютерах, то алго- ритм следует признать некорректным. Пр и мер 3.22. Известный алгоритм деления чисел «углом» некор- ректен, так как он может продолжаться бесконечно, если не опреде- лен критерий окончания вычислений. ▲ Пример 3.23. Отсутствие критерия окончания делает некоррект- ным и алгоритм Ньютона вычисления Ja (см. пример 3.20). ▲ Пр и м е р 3.24. Алгоритм вычисления корней квадратного уравнения (3.1) по формулам (3.2) некорректен, если он предназначен для использо- вания на вычислительной машине, на которой не реализована операция извлечения квадратного корня. ▲ 3. Устойчивость по входным данным. Устойчивость результата у к малым возмущениям входных данных (устойчивость по входным данным) означает, что результат непрерывным образом зависит от входных данных при условии, что отсутствует вычислительная погреш- ность. Это требование устойчивости аналогично требованию устойчи- вости вычислительной задачи. Отсутствие такой устойчивости делает алгоритм непригодным для использования на практике. Отметим, что в формулировку устойчивости алгоритма по входным данным неявно входит одно весьма важное предположение, а именно, что вместе с входным данным х в множество допустимых входных дан- ных X входят и все близкие к х приближенные входные данные х*. Пример 3.25. Пусть алгоритм предназначен для вычисления кор- ней квадратного уравнения (3.1) с коэффициентами, удовлетворяю- щими условию d- b2 -4с > 0. Если в нем используются формулы (3.2), то этот алгоритм некорректен. В самом деле, значение сГ, отвечающее приближенно заданным коэффициентам Ь* и с*, может оказаться отри- цательным, если d » 0. Тогда вычисления завершатся аварийным оста- новом при попытке извлечь квадратный корень из отрицательного числа. Если же в формуле (3.2) заменить d на max {d, 0}, то алгоритм становится корректным. ▲ 70
§ 3.4. Корректность вычислительных алгоритмов 4. Вычислительная устойчивость. Из-за наличия погрешностей округления при вводе входных данных в компьютер и при выполнении арифметических операций неизбежно появление вычислительной погрешности. На разных компьютерах она различна из-за различий в раз- рядности и способах округления, но для фиксированного алгоритма в основном значение погрешности определяется машинной точностью ем. Назовем алгоритм вычислительно устойчивым, если вычислитель- ная погрешность результата стремится к нулю при ем 0. Обычно вычислительный алгоритм называют устойчивым, если он устойчив по входным данным и вычислительно устойчив, и — неустойчивым, если хотя бы одно из этих условий не выполнено. Пример 3.26.1 Пусть требуется составить таблицу значений инте- 1 гралов In = jx" е1 ~х dx для п = 1,2, ... на 6-разрядном десятичном ком- о пьютере. Интегрируя по частям, имеем 1 1 1 7Л = jx" d( -е1 ’х) = -х" е1 "х| J + Je1 "х d(x") = - 1 + J ихл-1 е1 ~х dx. О 0 0 Следовательно, справедлива формула in=nln_x -1, (3.17) Кроме того, 1 70 = Je1-Xdx = e-1 «70* = 1.71828. о Воспользуемся формулой (3.17) для последовательного вычисления приближенных значений интегралов 1п: 7, « I* = 17* - 1 = 0.71828; 12 * 12 = 27^-1 = 0.43656; I3 « 73* = 312 - 1 = 0.30968; I4 « 74* = 473* - 1 = 0.23872; 75« 75* = 574*-1 = 0.19360; 76»7б = 675*-1 =0.16160; 77« 77* = 77*-1 =0.13120; 78«7j = 877*-l = 0.04960; 79 « 79 = 978 - 1 = -0.55360; 710 « 7*0 = 107£ - 1 = -6.5360. 1 Идея примера заимствована из [5, 106]. 71
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия Здесь вычисления следует прекратить. Искомые значения интегралов очевидно, положительны, а найденные значения при п = 9 и п = 10 отрицательны. В чем причина появления такой большой погрешности? В данном примере все вычисления проводились точно, а единствен- ная и, на первый взгляд, незначительная ошибка была сделана при округлении значения /0 до шести значащих цифр (заметим, что До = = |/0 - /J | ~ 2* 10-6). Однако при вычислении Ц эта погрешность сохранилась, при вычислении 12 умножилась на 2!, при вычислении 13 — на 3!, ..., при вычислении /9 — на 9! и т.д. Таким образом, Дл = |/я - /* | = и!Д0. Уже при п = 9 имеем 9! = = 36 880 и поэтому Д9 = 9! Д 0 » 0.73. Если вычисления производятся без ограничений на число п, то рас- сматриваемый алгоритм следует признать вычислительно неустойчи- вым. Погрешности растут пропорционально п! настолько быстро, что уже при довольно скромных значениях п попытки добиться приемле- мого результата даже за счет увеличения разрядности мантиссы зара- нее обречены на неудачу, Как изменить алгоритм, чтобы сделать его устойчивым? Перепишем формулу (3.17) в виде 1 + 1 4-i = V’ (318) и будем вести вычисления значений 1п в обратном порядке, начиная, 1 например с п = 54. Положим /54 » =0. Так как /54 < е J х54 dx = о = е/55, то Д54 < е/55 « 5 • 10-2. Однако при вычислении 153 эта погреш- ность уменьшится в 54 раза, при вычислении 152 — еще в 53 раза и т.д. В результате значения 1п при п = 50, ..., 1 будут вычислены с шестью верными значащими цифрами. Здесь погрешности не растут, а затухают. Ясно, что модифицированный алгоритм вычислительно устойчив. ▲ Вычислительная неустойчивость алгоритма часто может быть выяв- лена благодаря анализу устойчивости по входным данным, так как неус- тойчивость к малым погрешностям округления входных данных автома- тически свидетельствует о вычислительной неустойчивости алгоритма. Пример 3.27. Предположим, что значения уп для п = 1,2, ... вычисляются по рекуррентной формуле Уп = апУп-1 +Рл> <319) 72
§ 3.5. Чувствительность вычислительных алгоритмов к ошибкам округления а величина у0 задана. Пусть уц — заданное приближенное значение величины у0. Тогда (если вычисления ведутся абсолютно точно) опреде- ляемые по формуле (3.19) приближенные значения содержат погрешно- сти, связанные равенством уп - у* = ап(у„ _ j - ). Следовательно, Д(у*) = | а„| Д(у*_!) и при выполнении условия |ал | <1 алгоритм устой- чив по входным данным, поскольку Д(у*)<Д(уд) для всех л. Если же |ап | > q > 1, то Д(у*) > ^”Д(у2) и абсолютная погрешность неограни- ченно возрастает при п —► оо. в этом случае алгоритм неустойчив по вход- ным данным, а потому и вычислительно неустойчив. ▲ Справедливости ради следует заметить, что алгоритм (3.19) был признан нами неустойчивым в случае |ал| > q > 1 при выполнении двух условий, на которых не было достаточно акцентировано внима- ние. Первое из них состоит в предположении о неограниченной про- должительности вычислительного процесса (л —► оо), что невозможно на практике. В действительности такой характер неустойчивости гово- рит о тенденции к неограниченному росту погрешности при неограни- ченном продолжении вычислении. Второе условие касается выбранной меры погрешности. Совсем не обязательно, чтобы рост абсолютной погрешности всегда был неприемлем в конкретных вычислениях. Если он сопровождается сильным ростом точного решения и при этом отно- сительная погрешность остается малой, то алгоритм можно признать относительно устойчивым. По-видимому, при анализе вычислительной устойчивости более естественным является рассмотрение относитель- ных погрешностей. Пример 3.28. Пусть в формуле (3.19) все ри = 0 и аи*0. Тогда 8(П) = ЛС'^)/|Уя|=|ая|Л0'п-1)/|«лУп-1|=5С'»-1) - Следовательно, 8(y*) = 8(yJ) и при любых значениях ап Ф 0 алгоритм относительно устойчив по входным данным. А § 3.5. Чувствительность вычислительных алгоритмов к ошибкам округления Выполнение вычислений на компьютере сопровождается появле- нием вычислительной погрешности, связанной в первую очередь с необ- ходимостью округления результата каждой арифметической операции. Даже если разрядность компьютера велика, существует реальная опас- ность, что выполнение большого числа операций приведет к накопле- нию погрешностей, способных значительно или даже полностью иска- 73
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия зить вычисляемый результат. Однако и при небольшом числе действий результат вычислений может оказаться совершенно неправильным, если алгоритм слишком чувствителен к ошибкам округления. Начинающий вычислитель часто склонен игнорировать ошибки округления. На первых порах при решении простых задач, в особенно- сти если новичок не задумывается о точности найденных решений, его позицию нетрудно понять. Однако решение серьезных задач (когда число арифметических операций превышает миллиарды, в вычисления вкладываются значительные средства, а результат следует получить с гарантированной точностью и за принятые на основании расчетов решения приходится нести ответственность) предполагает совсем иное отношение к вычислительной погрешности. 1. Порядок выполнения операций. Решение математической задачи на компьютере сводится в конечном итоге к выполнению последовательности простейших арифметических и логических опера- ций. Однако часто одно и то же математическое выражение допускает различные способы вычисления, отличающиеся только порядком выполнения операций. Если вычисления производить точно, то они (при любом способе вычисления) будут приводить к одному резуль- тату. Однако результаты вычислений на компьютере уже зависят от порядка выполнения операций и различие в вычислительной погреш- ности может быть весьма значительным. Рассмотрим простой, но полезный пример вычисления на компью- N тере суммы SN = Пусть а- — положительные представимые на /=1 вычислительной машине числа. В каком порядке следует их суммиро- вать для того, чтобы сделать вычислительную погрешность по возмож- ности минимальной? к Пусть Sk = л; — частичная сумма, a Sk — ее приближенное зна- /=1 чение, вычисляемое по формуле Sk = Sk_ j 0 ак. Погрешность значе- ния Sk складывается из погрешности значения Sk_ j и погрешности выполнения операции Sk_{ 0 ак. Следовательно, Д(^*) = A(Sk_x) + + (Sk-I + Л*)£м я A(sk-1) + Поэтому Д($;> «(SNем + SN_ | ем + . . ••• + 52ем) = 0«i + (N~ \)а2 + (N -2)а3 + ... + 2aN_{ + aN)eM. Так как множитель, с которым входит а- в формулу для оценки погрешности, убывает с ростом /, в общем случае погрешность ока- 74
§ 3.5. Чувствительность вычислительных алгоритмов к ошибкам округления жется наименьшей, если суммировать числа в порядке возрастания их значений, начиная с наименьшего. Иногда неудачно выбранный порядок операций либо приводит к полной потере точности, либо вообще не дает возможности получить результат из-за переполнения. Пример 3.29. Пусть на компьютере типа IBM PC требуется вычис- лить произведение v = aQ х х я2 х ... х а49 х я50, где а{* 1025 _'. Если производить вычисления в естественном порядке, то уже aQ х ах « 1044 даст значение, равное -«-оо. Вычисление произведения в обратном порядке сразу же приводит к исчезновению порядка, так как я50 х д49 » 10-49 < XQ. В данном случае вполне приемлем следующий порядок операций: v = = aQ х a5Q х ах х а49 х ... х я24 х я26 х я25, исключающий возможность переполнения или антипереполнения. ▲ 2. Катастрофическая потеря точности. Иногда короткая последо- вательность вычислений приводит от исходных данных, известных с высокой точностью, к результату, содержащему недопустимо мало верных цифр или вообще не имеющему ни одной верной цифры. В этом случае, как было отмечено в § 3.2, принято говорить о катастро- фической потере точности. Пример 3.30 L Известно, что функция ехможет быть представлена в виде сходящегося степенного ряда: 00 Yk у2 г3 гп eI= L F = 1+x + F + ? + - + ? + -- <12°) к=0 Возможность вычисления значения экспоненты прямым суммиро- ванием ряда (3.20) кажется привлекательной. Пусть для вычислений используется 6-разрядный десятичный компьютер. Возьмем х = -8.1 и будем вычислять значения частичных сумм до тех пор, пока добавле- ние очередного слагаемого еще меняет значение суммы: е~81 « 1.00000 е 8.10000 © 32.8050 © 88.5737 Ф 179.362 © 290.566 Ф ... ... Ф 16.4111 ©7.81941 Ф ... =0.000649915. В сумму вошло 36 слагаемых и значение очередного (37-го) слагае- мого оказалось уже не в состоянии изменить результат. Можно ли счи- тать результат удовлетворительным? Сравнение с истинным значением е-8Л « 0.000303539 показывает, что найденное значение не содержит ни одной верной цифры. 1 Идея примера заимствована из [106]. 75
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия В чем причина катастрофической потери точности? Дело в том, что вычисленные слагаемые ряда неизбежно содержат погрешности, причем для некоторых (для слагаемых с 5-го по 13-е) погрешность превосходит значение самого искомого результата. Налицо явный дефект алгоритма, к обсуждению которого мы еще вернемся в конце этого параграфа. В данном случае переход к вычислениям с удвоенной длиной ман- тиссы позволит получить значение е-81 с шестью верными значащими цифрами. Однако всего лишь удвоенное значение аргумента х = -16.2 снова возвращает нас к той же проблеме. Поступим иначе. Используя разложение (3.20), вычисляем е81 « 1.00000 © 8.1000 Ф 32.8050 Ф ... = = 3294.47 и тогда е-81 = 1/е8-1 « 0.000303539. Предложенное изменение алгоритма позволило получить искомое значение на том же 6-разрядном десятичном компьютере, но уже с шестью верными значащими цифрами. Заметим тем не менее, что реальные машинные алгоритмы вычисле- ния е* устроены совсем иначе. ▲ Приведем теперь пример, когда к катастрофической потере точности приводит еще более короткая последовательность вычислений. Пример 3.31. Пусть при х = 1/490 на 6-разрядном десятичном ком- пьютере вычисляется значение функции у = cosx - cos2x. (3.21) Заметим, что при х « 0 величины с?! = cosx « 1 -х2/2 и с2 - cos2x « « 1 - 2х2 близки. Так как вычисленные их приближенные значения cf и с2 будут содержать погрешность, то возможна серьезная потеря точ- ности. Действительно, с* = 0.999998, с2 = 0.999992 и у* = с*-с2 = = 0.000006. При вычитании старшие разряды оказались потерянными и в результате осталась только одна значащая цифра. Вычисление по эквивалентной формуле у = 2 sin(x/2)sin(3x/2), позволяет избежать вычитания близких чисел и дает значение у* = = 0.624741 • Ю-5 с шестью верными цифрами. Интересно отметить, что 1.5х2, причем использование этой при- ближенной формулы в данном случае дает шесть верных значащих цифр, в то время как вычисления по формуле (3.21) — только одну верную цифру. ▲ Замечание. Не всегда катастрофическая потеря точности в промежуточных вычислениях действительно является катастро- фой. Все зависит от того, как в дальнейшем используется результат. 76
§ 3.5. Чувствительность вычислительных алгоритмов к ошибкам округления 3. Обусловленность вычислительного алгоритма. По аналогии с понятием обусловленности математической задачи можно ввести понятие обусловленности вычислительного алгоритма, отражающее чувствительность результата работы алгоритма к малым, но неизбеж- ным погрешностям округления. Вычислительно устойчивый алгоритм называют хорошо обусловленным, если малые относительные погреш- ности округления (характеризуемые числом 8М) приводят к малой относительной вычислительной погрешности б (у*) результата у*, и плохо обусловленным, если вычислительная погрешность может быть недопустимо большой. Если б(у*) и 8М связаны неравенством б(у*) < vA 8М, то число vA сле- дует называть числом обусловленности вычислительного алгоритма. Для плохо обусловленного алгоритма vA » 1. При очень большом значении числа обусловленности алгоритм можно считать практически неустойчивым1. Применим, например алгоритм, первоначально предложенный в при- мере 3.26, для вычисления конечной серии из N интегралов /р 12, ..., IN. Тогда коэффициент роста погрешности vA окажется конечным. Иными словами, при вычислении конечной серии интегралов алгоритм фор- мально оказывается устойчивым. Тем не менее уже при не очень боль- ших значениях N он настолько плохо обусловлен, что в практическом плане может считаться неустойчивым. Для решения хорошо обусловленной задачи нет смысла применять плохо обусловленный алгоритм. Именно такими являются алгоритмы, первоначально предложенные в примерах 3.26 и 3.30. Вернемся к примеру 3.30. Задача вычисления функции ех хорошо обусловлена (см. пример 3.10). Можно ли было предвидеть катастрофи- ческую потерю точности при вычислении значения е-81 прямым сум- мированием ряда (3.20)? оо Рассмотрим задачу суммирования ряда со слагаемыми ak = к=0 хк = у-. Каждое из этих слагаемых вычисляется с относительной к\ погрешностью 5(я£) £ ем. При х < 0 формула (3.10) с учетом разло- 00 |х|*/ 00 хк жения (3.20) дает значение v5 = V —/ | V — | = е2'х|. Рост модуля х к=0 к=0 1 Иногда такие плохо обусловленные алгоритмы называют численно неустойчивыми. 77
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия (для х < 0) приводит к резкому ухудшению обусловленности вычисле- ний. Для х = -8.1, как в примере 3.30, имеем vg = е162 » 107. Поэтому неудивительна полная потеря точности при вычислениях на 6-разряд- ном десятичном компьютере. Рассмотрим теперь обусловленность алгоритма прямого вычисления по формуле (3.21). При малых х вычисленные приближения q« cosx и с2 « cos 2х содержат погрешности порядка ем. Поэтому Д(у*) ~ 2ем. Учитывая, что у » 1.5х2, находим оценку границы относительной погрешности б (у*) ~ х-2ем. Число обусловленности v ~ х~2 быстро растет с уменьшением |х|. Уже при |х| ,/ё^ эта оценка дает 6 (у*) >> 1, т.е. говорит о катострофической потере точности. Если алгоритм, предназначенный для решения хорошо обусловленной задачи, оказался плохо обусловленным, то его следует признать неудов- летворительным и попытаться построить более качественный алгоритм. В примерах 3.30 и 3.31 это удалось сделать сравнительно легко. Однако для плохо обусловленных задач дело обстоит иначе. Ключ к пониманию дает следующее высказывание [81]: «Если задача плохо обусловлена, то никакие усилия, потраченные на организацию изо- щренных вычислений, не могут дать правильных ответов, исключая случайности». Здесь требуется серьезное переосмысление постановки вычислительной задачи. § 3.6. Различные подходы к анализу ошибок 1. Прямой анализ ошибок. Общий эффект влияния ошибок обычно учитывают следующим образом. Изучают воздействие ошибок выходных данных, метода и округлений на получаемый результат у* и пытаются оценить некоторую меру близости у* к истинному решению у. Такой метод исследования называют прямым анализом ошибок. В большинстве случаев в данной книге мы будем следовать этому традиционному пути. Во многих (но далеко не во всех) случаях оценки погрешности удается получить; однако довольно часто они оказываются сильно завышенными и приводят к неоправданному пессимизму в оценке качества приближен- ного решения. Реальное значение погрешности у - у* часто значительно меньше, чем ее оценка, рассчитанная на самый неблагоприятный случай и выведенная с помощью прямого анализа. Особенно трудным является прямой анализ вычислительной погрешности. 78
§ 3.6. Различные подходы к анализу ошибок 2. Обратный анализ ошибок. В последнее время получил широкое распространение другой подход к оценке влияния ошибок. Оказыва- ется, что довольно часто приближенное решение у* можно трактовать как точное решение той же задачи, но отвечающее возмущенным вход- ным данным х*. Оценка такого эквивалентного возмущения входных данных и является целью обратного анализа ошибок. В прикладных задачах входные данные, как правило содержат погрешности. Обратный анализ показывает, что ошибки, внесенные в решение в процессе его вычисления, оказываются равносильными неко- торым дополнительным ошибкам внесенным во входные данные. Сопос- тавление величины этого эквивалентного возмущения и уровня ошибок входных данных позволяет судить о качестве найденного решения. На рис. 3.5 представлена графическая иллюстрация обратного анализа оши- бок. Здесь данное х* таково, что решением задачи, соответствующим х*, является у* — результат приближенного решения задачи с входным дан- ным х. На рисунке заштрихована область неопределенности входного данного; в пределах этой области входные данные для решающего задачу неразличимы. В представленном случае х* оказалось внутри этой области, поэтому результат у* следует признать вполне приемлемым. Каждый из указанных двух подходов к оценке погрешности имеет свои достоинства и полезным является разумное их сочетание. Пример 3.32. Пусть на 6-разрядном десятичном компьютера вычисляется корень уравнения х5 - 12.5Х4 + 62.5х3 - 156.25х2 + 195.3125х - 97.65625 = 0. При вводе в компьютер последние два коэффициента будут округлены до шести значащих цифр и уравнение примет вид: Р*(х) = х5 - 12.5Х4 + 62.5х3 - 156.25х2 + 195.31 Зх - 97.6563 = 0. (3.22) Область неопределенности входного данного Область неопределенности решения Рис. 3.5 79
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия Допустим, что некоторый алгоритм, примененный к этому уравне- нию, дал значение приближенного решения х* = 2.6. Следуя логике пря- мого анализа ошибок, чтобы оценить качество полученного приближения нужно было бы задаться вопросом: насколько отличается х* от истинного решения х уравнения (3.22)? Мы поступим иначе. Подставляя х* в левую часть уравнения (3.22), получаем значение Р*(х*) = 0.00126. Заметим теперь, что х* = 2.6 является точным решением уравнений х5 - 12.5Х4 + 62.5х3 - 156.25х2 + 195.3125х - 97.65626 = 0; х5 - 12.5Х4 + 62.5х3 - 156.25х2 + 195.31252х - 97.656312 = 0, которые после округления коэффициентов до шести значащих цифр совпадают с уравнением (3.22) и становятся неотличимы от исходного уравнения. Найденное решение следует признать превосходным с точки зрения «философии» обратного анализа ошибок, так как оно явля- ется точным решением задачи, лежащей в пределах области неопреде- ленности задачи (3.22). Рассчитывать на то, что после записи уравнения в виде (3.22) удастся получить лучший ответ, просто бессмысленно. Конечно, это немного обидно, особенно если учесть, что исходное уравне- ние в действительности есть развернутая запись уравнения (х - 2.5)5 = 0 и истинным значением корня является х = 2.5. А Представляется, что значение обратного анализа ошибок недоста- точно осознанно, в особенности среди непрофессиональных вычисли- телей. Этот подход показывает на возможность иного взгляда на оценку качества приближенного решения, а значит, и на качество многих вычислительных алгоритмов. Сложившийся стереотип заставляет искать приближенное решение у* математической задачи, мало отличающееся от ее истинного решения у. Однако для большинства практических задач в силу неопределенности в постановке и входных данных в дей- ствительности существует и область неопределенности решения (рис. 3.5). Поскольку эта область неизвестна, оценить степень близости вычисленного решения у* к ней очень трудно. Гораздо проще, быть может, получить ответ на аналогичный вопрос для входного данного х*, соответствующего решению у*. Поэтому можно сформулировать цель вычислений и так: «найти точное решение задачи, которая мало отли- чается от поставленной задачи» или же так: «найти решение задачи с входным данным х*, находящимся в пределах области неопределенно- сти заданного входного данного х». Пр и мер 3.33. Пусть для задачи Коши у' - /у = а(х)х, у(1) = 2, (3-23)
§ 3.6. Различные подходы к анализу ошибок где а(х) = 2.6 4- 0.01 е-х, найдено приближенное решение у = 2х2. Как оценить его качество? Условие у(1) = 2, очевидно, выполнено. Подставляя у(х) в левую часть уравнения, убеждаемся, чтоу(х) удовлетворяет уравнению (3.23) с коэффициентом а* = 4 - » 2.586 вместо а. Обратим внимание на то, что «истинное» значение а0 коэффициента а нам в действительно- сти неизвестно и а(х) — лишь некоторое его приближение. Числовой параметр 2.6 в лучшем случае получен округлением «истинного» зна- чения, и, следовательно, а может отличаться от а0 и на 0.05. Так как |а* - а| < 0.03, то в силу естественной неопределенности в постановке задачи функция у = 2х2 с позиции обратного анализа ошибок может считаться таким же равноправным решением поставленной задачи, как и найденное сколь угодно точно решение задачи (3.23). Во всяком слу- чае теперь для того, чтобы отказаться от найденного приближенного решения, нужны довольно веские аргументы. ▲ Подчеркнем, что в основе методов решения некорректных и плохо обусловленных задач также лежит существенное переосмысление постановок вычислительных задач. 3. Статистический анализ ошибок. Даже для простых алгоритмов строгий анализ влияния ошибок округления очень сложен. При боль- шом числе выполняемых операций гарантированные оценки погрешно- сти, рассчитанные на самый неблагоприятный случай, как правило, бывают сильно завышенными. Можно надеяться на то, что появляющиеся в реальном вычислитель- ном процессе ошибки округления случайны и их взаимное влияние приводит к определенной компенсации результирующей ошибки. Ста- тистический анализ ошибок исходящий из предположения об их слу- чайности, направлен на исследование не максимально возможных, а наиболее вероятных ошибок. Для сравнения покажем отличие в результатах на примере задачи N вычисления суммы SN= ^ак большого числа положительных слагае- мы мых. Гарантированная оценка погрешности дает значение относитель- ной погрешности 8(5^), растущее пропорционально N. В то же время статистический анализ показывает, что если ошибки округления явля- ются случайными с нулевым средним значением, то 8(5^) растет про- порционально J~N, т.е. гораздо медленнее. К сожалению, на тех компь- 81
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия ютерах, где округление производится усечением, последнее предположение не выполнено, так как ошибки округления смещены в одну сторону и поэтому имеют ненулевое среднее значение. Здесь 5(5'у) растет опять пропорционально N, 4. Некоторые нестрогие способы анализа. Распространенным методом оценки влияния вычислительной погрешности является расчет с обычной и удвоенной точностью. Если результаты двух вычислений получаются существенно различными, это является свидетельством плохой обусловленности алгоритма. В то же время есть надежда на то, что совпадающие в ответах цифры верны. Примерно такие же суждения о чувствительности решения к ошибкам округления можно сделать, если провести вычисления на двух различных вычислительных машинах или использовать различные компиляторы. Разумеется, такое исследование имеет смысл провести на одном-двух типичных примерах до начала массовых однотипных расчетов. Влияние ошибок во входных данных на результат вычислений можно увидеть, если решить задачу несколько раз, изменив случайным образом входные данные в пределах ошибки их задания. Проделав такой эксперимент несколько раз, можно грубо оценить погрешность решения, вызванную погрешностями входных данных. § 3.7. Требования, предъявляемые к вычислительным алгоритмам В § 3.4 и 3.5 были сформулированы два важнейших требования — корректность и хорошая обусловленность. Кроме них, к алгоритмам предъявляется еще целый ряд существенных требований. 1. Требования к абстрактным алгоритмам. К числу этих требо- ваний относятся: экономичность, надлежащая точность, экономия памяти, простота. Экономичность алгоритма измеряется числом элементарных опера- ций, необходимых для его реализации, и в конечном итоге сводится к затратам машинного времени. Это требование формулируют иногда как требование максимальной быстроты исполнения алгоритма. Эконо- мичность особенно важна при массовых расчетах. Естественно, что при создании алгоритмов большое внимание уделяют минимизации числа операций Для некоторых задач разработаны алгоритмы, требую- щие минимально возможного числа операций. Пример такого алго- 82
§ 3.7. Требования, предъявляемые к вычислительным алгоритмам ритма — схема Горнера (см. пример 3.19). Отметим, что ряд математи- ческих алгоритмов, созданных в домашинный период, оказался удивительно неэкономичным. Приведем классический пример такого алгоритма. Пример 3.34 (правило Крамера1). Для решения системы линейных алгебраических уравнений Ах = b порядка т по правилу Кра- мера предлагается вычислять компоненты вектора х как отношения спе- циальным образом построенных определителей: х;= Д,/Д, / = 1, 2, ..., т. Если вычислять определитель непосредственно по его определению, то нужно выполнить (т - 1 )т\ умножений и т\ сложений. Пусть для вычис- лений используется компьютер с производительностью 106 умножений в секунду и решается система с числом неизвестных т = 15, весьма скромным для приложений. Тогда вычисление только одного определи- теля потребует 14*15! » 1.8*1013 умножений, в результате чего на вычисление решения уйдет около 10 лет непрерывной работы компью- тера. Вместе с тем для решения той же системы на том же компьютере методом Гаусса (см. гл. 5) потребуется примерно 0.002 с. Естественно, что как вычислительный алгоритм правило Крамера следует забраковать. ▲ Даже для самых простых задач выбор экономичного алгоритма может дать существенное уменьшение числа операций. Пр и мер 3.35. Пусть требуется вычислить хп, где п — натуральное число. Вычисление этой величины последовательным умножением на х предполагает выполнение п - 1 операций умножения. Нетрудно убе- диться в том, что этот способ не самый экономичный. Например, х64 можно найти, выполнив не 63, а всего шесть операций умножения, если последовательным возведением в квадрат вычислить х2, х4, х8, х16, х32, х64. В общем случае представим п в виде разложения (2.25) по степеням числа 2 (именно так число п хранится в памяти компьютера). Тогда х" = (x2l)a£ • (x2l~ 1)ад~ 1 * (х2)0*1 * ха°. (3.24) Заметим, что в произведении (3.24) следует учитывать при вычисле- нии только те сомножители, для которых а, * 0 (т.е. az = 1). Алгоритм, 1 Габриэль Крамер (1704—1752) — швейцарский математик. 83
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия основанный на разложении (3.24), называется бинарным алгоритмом. Он позволяет найти хп не более чем за 2 log 2 л операций умножения. ▲ Замечание. Традиционно временные затраты на выполнение алгоритма оцениваются числом выполняемых им операций с пла- вающей точкой (флопов). Нужно иметь в виду, что на современ- ных компьютерах такие оценки не вполне корректны, поскольку игнорируют временные затраты на передачу данных. В первую очередь это относится к параллельным компьютерам, но верно также и для рабочих станций и персональных компьютеров. Вре- менные затраты на пересылку данных в персональных компьюте- рах могут превысить время на выполнение арифметических опе- раций. Требование точности означает, что вычислительный алгоритм должен давать решение задачи с заданной или приемлемой для задачи точностью 8. Важным является требование экономии памяти. Хотя в последнее время доступная память компьютеров существенно расширилась, для «больших» задач требование экономии памяти может в ряде случаев стать основным. Интерес к экономному размещению информации в памяти возрастает в связи со все более широким использованием персональных компьютеров для решения научно-технических и инженерных задач. Учитывая необходимость дальнейшей программной реализации алгоритма, подчеркнем, что простота алгоритма также является весьма желательным его свойством. 2. Требования к программным реализациям алгоритмов. К настоящему времени выработан ряд требований к программам, реали- зующим вычислительные алгоритмы и предназначенным для длитель- ного и широкого использования. Перечислим некоторые из них: надежность, работоспособность (робастность), переносимость (порта- бельность), поддерживаемость, простота в использовании и др. Рас- смотрим эти требования более подробно. Надежность программы означает, что она не содержит ошибок и вычисляет именно тот результат, для которого она предназначена. Работоспособность (робастность) включает в себя надежность и предполагает, что программа способна выявлять недопустимые исходные данные, обнаруживать различные критические для задачи или алгоритма ситуации. Робастная программа реагирует на такие ситуации приемлемым для пользователя образом. Она составлена так, чтобы исключить недо- 84
§ 3.7. Требования, предъявляемые к вычислительным алгоритмам пустимые операции типа деления на нуль и попытки извлечь квадратный корень или вычислить логарифм от отрицательного числа. Алгоритм может «потерпеть неудачу» при решении задачи, если заданное входное данное не является для него допустимым. Конечно, в простых ситуациях пользователь должен сам различать допустимые для алгоритма входные данные от недопустимых. Однако чаще всего сделать это до вычислений очень трудно или невозможно, и в про- грамме должен быть предусмотрен анализ данных и сообщение пользо- вателю о недопустимых или сомнительных данных. Необходимо исключить ситуацию, характерную для некачественных программ, когда реакцией на задание данных, при которых алгоритм не может по объективным причинам найти решение задачи, является прекращение работы программы без сообщения причины останова, или же выдача внешне вполне правдоподобного, но совершенно бессмысленного результата. Переносимость (портабельность) означает, что программа может работать на различных компьютерах без изменения или с незначитель- ными изменениями. Всякая характеристика компьютера, используемая в программе (например, значение машинного эпсилон 8М), должна или вычисляться самой программой, или задаваться пользователем. Замечание. Принятие IEEE стандарта значительно упростило решение проблемы переносимости. Поддерживаемость означает прежде всего требование легкости модификации. Для того чтобы была возможность внесения в про- грамму изменений с минимальной вероятностью появления ошибок, она должна быть составлена максимально ясно и логично. Полезно вносить в текст программы содержательные комментарии. Разобраться в плохо составленной программе может оказаться труднее, чем создать новую. Поддерживаемая программа должна быть хорошо документиро- вана. Плохое описание программы в лучшем случае способно вызвать к ней недоверие, а в худшем — может не позволить пользователю пра- вильно ее эксплуатировать. К сожалению, нередка ситуация, когда предназначенная для широкого использования программа настолько плохо документирована, что пользователь предпочитает потратить время на написание аналогичной программы (возможно, гораздо худ- шего качества) либо вообще отказаться от решения задачи. Простота в использовании программы — весьма желательное, но трудно достижимое свойство. Часто добиться простоты в использова- нии можно только жертвуя надежностью или экономичностью. Сущест- вует ряд широко используемых программ, которые, в первую очередь, популярны, благодаря простоте в использовании. 85
Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия 3. Противоречивость требований. Можно продолжить перечисле- ние требований к вычислительным алгоритмам, добавив, например требования универсальности и гибкости. Однако нетрудно понять, что сформулированные требования противоречивы. Большинство из них вступает в противоречие с экономичностью, выраженной через затраты машинного времени В разных ситуациях на первый план может высту- пать то или иное требование и, удовлетворяя в большей степени одним требованиям, программа с неизбежностью в меньшей степени удовле- творяет другим. Это частично объясняет наличие большого числа про- грамм, предназначенных для решения одной и той же задачи. Естественно, что хорошая программа, которую можно предъявить для широкого использования, не может быть простой. Следует при- знать, что составление таких программ — это работа, требующая высо- кой квалификации и специальных знаний. Ее выполняют специалисты по созданию математического обеспечения компьютеров. Рядовой пользователь должен по возможности стремиться максимально исполь- зовать стандартные программы, а не создавать новые. § 3.8. Дополнительные замечания 1 Учебные пособия [97, 37] можно рассматривать как введение в тео- рию методов решения некорректных задач. Их удачно дополняют сле- дующие книги [7, 72, 98]. Отметим, что [98] содержит не только теорию и алгоритмы, но и тексты соответствующих программ. 2 Весьма содержательное изложение проблемы обусловленности вычислительных задач и обратного анализа ошибок содержится в [81]. Здесь же подробно обсуждаются проблема создания высококачествен- ного математического обеспечения и требования, предъявляемые к вычислительным алгоритмам. 86
Глава 4 МЕТОДЫ ОТЫСКАНИЯ РЕШЕНИЙ НЕЛИНЕЙНЫХ УРАВНЕНИЙ В этой главе рассматривается задача отыскания корней нелинейных уравнений и излагаются методы ее решения. Это делается несколько подробнее, чем обычно принято в учебниках по численным методам. Дело в том, что нелинейное уравнение представляет собой редкий при- мер задачи, которая может быть сравнительно полно исследована эле- ментарными средствами и допускает наглядные геометрические иллю- страции. В то же время многие проблемы, возникающие при отыскании корней нелинейных уравнений, типичны, а некоторые методы их реше- ния (в особенности метод простой итерации и метод Ньютона) допус- кают широкие обобщения и играют в вычислительной математике фун- даментальную роль. $ 4.1. Постановка задачи. Основные этапы решения 1. Постановка задачи. Задача отыскания корней нелинейного урав- нения с одним неизвестным вида /(х)=0 (4.1) имеет многовековую историю, но не потеряла свою актуальность и в наши дни. Она часто возникает как элементарный шаг при решении раз- личных научных и технических проблем. Напомним, что корнем (или решением) уравнения (4.1) называется значение х , при котором f(x ) = 0. Для справедливости большинства рассуждений данной главы доста- точно предположить, что в окрестности каждого из искомых корней функция f(x) дважды непрерывно дифференцируема. Корень х уравнения (4.1) называется простым, если f'(x) 0. В противном случае (т.е. в случае f’(x) = 0) корень х называется кратным. Натуральное число т назовем кратностью корня х, если /*)(х ) = 0 для i = 1, 2,..., m - 1 и/т)(х ) * 0. Геометрически корень х соответствует точке пересечения графика функции у = f(x) с осью Ох. Корень х является простым, если график пересекает ось Ох под нену- левым углом, и кратным, если пересечение происходит под нулевым 87
Глава 4. Методы отыскания решений нелинейных уравнений углом. Функция /(х), график который изображен на рис. 4.1, имеет четыре корня. Корни Х| и х3 — простые, х2 и х4 — кратные. Задача отыскания простых корней является существенно более простой (и чаще встречающейся), чем задача отыскания кратных кор- ней В действительности большинство методов решения уравнения (4.1) ориентировано именно на вычисление простых корней. 2. Уточнение постановки задачи. В конкретной задаче часто инте- рес представляют не все корни уравнения, а лишь некоторые из них. Тогда постановку задачи уточняют, указывая на то, какие из корней подлежат определению (положительные корни, корни из заданного интервала, максимальный из корней и т.д.). В подавляющем большинстве случаев представить решение уравне- ния (4.1) в виде конечной формулы оказывается невозможным. Даже для простейшего алгебраического уравнения п-й степени хп + ап_1хп~ 1 + ... + Я|Х + а0 = 0 (4.2) явные формулы, выражающие его корни через коэффициенты с помо- щью конечного числа арифметических операций и операций извлече- ния корней степени не выше и, найдены1 лишь при п = 2, 3, 4. Однако уже для уравнений пятой и более высоких степеней таких формул не существует. Этот замечательный факт, известный как теорема Абеля, был установлен в 30-е годы XIX в. Н. Абелем2 и Э. Галуа3. 1 Алгебраические уравнения третьей и четвертой степеней не поддавались усилиям математиков около 2000 лет. Эту задачу решили итальянские математики эпохи Ренес- санса Сципион дель Ферро (1456—1526), Никколо Тарталья (1500—1557), Джироламо Кардано (1501 —1576), Людовико Феррари (1522—1565). 2 Нильс Хенрик Абель (1802—1829) — норвежский математик. Теорема, о которой идет речь, была доказана им в возрасте около 22 лет. 3 Эварист Гачуа (1811—1832) — французский математик, один из создателей теории групп. Убит на дуэли в возрасте 21 года. Краткий очерк о его жизни см. в [54]. 88
§ 4.1. Постановка задачи. Основные этапы решения Невозможность найти точное решение нелинейного уравнения кажется огорчительной. Однако нужно признать, что желание найти точное числовое значение решения вряд ли следует считать разумным. Во-первых, в реальных исследованиях зависимость у = /(х) является лишь приближенным описанием, моделирующим истинную связь между параметрами у и х. Поэтому точное решение х уравнения (4.1) все равно является лишь приближенным значением того параметра х, который в действительности соответствует значению у = 0. Во-вторых, даже если уравнение (4.1) допускает возможность нахождения решения в виде конечной формулы, то результат вычислений по этой формуле почти с неизбежностью содержит вычислительную погрешность и поэтому является приближенным. Пример 4.1. Предположим, что исследование некоторого явления привело к необходимости решить уравнение х2-3.3х +2.7 = 0. (4.3) Воспользовавшись формулами (3.2) для корней квадратного уравне- ния, получим значения х, = 1.5, х2 = 1.8. Найдены ли нами точные значения параметра х? Очевидно, нет. Скорее всего коэффициенты уравнения (4.3) известны приближенно и в лучшем случае они пред- ставляют округленные значения «истинных» коэффициентов. В дейст- вительности можно лишь утверждать, что Xj « 1.5, х2 « 1.8. Предположим теперь, что «истинный» вид уравнения (4.3) таков: х2- 3.3287х + 4- 2.6631 = 0. Тогда точные значения параметра можно вычислить по формуле Xj 2 = (3.3287 ± J3.32872 - 4 • 2.6631 )/2. Однако она лишь указывает на то, какие операции и в каком порядке следует выполнить В данном случае точное вычисление по формуле невоз- можно, так как она содержит операцию извлечения квадратного корня. Вычисленные по ней значения х,, х2 неизбежно окажутся приближен- ными. ▲ В дальнейшем мы откажемся от попыток найти точные значения корней уравнения (4.1) и сосредоточим внимание на методах решения более реалистичной задачи приближенного вычисления корней с задан- ной точностью е. 3. Основные этапы решения. Решение задачи отыскания корней нелинейного уравнения осуществляют в два этапа Первый этап назы- вается этапом локализации (или отделения) корней, второй — этапом итерационного уточнения корней. 89
Глава 4. Методы отыскания решений нелинейных уравнений Локализация корней. Отрезок [а, Ь\, содержащий только один корень х уравнения (4.1), называют отрезком локализации корня х. Цель этапа локализации считают достигнутой, если для каждого из подлежащих определению корней удалось указать отрезок локализации (его длину стараются по возможности сделать минимальной). Прежде чем переходить непосредственно к отысканию отрезков локализации, имеет смысл провести предварительное исследование задачи для выяснения того, существуют ли вообще корни уравнения (4.1), сколько их и как они расположены на числовой оси. Способы локализации корней многообразны, и указать универсаль- ный метод не представляется возможным. Иногда отрезок локализации известен либо он определяется из физических соображений. В простых ситуациях хороший результат может давать графический метод (см. при- мер 4.2). Широко применяют построение таблиц значений функций f вида^ = /(хД / = 1,2, ..., п. При этом способе локализации о наличии на отрезке [xz_j, xj корня судят по перемене знака функции на концах отрезка (см. пример 4.3). Основанием для применения указанного спо- соба служит следующая хорошо известная теорема математического ана- лиза. Теорема 4.1. Пусть функция f непрерывна на отрезке [a, Z>] и при- нимает на его концах значения разных знаков, т.е. f(a) • f(b) < 0. Тогда отрезок [a, Z>] содержит по крайней мере один корень уравнения f(x) = 0. К сожалению, корень четной кратности не удается локализовать на основании перемены знака с помощью даже очень подробной таблицы. Дело в том, что в малой окрестности такого корня (например, корня х2 на рис. 4.1) функция f имеет постоянный знак. Важно подчеркнуть, что далеко не всегда для успешного отыскания корня х уравнения (4.1) необходимо полное решение задачи локализа- ции. Часто вместо отрезка локализации достаточно найти хорошее начальное приближение х<0) к корню х . Пример 4.2. Локализуем корни уравнения 4(1 - х2) - ех= 0. (4.4) Для этого преобразуем уравнение к виду 1 - х2 = 0.25 ех и построим графики функций у = 1 - х2 и у = 0.25 ех (рис. 4.2). Абсциссы точек пересечения этих графиков являются корнями данного уравнения. Из рис. 4.2 видно, что уравнение имеет два корня Xi и х2, расположенные на отрезках [-1, 0] и [0, 1]. Убедимся, что функция /(х) =4(1 - х2)- ех 90
§ 4.1. Постановка задачи. Основные этапы решения принимает на концах указанных отрезков значения разных знаков. Дей- ствительно,/(-1) = -е-1 < 0, /(0) = 3 > 0, /(1) =-е < 0. Следовательно, в силу теоремы 4.1 на каждом из отрезков [-1, 0] и [0, 1] находится по крайней мере один корень. ▲ Пр и мер 4.3. Локализуем корни уравнения х3- 1.1х2-2.2х + 1.8 = 0. Для этого составим таблицу значений функции /(х) = х3 - 1.1х2- - 2.2х + 1.8 на отрезке [-2, 2] с шагом 0.4 (табл. 4.1). Таблица 4.1 X -2.0 -1.6 -1.2 -0.8 -0.4 0.0 Лх) -6.200 -1.592 1.128 2.344 2.440 1.800 Продолжение табл. 4.1 X 0.4 0.8 1.2 1.6 2.0 /СО 0.808 -0.152 -0.696 -0.440 1.000 Из таблицы видно, что функция f меняет знак на концах отрезков [-1.6, -1.2], [0.4, 0.8], [1.6, 2.0]. Теорема 4.1 дает основание утверждать, что каждый из этих отрезков содержит по крайней мере один корень. Учитывая, что в силу основной теоремы алгебры многочлен третьей степени не может иметь более трех корней, заключаем, что полученные три отрезка содержат ровно по одному корню. Таким образом, корни локализованы. ▲ Итерационное уточнение корней. На этом этапе для вычис- ления каждого из корней с точностью е > 0 используют тот или иной итерационный метод, позволяющий построить последовательность х(°), jO), ... приближений к корню х . 91
Глава 4. Методы отыскания решений нелинейных уравнений Общее представление об итерационных методах и основные опреде- ления были даны в § 3.3. Введем дополнительно некоторые определения. Итерационный метод называют одношаговым, если для вычисления очередного приближения В используется только одно предыдущее приближение и к-шаговым, если для вычисления х^п + В использу- ются к предыдущих приближений х^п~к + {\х^п~к + 2\ ...,х^пХ Заметим, что для построения итерационной последовательности одношаговым методом требуется задание только одного начального приближения х<°\ в то время как при использовании ^-шагового метода — к начальных приближений х<°\...,х<*_ О. Скорость сходимости — одна из важнейших характеристик итера- ционных методов. Говорят, что метод сходится со скоростью геомет- рической прогрессии, знаменатель которой 0 < q < 1, если для всех п справедлива следующая оценка: х I <coqn. (4.5) Как нетрудно видеть, из оценки (4.5) действительно вытекает сходи- мость метода. Пусть одношаговый итерационный метод обладает следующим свойством: существует a-окрестность корня х такая, что если прибли- жение х^ принадлежит этой окрестности, то справедлива оценка |х<"+1)_ х | < C|xW- х |^, (4.6) где С > 0 и р > 1 — постоянные. В этом случае число р называют поряд- ком сходимости метода. Если р - 1 и С < 1, то говорят, что метод обла- дает линейной скоростью сходимости в указанной a-окрестности корня. Если р > 1, то принято говорить о сверхлинейной скорости сходимости. При р = 2 скорость сходимости называют квадратичной, а при р = 3 — кубической. При наличии оценки (4.6) у ^-шагового метода (при k > 1) число р также будем называть порядком сходимости метода. Лемма 4.1. Пусть одношаговый итерационный метод обладает линейной скоростью сходимости в некоторой а-окрестности корня х . Тогда при любом выборе начального приближения х(0) из а-окрестно- сти корня х итерационная последовательность х^ не выходит за пределы этой окрестности, метод сходится со скоростью геометри- ческой прогрессии со знаменателем q = С < 1 и имеет место следую- щая оценка погрешности'. |х(л) - х | < qn |х(0) - х |, п > 0. (4.7) Доказательство. Заметим, что принадлежность окрестности (х - а, х - а) является следствием неравенства (4.7). В самом деле, 92
§ 4.2. Обусловленность задачи вычисления корня так как q < 1, то |х<л>- х | < |х<0)- х | < а. Сходимость х^ к х также вытекает из (4.7). Справедливость неравенства (4.7) установим методом индукции. При п = О оно переходит в очевидное: |х(0)- х | < |х(0)- х |. Пусть неравенство (4.7) выполнено при п = т - 1. Тогда |х(ш)- х | < qjx(m~ х | < qm |х<°>- х |, т.е. неравенство выполнено и при п = т. Лемма 4.2. Пусть одношаговый итерационный метод в некоторой ^-окрестности корня х имеет р-й порядок сходимости, где р > 1. Пусть 5 > 0 таково, что 8<пиС5^-1<1, где С — постоянная из неравенства (4.6). Тогда при любом выборе начального приближения х(°) из Б-окрестности корня х итерационная последовательность х^ не выходит за пределы этой окрестности, метод сходится и справед- лива оценка |xW- х | < CxqPn, и > О, (4.8) где q = СХХ |х<°>- х | , С| = С-1/^ _ Доказательство. Заметим, что принадлежность х^ окрестности (х - 8, х + 8) является следствием неравенства (4.8). В самом деле, так как q < С! *8 < 1 и 1 < рп9 то из (4.8) вытекает, что |х^- х | < Cxq = = |х<°> - х | < 8. Сходимость х^ к х также следует из (4.8). Справедливость неравенства (4.8) установим методом индукции. При п = 0 оно переходит в очевидное: |х<°) - х | < |х<°> - х |. Пусть неравенство (4.8) выполнено при п = т - 1. Докажем, что оно верно и при п = т. Используя условие (4.6), получаем |х(т)_ х | < С|х(т“ •>- х р < C(CxqPm'X)p = CxqPm. С помощью доказанных лемм исследование сходимости итерацион- ных методов сводится только к получению оценки (4.6). § 4.2. Обусловленность задачи вычисления корня Пусть х — корень уравнения (4.1), подлежащий определению. Будем считать, что входными данными для задачи вычисления корня х являются значения /(х) функции f в малой окрестности корня. Так как значения /(х) будут вычисляться на компьютере по некоторой про- грамме, то в действительности задаваемые значения являются прибли- 93
Глава 4. Методы отыскания решений нелинейных уравнений женными и их следует обозначать через /*(х). Погрешности в значе- ниях /*(х) могут быть связаны не только с неизбежными ошибками округления, но и с использованием для вычисления значений функции f приближенных методов. К сожалению, нельзя ожидать, что в окрест- ности корня относительная погрешность 8(f*) окажется малой. Доста- точно обратиться к примерам 2.11 и 3.11, чтобы убедиться в том, что даже для чрезвычайно простых функций у = 1 - х и у = smx в окрест- ности корней х = 1 и х = л значения этих функции не могут быть найдены с малой относительной погрешностью. Реально рассчитывать можно лишь на то, что малой окажется абсолютная погрешность вычисления значений функции. Будем предполагать, что в достаточно малой окрестности корня выполняется неравенство |/(х) -/*(х)| < Д, где Д = Д(/*) — граница абсолютной погрешности. Сама погрешность корня ведет себя крайне нерегулярно и в первом приближении может восприниматься пользова- телем как некоторая случайная величина. На рис. 4.3, а представлена идеальная ситуация, отвечающая исходной математической постановке задачи, а на рис. 4.3, б — реальная ситуация, соответствующая вычис- лениям значений функции f на компьютере. Если функция f непрерывна, то найдется такая малая окрестность (х - ё, х + ё) корня х , имеющая радиус ё > 0, в которой выполняется неравенство 94
§ 4.2. Обусловленность задачи вычисления корня Для х е (х-ё, х + ё) знак вычисленного значения /*(х), вообще говоря, не обязан совпадать со знаком /(х) и, следовательно, стано- вится невозможным определить, какое именно значение х из интервала (х-ё, х + ё) обращает функцию f в нуль (рис. 4.3, б). Будем называть этот интервал интервалом неопределенности корня х . Найдем оценку величины ё . Пусть корень х — простой. Для близких к х значений х справедливо приближенное равенство /(х) « У(х) +/'(*)(*-*) =Г(х)(х - х). Поэтому неравенство (4.9) имеет вид |/'(х)(х- х)| S Д, откуда полу- чаем А < < - А !/'(*) I х 1ГСОГ Следовательно, 1«удД(Г‘). (4.10) — число, которое в рассматриваемой задаче играет роль абсолютного числа обусловленности. Действительно, если х* — корень уравнения/* (х) = 0, то х* удовлетворяет неравенству (4.9) и тогда выполнено неравенство | X - X* I < Д(х’) < £ ® УдД(/“) . (4.11) Заметим, что радиус интервала неопределенности прямо пропор- ционален погрешности А вычисления значения f Кроме того, ё воз- растает (обусловленность задачи ухудшается) с уменьшением |/'(х) | , т.е. с уменьшением модуля тангенса угла наклона, под которым график функции пересекает ось Ох (рис. 4.4, а, б). Если же f(x) =0 (т.е корень х — кратный), то формула (4.10) уже не верна. Пусть кратность корня равна т. Тогда в силу формулы Тей- лора1 справедливо приближенное равенство /(х) « /(х)+/'(х)(х-х)+<-у^ (х-х)2+...+ --- (х-х)т, 1 Брук Тейлор (1685—1731) — английский математик и философ. Широко известная формула разложения функции в степенной ряд была получена им в 1712 г. 95
Глава 4. Методы отыскания решений нелинейных уравнений в правой части которого все слагаемые, кроме последнего, равны нулю. Следовательно, неравенство (4 9) имеет вид Решая его, получаем аналогично (4 10) оценку радиус интервала неоп- ределенности: 1/т д!/т Эта оценка означает, что для корня кратности т радиус интервала неопределенности пропорционален Д1/т, что свидетельствует о пло- хой обусловленности задачи вычисления кратных корней. С этой неприятностью мы уже сталкивались при рассмотрении примера 3.9. Отметим, что е не может быть меньше |х| ем — погрешности представления корня х в компьютере. В реальной ситуации оценить значение и даже порядок радиуса интервала неопределенности довольно сложно. Однако знать о его существовании нужно по крайней мере по двум причинам. Во-первых, не имеет смысла ставить задачу о вычислении корня х с точностью е < ё. В условиях неопределенности, вызванных приближенным заданием функции, любое значение х* е (х - ё, х + ё) может быть с одной и той же степенью достоверности принято за решение уравнения. Во-вторых, нельзя требовать от алгоритмов отыскания корня получения достовер- ных результатов после того, как очередное приближение попало в интервал неопределенности или оказалось очень близко от него, в этой 96
§ 4.3. Метод бисекции ситуации вычисления следует прекратить и считать, что получен мак- симум действительно возможного. Для большинства итерационных методов определить этот момент можно, поскольку начиная с него поведение приближений х^ стано- вится крайне нерегулярным. Если вдали от интервала неопределенно- сти величина (4.12) —L-----------!— |Л(я- 1) _ х(и-2) | обычно бывает меньше единицы (-х^п ~ !)| < " В -х^п ~ 2>|), то появление при некотором п значения > 1 свидетельствует, скорее всего, о начале «разболтки» — хаотического поведения итерационной последовательности. В этой ситуации вычисления имеет смысл пре- рвать, чтобы выяснить причину явления и принять правильное реше- ние. Лучшим из полученных приближений к решению следует считать, конечно, х^п ~ О. Использование для контроля вычислений величины (4.12) называют часто правилом Гарвика. § 4.3. Метод бисекции 1. Описание метода. Пусть требуется с заданной точностью е > О найти корень х уравнения (4.1). Отрезок локализации [a, Z>] (т.е. отре- зок, содержащий только один корень х) будем считать заданным. Предположим, что функция f непрерывна на отрезке [а, Ь] и на его кон- цах принимает значения разных знаков, т.е. f(a)f(b)< 0. (4.13) На рис. 4.5 изображен случай, когда f(a) < 0 и f(b) > 0. Для дальнейшего будет удобно обозначить отрезок [a, Z>] через (д(°), 5<°)]. Примем за приближенное значение корня середину отрезка — 97
Глава 4. Методы отыскания решений нелинейных уравнений точку х(0) = + 6<°))/2. Так как положение корня х на отрезке [д(°\ *(°> ] неизвестно, то можно лишь утверждать, что погрешность этого приближения не превышает половины длины отрезка (рис. 4.5): |х<0)- х | < я<0))/2. Уменьшить погрешность приближения можно, уточнив отрезок локализации, т.е. заменив начальный отрезок /И0)] отрезком [д(0, /Л1)] меньшей длины. Согласно методу бисекции {половинного деления) в качестве берут тот из отрезков [а<°\ х^0)] и[х<0), на концах которого выполняется условие f{a^)f{b^) < 0. Этот отрезок содержит искомый корень. Действительно, если < 0, то наличие корня следует из теоремы 4.1; если же f(a^)f(b^) - 0, то корнем является один из концов отрезка. Середина полученного отрезка х<1) = + 5<1))/2 дает теперь приближение к корню, оценка погрешности которого составляет - х | < - с№)12 = {Ь - а)И2. За очередное уточнение отрезка локализации [а<2>, Z><2)] снова берут тот из отрезков х^], [х^\ 6^], на концах которого выполняется условие f(a^)f(b^)< 0. Опишем очередную (и+1)-ю итерацию метода. Пусть отрезок 600] уже найден и вычислены значения х^п\ f{a^), f(b^). Тогда производят следующие действия: 1°. Вычисляют f{x6d), 2°. Если f(a^)f(x^) < 0, то в качестве отрезка локализации [д(л+1), принимают отрезок [а 00, х00]. в противном случае /(х00)Д£(и)) < 0 и за + Ь^п +1)] принимают отрезок [х^О, 5(")]. 3°. Вычисляют + 0 = {а(п +0 ч- Ь^п + ^)/2. Неограниченное продолжение итерационного процесса дает после- довательность отрезков [я(°\ М°>], ...»Z>00], ..., содержа- щих искомый корень. Каждый из них (за исключением начального) получен делением пополам предыдущего отрезка. 2. Скорость сходимости. Середина и-го отрезка — точка х<& = = {с№ + b^yi дает приближение к корню х , имеющее оценку погреш- ности X I <(b^ -а^)/2 = (Ь-а)/2п+[. (4.14) Из этой оценки видно, что метод бисекции сходится со скоростью геометрической прогрессии, знаменатель которой q = 1/2. По сравне- нию с другими методами метод бисекции сходится довольно медленно. 98
§ 4.3. Метод бисекции Однако он очень прост и весьма непритязателен; для его применения достаточно, чтобы выполнялось неравенство (4.13), функция f была непрерывна и верно определялся ее знак. В тех ситуациях, где не нужна сверхвысокая скорость сходимости (а это часто имеет место при про- стых прикладных расчетах), этот метод весьма привлекателен. Заметим, что число итераций, которое требуется при применении метода бисекции для достижения разумной точности е, не может быть очень большим. Например, для уменьшения первоначального отрезка локализации в 106раз нужно 19 итераций. Замечание. Интересно, что при выполнении условия (4.13) метод бисекции сходится даже, если на отрезке [a, Z>] находится не один, а несколько корней уравнения f(x) = 0. В результате приме- нения метода будет найден один из этих корней. 3. Критерий окончания. Итерации следует вести до тех пор, пока не будет выполнено неравенство < 2е. При его выпол- нении в силу оценки (4.14) можно принять х(л) за приближение к корню с точностью е. Пример 4.4. Найдем методом бисекции с точностью е = 10-2 поло- жительный корень уравнения 4(1 —х2) —ех = 0. В примере 4.2 этот корень был локализован на отрезке [0, 1], причем ДО) > 0,/(1) < 0. Положим = 0, = 1, х<°> = (а<°) + Ь^)/2 = 0.5. 1-я итерация. Вычисляем/(х<0))« 1.3512. Так как/(я(0))/(х(0)) > 0, то за очередной отрезок локализации принимаем [а0\ = [0.5, 1]. Вычисляем х(1) = (я(1) + Z>(1))/2 = 0.75. 2-я итерация. Вычисляем/(х^) «-0.3670. Так как/(я^)/^1)) < < 0, то р2>, Z><2)] = [0.5, 0.75] и х<2> = (а& + Ь™)/2 = 0.625. Результаты следующих итераций (с четырьмя цифрами после деся- тичной точки) приведены в табл. 4.2. Таблица 4.2 Номер ите- рации k д(п) Знак /(?"») /(</"») /(*<"') 0 0.0000 1.0000 + — 0.5000 1.3513 1.0000 1 0.5000 1.0000 4- — 0.7500 -0.3670 0.5000 2 0.5000 0.7500 + — 0.6250 0.5693 0.2500 3 0 6250 0.7500 + — 0.6875 0.1206 0.1250 4 0.6875 0.7500 + — 0.7187 -0.1182 0.0625 5 0.6875 0.7187 4- — 0.7031 0.0222 0.0312 6 0.7031 0.7187 4- — 0.7109 — 0.0156 99
Глава 4. Методы отыскания решений нелинейных уравнений При п = 6 имеем 5(6) -а^ » 0.0156 < 2 • 10“2. Следовательно, задан- ная точность достигнута и можно принять х Окончательно полу- чим х = 0.71 ± 0.01. ▲ 4. Влияние вычислительной погрешности. При использовании метода бисекции принципиально важным является правильное опреде- ление знака функции / В случае, когда х(") попадает в интервал неоп- ределенности корня (см. § 4.2), знак вычисленного значения не обязан быть верным, и последующие итерации не имеют смысла. Однако этот метод следует признать очень надежным; он гарантирует точность приближения, примерно равную радиусу интервала неопреде- ленности ё. Как было отмечено в § 4.3, большего требовать нельзя. § 4.4. Метод простой итерации 1. Описание метода. Чтобы применить метод простой итерации для решения нелинейного уравнения (4.1), необходимо преобразовать это уравнение к следующему виду: х = <р(х). (4.15) Это преобразование (приведение уравнения к виду, удобному для итера- ций) можно выполнить различными способами; некоторые из них будут указаны ниже. Функцию ф далее будем называть итерационной функ- цией. Выберем каким-либо образом приближенное значение корня х<°) и подставим его в правую часть уравнения (4.15). Получим значение = ф(х<0)). Подставляя теперь в правую часть уравнения (4.15), имеем х(2) = ф(х(1)). Продолжая этот процесс неограниченно, получаем последовательность приближений к корню, вычисляемых по формуле х("+’)= ф(х(”)), и > 0. (4.16) Очевидно, что метод простой итерации — одношаговый (см. § 4.1). Если существует предел построенной последовательности х = = lim то, переходя к пределу в равенстве (4.16) и предполагая Л — ОО функцию ф непрерывной, получаем равенство i = 9(i). (4.17) Это значит, что х — корень уравнения (4.15). 100
§ 4.4. Метод простой итерации 2. Геометрическая иллюстрация. Из рис. 4.6 видно, что корень х уравнения (4.15) является абсциссой точки пересечения графиков двух функций: у = х и у = ф(х). Возьмем некоторое начальное приближение х(0), которому отвечает расположенная на кривой у = ф(х) точка с координатами (х<0), х(1)) (напомним, что х(1> = ф(х<°))). Соединим точку отрезком прямой у с лежащей на прямой у = х точкой с координатами (х^х^). Проведем теперь через точку NW пря- мую х = хО) до пересечения с кривой у = ф(х) в точке с координа- тами (х^, х<2>). Продолжая этот процесс далее, получаем ломаную линию ..., для которой абсциссы точек пред- ставляют собой последовательные приближения к решению х . 3. Сходимость метода. На рис. 4.7, а—г представлена геометриче- ская иллюстрация поведения итерационного процесса в четырех про- стейших случаях взаимного расположения прямой у = х и кривой у - = ф(х). Рисунки 4.7, а к б иллюстрируют случаи, когда метод простой ите- рации сходится, причем, как нетрудно заметить, — при произвольном начальном приближении. Напротив, рисунки 4.7, виг иллюстрируют случаи, когда метод расходится при любом выборе начального приближе- ния х(0) * х . Заметим, что на рис. 4.7, а и б | ф'(х) | < 1 (модуль тангенса угла наклона кривой у - ф(х) к оси абсцисс меньше единицы), а на рис. 4.7, в и г, наоборот, | ф'(х) | > 1. Таким образом, можно предполо- жить, что сходимость метода простой итерации связана с выполнением условия | ф'(х) | < 1. Действительно, имеет место следующий результат. 101
Глава 4. Методы отыскания решений нелинейных уравнений Теорема 4.2. Пусть в некоторой ^-окрестности корня х функция ф дифференцируема и удовлетворяет неравенству |ф'(х)|<9, (4.18) где 0 < q < 1 — постоянная. Тогда независимо от выбора начального приближениях^ из указан- ной сз-окрестности корня итерационная последовательность не выхо- дит из этой окрестности, метод сходится со скоростью геометриче- ской прогрессии и справедлива следующая оценка погрешности'. |х(и) - х | < qn |х«» - х |. (4.19) Доказательство. Вычитая из равенства (4.16) равенство (4.17) и используя формулу конечных приращений Лагранжа, получаем х(и+1)_ j = ф(х(и))-ф(% ) = oSn + ^(х^О- х ). (4.20) Здесь а(" + = ф'(£(")), где — некоторая точка, расположенная между х(") и х . Если х(") G (х - а, х + а), то |а(л+ < q в силу усло- вия (4.18). Тогда на основании равенства (4.20) получаем |х(и + 1) _ х | < ^|х00_ х |. 102
§ 4.4. Метод простой итерации Это означает, что метод простой итерации обладает линейной скоро- стью сходимости и поэтому доказательство теоремы завершается при- менением леммы 4.1. Оценка погрешности (4.19) является априорной. Она показывает, что метод простой итерации сходится со скоростью геометрической прогрес- сии, знаменатель которой равен q. Чем меньше q, тем выше скорость схо- димости. Видна и роль правильного выбора начального приближения: чем меньше погрешность начального приближения, тем меньше итера- ций потребуется сделать для достижения заданной точности е. Неравенство (4.19), как правило, не используется для практической оценки погрешности. Одна из причин этого состоит в том, что значение х , входящее в правую часть оценки, неизвестно. Кроме того, использо- вание неравенства (4.19) приводит к существенно завышенной оценке погрешности. 4. Критерий окончания. Выведем апостериорную оценку погреш- ности, пригодную для практического применения. Теорема 4.3. Пусть выполнены условия теоремы 4.2 и х<°) е е (х - а, х + а). Тогда верна следующая апостериорная оценка погрешности'. |х<л>-х| <т-^- |х<л'-х<л-1)| , и>1. (4.21) Доказательство. В силу равенства (4.20) имеем х(")- х = а<л)(х<л _ х ) = aSn\x(n~ х<л)) + а(л)(х<л) - х ). Откуда - а(л) Х<") - X =----------------------— (х<л -1) - х<")). (4.22) 1 - а<л> Взяв модуль от левой и правой частей этого равенства и воспользо- вавшись неравенством д(л) 1 -аОО , получим требуемое соотноше- ние (4.21). Если значение q известно, то неравенство (4.21) дает эффективный метод контроля погрешности и можно сформулировать следующий критерий окончания итерационного процесса. Вычисления следует вести до выполнения неравенства |х(л) ~х{п~ О | <е или равно- сильного ему неравенства |х<л)-х<л^)| <'—3. е. (4.23) Я 103
Глава 4. Методы отыскания решений нелинейных уравнений Если это условие выполнено, то найденное значение является при- ближением к х с точностью е. Пример 4.5. Используем метод простой итерации для вычисле- ния положительного корня х уравнения 4(1 -х2) -ех = 0 с точностью е = 10-4. Результат примера 4.4 дает для корня отрезок локализации [а, Ь] = [0.70, 0.72]. Преобразуем уравнение к виду (4.15), где ф(х) = J1 - ех/4. Заме- тим, чтоф'(х) = - ех/(8л/1 - ех/4), ф"(х) =-ех(1 -ех/8)/(8л/1 -ех/4)3. Так как ф" < 0 на [a, Z>], то производная ф' монотонно убывает и q = = тах|ф'(*)| =ФГ(^) ~ 0.37. Следовательно, условие сходимости (4.18) [а. Ь} выполнено. Возьмем х<°> = 0.7 и будем вести итерации до выполнения критерия (4.23). В табл. 4.3 соответствующие приближения приведены с десятью знаками мантиссы. Таблица 4.3 п х(и) |xw-x(o-i)| 0 0.7000000000 — 1 0.7046714292 3-10-’ 2 0.7029968319 1 • 10-’ 3 0.7035984939 4-10-* 4 0.7033824994 2-10-* 5 0.7034600632 5-10-5 Критерий окончания выполняется при п - 5. После округления зна- чения х<5> до четырех значащих цифр получим х = 0.7035 ± 0.0001. ▲ Замечание. Часто в практике вычислений вместо критерия (4.23) используется привлекательный своей простотой критерий |x(")-x("-i) | < е. (4.24) В случае 0 < q < 1/2 использование критерия (4.24) оправдано. Действительно, здесь (1 - q)/q > 1 и поэтому выполнение неравен- ства (4.24) влечет за собой выполнение неравенства (4.23). В то же время при 1/2 < q < 1 использование критерия (4.24) может привести к преждевременному прекращению итераций. Дело в том, что когда значение величины q близко к единице, ите- рационный процесс сходится медленно и расстояние между двумя последовательными приближениями х(л) их(л - Ч не характеризует расстояние от х(л) до решения х (рис. 4.8). 104
§ 4.4. Метод простой итерации Пример 4.6. Пусть метод простой итерации используется для реше- ния уравнения х = 0.9999х + 10 4/ . Здесь ф(х) = 0.9999х + 10“4/ , ф'(х) = 0.9999 и, следовательно, условие (4.18) сходимости метода выполнено. Для вычислений по формуле (4.16) используем 6-разряд- нь1й десятичный компьютер. Возьмем х<°> = 0.715010. Тогда х<В = = 0.715009 и, если доверять критерию (4.24), то следовало бы считать, что решение получено с точностью е = 10-6. Продолжая вычисления, имеем х<2>= 0.715008, х<3> = 0.715007, х<4> = 0.715006, х<5> = 0.715005, х<6> = 0.715005. Дальнейшие итерации теряют смысл. Сколько же верных знаков найдено? Сравнение с точным значением решения х = \/ = = 0.707106 ... показывает, что верными в приближении х^ являются только две значащие цифры. Использование критерия (4.24) в данном случае категорически недопустимо. В дальнейшем мы еще вернемся к обсуждению этого примера. ▲ Использование критерия (4.23) предполагает знание значения вели- чины q} входящей в условие (4.18). Однако далеко не всегда это значе- ние известно, либо может быть легко вычислено. В тех же случаях, когда удается оценить q, эта оценка оказывается довольно грубой. Исключим из критерия окончания итераций величину q. Заметим, что в малой окрестности корня значение производной ф' практически посто- янно: ф'(х) « ф'(х ). Поэтому в равенстве (4.22) величину а(л) = ф'(^л" В) можно приближенно заменить на ф'(х ). Далее в силу равенства jOO-jO»- В =ф(х<”“ В) -ф(х<”“2)) = ф'(£<л) )(х<” ~ В-х(и-2)), 105
Глава 4. Методы отыскания решений нелинейных уравнений где — промежуточная между х<п и х<п 2) точка, имеем Ап) __ Ап~ 1) ~ 5<И) = <п > (~) = <Р'(^Я))»<Р'(Х). х(п~ О — х'п Таким образом, в равенстве (4.22) можно положить » а<и) и поэтому при определенных условиях можно использовать следующий практический критерий окончания итерационного процесса: х(п)_х(п- 1)| < 1 а(") 5. Дополнительные сведения о характере сходимости. Когда про- изводная <р' знакопостоянна на отрезке локализации, итерационная последовательность обладает некоторыми полезными дополнитель- ными свойствами. Заметим, что при <р'(х) * 0 в достаточно малой окрестности корня знак производной <р'(х) действительно постоянен. Теорема 4.4. Пусть [a, Z>] — отрезок локализации корня уравнения (4.15). Предположим, что на этом отрезке функция ср непрерывно дифференцируема, а ее производная ср'(х) знакопостоянна и удовлетво- ряет неравенству (4.18) при 0 < q < 1. Пусть х(0> g [a, Z>] — произволь- ное начальное приближение и при ср' < О выполнено дополнительное условие xW = ср(х^) е [a, Z>] (первое приближение не выходит за пре- делы отрезка локализации). Тогда итерационная последовательность не выходит за пределы отрезка [а, /?], метод простой итерации сходится и верны оценки погреш- ности (4.19), (4.21). Кроме того, справедливы следующие свойства: 1°. Если ср' >0 на [a, Z>], тох^ сходится к х , монотонно возрастая при а < х<°) < х , и монотонно убывая при х < х^ < Ъ. 2°. Если ср' <0 на [a, Z>], то сходимость х^ к х носит колебатель- ный характер, т.е. при всех п > 0 значения х^ и х(л + расположены по разные стороны от х, причем последовательности приближений с четными и нечетными номерами сходятся к х монотонно. В этом случае верна апостериорная оценка погрешности |х<">- X I < |х(")-х<л- Ч, п>\ (4.25) и справедлив критерий (4.24) окончания итерационного процесса. Мы не будем приводить здесь полное доказательство теоремы. Оно основано на использовании равенства (4.20), установленного при доказа- тельстве теоремы 4.2. Докажем только справедливость свойств 1° и 2°. 106
§ 4.4. Метод простой итерации Доказательство. Если 0 < ср' < q, то знаки величин - х и х<я “ О - х совпадают, в то время как |х<л)- х | < х |. Сле- довательно, последовательность монотонно приближается к х с той стороны, где лежит х<0). Если же -q < ср' < 0, то из равенства (4.20) сле- дует, что знаки величин х^ - х и х^п ~ - х различны. Это подтвер- ждает колебательный характер сходимости. Замечание. Монотонный и колебательный характер сходимо- сти итерационной последовательности, указанные в теореме 4.4, иллюстрируют соответственно рис. 4.7, а и б. 6. Приведение уравнения к виду, удобному для итераций. Клю- чевой момент в применении метода простой итерации — эквивалент- ное преобразование уравнения (4.1) к виду (4.15). Конечно, такое пре- образование имеет смысл только тогда, когда оказывается выполненным условие (4.18) с 0 < q < 1. Укажем один из простых спо- собов такого преобразования. Предположим, что производная f на отрезке [а, б] непрерывна и положительна. Тогда существуют положительные постоянные т и М такие, что 0 < т < f(x) < М,х е [а, б]. Приведем уравнение (4.1) к виду х = х - а/(х), (4.26) где а > 0. Здесь итерационная функция ср имеет вид <р(х) = х -af(x). Как выбрать а, чтобы выполнялось условие (4.18), причем q было бы по возможности минимальным? Заметим, что 1 - аМ < ср'(х) = 1 - d/'(x) < 1 — ат и поэтому | ср'(х) | < q(a) = max{ 11 — аЛ/|, 11 - ат |}. Для того чтобы было выпол- нено неравенство q(a) < 1, достаточно взять любое а е (О,2/Л0. Кон- кретный выбор параметра а зависит от наличия информации о числах т и М. Если известны обе эти величины, то лучшим является выбор а = = а0 = 2/(М + т). В этом случае ^(а0) = (М- т)1(М+ т). Если же известно только Л/, то можно положить а = dj = ММ. В этом случае q (dj) = 1 - т!М. Кроме того, при а = dj производная ср'(х) неотрицательна, и в силу тео- ремы 4.3 сходимость является монотонной. Замечание. Случай, когда производная /' отрицательна, сво- дится к рассмотренному выше умножением уравнения f(x) = 0 на -1. Пр и мер 4.7. Для решения задачи, поставленной в примере 4.5, можно воспользоваться преобразованием уравнения (4.4) к виду (4.26). Будем считать известным, что х е [0.70, 0.72]. Так как на отрезке локализации выполнено условие (4(1 - х2) - е*)' = -8х- е* < 0, 107
Глава 4. Методы отыскания решений нелинейных уравнений то перепишем уравнение в виде/|(х) = 0, где/Дх) = е* - 4(1 - х2). Тогда f\(x) = ех + 8х и для х е [0.70, 0.72] верны оценки 0 < т = f\ (0.70) < < f\ (х) < f\ (0.72) = М. Выберем в уравнении (4.26) а = 2/(т + Л/), возь- мем х(0) = 0.7 и будем вести итерации по формулех(" + 0 =х(") - а[ег(л) - - 4(1 - (х00)2)]. Выбранному а соответствует q = (Л/- т)1(М + т) » » 0.013 и поэтому сходимость должна быть более быстрой, чем в при- мере 4.6. Действительно, уже первая итерация даетх(1> = 0.7034025118, и так как —— |х0) - х^ | « 5 • 10"5, то итерации следует прекратить J Q и считать х = 0.7034 ± 0.0001. ▲ § 4.5. Обусловленность метода простой итерации В § 4.4 метод простой итерации был рассмотрен при идеальном предположении о возможности точного вычисления значений функции <р(х). В действительности же вычисления на компьютере дают прибли- женные значения ф*(х). Поэтому вместо последовательности х<"\ удов- летворяющей равенствух<п + =ф(х(")), получается последовательность х(л), для которой х(',+ 1) = ф*(х<'’)). (4.27) Известно, что метод простой итерации и многие другие итерацион- ные методы устойчивы к ошибке, допущенной на одной из итерации. Такая ошибка эквивалентна некоторому ухудшению очередного при- ближения; если она не вывела приближение за пределы области сходи- мости, то итерационная последовательность по-прежнему будет схо- диться к решению х, а внесенная погрешность — затухать. Поэтому о таких итерационных методах говорят, что они обладают свойством самоисправляемости. Однако погрешности допускаются не на одной, а на всех итерациях и совокупное их влияние несколько иное. 1. Обусловленность задачи. Прежде чем сформулировать резуль- тат о поведении метода простой итерации при наличии погрешности в вычислении функции ф, отметим, что преобразование уравнения /(х) = 0 к виду х = ф(х) изменяет обусловленность задачи. Запишем это уравне- ние в виде /(х) = 0, где /(х) = х - ф(х), и воспользуемся результатами §4.2. Заметим, что Д(/*) = Д(ф*), поскольку в действительности при- 108
§ 4.5. Обусловленность метода простой итерации ближенно вычисляется только функция ср. Поэтому оценка (4.11) в дан- ном случае выглядит так: Д(х*) < ё » vA(cp*). (4.28) Здесь v = 1/11 -<р'(х )| — абсолютное число обусловленности корня х . Грубо оценивая при выполнении условия |ф'| < q < 1 величину v чис- лом v = 1/(1 - q), приходим к оценке (4.29) 1 — q Когда ф' < 0 или ф' ® 0, ее можно уточнить. Действительно, как нетрудно установить, v 1, если ф' 0; следовательно, Д(х*) < Д(ф*). (4.30) Заметим, что в оценках (4.28)—(4.30) величины Д(х*) и Д(ф*) можно заменить на 8(х*) и 8(ф*). Чтобы убедиться в этом, достаточно разде- лить левую и правую части оценок на величины | х | и | ф(х) | , которые равны между собой. Например, оценка (4.28) преобразуется к виду 8(F) < у8(ф*) (4.31) и, следовательно, абсолютное и относительное числа обусловленности здесь совпадают. Сделаем некоторые выводы. Задача вычисления корня х уравнения х = ф(х) плохо обусловлена, если ф'(х) ® 1. В этом случае следует ожи- дать, что количество верных цифр корня х по сравнению с количест- вом верных цифр в вычисляемых значениях ф*(х) должно быть меньше примерно на N - 1gv цифр. Для радиуса интервала неопределенности е «уД(ф*) корня х при |ф'| < q < 1 справедлива оценка е<е* = _ Д(Ф.) когда < ф' < о, уточненная оценка такова, ё ё* = А(ф*); 1 — q здесь потери верных цифр быть не должно. Пример 4.9. Для уравнения х = ф(х) приф(х) = 0.9999* + 10-4/ имеем ф'(х) =0.9999 и, следовательно, v = 104. Поэтому при решении этого уравнения методом простой итерации на компьютере будет поте- ряно примерно четыре значащих цифры. Вычисления на 6-разрядном десятичном компьютере (или на близком ему по точности компьютере типа IBM PC) могут дать всего лишь две верные значащие цифры. Это вполне согласуется с результатом, полученным в примере 4.6. ▲ 109
Глава 4. Методы отыскания решений нелинейных уравнений 2. Чувствительность метода простых итераций к погрешности вычислений. Сформулируем основной результат данного параграфа. Теорема 4.5. Пусть выполнены условия теоремы 4.2 и для всех х е (х-о, х + п) имеет место неравенство |ф(х) - ф*(х)| < Д(ф*) • Предположим также, что е*=^£-2<а (т.е. величина Д(ф*) доста- 1 -я точно мала). Если вычисления по формулам (4.16) и (4.27) начинаются с одного начального приближения х<°> = х(0) е (х - х + Gj), где Qj = а - е* = min< о,------У, Я то последовательность х<л) не выходит за пределы ^-окрестности корня х и для всех п > 1 справедливы следующие оценки погрешности'. |х<л>-х<л> | <ё*, (4.32) |х<л)-х | < ^л|х(0)-х | + е*, (4.33) |х(л>-х | < С|х(л)-х(л-В | + ё*; (4.34) здесь С = —. 1 ~Я Замечание 1. При ф' < 0 в неравенствах (4.32)—(4.34) можно положить ё*»Д(ф*),С» 1. Замечание 2. При достаточно больших п в оценках (4.32)— (4.34) величину ё* можно считать приближенно равной радиусу Д(<р*) интервала неопределенности е = — . 1 -ф’(х) Доказательство. Докажем по индукции, что для всех п > 0 спра- ведливы неравенства (4.32), (4.33) и х(л) е (х - Q, х + а). Очевидно, что при п = О это верно. Предположим, что доказываемое утверждение справедливо при некотором п > 0. Вычитая из равенства (4.27) равенство (4.16), полу- чаем х(л + В ~х(л+ 1)=ф'(^(л))(х(л) -х(л)) + Д(л), Е/л) е (х - Q, х + п), где Д<л> = ф*(х(л)) - ф(х(л)), | Д(л)| <Д(ф*). 110
§ 4.5. Обусловленность метода простой итерации Как следствие полученного равенства и сделанных предположе- ний имеем |х(л + 1) _х(л+i)| < q |х('’)-х<л)| + |Д<Л>| < ^ё* + Д(ф*) = ё*. Объединяя эту оценку с оценкой (4.19), получаем |J(n+i)_^| < цп+ । |х(°) _ х । +ё*. Учитывая, что |х<0) - х | < Ст], имеем |х(л + 1)- <qa} + ё* < ——— + ё* = п. Нужное утверждение доказано для номера, равного п + 1, а следова- тельно, и для всех п > 0. Вычитая из равенства (4.27) равенство (4.17), получаем х(п+ 1)_ х = а(л)(х(л)_ х) + д(л)5 а(л) = ф'(^(л0» (х-о, х + а). Таким образом, Из полученного равенства вытекает оценка (4.34). Итак, метод простой итерации обладает такой же чувствительно- стью к погрешностям в вычислении функции ф, что и задача вычисле- ния корня уравнения х = ф(х). Метод позволяет получить приближен- ное значение корня х с точностью, примерно совпадающей с радиусом е интервала неопределенности корня. Критерий (4.23) окон- чания итераций применим, если ё « £ (радиус интервала неопреде- ленности много меньше заданной точности); это следует из неравен- ства (4.34) и замечания 2. Входящую в соотношения (4.29), (4.30) величину Д(ф*) в общем случае оценить сверху достаточно сложно. Оценка снизу очевидна: Д(ф*) ~ 1*1 ем- В благоприятной ситуации, когда вычисления ведутся по простым формулам, можно надеяться на то, что Д(ф*) окажется величиной порядка | х | ем . 111
Глава 4. Методы отыскания решений нелинейных уравнений § 4.6. Метод Ньютона Знаменитый метод Ньютона является одним из наиболее эффектив- ных методов решения самых разных нелинейных задач. Расчетную формулу метода можно получить, использовав различные подходы. Рассмотрим два из них. 1. Метод касательных. Выведем расчетную формулу метода для решения нелинейного уравнения (4.1) из простых геометрических соображений. Соответствующая иллюстрация приведена на рис. 4.9. Пусть х<°> — заданное начальное приближение к корню х. В точке Af(0) с координатами (х(0), /(х<0))) проведем касательную к графику функции у = /(х) и за новое приближение х^1) примем абсциссу точки пересечения этой касательной с осью Ох. Аналогично, за приближение х(2) примем абсциссу точки пересечения с осью Ох касательной, прове- денной к графику в точке с координатами (х(1\ /(х^))). Продолжая этот процесс далее, получим последовательностьх^х^х^, ...,х^п\ ... приближений к корню х. Напомним, что уравнение касательной, проведенной к графику функции у = /(х) в точке (х<л\ /(х'”1)), имеет вид у = /(х<л>) + f\x^\x - х^). (4.35) Пусть/'(х(л)) # 0. Полагая в равенстве (4.35) у = 0, замечаем, что абс- цисса х(л + точки пересечения касательной с осью Ох удовлетворяет равенству 0 = /(х<л>) +/'(*(л))(*(л + ° -*(л)). (4.36) 112
§ 4.6. Метод Ньютона Выражая из него х<л + получаем расчетную формулу метода Нью- тона: х(п + 1) = х(п) _ Л А п> 0 (4 37) f'(xW) v 7 Благодаря такой геометрической интерпретации этот метод часто называют методом касательных. 2. Метод линеаризации. С более общих позиций метод Ньютона можно рассматривать как итерационный метод, использующий специ- альную линеаризацию задачи и позволяющий свести решение исход- ного нелинейного уравнения к решению последовательности линейных уравнений. Пусть приближение х^ уже получено. Представим функцию в окре- стности точки х^ по формуле Тейлора: /(х) = /(х<л>) + /'(х‘л>)(х -х<л>) + (х - х<л>)2. (4.38) Здесь £ — некоторая точка, расположенная между х и х^пХ Заменяя в уравнении /(х) = 0 функцию f(x) главной линейной частью разложе- ний (4.38), получаем линейное уравнение /(х<л>) +/'(х<л))(х _ х(и)) = о. (4.39) Принимая решение уравнения (4.39) за новое приближение х(л + Ч при- ходим к формуле (4.37). 3. Основная теорема о сходимости метода Ньютона. Теорема 4.6. Пусть х — простой корень уравнения f(x) = 0, в некоторой окрестности которого функция f дважды непрерывно диф- ференцируема Тогда найдется такая малая ^-окрестность корня х, что при произвольном выборе начального приближения х<0> из этой окрестности итерационная последовательность метода Ньютона не выходит за пределы окрестности и справедлива оценка |х(л+,)-х| < Q~i |x(”)-x|2, п > 0, (4.40) означающая, что метод сходится с квадратичной скоростью. Следствием оценки (4.40) является априорная оценка |х(л)-х| < п > 0, (4.41) в которой q = Q"1 |х(°) - х |. 113
Глава 4. Методы отыскания решений нелинейных уравнений Доказательство. Так как /'(х) * 0 (по определению простого корня), то в силу непрерывности функций f и f" найдется 80-окрест- ностъ корня, в которой при некоторых постоянных аир выполнены неравенства 0 < а < |/'(х) |, |/"(х)| Р. Пусть х^ е (х - а, х + о), где а = min{80, 2а/р}. Подставляя х = х в (4.38), получаем равенство О = /(х<л>) + /'(х<">)(х -х<л>) + -х(л))2, в котором е (х - а, х + ст). Вычитая из него равенство (4.36), имеем Тогда, приравнивая модули обеих частей этого равенства и используя условия ограниченности |/'(х)| и |/"(*)|, приходим к неравенству откуда следует справедливость оценки (4.40). Доказательство теоремы завершается применением леммы 4.2. Таким образом, при выборе начального приближения из достаточно малой окрестности корня метод Ньютона сходится квадратично. Это означает, грубо говоря, что на каждой итерации число верных цифр приближения примерно удваивается. Приведенные в теореме 4.6 оценки погрешности являются априор- ными (см. § 3.3) и их использование в практике вычислений для количе- ственной оценки погрешности неэффективно или чаще всего невоз- можно. 4. Критерий окончания. На практике предпочтительнее использо- вание простой апостериорной оценки |х<л>- х | < |х(',)-х<л-1)|, (4.42) справедливость которой обосновывается следующим утверждением. Теорема 4.7. Пусть выполнены условия теоремы 4.6 и | х<°> - х | < < ст/2. Тогда для всех п > 1 верна оценка (4.42). Доказательство. Из оценки (4.41) следует, что |х(л-1) - X | < ст^2””1 < СТ£ = |х(°)- X | < | • 114
§ 4.6. Метод Ньютона Поэтому, применяя неравенство (4.40), получаем цепочку неравенств 2|х<л>- х | < 2п-1 |х(л-1)- х |2 < |xO»-D_ х | < < | х О’ “ 1) -х 001 + |х00- х |, из которой вытекает оценка (4.42). Наличие оценки (4.42) позволяет сформулировать следующий прак- тический критерий окончания итераций метода Ньютона. При заданной точности 8 > 0 вычисления нужно вести до тех пор, пока не окажется выполненным неравенство |хОО-х<л-1)| <8. (4.43) Пример 4.8. Используя метод Ньютона, найдем с точностью 8 = 10“6 положительный корень уравнения 4(1 -х2) -ех = 0. В примере 4.2 корень был локализован на отрезке [0, 1]. Для /(х) = = 4(1 - х2) - ех имеем f'(x) = -8х - ех. Очевидно, что f'(x) * 0, т.е. х — простой корень. Возьмем начальное приближение х<°> = 0.5 и будем выполнять итерации метода Ньютона по формуле х0>+.) = х(л) + 8х(л) + ех<"> Результаты первых итераций с десятью знаками мантиссы приведены в табл. 4.4. Таблица 4.4 п Х(И) 0 0.5000000000 — 1 0.7392185177 2.4-10-' 2 0.7042444088 3.5- IO’2 3 0.7034399951 8.0-10"4 4 0.7034395712 4.3-10~7 При и = 4 вычисления следует прекратить и после округления полу- чим х = 0.703440 ± 0.000001. Сравнение результатов итераций со значением х показывает, что приближения х(1), х(2), х(3) содержат одну, три, шесть верных значащих цифр соответственно. Можно показать, что приближение х(4) содержит десять верных цифр. Это подтверждает отмеченный ранее общий факт: при каждой итерации метода Ньютона число верных значащих цифр примерно удваивается. А 115
Глава 4. Методы отыскания решений нелинейных уравнений Пример 4.9. Используя метод Ньютона, укажем итерационный процесс вычисления pJa, где а > 0, р — натуральное число. По определению, х = pJa — это неотрицательная величина, удовле- творяющая равенству хр = а. Таким образом, задача сводится к вычис- лению положительного корня уравнения f(x) = 0, где /(х) = хр - а. Итерационная формула метода Ньютона примет вид х(» + О = Х(П) _ = х(я) +------- а--- При р = 2 эта формула уже была получена в примере 3.17. ▲ 5. Связь с методом простой итерации. Метод Ньютона можно рас- сматривать как один из вариантов метода простой итерации, связанный со специальным преобразованием уравнения f(x) = 0 к виду X = <Pw(x), (4.45) гае <рдг(х) = х -/(х)//'(х). Действительно, итерационная формула метода простой итерации х(л+ о = <pJV(x^)) совпадает с (4.37). Если исходить из этого с учетом оценки (4.19), можно сделать вывод о том, что метод Ньютона сходится только линейно. Однако заметим, что ф^(х) =/(х) Г(х) (Г'(х))2 Так как /(х) = 0, то ср^(х) = 0 и величина а(л + О = |ф'(£(л))1, определяющая в силу равенства (4.20) коэффициент сжатия погрешности, стремится к нулю при п —* оо. Скорость сходимо- сти возрастает по мере приближения к корню, отсюда и ее сверхлиней- ный характер. В качестве аналога теоремы 4.4 для метода Ньютона приведем сле- дующий результат. Теорема 4.8. Пусть [а, 6] — отрезок локализации простого корня х уравнения (4.1). Предположим, что на этом отрезке функция f два- жды непрерывно дифференцируема, а ее производные f'(x) и/”(х) знако- постоянны. Пусть х<°> е [а, 6] — произвольное начальное приближение, и в случае /(х<0))/"(х(0>) < 0 выполнено дополнительное условие х^ G [а, £] (первое приближение не выходит за пределы отрезка локализации). Тогда начиная с п = 1 итерационная последовательность метода Ньютона х^ сходится к х монотонно с той стороны отрезка [а, б], где f(x)f"(x) > 0. 116
§ 4.6. Метод Ньютона Иллюстрацией монотонного характера сходимости может служить рис. 4.9. Следствие. Пусть уравнение /(х) имеет корень х, функция /(х) дважды непрерывно дифференцируема на всей числовой оси, а ее про- изводные f и/" знакопостоянны. Тогда метод Ньютона сходится при любом начальном приближении х<°) (т.е. является глобально сходя- щимся), причем начиная с п = 1 последовательность сходится моно- тонно с той стороны от корня, где f(x)f"(x) > 0. 6. Трудности использования. Простота, логическая стройность и высокая скорость сходимости делают метод Ньютона чрезвычайно при- влекательным. Однако для его практического применения нужно преодо- леть две существенные трудности. Одна из них состоит в необходимости вычисления производной /'(х). Часто бывает невозможно найти аналити- ческое выражение для /'(х), а определить приближенное значение с высокой точностью очень трудно. Иногда вычисление f(x) — вполне реальная, но весьма дорогостоящая операция. В этих случаях приходится модифицировать метод, избегая непосредственного вычисления произ- водной. Некоторые из таких модификаций приведены в § 4.7. Более существенно то, что метод Ньютона обладает, вообще говоря, только локальной сходимостью. Это означает, что областью его сходимости является некоторая малая о-окрестность корня х и для гарантии сходимо- сти необходимо выбирать хорошее начальное приближение, попадающее в эту ст-окрестность. Неудачный выбор начального приближения может дать расходящуюся последовательность (рис. 4.10) и даже привести к прежде- временному прекращению вычислений (если на очередной итерации f(x№)» 0). Для преодоления этой трудности часто используют метод Нью- тона в сочетании с каким-либо медленно, но гарантированно сходящимся методом типа бисекции. Такие гибридные алгоритмы находят в последнее время широкое практическое применение. 117
Глава 4. Методы отыскания решений нелинейных уравнений 7. Влияние погрешности вычислений. Пусть х — простой корень. Если метод Ньютона рассматривать как вариант метода простой итерации, связанный с преобразованием уравнения /(х) = 0 к виду (4.45), то можно воспользоваться результатами § 4.4 и 4.5. Поскольку cpjv(x) = 0, то справедливо неравенство (4.30) и радиус интервала неопределенности ё# корня х преобразованного уравнения равен примерно Д(ф^). В оценках (4.32)—(4.34) можно считать ё* » « Д(ф^)и С» 1. Для того чтобы сделать окончательные выводы, оста- ется оценить Д(фу). Пусть/* и (/*')* — приближенные значения функций f и вычис- ляемые в малой окрестности корня х. Будем считать, что производная f вычисляется хотя бы с точностью до одной-двух верных значащих цифр. В противном случае (особенно, если неверно определяется знак f) из геометрического смысла метода легко понять, что его применять не следует. В силу предложения 2.5 в малой окрестности корня имеем х (~ + А((/Т)1/1 ~ д(Г) = _ W' и i/i2 ~ i/’(j>i Так как <p^(x) = x @ «х то, учитывая погрешность, прибли- женно равную |х|ем, вносимую в ф^ вследствие выполнения опера- ции вычитания, получаем ё^ = Д(ф^) ~ ё + | х 18 м. Таким образом, преобразование уравнения /(х) = 0 к виду (4.45) практически не меняет обусловленность и радиус 8 интервала неопре- деленности корня х. Итерационный процесс Ньютона дает возмож- ность вычислить решение с точностью 8 £ ё. Отметим, тем не менее, что эти достоинства метода Ньютона реализуются, вообще говоря, только в малой окрестности корня. § 4.7. Модификации метода Ньютона В § 4.6 в качестве недостатка метода Ньютона была отмечена необ- ходимость вычисления значения производной f(x) на каждой итера- ции. Рассмотрим некоторые модификации метода Ньютона, свободные от этого недостатка. Заметим, что, по существу, излагаемые в этом параграфе итерационные методы решения нелинейного уравнения на каждой итерации используют некоторую процедуру его линеаризации, 118
§ 4.7. Модификации метода Ньютона т.е. исходное нелинейное уравнение заменяется приближенно более простым линейным уравнением. 1. Упрощенный метод Ньютона. Если производная f'(x) непре- рывна, то ее значение вблизи простого корня х почти постоянно. Поэтому можно попытаться вычислить f лишь однажды в точке х<0), а затем заменить в формуле (4.37) значение f(x№) постоянной/'(х^). В результате получим расчетную формулу упрощенного метода Ньютона. х(п + 1) =х(и) _ П > 0. (4.46) Геометрическая иллюстрация метода приведена на рис. 4.11. В точке (х<°), /(х(°))) к графику функции у = f(x) проводится касательная /0 и за приближение х(1) принимается абсцисса точки пересечения этой каса- тельной с осью Ох (как в методе Ньютона). Каждое следующее прибли- жение x(w + получается здесь как абсцисса точки пересечения с осью Ох прямой, проходящей через точку с координатами (х(л), f(x^)) и параллельной касательной /0. Упрощение вычислений по сравнению с методом Ньютона достига- ется здесь ценой резкого падения скорости сходимости. Сходимость этого метода является уже не квадратичной, а линейной. Метод (4.46) можно рассматривать как метод простой итерации с итерационной функцией <р(х) = х - f{x) Так как <р'(х) = 1 - то для знаменателя q соответствующей геометрической прогрессии имеем q » . Следовательно, скорость сходимости тем выше, чем ближе начальное приближение х(0) к решению х . 119
Глава 4. Методы отыскания решений нелинейных уравнений 2. Метод ложного положения. В основе этой и следующих двух модификаций метода Ньютона лежит приближенное равенство Оно верно при условии z^ »х(”) и следует из определения производной: /'(*) = hm Z — X Z-X Пусть с — фиксированная точка, расположенная в окрестности про- стого корня х. Заменим в расчетной формуле метода Ньютона (4.37) производную Д(х(л)) правой частью приближенного равенства (4.47), полагая z^ = с. В результате придем к расчетной формуле метода ложного положения'. х(« +1) = х(«)--с~—~ /(х*")), п > 0. (4.48) Геометрическая иллюстрация метода приведена на рис. 4.12. Очеред- ное приближение х^п + получается здесь как абсцисса точки пересече- ния с осью Ох прямой, проведенной через расположенные на графике функции у = Дх) точки М и Л/") с координатами (с, Дс)) и (х<”\ /(х^)). Метод (4.48) обладает только линейной сходимостью. Его можно рас- сматривать как метод простой итерации с итерационной функцией с — X <р(х) = х——-----Так как скорость сходимости определяется /(<*) ~f(x) 120
§ 4.7. Модификации метода Ньютона вблизи корня величиной q ~ |<р'(х)| = (с-х)У'(х) то она тем выше, чем ближе окажется выбранная точка с к х . 3. Метод секущих. Замена в формуле метода Ньютона производной f(x^) приближением х{п- 1) -х(п) приводит к расчетной формуле метода секущих: г(п- 1) _ г(и) х(" + 1) = х(")--— -----— /'(x(w)), п > 0. (4.49) Заметим, что этот метод двухшаговый, так как для нахождения оче- редного приближения х<” + требуется знание двух предыдущих при- ближений х^ их(л-1\ В частности, для того чтобы начать вычисления, необходимо задать два начальных приближениях^ их^\ Все рассмот- ренные ранее методы требовали для вычисления х<" + только знание х^п\ т.е. были одношаговыми. На рис. 4.13 приведена геометрическая иллюстрация метода. Оче- редное приближение х<п + получается здесь как абсцисса точки пере- сечения с осью Ох секущей, соединяющей точки М^п~ и графика функции /(х) с координатами (х<п ~ f(x^n ~ ^)) и (х^п\ f(x^)). Примечательно то, что эта модификация метода Ньютона сохраняет свойство сверхлинейной сходимости, если вычисляется простой корень х . Точнее, верно следующее утверждение. 121
Глава 4. Методы отыскания решений нелинейных уравнений Теорема 4.9. Пусть х — простой корень уравнения f(x) = 0, в некоторой окрестности которого функция f дважды непрерывно диф- ференцируема, причем f"(x) * 0. Тогда существует ^-окрестность корня х такая, что при произвольном выборе приближений х^ из A A A VS+l этой а-окрестности метод секущих сходится с порядком р = —-— » » 1.618, т.е для п > 1 справедлива оценка |Х(Л + 1) _ х | < с |х(и) _ х|р, р = ! Так как одна итерация метода секущих требует только одного нового вычисления значения функции /, а метод Ньютона — двух вычислений значений функций (f и /'), то трудоемкость двух итера- ций метода секущих приблизительно эквивалентна трудоемкости одной итерации по Ньютону. Две итерации метода секущих дают порядок р2 ® 2.618 > 2, поэтому его можно расценивать как более быстрый по сравнению с методом Ньютона. К сожалению, метод обладает, вообще говоря, только локальной схо- димостью. Он требует выбора двух близких к х (в общем случае — очень близких) начальных приближений*^ их(1\ Если эти приближе- ния выбраны неудачно, то метод расходится (рис. 4.14). 4. Метод Стеффенсена. Итерационная формула метода Стеффен- сена имеет вид х(" + 1) = х(л)--—-J-----------— f(x^), п > 0. (4.50) /(*{")+/(*(л)))-/(*(")) 122
§ 4.7. Модификации метода Ньютона Можно считать, что она получена в результате замены производной /'(х^), входящей в расчетную формулу метода Ньютона, приближе- нием (4.47), гдег(л) = х(л) + /(х(л)). Метод Стеффенсена интересен тем, что он является одношаговым, не требует вычисления производной f и в то же время, как и метод Ньютона, сходится квадратично, если корень х — простой, функция f дважды непрерывно дифференцируема в окрестности корня, а началь- ное приближение х<0> выбрано близко к х . Геометрическая иллюстрация метода Стеффенсена приведена на рис. 4.15. Приближение х^п + получается как абсцисса точки пересе- чения с осью Ох секущей, проходящей через точки и Мл) с коор- динатами (х<л\ f(x^)) и (z^n\ f(z^)). Значение z^ отвечает абсциссе точки пересечения с осью Ох прямой у = f(x^) - (х -х(л^), проходящей через точку и параллельной прямой у = -х. Несмотря на свойство квадратичной сходимости, метод Стеффен- сена уступает методу секущих, поскольку требует большей вычисли- тельной работы для достижения той же точности е. Это связано с тем, что на каждой итерации рассматриваемого метода вычисление функции производится дважды, а в методе секущих лишь один раз. 5. Уточнение метода Ньютона для случая кратного корня. В принципе для вычисления корня уравнения /(х) = 0 кратности т > 1 можно использовать и стандартный метод Ньютона. Однако в этом слу- чае скорость его сходимости является только линейной. Можно пока- зать, что знаменатель q соответствующей геометрической прогрессии приближенно равен 1 - Мт. 123
Глава 4. Методы отыскания решений нелинейных уравнений Для того чтобы сохранить квадратичную скорость сходимости, метод Ньютона нужно модифицировать следующим образом: . ffxW) Х(Л + I) =х(л)_ w £- п > 0. Г(х<”>) (4.51) Можно показать (это достигается раскрытием неопределенностей с помощью формулы Тейлора), что при таком выборе итерационной функции ф(х) = х - т /(х) /'(х) получим ф'(х) = 0, и сходимость снова ока- жется квадратичной. На рис. 4.16, а, б проиллюстрировано поведение последовательных приближений стандартного метода Ньютона и его модификации (4.51) для случая отыскания корня кратности т = 2. Для метода (4.51) значение х(л + получается следующим образом. В точке с координатами (х(л\ Дх^)) к графику функции прово- дится касательная. Пересечение ее с осью Ох дает вспомогательную точку х<л+1). Для получения точки х^п + нужно воспользоваться равенством х^п + -х^ = т(х^п+ -х(л)). Пр и мер 4.10. Применим методы, рассмотренные в данной главе, для вычисления положительного корня уравнения 4(1 - х2) - е* = 0, счи- тая известным, что х е [0, 1] (см. пример 4.2). Результаты вычислений приведены в табл. 4.5—4.8. В них для каж- дого приближения дается число верных знаков и требуемое число вычис- лений значений функции Дх) = 4(1 - х2) - ех (для упрощенного метода 124
§ 4.7. Модификации метода Ньютона Таблица 4.5 Таблица 4.6 Упрощенный метод Ньютона; Метод ложного положения; х<°> = 0.5 с = 1, х<°> = 0.5 п Х(л) Число верных знаков Число вы- числений функций п Число верных знаков Число вы- числений функций 0 0.5000000000 0 0 0 0.5000000000 0 0 1 0.7392185177 1 2 1 0.6660226835 1 2 2 0.6896366262 1 3 2 0.6971284254 2 3 3 0.7081565866 2 4 3 0.7023912700 2 4 4 0.7017501401 2 5 4 0.7032658920 3 5 5 0.7040350503 3 6 5 0.7034108088 4 6 6 0.7032284740 3 7 6 0.7034348083 5 7 7 0.7035142540 4 8 7 0.7034387825 6 8 8 07034131306 4 9 8 0.7034394406 6 9 9 0.7034489297 4 10 9 0.7034395495 7 10 10 0.7034362584 5 11 10 0.7034395676 8 11 Таблица 4.7 Табли ца 4.8 Метод секущих; д г<°> = 1, л <’> = 0.5 Метод Стеффенсена; х(0) = 0.5 Число Число вы- Число Число вы- п X<"> верных числений п Х(Л) верных числений знаков функций знаков функций 0 1.0000000000 0 0 0 0.5000000000 0 0 1 0.5000000000 0 0 1 0.6047702913 0 2 2 0.6660226835 1 2 2 0.6731754719 1 4 3 0 7092548653 2 3 3 0.6998880287 2 6 4 0.7032943284 3 4 4 0.7033854199 3 8 5 0.7034390197 6 5 5 0.7034395584 7 10 6 0.7034395712 10 6 6 0.7034395712 10 12 Ньютона учтено вычисление Вычисления выполнены с деся- тью знаками мантиссы. Отметим, что выбор начальных приближений был довольно случай- ным (хотя и разумным). Тем не менее лучший результат показал метод секущих. Решение с десятью верными знаками мантиссы было получено после пяти итераций и для этого потребовалось лишь шесть вычислений функции. Хотя метод Ньютона (см. пример 4.8) при том же начальном приближении х(0) дает такое же значение х всего после четырех итера- ций, для этого требуется восемь вычислений функции (четыре вычис- ления f и четыре вычисления f). ▲ 125
Глава 4. Методы отыскания решений нелинейных уравнений Таблица 4.9 Метод Ньютона п Х(И) 0 1.0000000000 1 0.6666666667 2 0.4166666667 3 0.2442528736 4 0.1354180464 5 0.0720028071 6 0.0372524647 7 0.0189668249 8 0.0095725027 Таблица 4.10 Уточнение метода Ньютона для случая т = 2 п 0 1.0000000000 1 0.3333333333 2 0.0476190476 3 0.0011074197 4 0.0000006128 5 0.0000000000 Пр и мер 4.11. Применим метод Ньютона и его модификацию (4.51) для вычисления корня х = 0 кратности т = 2 для уравнения х2ех = 0. Возьмем х^ = 1. Результаты вычислений даны в табл. 4.9 и 4.10. Как видно из табл. 4.9, погрешность метода Ньютона убывает довольно медленно и примерно соответствует геометрической прогрессии со знаме- нателем q = 1/2. В то же время пять итераций по формуле (4.51) при т = 2 дают значение решения с погрешностью, меньшей е = 1О~10. ▲ 6. Чувствительность к погрешностям. Рассмотренные в этом пара- графе одношаговые методы можно интерпретировать как различные варианты метода простой итерации. Поэтому исследование их чувстви- тельности к погрешностям сводится (аналогично тому, как это было сде- лано в § 4.6 для метода Ньютона) к использованию соответствующих результатов § 4.5. Например, можно убедиться в хорошей обусловленно- сти модифицированного метода Ньютона и метода ложного положения. Высокая скорость сходимости метода секущих делает его привлека- тельным для применения. Однако вызывает беспокойство тот факт, что в формулу (4.49) входит величина —— ———, аппроксимирующая х\п * ) — производную. Вблизи корня, когда х(л) « х<л ” и /(х(л)) ~ /(х<л " !>) « 0, погрешность вычисления функции начинает существенно сказываться на точности этой величины, и метод секущих теряет устойчивость. Этим он существенно отличается от методов простой итерации и Нью- тона, для которых приближения равномерно устойчивы к погреш- ности независимо от числа итераций п. Тем не менее при грамотном использовании метод секущих дает возможность получить почти столько же верных значащих цифр корня х, сколько вообще позволяет обусловленность задачи (см. § 4.2). Воз- 126
§ 4.8. Дополнительные замечания можная (но не обязательная) потеря точности составляет одну-две вер- ные цифры. Необходимо лишь прервать итерационный процесс в тот момент, когда приближения окажутся в опасной близости к интервалу неопределенности. Один из способов заметить этот момент состоит в использовании правила Гарвика (см. § 4.2). Отметим, что при попадании очередного приближения в малую окрестность решения теряет устойчивость и метод Стеффенсена. § 4.8. Дополнительные замечания 1. Метод обратной квадратичной интерполяции. Пусть приближе- ния х(п ~ 1 2\ х(п ~ Ц х^ уже найдены, а соответствующие значения функ- ции f различны (последнее предположение заведомо будет выполнено, если функция f строго монотонна). Тогда строят такой квадратичный мно- гочлен Р2(у) от переменной у, чтох^ = для i = и - 2, п - 1, п. За очередное приближение к решению принимается х(я + 0 = Р2(0). Этот трехшаговый метод обладает локальной сходимостью с поряд- ком р « 1.839; для начала его работы требуется задание трех хороших начальных приближений. 2. Методы с порядком сходимости выше второго. Приведем при- меры одношаговых методов, обладающих кубической сходимостью. Таковым является итерационный метод1 (и+1) (n) z (Л)хГт 1 1 / (Л)\1 х = х - и(х ) 1 + — V (X ) , П > 0. Здесь »(х) = Дх) /'(*) v(x) = Дх)/"(х) [/'(х)]2 ' Другим примером метода, обладающего кубической скоростью схо- димости, является метод Галлея1 х(п+ 1)=х(и) _ и(х^)----------:-------- 1 1 / (")\ ) п > 0. 1 Этод метод часто называют итерационным методом Эйлера. 2 Эдмунд Галлей (1656—1742) — английский астроном, предсказавший периодиче- ское (с периодом 75 лет) появление кометы, впоследствии названной его именем. 127
Глава 4. Методы отыскания решений нелинейных уравнений Существуют и другие методы с порядком сходимости выше второго, теоретически очень быстро сходящиеся вблизи корня. Однако они редко используются на практике, так как их преимущество в скорости сходимости начинает проявляться лишь тогда, когда итерации уже почти сошлись и в действительности осталось сделать одну-две итера- ции либо вообще пора прекратить вычисления. Чтобы ощутить преиму- щество таких методов над методами Ньютона и секущих, нужны ком- пьютер с очень высокой разрядностью и желание получить решение с чрезвычайно высокой точностью. 3. Вычисление корней многочленов. Вычисление корней много- членов Рт(х) степени т — специальная задача, для решения которой раз- работано большое число эффективных алгоритмов. Укажем на один из них — метод Мюллера. В нем по трем ранее найденным приближениям х(л - 2), х(п - 1), х(п) СТроят интерполяционный многочлен второй степени Q2 (х), т.е. такой многочлен, для которого Q2(x^) = Рт(х^) ПРИ * = и - 2, л - 1, л. За очередное приближение х(" + О принимают тот из двух кор- ней многочлена Q2 (х) (в общем случае являющихся комплексными), который расположен ближе к х(л). Метод Мюллера сходится с поряд- ком р « 1.839. Замечание. Метод Мюллера считается также эффективным методом отыскания комплексных корней функций комплексной переменной. Вплоть до начала 60-х годов XX в. задача отыскания корней много- членов была весьма распространенной. Одна из основных причин состояла в том, что к отысканию корней характеристического много- члена сводилась одна из важнейших задач алгебры — задача вычисле- ния собственных чисел матриц. В настоящее время существуют другие, гораздо более эффективные методы вычисления собственных значений (см. гл. 8), и, по-видимому, задача вычисления корней многочлена во многом потеряла свою актуальность. Как было отмечено ранее, к задаче отыскания корней многочлена высокой степени с приближенно заданными коэффициентами следует отнестись очень осторожно, она может оказаться плохо обусловленной (см. в гл. 3 пример Уилкинсона). Вообще, можно посоветовать избегать применения методов решения вычислительных задач, в которых используются многочлены высокой степени. 4. Гибридные алгоритмы. В последние годы получили признание алгоритмы, которые называют гибридными (или регуляризованными). Они представляют собой комбинации надежных, но медленно сходя- 128
§ 4.8. Дополнительные замечания щихся методов типа бисекции с недостаточно надежными, но быстро сходящимися методами типа секущих или Ньютона. Результирующие алгоритмы обладают высокой надежностью и гарантированной сходимо- стью. В тех же случаях, когда в окрестности простого корня функция f— гладкая, сходимость становится сверхлинейной. Алгоритм ZEROIN, изложенный в [106], является примером эффек- тивного гибридного алгоритма, на каждом шаге которого принимается решение о том, какой из трех методов: бисекции, секущих или обрат- ной квадратичной интерполяции — следует использовать для вычисле- ния очередного приближения. 5. Д2-процесс Эйткена. Пусть {х(и)}^0 — последовательность приближений к корню х, полученная линейно сходящимся итерацион- ным методом (например, методом простой итерации). Использовав три последние найденные приближениях^ - 0, х(п), х^п+ В, можно получить более точное приближение к решению (х(л + О — х(л))2 J(n+ 1) = х(п+ 1) _ у(и+ 1) _ 2х(и) + х(и- !) ’ Этот способ ускорения сходимости используется на завершающем этапе итераций и называется ^-процессом Эйткена. 6. Критерии окончания. Проблема выбора правильного критерия окончания итерационного процесса часто оказывается достаточно сложной. Следует также иметь в виду, что наряду с обсуждавшимся в предыдущих параграфах условием |х(^-х^- | < £j нередко исполь- зуется следующее условие: |/(х("))| < £2. 129
Г лава 5 ПРЯМЫЕ МЕТОДЫ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ §5.1 . Постановка задачи В вычислительной линейной алгебре традиционно выделяют четыре основные задачи: 1) решение систем линейных алгебраических уравнений; 2) вычисление определителей; 3) нахождение обратных матриц; 4) определение собственных значений и собственных векторов. В последние десятилетия к первым четырем задачам добавились еще две: 5) линейная задача метода наименьших квадратов; 6) вычисление сингулярных чисел и сингулярных векторов. Задачи 2 и 3 обсуждаются в § 5.6, последней по порядку (но не по зна- чению) задаче 4 посвящена гл. 8. Задачи 5 и 6 рассматриваются в § 5.12. В основном же данная глава посвящена задаче 1, а более точно — прямым методам решения систем линейных алгебраических уравнений с вещественными коэффициентами: «11 Х1 4- Я 12*2 4- «13х3 4- • + а\тХт » я2| *1 4- *22Х2 4- *23Х3 4- . • + а2тХт ^2» *31 Xj 4- *32х2 4- *33Х3 4- . • + а3тхт = Ь3’ (5.1) amlXl 4- ат^2 4- атЗХ3 4- .. ' + ^тт^т ^т‘ В матричной форме записи эта система принимает вид Ах = Ь, (5.2) где а\2 а\з • 671 _ 1 т Х1 ь\ а2\ а22 *23 • • а2т х2 А = а3\ а32 *зз • • а3т Х3 ьз _ат\ ат2 атЗ • • &тт Хт _Ьт 130
§ 5.2. Нормы вектора и матрицы Итерационные методы решения системы (5.1) будут рассмотрены в ел. 6. Уделим основное внимание задаче вычисление вектора х, являюще- гося решением системы (5.2), по входному данному — вектору Ь. Будем предполагать, что матрица А задана и является невырожденной. Известно, что в этом случае решение системы существует, единственно и устойчиво по входным данным. Это означает, что рассматриваемая задача корректна. Хотя задача решения системы (5.1) сравнительно редко представ- ляет самостоятельный интерес для приложений, от умения эффективно решать такие системы часто зависит сама возможность математиче- ского моделирования самых разнообразных процессов с применением компьютера. Как будет видно из дальнейшего изложения, значительная часть численных методов решения различных (в особенности — нели- нейных) задач включает в себя решение систем (5.1) как элементарный шаг соответствующего алгоритма. Пусть х* = (х*, х2, .--,х^)г — приближенное решение системы (5.1). В этой и следующих главах мы будем стремиться к получению реше- ния, для которого погрешность е - х - х* мала (количественные характеристики «величины» погрешности будут введены в следую- щем параграфе). Тем не менее заметим, что качество полученного реше- ния далеко не всегда характеризуется тем, насколько мала погрешность х - х*. Иногда вполне удовлетворительным является критерий малости невязки г - b - Ах*. Вектор г показывает, насколько отличается правая часть системы от левой, если подставить в нее приближенное решение. Заметим, что г = Ах - Ах* = А (х - х*) и поэтому погрешность и невязка связаны равенством е = х - х* = А~1г. (5.3) § 5.2. Нормы вектора и матрицы 1. Норма вектора. Решением системы линейных алгебраических уравнений является векторх = (хр х2, ..., хш)г, который будем рассматри- вать как элемент векторного пространства Rm. Приближенное решение х* = (х*,х2, ..., х*т)т и погрешность е = х - х* = (Xj - х*, ..., хш - х„ )т также являются элементами пространства Rm. Для того чтобы анализи- ровать методы решения систем, необходимо уметь количественно оце- нивать «величины» векторов х* и х - х*, а также векторов b и b - Ь*, где b* = (Z>*, 62, ...,£^)г — вектор приближенно заданных правых частей. Удобной для этой цели количественной характеристикой является широко используемое понятие нормы вектора. 131
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Говорят, что в Rm задана норма, если каждому вектору х из Rm сопоставлено вещественное число ||х||, называемое нормой вектора х и обладающее следующими свойствами: 1) ||х|| > 0, причем ||х|| = 0 тогда и только тогда, когда х = 0; 2) ||ах|| = | а| ||х|| для любого вектора х и любого числа а; 3) ||х +у|| < ||х|| + ||j|| для любых векторов х и у \ последнее неравенство принято называть неравенством треугольника. Заметим, что такими же свойствами обладает обычная геометриче- ская длина вектора в трехмерном пространстве. Свойство 3) в этом слу- чае следует из правила сложения векторов и из того известного факта, что сумма длин двух сторон треугольника всегда больше длины третьей стороны. Существует множество различных способов введения норм. В вычислительных методах наиболее употребительными являются сле- дующие три нормы: т \ 1/2 У |х,|2 , 11x1100= max |х,-| . (5.4) Первые две из них являются частными случаями более общей нормы: т f llxll, =£|х,|, ||х||2= |х| =( /=1 (при р = 1 и р = 2), а последняя, как можно показать, получается из нормы (5.5) предельным переходом при р -* оо. Замечание 1. Норма ||х||2 = |х| является естественным обоб- щением на случай ти-мерного пространства понятия длины вектора в двух- и трехмерных геометрических пространствах. Поэтому ее называют евклидовой нормой или модулем вектора х. Замечание 2. Справедливы неравенства ||х||оо < ||х||2 < llxll j < т ||х|| оо , (5.6) указывающие на то, что в определенном смысле все три введенные нормы эквивалентны: каждая из них оценивается любой из двух других норм с точностью до множителя, зависящего от т. Пр и мер 5.1. Найдем ||х||,, ||х||2, Hxlla, для вектора х = = (0.12, -0.15, 0.16)7? 132
§ 5.2. Нормы вектора и матрицы По формулам (5.4) определяем ||х||, =0.12 + 0.15 + 0.16 = 0.43, ||х||2 = = (0.122 + 0.152 + 0.162)1/2 = 0.25, Hxlloo = тах{0.12, 0.15, 0.16} =0.16. ▲ 2. Скалярное произведение. Напомним, что скалярным произве- дением векторов х = (хр х2, ..., хт)т и у = (ур у2, ..., уш)г называется величина (x,j)=xly1 + х2у2 + ... + хтут = ^Х/У,. (5.7) /=1 Нетрудно заметить, что ||х||2 = (х, х)1/2. Когда векторы х, у имеют комплексные компоненты, скалярное про- изведение понимают так: (X, J) = X Д, + х2у2 + • • • + Хтут = £Х,У!. /=1 3. Абсолютная и относительная погрешности вектора. Далее будем всюду считать, что в пространстве ти-мерных векторов Rm вве- дена и фиксирована некоторая норма ||х|| (например, одна из норм ||х||, 1 < р < оо). В этом случае в качестве меры степени близости век- торов х и х* естественно использовать величину ||х — х* II, являющуюся аналогом расстояния между точками х и х*. Введем абсолютную и относительную погрешности вектора х* с помощью формул Д(х’) = Цх-х‘11, 8(х’) = ЦрЦ. (5.8) 1|х|| Выбор той или иной конкретной нормы в практических задачах дик- туется тем, какие требования предъявляются к точности решения. Выбор нормы ||х|| j фактически отвечает случаю, когда малой должна быть сум- марная абсолютная погрешность в компонентах решения; выбор ||х||2 соответствует критерию малости среднеквадратичной погрешности, а принятие в качестве нормы ||х|1оо означает, что малой должна быть мак- симальная из абсолютных погрешностей в компонентах решения. 4. Сходимость по норме. Пусть {х(и)}^| — последовательность /п\ / (л) (и) («)ЧГ т' векторов xw = (xj ,х2 ,...,х^ ) . Говорят, что последовательность векторов сходится к вектору х при п —► оо (х^ ~► х при п —► оо), если Д(х(л)) = ||х(л>-х|| —► 0 при п —► оо. 133
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Замечание. Сам факт наличия или отсутствия сходимости x(w) кх при п —► °° в конечномерных пространствах не зависит от выбора нормы. Известно, что из сходимости последовательности по одной из норм следует сходимость этой последовательности по любой другой норме. Например, для норм ||х||,, ||х||2, ПлсНоо это вытекает из неравенств (5.6). Более того, х<л) —> х при и —► °° тогда и только тогда, когда для всех i - 1,2, .... т имеем х- —►х. при п —> оо, т.е. сходимость по норме в Rm эквивалентна покомпо- нентной (покоординатной) сходимости. 5. Норма матрицы. Величина ||Л|| = тах (5.9) х*0 IWI называется нормой матрицы Л, подчиненной норме векторов, введен- ной в Rm. Заметим, что множество всех квадратных матриц размера т х т является векторным пространством. Можно показать, что введенная в этом пространстве формулой (5.9) норма обладает следующими свой- ствами, аналогичными свойствам нормы вектора: 1) ||Л II > 0, причем ||Л || = 0 тогда и только тогда, когда А = 0; 2) ЦаЛ II = | а| ||Л|| для любой матрицы А и любого числа а; 3) ||Л +Л|| < ||Л || + ||Л|| для любых матриц Л и В. Дополнительно к этому верны следующие свойства: 4) ||Л • Л|| < ||Л II • IIЛII для любых матриц Л и В; 5) для любой матрицы Л и любого вектора х справедливо неравенство 1|Лх|| < IIЛ || • 11x11. (5.10) Докажем, например, свойство 5). Если ||х|| * 0, то неравенство (5.10) эквивалентно неравенству ||Лх||/||х|| < ||Л ||, справедливость которого следует из определения (5.9). Если же ||х|| = 0, то неравенство (5.10) превращается в верное числовое неравенство 0 < 0. Как следует из определения (5.9), каждой из векторных норм ||х|| соответствует своя подчиненная норма матрицы Л. Известно, в частно- сти, что нормам ||x||j, ||х||2 и llxll», подчинены нормы ||Л || ।, ||Л||2 и ИЛИ»,, вычисляемые по формулам 11Л|| j = max |я/у.| , (5.11) 1.=1 ||Л||2= max Jkj(ATA), (5.12) 134
§ 5.2. Нормы вектора и матрицы где кj(ATA) — собственные числа1 матрицы АГА\ hlloo = max у |а;/| . (5.13) Нормы МП] и ||>1 II о, вычисляются просто (см. ниже пример 5.2). Для получения значения первой из них нужно найти сумму модулей эле- ментов каждого из столбцов матрицы А, а затем выбрать максимальную из этих сумм. Для получения значения ||/4|1оо нужно аналогичным образом поступить со строками матрицы А. Как правило, вычислить значение нормы ||Л||2 бывает трудно, так как для этого следует искать собственные числа Ху. Для оценки вели- чины ||/41| 2 можно, например, использовать неравенство 1И12<1И1£. (5.14) / т Здесь ||/4||£= / |а7у|2 — величина, называемая евклидовой нормой Ч rj=i матрицы А. Часто эту же величину называют нормой Фробениуса1 и обозначают ||Л||£. Норма (5.9) имеет простую геометрическую интерпретацию. Для того чтобы ее привести, заметим, что операцию умножения матрицы А на век- тор х можно рассматривать как преобразование, которое переводит вектор х в новый вектор у = Ах. Если значение ||х|| интерпретируется как длина вектора х, то величина ||/4х|| / ||х|| есть коэффициент растяжения вектора х под действием матрицы А. Таким образом, величина *max = НII = max (5.15) представляет собой максимальный коэффициент растяжения векторов под действием матрицы А. Полезно отметить, что для невырожденной матрицы А минимальный коэффициент растяжения Xmin отвечает норме обратной матрицы и вычисляется по формуле <516) Заметим, что в случае МП < 1 происходит сжатие векторов под дей- ствием матрицы А. 1 Напомним, что число X называется собственным числом матрицы А, если существует вектор х * 0 такой, чтоЛх = Ал. Каждая матрица порядка т имеет ровно т собственных чисел (вообще говоря, комплексных) с учетом их кратности. 2 Фробениус Фердинанд Георг (1849—1917) — немецкий математик. 135
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Пр и мер 5.2. Для матрицы 0.1 -0.4 0 А = 0.2 0 -0.3 0 0.1 0.3 найдем ИЛИ,, Mil» и оценим 1Ы112. В соответствии с формулами (5.11), (5.13) и неравенством (5.14) имеем Ml,! = max{0.1 + 0.2 + 0; 0.4 + 0 + 0.1; 0 + 0.3 + 0.3} = 0.6; MU = max{0.1 + 0.4 + 0; 0.2 + 0 + 0.3; 0 + 0.1 + 0.3} = 0.5; ( 3 -\l/2 t____ ||Л||2<1И1£ = ^ £ a,J =704=0.63. ▲ M=1 § 5.3. Типы используемых матриц Эффективность вычислений в линейной алгебре существенно зави- сит от умения использовать специальную структуру и свойства исполь- зуемых в расчетах матриц. Напомним некоторые важные типы матриц. Квадратная матрица А называется диагональной, если ее элементы удовлетворяют условию а^ = 0 для i * j (все отличные от нуля элементы расположены на главной диагонали): а\\ 0 0 ... 0 0 а22 0 ... 0 А = 0 0 азз ••• 0 0 0 0 ... атт тт Диагональную матрицу, у которой все элементы ац главной диаго- нали равны единице, называют единичной и обозначают буквой Е: 136
§ 5.3.Типы используемых матриц *11 *12 «13 а 1 _. 1 тп 0 *22 *23 • а** ЛТП 0 0 *33 • Jfn 0 0 0 .. /w/л Пример 5.3. Вычислим норму единичной матрицы Е. п и „и ||Ех|| ||х|| . По определению, ||Е|| = max -й-г- = max r-j = 1. Следовательно, х # 0 х # 0 \\Е\\ = 1. А Важную роль в численном анализе играют треугольные матрицы. Квадратная матрица А называется нижней треугольной, если все ее элементы, расположенные выше главной диагонали, равны нулю (a{j = 0 для i < j). Если же равны нулю все элементы матрицы, распо- ложенные ниже главной диагонали (а/у. = 0 для i > j), то она называ- ется верхней треугольной. Нижняя и верхняя треугольная матрицы имеют соответственно сле- дующий вид: 0 0 ... О б?2] *22 *31 аУ2 *зз ••• О ^т2 ••• ^тт Треугольные матрицы обладают рядом замечательных свойств. Напри- мер, для таких матриц определитель легко вычисляется по формуле det/l =ац-а22-а33-...-атт. (5.17) Квадратная матрица А называется симметричной, если она совпа- дает со своей транспонированной матрицей АТ (или, что то же, для всех i,J). Будем называть симметричную матрицу А положительно опреде- ленной и писать А > 0, если для всех векторов х ^0 квадратичная форма (Ах, х) = £ aijxix) ij-l принимает положительные значения. Обозначим через Xmin и Хтах минимальное и максимальное собст- венные значения матрицы А. Известно, что для симметричной матрицы WW 2 (Лх, х) ^max М 2 и матрица А положительно определена тогда и только тогда, когда все ее собственные значения положительны. 137
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Одна из трудностей практического решения систем большой размер- ности связана с ограниченностью оперативной памяти компьютера Хотя объем оперативной памяти вновь создаваемых вычислительных машин растет очень быстро, тем не менее еще быстрее возрастают потребности практики в решении задач все большей размерности (напомним, что для хранения в оперативной памяти компьютера матрицы порядка т требу- ется т2 машинных слов). В значительной степени ограничения на раз- мерность решаемых систем можно снять, если использовать для хране- ния матрицы внешние запоминающие устройства. Однако в этом случае многократно возрастают как затраты машинного времени, так и слож- ность соответствующих алгоритмов. Поэтому при создании вычисли- тельных алгоритмов линейной алгебры большое внимание уделяют спо- собам компактного размещения элементов матриц в памяти компьютера. Заметим, что для хранения диагональной матрицы достаточно отвести массив длины т и расположить в нем элементы яи, а22, ..., атт. Для хра- нения треугольной матрицы достаточно т(т + 1 )/2 ячеек памяти, что примерно вдвое меньше места, отводимого для хранения матрицы общего вида. Столько же ячеек используется для хранения симметричной матрицы, поскольку такая матрица полностью определяется, например, заданием своей нижней треугольной части. К счастью, приложения очень часто приводят к матрицам, в кото- рых число ненулевых элементов много меньше общего числа элемен- тов матрицы. Такие матрицы принято называть разреженными. Напро- тив, матрицы общего вида называют плотными (или заполненными). Разреженность матрицы является очень ценным свойством, поскольку объем информации, который следует обрабатывать и хранить в памяти компьютера, для таких матриц даже очень большого размера может оказаться не слишком большим. Для хранения всех ненулевых элемен- тов и информации об их расположении оказывается достаточным использовать только оперативную память компьютера. Иногда эле- менты матрицы известны либо вычисляются по простым формулам и необходимость в их хранении отпадает. Одним из основных источников разреженных матриц являются математические модели технических устройств, состоящих из большого числа элементов, связи между которыми локальны. Простейшие при- меры таких устройств — сложные строительные конструкции и боль- шие электрические цепи Другой важный источник разреженности — метод конечных разностей и метод конечных элементов, используемые для решения уравнений математической физики. Известны примеры решенных в последние годы задач, где число неизвестных достигало сотен тысяч Естественно, это было бы невоз- можно, если бы соответствующие матрицы не являлись разреженными (число элементов матрицы при т = 105 равно т х т = 1О10). 138
§ 5.4. Обусловленность задачи решения системы линейных алгебраических уравнений Рис. 5.1 Простой пример разреженной матрицы дает трехдиагональная матрица а12 0 0 0 0 0 a2l а22 а23 0 0 0 0 0 а32 а33 а34 0 0 0 0 0 0 0 • • • - 1, т - 2 ат - 1, т - 1 ат- 1, т 0 0 0 0 0 ат, т - 1 ^тт все ненулевые элементы которой расположены на главной и двух сосед- них с ней диагоналях. Число этих элементов равно Зт - 2, что при боль- шом т много меньше общего числа т2 элементов матрицы. Многие приложения приводят к системам уравнений с так называе- мыми ленточными матрицами. Матрица А называется ленточной с полу- шириной ленты, равной /, если а-- = 0 для |/ -у| > /. Все ненулевые эле- менты такой матрицы расположены на s = 2/ + 1 ближайших к главной диагоналях матрицы; число s принято называть шириной ленты. Схема- тически ленточная матрица представлена на рис. 5.1. Частным случаем ленточной матрицы при s = 3 является трехдиагональная матрица. Ясно, что в случае s т ленточная матрица является разреженной. § 5.4. Обусловленность задачи решения системы линейных алгебраических уравнений Оказывается, что решения различных систем линейных алгебраиче- ских уравнений обладают разной чувствительностью к погрешностям входных данных. Так же как и другие задачи (см. § 3.2), задача вычис- ления решения х системы уравнений Ах = Ь (5.18) может быть как хорошо, так и плохо обусловленной. 139
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Исследование обусловленности задачи начнем со случая, когда эле- менты матрицы А считаются заданными точно, а вектор-столбец пра- вой части — приближенно. Лемма 5.1. Для погрешности приближенного решения системы (5.18) справедлива оценка Д(х*) < ||Л-’|| • и , (5.19) где г = Ъ - Ах* — невязка, отвечающая х*. Для доказательства достаточно взять норму левой и правой частей равенства (5.3) и воспользоваться свойством (5.10). Теорема 5.1. Пусть х* — точное решение системы Ах* = Ь*, в которой правая часть Ь* является приближением к Ь. Тогда верны сле- дующие оценки абсолютной и относительной погрешностей'. Д(х*)<удД(Г), (5.20) 5(х’)<у85(Г), (5.21) где уд = ИЛ-Ч1, v5(x)= ЦЛ-Ч1 • Ш/IMI = М-'Ц • ||Лх||/||х||. Доказательство. В рассматриваемом случае г - b-Ax* = b - Ь* и неравенство (5.19) принимает вид (5.20). Разделив теперь обе части неравенства (5.20) на ||х|| и записав его в виде д(х*) h-чым д(Г) 11x11 - llxll IM ’ приходим к оценке (5.21). Замечание 1. Величина уд = ||Л-11| для задачи (5.18) играет роль абсолютного числа обусловленности (см. § 3.2). Замечание 2. Величина v5(x) = |Ц~11| • ||А||/||х|| называется естественным числом обусловленности. Она зависит от конкрет- ного решения х и характеризует коэффициент возможного возрас- тания относительной погрешности этого решения, вызванного по- грешностью задания правой части. Это означает, что v5(x) для за- дачи вычисления решения х системы (5.18) играет роль относи- тельного числа обусловленности (см. § 3.2). Замечание 3. Полученные в теореме 5.1 оценки точны в том смысле, что для системы Ах = b с произвольной невырожденной матрицей А и любой заданной правой частью b * 0 найдется сколь угодно близкий к b приближенно заданный вектор Ь* Ь, для кото- рого неравенства (5.20) и (5.21) превращаются в равенства. 140
§ 5.4. Обусловленность задачи решения системы линейных алгебраических уравнений Вычислим максимальное значение естественного числа обусловлен- ности, использовав определение (5.4) нормы матрицы: max v8(x) = max - !! = ЦЛ’11| • ||ЛII. (5.22) х#о Их II Полученную величину принято называть стандартным числом обу- словленности (или просто числом обусловленности) матрицы А и обо- значать через v(A) или сопс!(Л). Таким образом, у (A) =cond(^)= М-Ч1 • МП. (5.23) Сформулируем важное следствие из теоремы 5.1. Следствие. В условиях теоремы 5.1 справедлива оценка 5(х*) < cond(/4) -5(0 (5.24) Для ее доказательства достаточно воспользоваться оценкой (5.21) и заметить, что в силу равенства (5.22) верно неравенство v5 <cond(/l). Замечание. Оценка (5.24) точна в том смысле, что для сис- темы (5.18) с произвольной невырожденной матрицей А найдутся правая часть Ъ * 0 (и отвечающее этой правой части решение х) и сколь угодно близкий к b приближенно заданный вектор b* * b такие, что неравенство (5.24) превращается в равенство. Величина cond(/l) является широко используемой количественной мерой обусловленности системы Ах = Ь. В частности, систему и матрицу А принято называть плохо обусловленными, если cond(/l) 1. В силу оценки (5.24) и последнего замечания для такой системы существуют решения, обладающие чрезвычайно высокой чувствительностью к малым погрешностям задания входного данного Ь. Тем не менее заме- тим, что не для всякого решения х коэффициент v5(x) роста относи- тельной погрешности достигает значений, близких к максимально воз- можному значению cond(y4). Отметим следующие свойства числа обусловленности. 1°. Для единичной матрицы cond(E) = 1. Доказательство. Пользуясь тем, что Е~х = Е и ||Е|| = 1 (см. при- мер 5.3), получаем cond(E) = ||Е-1|| • ll£|| = 1. 2°. Справедливо неравенство cond(X) > 1. Доказательство. Из равенства Е = А вА~1, свойства 4° норм мат- риц и равенства ||Е|| = 1 следует, что 1 = ||Е|| < ||Л-1|| • Mil =cond(/4). 3°. Число обусловленности матрицы А не меняется при умноже- нии матрицы на произвольное число а * 0. 141
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Доказательство. Заметим, что (аЛ)-1 = а Поэтому cond(<b4)= ||аЛ||-||(аЛ)~1|| = |а| • ||Л|| |а|-1 ||Л-1|| = cond(/i). Замечание. Пользуясь приведенной в § 5.2 геометрической интерпретацией норм матриц А и А~1 (см. формулы (5.15) и (5.16)), число обусловленности можно интерпретировать как отношение максимального коэффициента растяжения векторов под действием матрицы А к минимальному коэффициенту. cond(/l) = £max/£min. Величина cond(/l) зависит, вообще говоря, от выбора нормы векто- ров в пространстве R™. Фактически это есть зависимость максимального коэффициента роста погрешности от способа измерения величины вход- ных данных и решения. В частности, выбору нормы ||х||р (1 < р < оо) отвечает condp(/l) = ||Л~1||р • ||Л||р. Пр и мер 5.4. Вычислим cond^C^) для матрицы А = 1.03 0.991 0.991 0.943 (5.25) Сначала найдем обратную матрицу -87.4 91.8 91.8 -95.4 Тогда condoo^) = НЛЦ^ • ||Л-1|1оо » 2.021 • 187.2 ® 378. Если вход- ные данные для системы уравнений с матрицей (5.25) содержат относи- тельную погрешность порядка 0.1—1 %, то систему можно расценить как плохо обусловленную. ▲ Пр и мер 5.5. Рассмотрим систему уравнений 1.03*, +0.991х2 = 2.51, 0.991*! +0.943х2 = 2 41 (5.26) с матрицей (5.25). Ее решением является *j « 1 981, *2 « 0.4735. Правая часть системы известна в лучшем случае с точностью до 0.005, если считать, что числа 2.51 и 2.41 получены округлением «истинных» зна- чений при вводе в память трехзначного десятичного компьютера. Как влияет погрешность во входных данных такого уровня на погрешность решения? Возмутим каждую из компонент вектора правой части Ъ = = (2 51, 2.41 )г на 0.005, взяв Ь* = (2.505, 2.415)г. Решением системы, 142
§ 5.4. Обусловленность задачи решения системы линейных алгебраических уравнений отвечающим А*, является теперь xf ® 2.877, ~-0.4629. Таким обра- зом, решение оказалось полностью искаженным. Относительная погрешность задания правой части 5 (Ь*) = ||6 - А*11оо/Шоо =0.005/2.51 « » 0.2 % привела к относительной погрешности решения 5(х*) = = Цх-х*Иоо/Ыоо 51 0.9364/1.981 « 47.3 %. Следовательно, погреш- ность возросла примерно в 237 раз. Можно ли внести в правую часть системы (5.26) такую погрешность, чтобы получить существенно большее, чем 237, значение коэффициента роста погрешности? Вычислим естественное число обусловленности, являющееся максимальным значением рассматриваемого коэффициента, отвечающим решению х « (1.981, 0.4735)г и получим v5(x) = = 1Й-Ч1оо11^Ноо/Ыоо » 187.2-2.51/1.981 « 237. Таким образом, на поставленный вопрос следует ответить отрицательно. Можно дать следующую геометрическую интерпретацию рассмот- ренного примера. Каждому уравнению системы (5.26) соответствует прямая на плоскости OxjX2. По коэффициентам при Xj и х2 в этих урав- нениях видно, что прямые почти параллельны. Так как вблизи точки пересечения прямые почти сливаются, то даже незначительная погрешность в задании положения этих прямых существенно меняет положение точки пересечения (рис. 5.2). ▲ Пример 5.6. Традиционным примером очень плохо обусловленной матрицы является матрица Гильберта1 —матрица Яс элементами = = !/(/+;-1). 1 Давид Гильберт (1862—1943) — немецкий математик, исследования которого ока- зали большое влияние на развитие современной математики. 143
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Таблица 5.1 Порядок матри- цы Гильберта 2 3 4 5 6 7 8 9 10 Приближенное значение числа обусловленности 2-Ю1 5 • 102 2-Ю4 5-Ю5 2-Ю7 5-Ю8 2-Ю10 5-10" 2-Ю13 Из табл. 5.1, заимствованной из [107], видно, что для матрицы Я даже сравнительно невысокого порядка число обусловленности оказывается чрезвычайно большим. ▲ До сих пор мы предполагали, что матрица А задана точно. Однако на практике это часто не так. Как выясняется, введенная выше вели- чина сопс1(Л) характеризует также и чувствительность решений сис- темы к малым погрешностям задания элементов матрицы А. В подтвер- ждение сказанного приведем следующий результат. Теорема 5.2. Пусть х* — точное решение системы А*х* = b с приближенно заданной матрицей А*. Тогда верна следующая оценка относительной погрешности'. б* (х*) < сопб(Л) • 5(Л ♦), (5.27) гдеб*(х*) = ||х —х*||/||х*||, 5(ЛФ) = ||Л -А* ||/||Л||. Доказательство. В данном случае невязка г имеет вид г-b -Ах = = А*х* - Ах* -(А* - А)х*. Применяя неравенство (5.19), получаем цепочку неравенств . . _||х-х’|| h-'ll• IIG4.-л)х’|| М-Ч1 • U-лЦ• 11x1 _ 8(Х)~ 11x1 - 11x1 - 11x1 = cond(/l)‘ 5(Л*). Следствие. В условиях теоремы 5.2 справедливо приближенное неравенство 5(х*) < сопсЦЛ) -5(Л,). (5.28) Замечание 1. Когда с погрешностью заданы как правая часть системы, так и матрица (т.е. х* является решением системы Л»х* = = А*), причем сопё(Л) ) < 1, можно доказать справедливость неравенства 5(х*) <cond(H)(5(A*)+5(Лф)). 144
§ 5.5. Метод Гаусса Замечание 2. Распространенным является представление о том, что по значению определителя матрицы А можно судить о сте- пени близости системы уравнений к вырожденной или об обуслов- ленности системы. Для того чтобы убедиться в ошибочности этого мнения, умножим каждое из уравнений системы (5.1) на постоян- ную а 0. Ясно, что такое преобразование никак не меняет решение системы и его чувствительность к малым относительным погрешно- стям в данных. Однако определитель умножается на число ат и поэтому с помощью выбора а может быть сделан как угодно боль- шим или малым. Подчеркнем, что число обусловленности сопс!(Л) при таком преобразовании системы не меняется в силу свойства 3°. Замечание 3. Вычисление чисел обусловленности v5(x) = = ||Л_,|1 ’ Ш/Ы исопс1(Л)= ИЛ"11| • ||Л|| непосредственно по ука- занным формулам предполагает предварительное вычисление обрат- ной матрицы Л-1. Вследствие большой трудоемкости этой операции (как показано в § 5.6, для ее выполнения в общем случае требуется примерно 2т3 арифметических операций) на практике избегают та- кого способа вычисления. При этом важно отметить, что в большин- стве случаев достаточно лишь грубой оценки числа обусловленности с точностью до порядка. С эффективными методами, дающими оцен- ки величин vg(x) и соп<1(Л), можно познакомиться в [81, 106, 54]. Проверить чувствительность решения системы Ах = b к погрешно- стям можно и экспериментально. Для этого достаточно решить задачу несколько раз с близкими к b правыми частями ftO), ^(2), Можно zw 5(х01) ожидать, что величина v5 = max —— даст оценку значения v5(x). 1 <1<п Ъ(ЬУ’) Во всяком случае она дает оценку снизу, так как vg < v5(x) < сопё(Л). § 5.5. Метод Гаусса Рассмотрим один из самых распространенных методов решения сис- тем линейных алгебраических уравнений — метод Гауссах. Этот метод (который называют также методом последовательного исключения неизвестных) известен в различных вариантах уже более 2000 лет. 1 Карл Фридрих Гаусс (1777—1855) — немецкий математик и физик, работы которого оказали большое влияние на дальнейшее развитие высшей алгебры, геометрии, теории чисел, теории электричества и магнетизма. 145
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Во всяком случае, его использовали китайские математики примерно за 250 лет до новой эры. Вычисления с помощью метода Гаусса состоят из двух основных этапов, называемых прямым ходом и обратным ходом (обратной подстановкой). Прямой ход метода Гаусса заключается в последова- тельном исключении неизвестных из системы (5.1) для преобразования ее к эквивалентной системе с верхней треугольной матрицей. Вычисле- ния значений неизвестных производят на этапе обратного хода. 1. Схема единственного деления. Рассмотрим сначала простейший вариант метода Гаусса, называемый схемой единственного деления. Прямой ход состоит из т - 1 шагов исключения. 1-й шаг. Целью этого шага является исключение неизвестного из уравнении с номерами i = 2, 3, ..., т. Предположим, что коэффициент * 0. Будем называть его главным (или ведущим) элементом 1-го шага. Найдем величины ц(1 =а,|/а|1 (/ = 2,3, (5.29) называемые множителями 1-го шага. Вычтем последовательно из вто- рого, третьего, ..., ти-го уравнений системы (5.1) первое уравнение, умноженное соответственно на ц21» Мз 1» •••» Mmi- ^то позволит обратить в нуль коэффициенты при во всех уравнениях, кроме первого. В результате получим эквивалентную систему *13Х3 + -+fllA = Ь\> . (1) _ Ad) а22 Х2 + Я23 Хз + • • • + а2тХт ~ ^2 » а32)%2 + азз)%з + ••• + аз2х/и = ^з (5.30) ат2Х2 + ат3х3 + ••• + = \ mz Z. т э э тт тп т ’ « (1) »(1) . в которой а- и bf (i,j = 2, 3, ..., т) вычисляются по формулам ау} = ai}~ b<i'} = bi~ Ма*1- (5-3!) 2-й шаг. Целью этого шага является исключение неизвестного х2 из уравнений с номерами i = 3, 4, ..., т Пусть а22 * 0, где а22 — коэффициент, называемый главным (или ведущим) элементом 2-го шага. Вычислим множители 2-го шага Ц;2 = aY2/a22 0 = 3, 4, .... т) 146
§ 5.5. Метод Гаусса и вычтем последовательно из третьего, четвертого, ..., m-го уравнений системы (5.30) второе уравнение, умноженное соответственно на Мз2» М42» •••’ МШ2 В результате получим систему ЯцХ! + а,2х2 + а13х3 + . .. + 1 т т = bt, (1), , (1) . 6^22 х2 ' ^23 х3 ' ’' .. + Oilxm лт т = ь(2'\ (2) 4. азз хз + • . J2)v аЗтХт = Ь(3\ (5.32) (2) m3 (2) тт = № а х3 + ... + а Здесь и />!2) (/,/ = 3, 4, ..., т) вычисляются по формулам (2)_ (1) .. J’> J2)-JO .. jo aij aif Vi2a2j * ~ M/2^2 * Аналогично проводятся остальные шаги. Опишем очередной &-й шаг. к-и шаг. В предположении, что главный (ведущий) элемент к-го (*-1) j шага акк отличен от нуля, вычислим множители к-го шага = /акк (/= 1, ..., т) и вычтем последовательно из (к + 1)-го, ..., т-ro уравнений полученной на предыдущем шаге системы к-с уравнение, умноженное соответст- венно на^+1Д,^ + 2Д, После (т - 1)-го шага исключения получим систему уравнений ЯцХ| + ^12х2 + а13х3 + • ' тхт Jlk . (1) . а22 х2 + а23 х3 + •' . jnv ^2тХт = J2)V + азз хз + •• .. + а^х эШ ТП = />з2), (5.33) О _ О атт хт ’ матрица Л(ш" О которой является верхней треугольной. На этом вычис- ления прямого хода заканчиваются. Обратный ход. Из последнего уравнения системы (5.33) находим хт. Подставляя найденное значение хт в предпоследнее уравнение, получаем хт_ г Осуществляя обратную подстановку, далее последова- 147
Глава 5. Прямые методы решения систем линейных алгебраических уравнений тельно находимхт_2,хт_3, ..., хг Вычисления неизвестных здесь про- водятся по формулам т т ' тт ’ ,(*-!)_ (Аг-1) _ (Аг-1) = °_к____ак,к+\хк+\ ••• акт хт Хк ~ (к-1) акк Трудоемкость метода. Оценим число арифметических опера- ций, необходимых для реализации схемы единственного деления. Вычисления 1-го шага исключения по формулам (5.29), (5.31) тре- буют выполнения т - 1 деления, (т - })т умножений и (т - \)т вычитаний, т.е. общее число арифметических операций составляет Q} = = 2(т - I)2 + 3(ти - 1). Аналогично, на 2-м шаге требуется Q2 ~ 2(т - 2)2 + + 3(ти - 2) операций, а на к-м шаге — Qk = 2(т - к)2 + 3(ти - к) операций. Подсчитаем теперь приближенно общее число Q арифметических операций прямого хода, считая размерность системы т достаточно большой: т—1 т-1 т-l т-l т-1 Q = £e* = 2£(m-*)2 + 3£(m-*) = 2£^ + 3£* = к=\ к=\ к=\ А=1 Л-1 2(т — I )т(2т — 1) 3(/и — 1)/и 2 , =--------------- ч— -----— » - т5. 6 2 3 Как нетрудно видеть, для реализации обратного хода по формулам (5.34) нужно всего т2 операций, что при больших т пренебрежимо мало по сравнению с числом операции прямого хода. Таким образом, для реализации метода Гаусса требуется примерно (2/3)ти3 арифметических операций, причем подавляющее число этих действий совершается на этапе прямого хода. Пример 5.7. Методом Гаусса решим систему 10х, + 6х2 + 2х3 = 25, 5Х] + х2 - 2х3 + 4х4 = 14, 3xj + 5х2 + х3 - х4 = 10, 6х2 - 2х3 + 2х4 = 8. Прямой ход. 1-й шаг. Вычислим множители ц21 = я21/яи = 5/Ю = 0.5, ц3, = = я31/я11 = 3/10 =0.3, ц41 = я41/яп = 0/10 = 0. Вычитая из второго, 148
§ 5.5. Метод Гаусса третьего и четвертого уравнений системы (5.35) первое уравнение, умноженное на р2р М31 и М41 соответственно получаем: lOxj + 6х2 + 2х3 = 25, - 2х2 - Зх3 + 4х4 = 1.5, (5 36) 3.2х2 + 0-4*3 - х4 = 2.5, 6*2 - 2х3 + 2х4 = 8. 2-й шаг. Вычислим множители ц32 = ~ 3.2/(—2) = -1.6, ц42 = 6/(-2) = -3. Вычитая из третьего и четвертого уравнений системы (5.36) второе уравнение, умноженное на ц32 и ц42 соответственно, при- ходим к системе 10х, + 6х2 + 2*з = 25, - 2*2 - Зх3 + 4х4 = 1.5, - 4.4х3 + 5.4х4 = 4.9, - 11*з + 14*4 = 12.5 (5-37) 3-й шаг. Вычисляя множитель ц43 = (—11)/(—4.4) = 2.5 и вычитая из четвертого уравнения системы (5.37) третье уравнение, умноженное на ц43, приводим систему к треугольному виду: 10х, + 6*2 + 2*3 = 25, - 2*2 - 3*з + 4х4 =1.5, - 4.4х3 + 5.4х4 = 4.9, 0.5*4 = °-25 (5.38) Обратный ход. Из последнего уравнения системы находим *4 = 0.5. Подставляя значение *4 в третье уравнение, находим х3 = = (4.9 - 5.4х4)/(—4.4) = -0.5. Продолжая далее обратную подстановку, получаем х2 = (1.5 + Зх3 - 4х4)/(-2) = 1, х, = (25 - 6*2 - 2х3)/10 = 2. Итак, %] = 2, х2 = 1, *3 = -0.5, х4 = 0.5. Результаты вычислений приведены в табл. 5.2. ▲ Необходимость выбора главных элементов. Заметим, что вычисление множителей, а также обратная подстановка предполагают (*-1) п деление на главные элементы акк . Поэтому если один из главных 149
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Таблица 5.2 Наименование а,\ а,2 а,з а,4 Ь, Исходная система 10 6 2 0 25 — 5 1 -2 4 14 — 3 5 1 -I 10 — 0 6 -2 2 8 — 1-й шаг прямого хода 10 6 2 0 25 — 0 -2 -3 4 1.5 0.5 0 3.2 0.4 -1 2.5 0.3 0 6 -2 2 8 0 2-й шаг прямого хода 10 6 2 0 25 — 0 -2 -3 4 1.5 — 0 0 -4.4 5.4 4.9 -1.6 0 0 -11 14 7.5 -3 3-й шаг прямого хода 10 6 2 0 25 2 и обратный ход 0 -2 -3 4 1.5 1 0 0 -4.4 5.4 4.9 -0.5 0 0 0 0.5 0.25 0.5 элементов оказывается равным нулю, то схема единственного деления не может быть реализована. Здравый смысл подсказывает, что и в ситуации, когда все главные элементы отличны от нуля, но среди них есть близкие к нулю, возможен неконтролируемый рост погрешности. Пример 5.8. Используя метод Гаусса, решим систему уравнений 2xj - 9х2 + 5х3 = -4, 1.2х, - 5.3999х2 + 6х3 = 0.6001, (5.39) X] - х2 - 7.5х3 = -8.5 на 6-разрядном десятичном компьютере. Пря мой ход. 1-й шаг. Вычисляем множители ц21 = 0.6 и ц31 = 0.5 и преобразуем систему к виду 2х} - 9х2 + 5х3 = -4, 0.0001 х2 + Зх3 = 3.0001, 3.5х2 - 10х3 = -6.5. (5.40) Все вычисления на этом шаге выполняются без округлений. 2-й шаг. После вычисления множителя ц32 = 3.5/0.0001 = 35 000 последнее уравнение системы должно быть преобразовано к виду 150
§ 5.5. Метод Гаусса 4з,лз= ’ где «и = -10 - 3- р 32 = -105 010, б’32) =-6.5 - 3.0001- и 32 = = -105 010. Однако на используемом компьютере будет получено уравнение -105 010х3 = -105 011. (5.41) Действительно, коэффициент определяется точно, так как при его вычислении не возникает чисел, мантиссы которых имеют более шести разрядов. В то же время при вычислении 632) умножение коэффициента 3.0001 на ц32 дает 7-разрядное число 105 003.5, после округления кото- рого до шести разрядов получится 105 004. Вычисление 632) завер- шается выполнением операции вычитания: » -6.5 - 105 004 = = -105 010.5. После округления последнего числа до шести разрядов мантиссы приходим к уравнению (5.41). Обратный ход. Из уравнения (5.41) находим х3 » 1.00001. Срав- нение с истинным значением х3 = 1 показывает, что эта величина полу- чена с очень высокой для используемого компьютера точностью. Дальнейшие вычисления дают х2 = (3.0001 - Зх3)/0.0001 = (3.0001 - 3.00003)/0.0001 = 0.7; = (^4 + 9х2 - 5х3)/2 = (^4 + 6.3 - 5.00005)/2 = -1.350025. После округления имеем Х| = -1.35003. Как нетрудно видеть, найденные значения неизвестных имеют мало общего с истинными значениями решения Xj = 0, х2 = 1, х3 = 1. В чем же причина появления такой значительной погрешности? Говорить о накоплении ошибок округления не приходится, так как всего было выполнено 28 арифметических операций и лишь в четырех случаях потребовалось округление. Предположение о плохой обуслов- ленности системы не подтверждается; вычисление сопдоДЛ) дает зна- чение, равное примерно 100. В действительности причина состоит в использовании на 2-м шаге (2) малого ведущего элемента а22 = 0.0001. Следствием этого стало появле- ние большого множителя р32 и существенное возрастание коэффициен- тов в последнем уравнении системы. ▲ Таким образом, изложенный выше вариант метода Гаусса (схема единственного деления) оказался некорректным и, следовательно, непри- годным для вычислений на компьютере. Этот метод может привести 151
Глава 5. Прямые методы решения систем линейных алгебраических уравнений к делению на нуль (если акк =0 при некотором к), и вычисления по нему могут оказаться неустойчивыми. 2. Метод Гаусса с выбором главного элемента по столбцу (схема частичного выбора). Описание метода. На к-м шаге прямого хода коэффициенты урав- нений системы с номерами i = к + I, ..., т преобразуются по формулам aiJ ^"ik^kj » b’i ^"ik^k » * !>•••> (5.42) Интуитивно ясно, что во избежание сильного роста коэффициентов системы и связанных с этим погрешностей нельзя допускать появления больших множителей В методе Гаусса с выбором главного элемента1 по столбцу гаранти- руется, что | | < 1 для всех к = 1,2, ..., m - 1 и i = к + 1, ..., /и. Отли- чие этого варианта метода Гаусса от схемы единственного деления заключается в том, что на Л-м шаге исключения в качестве главного элемента выбирают максимальный по модулю коэффициент Г1) при неизвестной хк в уравнениях с номерами i - к, к + 1, ..., т. Затем соот- ветствующее выбранному коэффициенту уравнение с номером ik меняют местами с к-м уравнением системы для того, чтобы главный элемент занял место коэффициента а\кк~1). После этой перестановки исключение неизвестного хк производят, как в схеме единственного деления. Пример 5.9. Решим систему уравнений (5.39) методом Гаусса с выбором главного элемента по столбцу на 6-разрядном десятичном компьютере. Прямой ход. 1-й шаг. Максимальный в первом столбце элемент матрицы нахо- дится в первой строке, поэтому перестановка уравнений не нужна. Здесь 1-й шаг проводится точно так же, как и в примере 5.8. 2-й шаг. Среди элементов ~ 0.0001 и = 3.5 матрицы сис- темы (5.40) максимальный по модулю принадлежит третьему уравне- нию. Меняя местами второе и третье уравнения, получаем систему 2х] - 9х2 + 5х3 = -4, 3.5х2 ~ Юх3 = -6.5, 0.0001 х2 + Зх3 = 3.0001. 1 Выбор главного элемента иногда называют пивотированием. 152
§ 5.5. Метод Гаусса После вычисления ц32 ~ 0.0001/3.5 « 2.85714* 10~5 последнее урав- нение системы преобразуется к виду 3.00029х3 = 3.00029. Обратный ход. Из последнего уравнения находим х3 = 1. Далее, имеем х2 =(-6.5 + 10х3)/3.5 = 1, = (-4 + 9х2 - 5х3)/2 = (-4 + 9 - 5)/2 = 0. В данном случае ответ получился точным. ▲ Заметим, что дополнительная работа по выбору главных элементов в схеме частичного выбора требует порядка т2 действий, что практиче- ски не влияет на общую трудоемкость метода. Вычислительная устойчивость схемы частичного вы бора. Детальное исследование метода Гаусса показывает, что дейст- вительной причиной неустойчивости схемы единственного деления явля- ется возможность неограниченного роста элементов промежуточных мат- риц ^0), А® ..., в процессе прямого хода. Так как на к-м шаге схемы частичного выбора |р^|< 1, то для вычисленных по формулам /с лпч (к) I (k)i . I (к- 1)| , I (к-1). (5.42) элементов atJ справедлива оценка |а, '| < |a;z | + \akj | . Следовательно, максимальное по модулю значение элементов матрицы возрастает на одном шаге не более чем в 2 раза и в самом неблагоприятном случае т - 1 шаг прямого хода даст коэффициент роста ф(ти) = 2т ~ !. Гарантия ограниченности роста элементов матрицы делает схему частичного выбора вычислительно устойчивой. Более того, для нее ока- зывается справедливой следующая оценка погрешности: 5(х*) </(m)cond£(^)-8M. (5.43) Здесь х* — вычисленное на компьютере решение системы; 5(х*) = = ||х — х*||2/||х||2 — его относительная погрешность; condf(/l) = = ||ЛII£||Л-11|Е — число обусловленности матрицы Л; 8М — машинное эпсилон; наконец, f(m) - С(т)ф(т)у где С(т) — некоторая медленно растущая функция, зависящая от порядка т системы (типа степенной функции с небольшим показателем). Наличие в оценке (5.43) множителя ф(/и) = 2т ~ 1 указывает на то, что при большом т схема частичного выбора может оказаться плохо обусловленной и возможна существенная потеря точности. Однако практика матричных вычислений показывает, что существенный рост элементов матрицы происходит крайне редко. В подавляющем боль- шинстве случаев действительное значение коэффициента роста не пре- вышает 8—10. Если система хорошо обусловлена, то погрешность вычисленного решения оказывается, как правило, малой. Иногда для проверки качества приближенного решения х* вычис- ляют невязку г = Ь- Ах* и о степени близости приближенного решения 153
Глава 5. Прямые методы решения систем линейных алгебраических уравнений к точному пытаются судить по тому, насколько мала невязка. Этот метод ненадежен по отношению к схеме частичного выбора, так как известно, что она гарантированно дает малые невязки. Более точно это утверждение можно сформулировать так: справедлива оценка ||г||2 </(ш)||Л||£||х||2ем, (5.44) где f(m) то же, что и в оценке (5.43). Заметим, что в неравенство (5.44) не входит число обусловленности. 3. Метод Гаусса с выбором главного элемента по всей матрице (схема полного выбора). В этой схеме допускается нарушение естест- венного порядка исключения неизвестных. На 1-м шаге метода среди элементов я-определяют максимальный по модулю элемент щ ; . Первое уравнение системы и уравнение с номером Zj меняют местами. Далее стандартным образом производят исключение неизвестного Xj из всех уравнений, кроме первого. На Л-м шаге метода среди коэффициентов a\j при неизвестных в уравнениях системы с номерами / = к, ..., т выбирают максимальный по модулю коэффициент off- !). Затем к-е уравнение и уравнение, к 'к содержащее найденный коэффициент, меняют местами и исключают неизвестное ху- из уравнений с номерами / = к + 1, ..., т. На этапе обратного хода неизвестные вычисляют в следующем порядке: х- , х- ..., х- ' т J т — I I Пр и мер 5.10. Решим систему (5.39), использовав схему полного выбора на 6-разрядном десятичном компьютере. Прямой ход. 1-й шаг. Максимальный по модулю элемент я12 =-9 содержится в первом уравнении, поэтому перестановка уравнений не нужна. Исклю- чаем неизвестное х2 из второго и третьего уравнений, используя мно- жители ц21 = —5.3999/(—9) « 0.599989 и ц31 = -1/(-9) * 0.111111. В результате получаем систему 2Х] - 9х2 + 5х3 = -4, 0.000022х1 + 3.00006х3 = 3.00006, 0.777778X1 - 8.05556х3 = -8.05556. 154
§ 5.5. Метод Гаусса 2-й шаг. Среди коэффициентов при неизвестных во втором и тре- тьем уравнениях максимальным по модулю является коэффициент = = -8.05556. Переставляя местами второе и третье уравнения и исключая неизвестное х3 (соответствующий множитель ц32 = 3.00006/(—8.05556) » » -0.372421), приходим к системе 2х] - 9х2 + 5х3 = -4, 0.777778Х, - 8.05556х3 = -8.05556, 0.289683*! = 2.89240- 10"7. Обратный ход. Из последнего уравнения находим *j = = 2.89240 • 10“7/0.289683 « 9.98470 • 10’7. Далее, имеем х3 = (-8.05556 - - 0.777778xj)/(-8.05556) « 1.00000, х2 = (-4 - 2х, - 5х3)/(-9) « 1.00000. Округляя найденные значения до пяти цифр после десятичной точки, получим ответ: *j = 0.00000, х2 = 1.00000, х3 = 1.00000. Заметим, что в данном случае получено решение, совпадающее с точным. ▲ Схема полного выбора по сравнению со схемой частичного выбора дает существенное замедление роста элементов матрицы. Доказано, что для нее коэффициент роста ф(ти), входящий в оценку (5.43), не превы- шает значения ти1/2 (21 -31/2-41/3 тХ1^т ~ ^)1/2 < 1.8m1/2m°251пш (что значительно меньше соответствующего значения ф(т) = 2Ш-1 для схемы частичного выбора). Более того, длительное время существовала гипотеза Уилкинсона, согласно которой для схемы полного выбора ф(ти) < т. Только в 1991 г. была найдена1 матрица 13-го порядка, для кото- рой ф(13) = 13.025 > 13. Таким образом, для хорошо обусловленных систем этот вариант метода Гаусса является хорошо обусловленным. Однако гарантия хорошей обусловленности достигается здесь ценой значительных затрат на выбор главных элементов. Для этого дополни- тельно к (2/3 )ти3 арифметическим действиям требуется произвести при- мерно ти3/3 операций сравнения, что может ощутимо замедлить про- цесс решения задачи на компьютере2. Поэтому в большинстве случаев на практике предпочтение отдается все же схеме частичного выбора. Как уже отмечено выше, ситуации, когда при использовании этого варианта метода Гаусса происходит существенный рост элементов, 1 N. Gould. On growth in Gaussian elimination with complete pivoting // SIAM J. Matrix Anal. Appl. 1991. Vol. 12(2). P. 354—361. 2 Заметим, что на современных высокопроизводительных компьютерах операции с плавающей точкой выполняются почти так же быстро, как и операции сравнения. 155
Глава 5. Прямые методы решения систем линейных алгебраических уравнений встречаются чрезвычайно редко. Более того, эти ситуации могут быть легко выявлены с помощью заложенных в современных программах эффективных методов слежения за ростом элементов матриц. 4. Случаи, когда выбор главных элементов не нужен. Известно что, для некоторых классов матриц при использовании схемы единст- венного деления главные элементы гарантированно располагаются на главной диагонали и потому применять частичный выбор нет необхо- димости. Так, например, обстоит дело для систем с симметричными положительно определенными матрицами, а также с матрицами, обла- дающими свойством строчного диагонального преобладания'. т £ |а,7| < |а;;| , /=1,2,..., т. (5.45) Матрицы, удовлетворяющие условию (5.45), таковы, что в каждой из строк модуль элемента аи, расположенного на главной диагонали, больше суммы модулей всех остальных элементов строки. 5. Масштабирование. Перед началом решения целесообразно мас- штабировать систему так, чтобы ее коэффициенты были величинами порядка единицы. Существуют два естественных способа масштабирования1 системы Ах = Ь. Первый заключается в умножении каждого из уравнений на некоторый масштабирующий множитель Второй состоит в умноже- нии на масштабирующий множитель ау каждогоу-го столбца матрицы, что соответствует замене переменных x^-a^Xj (фактически — это замена единиц измерения). В реальных ситуациях чаще всего масшта- бирование может быть выполнено без существенных трудностей. Однако подчеркнем, что в общем случае удовлетворительного способа масштабирования пока не найдено. На практике масштабирование обычно производят с помощью деле- ния каждого уравнения на его наибольший по модулю коэффициент либо на евклидову норму соответствующей строки матрицы А. Это вполне удовлетворительный способ для большинства реально встре- чающихся задач. 1 Иногда эту операцию называют уравновешиванием. 156
§ 5.6. Метод Гаусса и решение систем уравнений, обращение матриц § 5.6. Метод Гаусса и решение систем уравнений с несколькими правыми частями, обращение матриц, вычисление определителей Рассмотрим применение метода Гаусса к решению следующих задач линейной алгебры: 1) вычисление решений системы уравнений с несколькими пра- выми частями; 2) вычисление обратной матрицы; 3) вычисление определителя. 1. Вычисление решений системы уравнений с несколькими правым частями. Довольно часто на практике встречается ситуация, когда нужно решить несколько систем уравнений ^ = </(1)’Лх=</(2)> •••’Лх = </(р) (546) с одной матрицей А и различными правыми частями d^, •••» Конечно, применив метод Гаусса к каждой из систем (5.46) незави- симо от других, можно найти соответствующие решения х^^х^, затратив примерно (2/3)рт3 арифметических операций. Однако при одновременном решении систем (5.46) число операций можно сущест- венно сократить. Как было отмечено в § 5.5, основные вычислитель- ные затраты в методе Гаусса связаны с преобразованием матрицы к треугольному виду. Преобразование же правой части производится параллельно и требует примерно т2 арифметических операций. Если параллельно с приведением матрицы А к треугольному виду преобра- зовать по однотипным формулам все р правых частей, то на прямой ход метода будет затрачено только примерно (2/3)?и3 + рт2 операций. С учетом обратного хода общие вычислительные затраты составят примерно (2/3)т3 + 2рт2 арифметических операций. Преобразование правых частей не обязательно производить парал- лельно. Каждую из правых частей ^2), •••, можно обработать последовательно, если после приведения матрицы А к треугольному виду -1) сохранить в памяти компьютера множители и матрицу А<т~ 2. Вычисление обратной матрицы. Прежде чем переходить к изложению метода вычисления обратной матрицы А~1 для квадратной невырожденной матрицы А, отметим, что в действительности про- блема вычисления обратной матрицы возникает не так часто, как это можно предполагать. К сожалению, нередко обращение матрицы А производится с единст- венной целью вычислить по известному вектору b векторх видах -А~ХЬ. Умножение матрицы Л-1 на вектор требует примерно 2т2 арифметиче- ских операций. Однако вычисление Л-1 обходится (как будет показано 157
Глава 5. Прямые методы решения систем линейных алгебраических уравнений ниже) примерно в 2т3 операций. Это означает, что на вычисление решения системы Ах = b по формуле х - А~ХЬ будет затрачено при- мерно 2т3 операций. В данном случае х можно найти в 3 раза быстрее методом Гаусса и вычисление А~1 не нужно. Более того, можно ожи- дать, что вычисленное методом Гаусса решение окажется точнее, так как потребуется выполнение меньшего числа операций. Может показаться особенно выгодным предварительное вычисле- ние матрицы Л-1, если далее потребуется найти большое число векто- ров по формулам х(2)=у4 •••» Х{р)~^ (5.47) Однако суммарные затраты при таком подходе составят примерно 2ти3 + 2рт2 операций, в то время как при одновременном решении мето- дом Гаусса эквивалентных систем (5.46) получаем значения х^, х(2), ... ..., х^у примерно за (2/3) w3 + 2рт2 операций. Следовательно, и в этом случае вычисление А~х нецелесообразно. Иногда в пользу необходимости вычисления А~1 приводится сле- дующий довод. Если известно, что в течение длительного времени потребуется неоднократно решать системы уравнений вида (5.46) с фиксированной матрицей А и различными правыми частями d^ky то имеет смысл предварительно вычислить А~]. Записав А~1 в память компьютера можно затем по мере необходимости быстро вычислить х^Л) по формуле х(к} = A~]d(ky Однако использование Л (7-разложения матрицы А (см. § 5.7) позволяет вычислять х(^ столь же быстро, а предварительная работа на этапе разложения дает трехкратную эконо- мию. Таким образом, и этот довод в пользу необходимости вычисле- ния обратной матрицы неубедителен. Довольно часто при решении различных задач средствами линейной алгебры возникают выражения типа v = B'CA-'WD'w. (5.48) Если у исследователя нет достаточного опыта решения задач линейной алгебры на компьютере, то он может принять решение о необходимо- сти вычислять матрицы В-1,^-1, В-1, чтобы действовать далее по фор- муле (5.48). Однако и в этом случае, можно поступить иначе и найти v с меньшими затратами. Решив систему Dx = н>, найдем х = D~]w. Затем вычислим у = FFx и, решив систему Az = у, найдем z =А~1у. Наконец, вычислим и = Cz и, решив систему Bv = и, найдем v - В~1и. Сказанное выше вовсе не означает, что нет ситуаций, когда вычис- ление матрицы А'1 необходимо и оправдано. В ряде технических при- ложений и статистических задач непосредственный интерес представ- ляет анализ свойств именно обратной матрицы. Тем не менее, как мы 158
§ 5.6. Метод Гаусса и решение систем уравнений, обращение матриц видим, в матричных вычислениях можно и следует обходиться без вычисления обратных матриц. Авторы настоятельно рекомендуют не вычислять обратные матрицы, если только в дальнейшем не предпола- гается анализ элементов этих матриц. Покажем, как вычисление обратной матрицы можно свести к рас- смотренной выше задаче решения системы уравнений с несколькими правыми частями. Обозначим матрицу А_| через V, ее столбцы — через Vp v2, • ••, vm и столбцы единичной матрицы Е — через е2, ...» ет. Согласно определению обратной матрицы верно равенство AV = Е, эквивалентное совокупности равенств Av, = et, Av2 = e2, ..., Avm = em. (5.49) Таким образом, столбцы матрицы V = А-1 (а следовательно, и саму матрицу), можно найти, решив т систем уравнений с общей матрицей А. Согласно изложенному выше, для этого потребовалось бы при- мерно (8/3)ти3 арифметических операций, однако учет специального вида правых частей системы (5.49) позволяет вычислять матрицу Л-1 примерно за 2т3 операций. 3. Вычисление определителя. Воспользуемся алгоритмом метода Гаусса с выбором главного элемента по столбцу и заметим, что иско- мый определитель и определитель полученной треугольной матрицы А^т ~ связаны равенством det Л = (-1)5 det А(т~ где 5 — число потребовавшихся перестановок строк. Остается восполь- зоваться формулой (5.17), и тогда получим det^ = (-l)’o<M)...ai,V0. (5-50) где а<| = Дц. Отметим, что вычисление по формуле (5.50) требует осо- бой аккуратности, в особенности если число т велико. Как мы убеди- лись в примере 3.29, при вычислении произведений следует специаль- ным образом упорядочивать сомножители. Неудачный порядок их расположения может привести к получению результата, равного ±оо, или к существенной потере точности. Этого можно избежать, если для вычисления det Л воспользоваться формулой In |det Л I = £1п\а\\" °|. 1=1 Однако следует иметь в виду, что ее использование может привести к некоторой потере точности. 159
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Замечание. Действительная необходимость в вычислении определителей возникает довольно редко Во всяком случае осно- ванные на их использовании алгоритмы оказываются весьма неэф- фективными (как в примере 3.34, где обсуждалось правило Кра- мера), и поэтому вычисление определителей давно уже не является элементом современных алгоритмов линейной алгебры. Кроме того, из результатов в § 5.4 следует, что использование величины det/1 для определения степени близости системы уравнений к вырожденной дает весьма ненадежный и сомнительный критерий. Пример 5.11. Использовав метод Гаусса с выбором главного эле- мента по столбцу, вычислим определитель матрицы 2 -9 5 А = 1.2 -5.3999 6 1 -1 -7.5 на 6-разрядном десятичном компьютере. Повторив преобразования из примера 5.9, получим матрицу л(2)= о 3.5 -10 0 0 3.00029 Так как была сделана одна перестановка строк, то формула (5.50) дает det (Л) « (-1) • 2 • 3.5 • 3.00029 « -21.0020. ▲ Можно с достаточной степенью уверенности предположить, что во многих технических науках, где традиционно используются определи- тели, в ближайшее время неизбежен переход к использованию других, более содержательных характеристик линейных моделей. Такими есте- ственными характеристиками могут служить, например, собственные числа и собственные векторы матриц (см. гл. 8). § 5.7. Метод Гаусса и разложение матрицы на множители, /^разложение Вернемся еще раз к методу Гаусса, чтобы рассмотреть его с более общих позиций. Излагаемый ниже подход оказался чрезвычайно плодо- творным и привел не только к более глубокому пониманию метода, но и позволил создать высокоэффективные машинные алгоритмы его реализа- ции, а также рассмотреть другие точные методы с единой точки зрения. 160
§ 5.7. Метод Гаусса и разложение матрицы на множители. Ш-разложение Рассмотрим сначала простейший вариант метода Гаусса для реше- ния системы линейных алгебраических уравнений Ах = Ь. (5.51) 1. Схема единственного деления и LlZ-разложение. При выполне- нии вычислений 1-го шага исключения по схеме единственного деле- ния система уравнений приводится к виду А^Х = = А<'\ (5.52) где а\\ 6712 а13 ... т ь\ 0 (1) а22 (1) а23 • • ’ (D а2т Л(0 = 0 (D а32 (О азз • • • (1) а3т , *(') = 0 (1) ат2 (1) атЗ а(,) тт _ а коэффициенты (i,j = 2, 3, ..., т) вычисляются по формулам (5.29), (5.31). Введем матрицу -ци. 0 0 ... 1 Как нетрудно проверить, справедливы равенства А^=М{А9 Ь^=М{Ь9 т.е. преобразование системы (5.51) к виду (5.52) эквивалентно умноже- нию левой и правой частей системы на матрицу М}. Аналогично можно показать, что вычисления 2-го шага исключения приводят систему (5.52) к виду А™х = Ь<2\ где А&=М2А«\ №=М2Ь^'9 161
Глава 5. Прямые методы решения систем линейных алгебраических уравнений «11 «12 «13 ••• <*1т ’1 0 0 ... о" 0 (1) «22 (D «23 ’ ’ • (1) «2т 0 1 0 ... 0 AW = 0 0 (2) «33 ••• 42) 3m , М2 = 0 ~Мз2 1 ... 0 , М2> = № 0 0 J2) «m3 • • • а(2) mm _ 0 ~Нт2 0 ... 1 №. После (т - 1)-го шага, завершающего прямой ход, система оказыва- ется приведенной к виду Л('»-Пх = *(т-1) (5 53) с верхней треугольной матрицей Я *>. Здесь Л<'"-|)=Л/т ,Ат~2, Ь(т-''>=МЯ, где «11 «12 д,з ... «1т 0 (1) «22 (1) «23 • • • (1) «2т Д(т~ 1) = 0 0 (2) «33 ••• (2) «Зт , м м т — 0 0 0 ... (.-0 тт 10 0... 0 0 0 1 0 ... О О О 0 0 ... 1 О О 0 0 ... -и т . 1 Г ш, /И — 1 Ь1 № £(*»-!) = /и Заметим, что матрица А^т получена из матрицы А последова- тельным умножением на M2i ...» Мт _ ,: А^т~^ =Мт_} ...М2М}А. (5.54) Аналогично, Ь^~^=Мт_} ...М2М}Ь. (5.55) Из равенства (5.54) вытекает следующее представление: А = М['м;' ... М-'^А^-». (5.56) 162
§ 5.7. Метод Гаусса и разложение матрицы на множители, ((/-разложение Как легко проверить, м;' = 1 0 0 ... 0 ц21 1 0 ... 0 ц3| 0 1 ... 0 . М2_,= "1 0 0 ... о' 0 1 0 ... 0 0 ц32 1 ... 0 Ит1 0 0 ... 1 -° мт2 0 ••• 1. 10 0... 0 0 О 1 0 ... О О О 0 0 ... 1 О О 0 0 ••• Мт т 1 1 Для этого достаточно перемножить матрицы Мк~1 и Мк (к = 1, ... ..., т- 1), в результате чего получится единичная матрица. Введем обозначения U = А^т~ L = Г1 ... М~]_}. Вычисляя матрицу L, убеждаемся в том, что она имеет следующий вид: 1 0 0 . . 0 М21 1 0 . . 0 М31 Мз2 1 . .. 0 Mml Mm2 Mm3 • .. 1 (5.57) Тогда равенство (5.56) в новых обозначениях примет вид A = LU. (5.58) Это и есть1 LU-разложение матрицы А — представление матрицы А в виде произведения нижней треугольной матрицы L и верхней тре- угольной матрицы U. Таким образом, прямой ход метода Гаусса без перестановок можно рассматривать как процесс вычисления L(/-разложения матрицы сис- темы, на fc-м шаге которого определяются элементы fc-ro столбца мат- рицы L и fc-й строки матрицы U. Возможность L(/-разложения обосновывается следующей теоремой. 1 Обозначения треугольных матриц буквами £ и U вызваны тем, что эти буквы явля- ются начальными в английских словах lower — «нижний» и upper — «верхний». 163
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Теорема 5.3. Если все главные миноры матрицы А отличны от нуля, то существуют единственные нижняя треугольная матрица L вида (5.57) и верхняя треугольная матрица U такие, что А = LU. Структура матриц L и U позволяет организовывать компактное раз- мещение элементов этих матриц в памяти компьютера по мере их вычисления. На fc-м шаге исключения в области памяти, где первона- чально располагалась матрица А, размещается матрица ан Й21 Я]2 J1) а22 ••• а\к (1) ••• а2к а\,к + 1 (1) а2,к+ 1 ••• а\т _(1) ••• а2т М-1) • • акк М-1) ак, к + 1 ... кт 1,1 Ш+ 1,2 ••• М*+1Д А*) ак+ \,к+ 1 м * * * ак+ 1,т Mml Mm2 MmAr (*) ат,к+ 1 ... а(к) тт При этом вся необходимая для дальнейших вычислений информация сохраняется. Пр и мер 5.12. Проиллюстрируем Л (7-разложение на примере реше- ния системы (5.35). На основании данных табл. 5.2 можно записать ’1 0 0 о' 10 6 2 0 L = 0.5 1 0 0 . и = 0 -2 -3 4 0.3 -1.6 1 0 0 0 -4.4 5.4 _0 -3 2.5 1_ _0 0 0 0.5 _ Следовательно, £ (7-разложение матрицы системы имеет вид 10 6 2 о" 1 0 0 О' '10 6 2 0 5 1 -2 4 0.5 1 0 0 • 0 -2 -3 4 3 5 1 -1 0.3 -1.6 1 0 0 0 -4.4 5.4 0 6 -2 .2. _0 -3 2.5 1_ .0 0 0 0.5 d 2. Использование £С7-разложения. В современных программах, реализующих метод Гаусса на компьютере, вычисления разбивают на два основных этапа. Первый этап — это вычисление £Г/-разложения матрицы системы. Второй этап — обработка правых частей и вычисле- ние решения. 164
§ 5.7. Метод Гаусса и разложение матрицы на множители. Ш-разложение Смысл выделения первого этапа состоит в том, что он может быть выполнен независимо, для его проведения не нужна информация о пра- вой части системы. Это как бы этап предварительной подготовки к быстрому вычислению решения. Именно для получения ЛСУ-разложе- ния производится основная масса вычислений (примерно (2/3)т3 ариф- метических операций). На втором этапе выполняют следующие действия: 1 °. Преобразуют правую часть b по формулам прямого хода; необхо- димые для вычисления коэффициенты берут из матрицы L. В резуль- тате получают вектор Ь^т~ В, связанный с вектором b формулой (5.55). 2°. С помощью обратной подстановки решают систему Ux = b^m ~. Для непосредственного вычисления решения х на втором этапе тре- буется примерно 2т2 арифметических операций. В случае, если необходимо решить р систем уравнений (5.46) с фик- сированной матрицей Л и различными правыми частями первый этап проводят лишь один раз. Затем последовательно р раз про- водят вычисления второго этапа для получения решений х^^х^, ...,х^. Для этого, как и в § 5.6, требуется примерно (2/3)ти2 + 2рт2 арифмети- ческих операций. Пр и мер 5.13. Решим систему IO*] + 6х2 + 2х3 = 8, 5xi + *2 ~ 2х3 + 4х4 = 7, 3xi + $х2 + хз ” х4 = 2, 6х2 - 2х3 + 2х4 = 2. Воспользуемся L(/-разложением матрицы системы, указанным в примере 5.12. Сначала преобразуем вектор правой части b = (8, 7, 2, 2)г по формулам прямого хода. 1-й шаг. Ь{2]) = Ь2 — р21 = 7 ~ 0.5 • 8 = 3, ~ Ь3 - = 2- - 0.3 • 8 = -0.4, />4 ) = Ь4 - р416] = 2 - 0 • 8 = 2. После 1-го шага получим = (8, 3, -0.4, 2)г. 2-й шаг. Ь{2) = = -0.4 - (-1.6)-3 = 4.4, Ь(42) = Ь{4}) - - li42b2 ) = 2 - (-3) • 3 = 11. После 2-го шага найдем № = (8, 3, 4.4, 11)г. 165
Глава 5. Прямые методы решения систем линейных алгебраических уравнений 3-й шаг. ^3) = *<2)- p43Z>32) = 11 -2.5 *4.4 = 0. В результате прямого хода получен вектор № = (8, 3, 4.4, 0)г и система приведена к виду 1 О*] + 6х2 + 2х3 = 8, - 2х2 - Зх3 + 4х4 = 3, - 4.4х3 + 5.4х4 = 4.4, 0.5х4 = 0. Обратный ход дает значения неизвестных х4 = 0, х3 = -1, х2 = 0, х, = 1. ▲ 3. Метод Гаусса с выбором главного элемента и разложение мат- рицы на множители. В отличие от схемы единственного деления схема частичного выбора предполагает на к-м шаге прямого хода пере- становку уравнений системы с номерами ik и к (при выборе в качестве главного элемента к-го шага элемента а^к !)). Это преобразование эквивалентно умножению системы на матрицу Рк, которая получается из единичной матрицы перестановкой ik-n и к-п строк (см. пример 5.14). Исключение неизвестного на к-м шаге по-прежнему эквива- лентно умножению системы на матрицу Мк. Таким образом, после 1-го шага система Ах = b преобразуется к виду А^х = гдеЛ^ = МХРХА, = МХРХЬ. После 2-го шага сис- тема преобразуется к виду А^х = Ь^2\ где = Л/2Р2Л(1), № = = М2Р2Ь^. После завершающего (т - 1 )-го шага прямого хода система оказывается приведенной к виду А (т~ ]^х = Ь^т~ гдеЛ(ш" = Мт_ }Рт_}А^т~2\ №~^=Мт }Рт }ь<т~2\ т - \ т - \ Как нетрудно видеть, Л<т-|)=Л/_ ,Рт . ... М-,Р7М,Р,Л, *(<"-) = М р МуР7М,Р,Ь. Ш — 1 Ш — I Z Z II (5.59) (5.60) Равенство (5.59) равносильно следующему разложению матрицы А на множители: А = Р?М?Р?М? ... P^M'^U, (5.61) где U = А^т ~ В — верхняя треугольная матрица. Разложение (5.61) не является Л {/-разложением матрицы А. Однако прямой ход по-прежнему равносилен L{/-разложению, но уже не самой 166
§ 5.7. Метод Гаусса и разложение матрицы на множители. /.^-разложение матрицы А, а матрицы А, полученной из нее в результате соответст- вующей перестановки строк. Это разложение имеет вид A=LU, (5.62) где Л = Рт _ ] Рт _ 2 ... Р2Р\А, L — нижняя треугольная матрица, отли- чающаяся от матрицы (5.57) перестановкой множителей в столбцах. Пр и мер 5.14. Найдем разложение вида (5.62) для матрицы сис- темы (5.39), используя результаты вычислений примера 5.9. Так как 1-й шаг прямого хода не потребовал перестановки, а на 2-м шаге были переставлены второе и третье уравнения, то 1 0 0 1 0 0 2-9 5 0 1 0 0 0 1 1 -1 -7.5 0 0 1 0 1 0 1.2 -5.3999 6 Для матрицы А прямой ход уже проводится по схеме единствен- ного деления. Отличие от вычислений примера 5.9 состоит в том, что на 2-м шаге множители ц21 и ц31, а также второе и третье уравнения системы (5.40) меняются местами. В результате получим разложение вида (5.62), где 1 0 0 2 -9 5 £ = 0.5 1 0 0 3.5 -10 0.6 2.9- IO’5 1 0 0 3.00029 После получения разложения вида (5.62) для решения системы Ах = b выполняют следующие действия. 1°. Правую часть перестановкой элементов приводят к виду ^=Лл-1Ля-2 Р2Р\Ъ. 2°. Преобразуют вектор b по формулам прямого хода; необходи- мые для вычислений множители ц/7 берут из матрицы L. В результате получают вектор Ь^т~ 3°. Обратной подстановкой решают систему Ux = Ъ^т ~ Заметим, что матрица перестановки Рк полностью определяется заданием номера ik уравнения, которое переставляется с fc-м уравне- нием. Поэтому для хранения всей информации о перестановках доста- точно целочисленного массива длины т - 1. 167
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Пример 5.15. Решим систему (5.39), использовав полученное в примере 5.14 разложение матрицы А . Здесь вектор b = (-4, 0.6001, -8.5)г преобразуется в вектор b = = (-4, -8.5, 0.6001)г перестановкой второго и третьего элементов. Прямой ход. 1-й шаг. Z>2 ) = *2~l*2i*i =-8.5 - 0.5(-4) =-6.5, = -1*31*1 = = 0.6001 - 0.6 *(-4) = 3.0001. В результате 1-го шага имеем = = (-4, -6.5, 3.0001)г. 2-й шаг. = b(P= 3.0001 - 2.9 • 105 • (-6.5) « 3.00029. В результате прямого хода правая часть оказалась приведенной к виду ^(2) = (-4, -6.5, 3.00029)7. Обратный ход проводится точно так же, как в примере 5.9, и дает значения х3 = 1, х2 = 1, %] =0. А § 5.8. Метод Холецкого (метод квадратных корней) 1. Описание метода. Пусть требуется решить систему линейных алгебраических уравнений Ах = Ъ (5.63) с симметричной положительно определенной матрицей А. Системы уравнений такого типа часто встречаются в приложениях (например, в задачах оптимизации, при решении уравнений математической физики и др.). Для их решения весьма часто применяется метод Холец- кого' (другое название —метод квадратных корней)2. В основе метода лежит алгоритм построения специального L(/-раз- ложения матрицы А, в результате чего она приводится к виду А = LLT. (5.64) В разложении Холецкого (5.64) нижняя треугольная матрица ^11 0 . .. 0 £ = ^21 ^22 • .. 0 (5.65) Jm\ ^т2 * • ^тт _ 1 Андре-Луи Холецкий (1875—1918) — французский математик и геодезист, лейте- нант артиллерии. Погиб во время Первой мировой войны. 2 Идея метода была опубликована Гауссом в 1806 г. 168
§ 5.8. Метод Холецкого (метод квадратных корней) уже не обязательно должна иметь на главной диагонали единицы, как это было в методе Гаусса, а требуется только, чтобы диагональные эле- менты 1п были положительными. Если разложение (5.64) получено, то решение системы (5.63) сво- дится к последовательному решению двух систем с треугольными мат- рицами: Ly = b, LTx=y. (5.66) Для решения систем (5.66) требуется выполнение примерно 2т2 арифметических операций. Найдем элементы матрицы L. Для этого вычислим элементы мат- рицы LLT и приравняем их соответствующим элементам матрицы А. В результате получим систему уравнений 41 “ ап» 41 /11 , i 2t 3,..., w, fl ,fl _ *21 *" '22 ~ a22’ 4141 + 4*2 4г = a/2> z = 3, 4, ..., m; .............................................. (5.67) 41 + 4z + ••• + hk = akk’ + ^i2^k2^ ••• + ^i^kk~ aik> * = 1, fl , fl . , fl = mm amm' Решая систему (5.67), последовательно находим 41 = » 41 =a/i/zii’ * = 2,3, 4г= J a22 ~ 41 ’ h2 = (ai2~li\l2i)/l22^ i = (5.68) / - I I2 P I2 • lkk~ N akk~lk\ ~lk2~ ••• hk = (aik~hJk\ ~ h2^k2 ~ “ 4, к- 1 4.Л- 1 )/4*’ f = & + 1, ...» W; 1 = I -I2 -I2 ^l2 mm N amm *m\ *m2 169
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Заметим, что для вычисления диагональных элементов используется операция извлечения квадратного корня. Поэтому метод Холецкого называют еще и методом квадратных корней. Доказано, что положи- тельность соответствующих подкоренных выражений является следст- вием положительной определенности матрицы А. Замечание. Как следует из формул (5.68), матрица L, входящая в разложение Холецкого (5.64), определяется по матрице А одно- значно. 2. Достоинства метода. Метод Холецкого обладает рядом ценных качеств, которые позволяют предпочесть его методу Гаусса, если тре- буется решить систему линейных алгебраических уравнений с симмет- ричной и положительно определенной матрицей. Как нетрудно подсчитать, число операций, выполняемых в ходе вычисления разложения (5.64) по формулам (5.68), равно примерно т3Г$. Учитывая, что для решения систем (5.66) требуется примерно 2m2 арифметических операций, убеждаемся, что при больших т метод Холецкого требует вдвое меньше вычислительных затрат по сравнению с методом Гаусса. Учет симметричности матрицы А позволяет экономно использовать память компьютера при записи исходных данных задачи и результатов вычислений. Действительно, для задания матрицы А достаточно ввести в память компьютера только элементы atJ (i > j\ расположенные на главной диагонали и под ней. В формулах (5.68) каждый такой элемент ау используется лишь однажды для получения / и далее в вычислениях не участвует. Поэтому в процессе вычислений найденные элементы / могут последовательно замещать элементы atJ. В результате нижняя треугольная матрица L может быть располо- жена в той области памяти, где первоначально хранилась нижняя тре- угольная часть матрицы А. Применение для решения системы (5.63) метода Гаусса потребовало бы использования примерно вдвое боль- шего объема памяти. Безусловным достоинством метода Холецкого является также его гарантированная устойчивость. Пр и мер 5.16. Использовав метод Холецкого, найдем решение сис- темы уравнений с симметричной положительно определенной матрицей: 6.25%] - х2 + 0.5х3 = *7.5, -%] + 5х2 + 2.12х3 = -8.68, 0.5xj + 2.12х2 + З.6х3 = -0.24. 170
§ 5.9. Метод прогонки По формулам (5.68) последовательно находим: 7ц = = 7 6.25 = 2.5, /21 = а21 । = -1/2.5 = -0.4; /3) = а31//ц = 0.5/2.5 = 0.2, l22 = 7«22 - Z2I = 75-0.16 = 2.2; >32 = (*32 - 1зМП22 = (2-12 - 0.2(-0.4))/2.2 = 1; >зз = ^азз-123}-132= Аб-0.22 *- I2 = 1.6. Следовательно, матрица L такова: 2.5 0 0 i = -0.4 2.2 0 0.2 1 1.6 Система Ly = b имеет вид 2.5у, = 7.5, -0.4^] + 2.2у2 — -8.68, 0.2у| + у 2 + 1.6у3 = -0.24. Решая ее, получаем у} = 3, у2 = -3.4, у3 = 1.6. Далее из системы LTx = у, которая имеет вид 2.5%| - 0.4х2 + 0.2х3 = 3, 2.2х2 + х3 = -3.4, 1.6х3 = 1.6, находим решение = 0.8, х2 = -2, х3 = 1. А § 5.9. Метод прогонки Рассмотрим метод прогонки' — простой и эффективный алгоритм решения систем линейных алгебраических уравнений с трехдиагональ- ными матрицами Ь\х\ + с\х2 = ^1’ ^2*1 + 6^2 + С2*3 = ^2’ aixi-l + 1 = <’ <5*69) ат - 1Хт - 2 - 1Хт - 1 ст - \Хт - I’ - 1 ^пГ 1 Метод прогонки был предложен в начале 50-х годов независимо несколькими авто- рами, в том числе российскими учеными И.М. Гельфандом, О.В. Локуциевским, В.С. Вла- димировым, А.С. Крон родом. 171
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Системы такого вида часто возникают при решении различных задач математической физики, а также при решении других вычисли- тельных задач (например, приближения функций сплайнами). 1. Вывод расчетных формул. Преобразуем первое уравнение сис- темы (5.69) к виду = a,x2 + Р,, (5.70) где a, =-c1/Z>1, р, = dxlbx. Подставим полученное для выражение во второе уравнение сис- темы: °2(а1х2 + ₽1) + ^2*2 + СЛ = ^2’ Преобразуем это уравнение к виду х2 = а2х3 + ₽2’ (571) ГДе О>2 С^1 (Z>2 ^2^1)> ^2 (^2 а2Р1^^2 Выражение (5.71) подставляем в третье уравнение системы и т.д. На /-м шаге этого процесса (1 < i < т) i-e уравнение системы преоб- разуется к виду х/ = аЛ-+1 + ₽ь (5-72) где а; = -<•/(/>; + а;а;_ ]), 0;= (</,- а;Р;_ ()/(/>,- +д;а;_ ,). На т-м шаге подстановка в последнее уравнение выражения хт_х = = ат - l*m + Pm - 1 Дает; am(®m - 1 Хт Pm - 0 ^тхт ~ ^т' Откуда можно определить значение хт: хт ~ Pm = (d„ - а „В I )/(Ьм + а^ат ,). Значения остальных неизвестных для i = т - 1, т - 2, 1 теперь легко вычисляются по формуле (5.72). 2. Алгоритм прогонки. Сделанные преобразования позволяют организовать вычисления метода прогонки в два этапа. Прямой ход метода прогонки (прямая прогонка) состоит в вычисле- нии прогоночных коэффициентов a; (1 < i < т) и Р; (1 < i < т). При i = 1 коэффициенты вычисляют по формулам ai=-ci/Yi> Pi=<VYi< Yi = (5.73) а при i = 2, 3, ..., т - 1 — по рекуррентным формулам Р; = Ц-a,Pi-iKY;, Y; = ct;_ , (5.74) 172
§ 5.9. Метод прогонки При i - т прямая прогонка завершается вычислением Pm = {dm - ат$т Y = 6 1. (5.75) Обратный ход метода прогонки {обратная прогонка), дает значения неизвестных. Сначала полагают xm = Вт. Затем значения остальных неизвестных вычисляют по формуле х, = а,х,+ ] + р;, z = m-1,т-2, ...» 1. (5.76) Вычисления ведут в порядке убывания значений i от т - 1 до 1. Пример 5.17. Использовав метод прогонки, решим систему 5xj х2 = 2.0, 2х, + 4.6х2 - х3 = 3.3, 2х2 + З.6х3 - 0.8х4 = 2.6, Зх3 4.4х4 = 7.2. Прямой ход. Согласно формулам (5.73)—(5.75) получаем: Yj = b} = 5, dj =-с1/у1 = 1/5 = 0.2, Р] = Jj/Yj = 2.0/5 = 0.4; Ъ = ^2 + а2а1 = 4.6 4- 2 • 0.2 = 5, а2 = -с2/у2 = = 0.2; р2 = (d2 - а2^)/у2 = (3.3 - 2 • 0.4)/5 = 0.5; Y3 = b3 4- а3а2 = 3.6 4-2 • 0.2 = 4, а3 = -с3/у3 = 0.8/4 = 0.2; Рз = (d3 ~ ЯзРг^Уз = (2-6 - 2 ’ 0.5)/4 = °-4 *; Y4 = b4 4- а4а3 = 4.4 4- 3 • 0.2 = 5; р4 = {d4 - а4Р3)/у4 = (7.2 - 3 • 0.4)/5 = 1.2. Обратный ход. Полагаем х4 = Р4 = 1.2. Далее находим: х3 ~ азх4 + Рз = О-2 • I -2 + 0.4 = 0.64; х2 = а2хз + Рг ~ О-2 ’ 0-64 + 0.5 = 0.628; xi = а1х2 + Pi = О-2 ’ 0.628 4- 0.4 = 0.5256. Итак, получаем решение: Xj = 0.5256, х2 = 0.628, х3 = 0.64, х4 = 1.2. А 3. Свойства метода прогонки. Непосредственный подсчет показы- вает, что для реализации вычислений по формулам (5.73)—(5.76) тре- буется примерно 8/и арифметических операций, тогда как в методе Гаусса это число составляет примерно (2/3 )т3. Важно и то, что трех- диагональная структура матрицы системы позволяет использовать для ее хранения лишь Зт - 2 машинных слова. Таким образом, при одной и той же производительности и оператив- ной памяти компьютера метод прогонки позволяет решать системы 173
Глава 5. Прямые методы решения систем линейных алгебраических уравнений гораздо большей размерности, чем стандартный метод Гаусса для сис- тем уравнений с заполненной матрицей. Приведем простые достаточные условия на коэффициенты системы (5.69), при выполнении которых вычисления по формулам прямой про- гонки могут быть доведены до конца (ни один из знаменателей у, не обратится в нуль). В частности, это гарантирует существование реше- ния системы (5.69) и его единственность. При выполнении тех же условий коэффициенты а, при всех i удовлетворяют неравенству | а, | < < 1, а следовательно, обратная прогонка по формуле (5.76) устойчива по входным данным (см. пример 3.27). Положим а{ = 0, ст = 0. Теорема 5.4. Пусть коэффициенты системы (5.69) удовлетво- ряют следующим условиям диагонального преобладания'. IM 1«*1 + 1С*1» Н*1 > Ы 0 ^к<т). (5.77) Тогда у, * 0 и |aj < 1 для всех i = 1,2, ..., т. Доказательство. Воспользуемся принципом математической индукции. Из условий теоремы имеем yj = bx * 0 и |aj | = |cj | / |6j | < 1. Пусть теперь УЛ _ । * 0 и | ak _ 1 | <1 для некоторого к > 1. Тогда lr*l = Iй* + акак- 11 IM - l«J|a*-il * IM - 1«*1- Из полученной оценки в силу условий (5.77) вытекает справедли- вость неравенств | ук | > 0 и |yj > | ск |. Следовательно, ук * 0 и | ак | = = |ct|/|yj < 1. 4. Метод прогонки и разложение матрицы на множители. Опи- санный вариант метода прогонки можно рассматривать как одну из схем метода Гаусса (без выбора главного элемента), в результате пря- мого хода которого исходная трехдиагональная матрица С| 0 0 ... 0 0 0 а2 Ь2 с2 0 ... 0 0 0 0 а3 Ь3 с3 ... 0 0 0 0 0 0 0 ... а„_, bm_t ст_, 0 0 0 0 ... 0 а„ Ь„ т т представляется в виде произведения двух двухдиагональных матриц: А = LU. (5.78) 174
§ 5.9. Метод прогонки Здесь £ = । । о о е» ю — О 0^0 □J О о о С» ООО S ООО 3 1 1 9 О 0 0 ... 1 -а_ 1 т — 1 О 0 0 ... О 1 Так как для определения L и U нет необходимости вычислять коэф- фициенты Рр то общее число операций на получение разложения (5.78) составляет примерно Зт. Подобно тому как это описано в § 5.7, разложение (5.78) можно использовать для решения систем с многими правыми частями. Если нужно решить р систем с матрицей А, то общее число операций соста- вит примерно Зт + 5тр. К сожалению, при обращении матрицы А теряется ее трехдиаго- нальная структура. Обратная матрица является заполненной, однако для ее вычисления с помощью разложения (5.78) требуется примерно лишь 2.5 т2 арифметических операций. Так как det Л = detL • det <7, a det U = 1, то определитель трехдиаго- нальной матрицы, после того как получено разложение (5.78), вычисля- ется по элементарной формуле det А =У|у2 ... ут. 5. Некоторые варианты метода прогонки. Наряду с изложенным выше «стандартным» вариантом метода прогонки (правой прогонкой) существует большое число других вариантов этого метода. Это методы левой прогонки, встречных прогонок, немонотонной прогонки, потоко- вый вариант метода прогонки. В ряде случаев эти модификации могут существенно улучшить обусловленность прогонки. Для систем уравнений, обладающих близкой к (5.69) структуре, раз- работаны методы циклической прогонки, матричной прогонки и др. С указанными вариантами метода прогонки можно подробно озна- комиться в [50, 89]. 175
Глава 5. Прямые методы решения систем линейных алгебраических уравнений § 5.10. ДО-разложение матрицы. Методы вращений и отражений Метод Гаусса не является единственным методом исключения, используемым для решения систем линейных уравнений и приведения матриц к треугольному виду. Рассмотрим два метода исключения, обла- дающих в отличие от метода Гаусса гарантированной хорошей обуслов- ленностью — метод вращений и метод отражений. Оба этих метода позволяют получить представление исходной матрицы А в виде произве- дения ортогональной1 матрицы Q на верхнюю треугольную матрицу R: А = QR (5.79) Представление (5 79) — это QR-разложение матрицы на множители 1. Метод вращений. Опишем прямой ход метода. На 1-м шаге неизвестное X] исключают из всех уравнений, кроме первого. Для исключения X] из второго уравнения вычисляют числа а11 ^21 ‘12 = Н-Ц- . *12 = . (5-80) л/а11+а21 7 «И4-«21 обладающие следующими свойствами: с12 ^"^12 = 1» “^12^11 + с12^21 = О’ (5.81) Затем первое уравнение системы заменяют линейной комбинацией пер- вого и второго уравнений с коэффициентами с12 и s12, а второе уравне- ние — аналогичной линейной комбинацией с коэффициентами-s12 и сХ2- В результате получают систему Л|| Xj + ^12*2 + а13 *3 + т а22х2 + а23*3 + •• + а2тХт “ °2 ’ «31*1 * «32*2 * «33*3 + • + *зА ’ *3» + &т2х2 + атЗхЗ + ••• + 1 Напомним, что вещественная матрица Q называется ортогональной, если для нее выполнено условие QT = Q~], что эквивалентно равенствам QTQ = QQT=E. Важное свой- ство ортогонального преобразования векторов (т.е. преобразования векторов с помощью их умножения на ортогональную матрицу Q), состоит в том, что это преобразование не меняет евклидову норму векторов ||фс||2 = Ы2 Для всех* е Rm. 176
§ 5.10. ОЯ-разложение матрицы. Методы вращений и отражений в которой a\j) = cl2alj+sl2a2j> a2j) = -^2alj + Cl2a2j’ = c12^1 + 512^2’ ^2 = “ 512^1 + c\2^2 (5.83) Заметим, что =~‘yi2an + ci2a2i = 0 в силу специального выбора чисел с12 и 5|2 (cm. (5.81)), Естественно, что если a2i = 0, исходная система уже имеет вид (5.82) и в исключении неизвестного X] из второго уравнения нет необ- ходимости В этом случае полагают с12 = 1 и $12 = 0. Как нетрудно видеть, преобразование исходной системы (5.1) к виду (5.82) эквивалентно умножению слева матрицы А и правой части Ъ на матрицу Т12, имеющую вид с12 $12 0 0 . . 0 -$12 с12 0 0 . . 0 ^12 ” 0 0 1 0 . . 0 0 0 0 1 . . 0 0 0 0 0 . . 1 Для исключения неизвестногоХ) из третьего уравнения вычисляют числа С13- . Л11...— , $13 = 131 .= (5.84) такие, что q3 + $n = 1, + с13а31 = 0- Затем первое уравнение системы (5.82) заменяют линейной комбинацией первого и третьего уравнений с коэффициентами с13 и $13, а третье уравнение — аналогич- ной комбинацией с коэффициентами -$13 и с13. Это преобразование системы эквивалентно умножению слева на матрицу 177
Глава 5. Прямые методы решения систем линейных алгебраических уравнений с13 0 513 0 . . 0 0 1 0 0 . . 0 Г|з = “*13 0 с13 0 . . 0 0 0 0 1 .. . 0 0 0 0 0 .. . 1 и приводит к тому, что коэффициент при X) в преобразованном третьем уравнении обращается в нуль. Таким же образом Xj исключают из уравнений с номерами i = 4, т. В результате 1-го шага (состоящего, как мы видели, из т - 1 «малых» шагов) система приводится к виду (m-l) (m-1) а\\ Х1 + а12 Х2 + а13 хз + ., .. + (т-1) й1т хт (1) “22 х2 + (1) а23 Х3 + .. + а2тХт = (1)^ а32 Х2 + "33 х3 + .. + а(1)х а3тхт = п(1,г ат2х2 + атЗхЗ + .. .. + а(1)х тт т = С (5.85) В матричной записи получаем: Л0)х = ^(1), где Ж» = Т1т ... Г13Т12Л, *0) = Г1)И ... Г13Г12Л. Здесь и далее через Тк1 обозначена матрица элементарного преобра- зования, отличающаяся от единичной матрицы Е только четырьмя эле- ментами. В ней элементы с индексами {к, к) и (/, /) равны ckh элемент с индексами (к, I) равен skl, а элемент с индексами (/, к) равен -skl, при- чем выполнено условие c2kl + s2kl = \. (5.86) Действие матрицы Тк1 на вектор х эквивалентно его повороту вокруг оси, перпендикулярной плоскости Oxkxt на угол ^к1 такой, что ск1 = = cos(p£Z, skl = sincp^ (существование такого угла гарантируется равен- ством (5.86)). Эта геометрическая интерпретация и дала название методу вращений. Операцию умножения на матрицу Тк1 часто назы- 178
§ 5.10. QR-разложение матрицы. Методы вращений и отражений вают плоским вращением (или преобразованием Гивенса). Заметим, что т -1 Tkl = Tkl и, следовательно, матрица Tkl ортогональная. На 2-м шаге метода вращений, состоящем из m - 2 «малых» шагов, из уравнений системы (5.85) с номерами i = 3, 4, ..., m исключают неиз- вестное х2. Для этого каждое /-е уравнение комбинируют со вторым уравнением. В результате приходим к системе (т-1) (т-1) . (т-1) . . (т-1) _ »(т-1) а11 Х1 + а12 Х2 + а13 Х3 + + а\т Хт ~ Ь\ » (т-1) (т-1) (т-1) _ ,(т-1) а22 х2 + а2з х3 + ... + а2т хт Ь2 , J2) . . J2) _ ,(2) *33Х3 + ••• + а3тхт °3 > J2) 4. -k J2) = А<2) атЗХ3 аттХт ' В матричной форме записи получаем Л(2)х = гдеЛСТ = Т2т ... Т24Т23Л«\ Ь™ = Т2т ... Т24Т23М'>. После завершения (т - 1)-го шага система принимает вид (т-1) (т-1) (т-1) . . (т-1) ,(т-1) «11 *1 + «12 х2 + «13 х3 + + «1т хт = *1 . л22 х2 + а23 х3 + ... + а2т хт Ь2 , J*»-1) + - А(т-1) «33 Х3 + ••• + «Зт *т - »3 (т- 1) _ , (т- 1) атт хт °т » или в матричной форме записи гдеЛ(т-,) = Г_ . „Л*""-2), Ь<т~ ’> = Тт , „Л(т“2). Введем обозначение R для полученной верхней треугольной мат- рицы А^т~ 0. Она связана с исходной матрицей А равенством я = тл, где Т= Тт_ ] m ... Т2т ... Т23Т}т ... Т]3Т]2 — матрица результирующего вращения. Заметим, что матрица Т ортогональна как произведение ортогональных матриц. Обозначая Q = Т~[ = Тт3 получаем ^-разложе- ние матрицы А. 179
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Обратный ход метода вращений проводится точно так же, как и для метода Гаусса. Метод вращений обладает замечательной численной устойчивостью. Для него оценка (5.43) справедлива с коэффициентом f(m) - 6т. Однако этот метод существенно более трудоемок по сравнению с мето- дом Гаусса. Получение ^-разложения для квадратной матрицы А общего вида требует примерно 2ти3 арифметических операций. Пр и мер 5.18. Использовав метод вращений, решим на 6-разряд- ном десятичном компьютере систему уравнений 2Х] - 9х2 + 5х3 = -4, 1.2х, - 5.3999х2 + 6х3 = 0.6001, X] - х2 - 7.5х3 = -8.5. Прямой ход. 1-й шаг. Исключим Xj из второго уравнения. Для этого вычислим с12 и 512 по формулам (5.80): С,2-' • *0.857493, х..= , 1-2 ••0.514495 . 7г2 +1.22 7з2 +1.22 Преобразуя коэффициенты первого и второго уравнений по форму- лам (5.83), приходим к системе 2.33238х1 - 10.4957х2 + 7.37444х3 = -3.12122, 7.85493 • 10’5х2 + 2.57248х3 = 2.57256, Х| - х2 - 7.5х3 = -8.5. Далее вычислим коэффициенты с13 и sl3 по формулам (5.84): О 1 с13= ; — * 0.919087, «„= - ------------«0.394055. 72.332382 + 12 71332382 + 12 Заменяя первое и третье уравнения их линейными комбинациями с коэффициентами с13, $13 и -sI3, с13 соответственно, получаем систему 2.53772Х] - 10.0405х2 + 3.82234х3 = -6.21814, 7.85493 • 10’5х2 + 2.57248х3 = 2.57256, 3.21680х2 - 9.79909х3 = -6.58231. 180
§ 5.10. QR-разложение матрицы. Методы вращений и отражений 2-й шаг. В полученной системе имеем сЩ - 7.85493 • 10“5, = = 3.21680. Поэтому а(1) с23=-, 2?- -- «2.44185 Ю"5, 523 « 1.00000. а/ (а22 ' + (fl32 ) Заменяя второе и третье уравнения системы их линейными комби- нациями с коэффициентами с23, s23 и ~523’ с23 соответственно, прихо- дим к системе 2.53772х, - 10.0405х2 + 3.82234х3 = -6.21814, 3.21680х2 + 9.79903х3 = -6.58225, - 2.57272х3 = -2.57272. Обратный ход дает последовательно значения х3=1, х2 = = 0.999994, X! = -1.58579 • 10 5. ▲ 2. Метод отражений. Матрицами Хаусхолдера (или отражений) называются квадратные матрицы вида V = Е - 2wwTy где w — вектор-столбец в Rm, имеющий единичную длину: ||w||2 = 1. Матрица Хаусхолдера симметрична и ортогональна. Действительно, VT = (Е - 2wwT)T = ЕТ - 2(wT)T wT - Е - 2wwT = V\ VTV- W - (E - 2wwT)(E - 2wwT) = E - 4wwT + 4wwTwwT = E. Здесь учтено, что wTw = ||w||2 = 1. Умножение на матрицу V называют преобразованием Хаусхолдера (или отражением). Действие V на вектор х можно интерпретировать как ортогональное отражение вектора в R”1 относительно гиперплоско- сти, проходящей через начало координат и имеющей нормальный век- тор, равный w. Как и вращения, отражения используются для обращения в нуль элементов преобразуемой матрицы. Однако здесь с помощью одного отражения можно обратить в нуль уже не один элемент матрицы, а целую группу элементов некоторого столбца или строки. Поэтому, являясь почти столь же устойчивым, как и метод вращений, метод отражений позволяет получить ^-разложение квадратной матрицы общего вида примерно за (4/3)ти3 арифметических операций, т.е. в пол- тора раза быстрее. Изложение самого метода можно найти, например, в [9]. 181
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Поясним, как получается £К“Разложение матрицы А с помощью преобразований Хаусхолдера. Пусть а = (ah а2, ...» ат)т— произволь- ный вектор, у которого одна координат а2, .., ат отлична от нуля. Покажем, что вектор w в преобразовании Хаусхолдера может быть выбран так, чтобы обратились в нуль все координаты вектора Рй кроме первой: Va = сех =с(1, 0, ..., 0)г. Поскольку ортогональное преобразо- вание не меняет евклидову норму вектора, то с = ||а||2 и искомое пре- образование таково, что Va = (Е - 2wwT)a = а 2(н>, a)w = а - aw = ||а||2*|, где а = 2(w, а). Таким образом, вектор w следует выбрать так, чтобы awj -а} = ±||a||2, aw2 = а2, ...,awm = ат, что эквивалентно равенству w = a~*(a± ||a||2ej). Вспоминая, что a = = 2(w, а) = + w2a2 + ... + имеем a2 = 2(a{ ± ||a||2)aj + 2(a2 + ... + a2m) = Ila± ||a||2ej||*. Таким образом w = , где v = a ± ||a|| 2e}. II v|| 2 Взяв a = a1? где a} — первый из столбцов матрицы А, и положив Рх = V, получим (1) (1) (1) (1) аи Л|2 *13 • • W1 т А (1) (1) (1) 0 а22 а23 * • а2т А (1) (О (1) 0 Я32 азз • □ ш А (1) (1) (1) 0 ат2 атЗ • . а тт Далее, взяв вектор а2 = (а22\ ..., а^2 )Т е Rm~с помощью преобразо- вания Хаусхолдера Vm _ , в пространстве (т - 1 )-мерных векторов можно обнулить все координаты вектора Vm_xa2 кроме первой. Положив р =р 0 ] 2 182
§ 5.10. ОЯ-разложение матрицы. Методы вращений и отражений получим: ' (1) (1) (1) (1) «11 Я]2 а13 . I т л (2) (2) (2) 0 л22 л23 . • а2т а(2> = р2а(» ^р2рха = 0 0 (2) л23 . (2) • а2т 0 0 (2) атЗ •' . ат тт Заметим, что первый столбец и первая строка матрицы при этом преобразовании не меняется. Выполнив т - 1 шаг этого метода, приходим к верхней треугольной матрице (1) (1) (1) (О а\\ а12 «13 • а\т I т л J2) J2) 0 а22 л23 . а2т А(*-»‘Рт_} Р,Р,А 0 0 л33 . а3т 0 0 0 .. (т - тт Поскольку матрицы ..., Рт _ ] симметричны и ортогональны, получено разложение A = QR, где матрица Q = Р\Р2 • • • ?т-\ — ортогональная, а матрица R -А ~ В — верхняя треугольная. Пример 5.19. Применим метод отражений для решения системы уравнений из примера 5.18 2xj - 9х2 + 5х3 = -4, 1.2xj - 5.3999х2 + 6х3 = 0.6001, х, - х2 - 7.5х3 = -8.5. Прямой ход. Возьмем первый столбец матрицы системы - = (2, 1.2, 1)г, положим v = а, + HaJI^ = (2 + л/б.44, 1.2, 1 )г » « (4.53772, 1.2, 1)г и выберем и> = V/1|v||2 « (0.945545, 0.250049, 0.208375)г. 183
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Построим матрицу Хаусхолдера Е - 2wwT= О 1 1 О 0.945545 0.250049 (0 945545 0 250049 0.208375) а О 0 1 0.208375 О 0 0.894055 10 -2 0.236433 О 1 0.197028 J L 0.236433 0.0625245 0.0521040 0.197028 0.0521040 0.0434201 -0.788110 -0.472866 -0.394056 « -0.472866 0.874951 -0.104208 -0.394056 -0.104208 0.913160 Применим к левой и правой частям системы преобразование Хаус- холдера и получим эквивалентную систему -2.53772%, + 10.0405%2 + 3.82233%3 = 6.21815, - 0.364646%2 + З.66694%3 = 3.30229, 3.19606%2 - 9.44423%3 = -6.24817. Возьмем теперь а2 ~ (-0.364646, 3.19606)г и построим двумерное преобразование Хаусхолдера. Здесь уже v = а2 + 11а2Н2( 1,0)г = = (- 0.364646 + л/0.3646462 + 3.196062,3.19606)Г « (2.85215, 3 19606)г, и> = u/||v||2 ® (0.665824, 0.746109)7. Двумерная матрица Хаусхолдера имеет вид 0.665824 0.746109 (0 665824, 0.746109)» 0.113357 -0.993555 -0.993555 -0.113357 Умножив обе части системы на матрицу 1 0 0 р2 = 0 0.113357 -0.993555 > 0 -0.993555 -0.113357 184
§5.11. Итерационное уточнение получим -2.53772х, + 10.0405х2 - 3 82233х3 = 6.21815, - 3.21680х2 + 9.79904х3 = 6.58224, - 2.57274х3 = -2.57273. Обратный ход последовательно дает значения х3 s 0.999996, х2 » « 0.999988, Х| « -3.35721 • 10-5. ▲ § 5.11. Итерационное уточнение В большинстве случаев метод Гаусса с выбором главного элемента позволяет получить приближенное решение с довольно высокой точно- стью. Однако иногда возникает необходимость найти решение с боль- шей точностью. Полезно знать, что существует метод, позволяющий найти приближенное решение с относительной точностью, сравнимой сем, если только число обусловленности не слишком велико. Этот метод, называемый итерационным уточнением, требует небольшого (примерно на 25 %) увеличения машинного времени по сравнению с затратами на получение решения методом Гаусса. Пусть х<0) — найденное на компьютере приближенное решение сис- темы Ах = Ь. Напомним (см. § 5.1), что невязка Н0) = b - Ах^ и погрешность = х -х<0) связаны равенством Ле(0) = г(°). (5.87) Если бы удалось найти как точное решение системы (5.87), то вектор х(1> =х<°> + е<°) дал бы точное решение системы Ах = Ь. Однако в действительности вычисленное на компьютере значение х^) неизбежно будет содержать погрешность. Тем не менее можно ожидать, что дсП) окажется лучшим приближением, чем х<0). Использовав приближение х^\ аналогичным образом можно найти приближение х(2). Опишем более подробно очередной (к + 1)-й шаг метода. 1°. Вычисляют » Ь - Лх<*\ Исключительно важно, чтобы вычисление производилось с повышенной точностью. Дело в том, что b ~ Ах^ и поэтому при вычислении невязки неизбежно вычитание близких чисел, а следовательно, потеря большого числа значащих цифр. Одна из возможностей состоит в использовании для вычисления Ах^ и b -Ах^ арифметики удвоенной точности. 2° Вычисляют решение системы Ае^ = г^к\ Так как матрица А не меняется, то получение очередного приближения с использованием 185
Глава 5. Прямые методы решения систем линейных алгебраических уравнений однажды вычисленного L(7-разложения матрицы А (с учетом необходи- мых перестановок строк) требует сравнительно небольшого числа (примерно ти2) арифметических действий. 3°. Вычисляют х^к + Если число обусловленности не очень велико (например, cond (А) е~1 , то метод довольно быстро сходится. Сходимость харак- теризуется постепенным установлением значащих цифр в приближениях х^Х Если же процесс расходится, то в приближениях не устанавлива- ются даже старшие значащие цифры. Замечание. Итерационное уточнение не следует рассматривать как средство, позволяющее справиться с плохой обусловленностью системы. Его применение для решения плохо обусловленных систем целесообразно только, если матрица А и вектор правых частей b в компьютере заданы точно или с повышенной точностью. Необходимо отметить одну интересную особенность. В процессе итерационного уточнения невязки № обычно не уменьшаются, а даже несколько возрастают по величине. Кроме того, как оказывается, приближениях^ могут быть использо- ваны для грубого по порядку оценивания естественного числа обуслов- ленности v5(x). Для этого достаточно воспользоваться приближенной формулой v8(x) » £-' ||«(*)||/ ||х<*)||. (5.88) Пример 5.20. Используя алгоритм итерационного уточнения, най- дем решение системы 1.03х, + 0.991х2 = 2.51, 0.991Х] + 0.943х2 = 2.41 на 3-разрядном десятичном компьютере, считая, что режим вычисле- ний с удвоенной точностью на нем эквивалентен использованию 6-раз- рядного десятичного компьютера. Вычислим множитель первого (и в данном случае последнего) шага прямого хода метода Гаусса: ц = 0.991/1.03 » 0.962. Так как при вычис- лении на 3-разрядном компьютере имеем 0.943 - 0.991 *0.962 « -0.01 и 2.41 - 2.51 • 0.962 « 0, то второе уравнение системы (5.89) приводится к виду -0.01х2 = 0. 186
§5.11. Итерационное уточнение Обратная подстановка дает приближенное решение Xj0) = 2.44, х<0) = 0. Итерационное уточнение. 1-й шаг. Вычислим (с удвоенной точностью) компоненты невязки: = 2.51 - 1.03х]°’ - 0.991х20> = -0.00320, 40) = 2.41 - 0.991х(10) - 0.943х2°’ = -0.00840. Вычислив методом Гаусса решение системы кОЗе,0’ + 0.991е2°’ = -0.00320, 0.991 е,0’ + 0.943е2°’ = -0.00840, получим в|0) = -0.481, е2 = 0.496. Завершается 1-й шаг вычислением (0) , (0) (0) , (0) Xj = Xj + е, , х2 = х2 + е2 , приводящим на 3-разрядном компьютере к значениям х^ = 1.96, х2^ = 0.496. 2-й шаг дает значения = -0.000336, г2^ = -0.000088, = = 0.0223, = -0.0235 и x(j2) = 1.98, х2 = 0.473. 3-й шаг дает значения г,2) = 0.00186, = 0.00178, = = 0.00084, е22) = 0.001 и x(j3) = 1.98, х^3) = 0.474. Сравниваях<2) их<3), замечаем, что последние значащие цифры прак- тически установились и, следовательно, процесс следует завершить, приняв Xj » 1.98, х2 » 0.474. Использование формулы (5.88) с 8М = 5*10-4 дает следующую оценку естественного числа обусловленности: v8(x) * ем‘ lk(0)lloo/Halloo = 2 • 103 • 0.496/2.44 » 409. Приведем для сравнения действительные значения решения и есте- ственного числа обусловленности: Xj ® 1.9812, х2 ~ 0.4735, v5(x) « 273 (см. пример 5.5). А 187
Глава 5. Прямые методы решения систем линейных алгебраических уравнений § 5.12. Линейная задача метода наименьших квадратов 1. Линейная задача метода наименьших квадратов и переопреде- ленные системы. Метод наименьших квадратов широко используется в самых разных предметных областях при обработке эксперименталь- ных данных. В статистике этот метод принято называть линейной рег- рессией. Инженеры приходят к нему, занимаясь оцениванием парамет- ров или фильтрацией. Мы встретимся с методом наименьших квадратов в гл. 11 при изучении методов приближения таблично задан- ных функций. Автором метода является Гаусс, который изобрел его в 1795 г. при решении поставленной перед ним немецким правитель- ством задачи обновления координат землемерных вех из государ- ственной базы данных. Независимо от того, для решения какой прикладной задачи исполь- зуется метод наименьших квадратов, в плане вычислений он сводится к следующей ключевой задаче, которую принято называть линейной зада- чей метода наименьших квадратов. Пусть А — прямоугольная матрица размера п*т с элементами alj9 a b е R" — заданный вектор. Требуется найти вектор х е минимизирующий величину ||Лх-А||2, т.е. такой вектор х , что ||Лх - А||2 = min ||Лх-А||2. (5.90) xgF Линейная задача метода наименьших квадратов естественным обра- зом возникает и при решении систем линейных алгебраических уравне- ний. Предположим, что требуется решить систему п линейных алгебра- ических уравнений с т неизвестными, где п > т а|1*1 + «12*2 + ••• + а\тХт = а21х1 + а22х2 + •" + а2тхт = ^2> (5.91) а„\х\ + ап2Х2 + ••• + аптХт = Ь„. Системы уравнений (5.91), в которых число уравнений превышает число неизвестных, называют переопределенными. Для переопределен- ной системы, вообще говоря, нельзя найти вектор х, точно удовлетворя- ющий уравнениям системы. Однако, хотя уравнения системы нельзя удовлетворить точно, можно попытаться удовлетворить их как можно точнее, минимизируя величину вектора невязки г - b - Ах. Выбор в качестве минимизируемой величины евклидовой нормы невязки ||г||2 = 188
§ 5.12. Линейная задача метода наименьших квадратов = ||А-Лх||2 приводит к методу наименьших квадратов решения пере- определенных систем. Другими словами, в этом методе предлагается за решение переопределенной системы принять решение х линейной задачи метода наименьших квадратов, обладающее свойством (5.90). 2. Нормальная система метода наименьших квадратов. Простей- шим подходом к решению линейной задачи метода наименьших квадра- тов является использование нормальной системы метода наименьших квадратов АТАх = АТЬ. (5.92) Обоснованием такого подхода является следующий результат. Теорема 5.5. Вектор х минимизирует величину ||Лх-А||2 тогда и только тогда, когда он является решением нормальной системы (5.92). Доказательство. Для любых векторов х, х g имеем Ах- b = Ах -Ь + А(х - х). Отсюда ||Лх-А||2 = ||Лх - All2 + 2(Ах -Ь, А(х- х)) + 1Й(*- *)И2 = = НЛ х - А||2 + 2(2, х - х) + ||Л(х - х)||2, где z =АГ(Ах - Ь) = АТАх -АТЬ. Если х удовлетворяет нормальной системе (5.92), то z = 0 и ||Лх-А||2 = ||Лх-А||2 + |1Л(х-х)||2> НЛх -А||2 для всехх g Rm. Это означает, что х минимизирует ||Лх-А112. Если же х не является решением нормальной системы (5.92), то z + 0. Возьмем х = х - 82 и заметим, что IIЛх - АII2 = IIЛ х - АII2 - 28Ц2Ц2 + e2HAzfl2 < IIЛ х - А||2 для всех достаточно малых 8 > 0. Это означает, что х не обладает свойством (5.90). Обратим внимание на то, что вектор Ах представляет собой линей- ную комбинацию столбцов вр а2, ..., ат матрицы А с коэффициентами хр2, ...,хш: 189
Глава 5. Прямые методы решения систем линейных алгебраических уравнений т Ах=xxJaJ J=l Таким образом, справедливо следующее утверждение. Лемма 5.2. Столбцы матрицы А линейно зависимы тогда и только тогда, когда существует ненулевой вектор х такой, что Ах = 0. Столбцы матрицы А линейно независимы тогда и только тогда, когда Ах * 0 для всех х * 0. Рассмотрим некоторые свойства матрицы АТА и нормальной сис- темы (5.92). Заметим, что матрица АТА — квадратная размера тхти. Лемма 5.3. Матрица АТА — симметричная, причем (АГАх, х) > 0 Vx g 1RW. Если столбцы матрицы А линейно независимы, то матрица АТА — положительно определенная. Доказательство. Матрица симметрична, так как (АТА)Г = АГ(АГ )Г = АГА. Кроме того, (АтАх, х) = (Ах, Ах) = Mxllj >0 Vx е Rm. (5.93) Если столбцы матрицы А линейно независимы, то в силу леммы 5.2 имеем Ах * 0 для всех х * 0. Поэтому (АтАх, х) = ||Лх|| 2 >0 Vx Ф 0, хе Шт, что означает положительную определенность матрицы АТА. Лемма 5.4. Вектор х g является решением однородной сис- темы АТАх = 0 (5.94) тогда и только тогда, когда Ах = 0. Доказательство. Если х является решением системы (5.94), то из равенства (5.93) следует, что ||Лх||2 = 0, то есть Ах = 0. Если же Ах = 0, то умножив обе части этого равенства слева на АТ, придем к (5.94). Лемма 5.5. Матрица АТА вырождена тогда и только тогда, когда столбцы матрицы А линейно зависимы. 190
§ 5.12. Линейная задача метода наименьших квадратов Доказательство. Напомним, что квадратная матрица АТА вырож- дена тогда и только тогда, когда однородная система (5.94) имеет нетри- виальное решение х * 0. Пусть матрица АТА вырождена их — нетривиальное решение сис- темы (5.94). Тогда Ах = 0 в силу леммы 5.4, и в силу леммы 5.2 столбцы матрицы А линейно зависимы. Пусть теперь столбцы матрицы А линейно зависимы. Тогда в силу леммы 5.2 существует вектор х * 0 такой, что Ах = 0 и поэтому х явля- ется решением системы (5.94). Следовательно, матрица АТА вырож- дена. Теорема 5.6. Нормальная система метода наименьших квадратов (5.94) имеет решение Это решение единственно тогда и только тогда, когда столбцы матрицы А линейно независимы. Доказательство. Пусть х 6 — произвольное решение одно- родной системы (5.94). Тогда в силу леммы 5.4 Ах = 0 и поэтому (АТЬ,х) = (Ь, Ах) = (Ь, 0) = 0. Таким образом, правая часть нормальной системы (5.92) ортого- нальна всем решениям однородной системы (5.94). Следовательно, в силу теоремы Фредгольма система (5.92) имеет решение. Напомним, что решение системы линейных алгебраических уравне- ний с квадратной матрицей единственно тогда и только тогда, когда матрица системы невырождена. Из леммы 5.5 следует, что решение нормальной системы единственно тогда и только тогда, когда столбцы матрицы А линейно независимы. В силу теоремы 5.5 решения линейной задачи метода наименьших квадратов и нормальной системы (5.94) совпадают. Поэтому теорему 5.6 можно переформулировать следующим образом. Теорема 5.7. Линейная задача метода наименьших квадратов имеет решение Это решение единственно тогда и только тогда, когда столбцы матрицы А линейно независимы. Как следует из леммы 5.3, в случае, когда столбцы матрицы А линейно независимы, матрица АТА — симметричная и положительно определенная. Поэтому решение нормальной системы (5.94) можно найти методом Холецкого примерно за т3/3 арифметических операций. Правда, для формирования системы (с учетом симметричности мат- рицы АТА) нужно примерно п2т арифметических операций. Если п » т, 191
Глава 5. Прямые методы решения систем линейных алгебраических уравнений то основные затраты машинного времени будут произведены на этапе формирования матрицы АГА. Замечание. Если т л, то матрица АТА и вектор АТЬ содер- жат т1 2 п и т «п элементов. Поэтому процесс их формирования можно рассматривать как сжатие данных. 2. Алгоритм Грама-Шмидта и ^-разложение матрицы А. С представлением квадратной матрицы А в виде произведения ортого- нальной матрицы Q на верхнюю треугольную матрицу R, то есть в виде A = QR (5.95) мы уже встречались в § 5.10. В случае, когда А — прямоугольная матрица размера пхт, будем называть QR-разложением матрицы А ее представление в виде (5.95), где Q — прямоугольная матрица размера лхт с ортонормированными столбцами q2, ..., qm, aR — верхняя треугольная квадратная матрица размера т*т с элементами г... Замечание. Ортонормированность столбцов матрицы Q озна- чает, что q-) = 0 для всех i и (q., qj) = 1 для всех у, что экви- валентно выполнению равенства QTQ = Е, (5.96) где Е — единичная матрица порядка т. Заметим, что равенство (5.95) означает, что существуют векторы qv q2, ..., qm е Кти коэффициенты r!k, 1 < i < к < m такие, что для всех к= 1, 2, ..., т столбцы ak матрицы А могут быть представлены в виде линейной комбинации к ак= /=1 Применим классический алгоритм Грамах—Шмидта2 для ортого- нализации столбцов «], л2, ..., ат матрицы А, предполагая, что они линейно независимы. Напомним, что этот алгоритм состоит из т шагов, 1 Йорген Педерсен Грам (1850—1916) — датский математик. 2 Эрхард Шмидт (1876—1959) — немецкий математик. 192
§ 5.12. Линейная задача метода наименьших квадратов на каждом из которых вычисляются очередной вектор qk и коэффици- енты r!k, 1 < i < к. На первом шаге полагают гн = ||Л]||2 и = а^Гц. Пусть на (£-1)-м шаге найдена ортонормированная система векторов Яр Я2» •••» Я^.р Тогда на к-м шаге производят следующие вычисления: г1к = (ак,Ч1), i= 1,2, ...Д-1, (5.97) Як = ак - (5-98) /=1 гкк = || «t||2 > Як=Як/гкк- (5.99) Заметим, что qk * 0 и rkk = \qk 2 * 0, так как в противном случае к-\ ак = 'EM- (5.100) (=1 Так как каждый из векторов qt, 1 < i < к является линейной комбина- цией векторов а1? а2, • ••> ак- 1’ то равенство (5.100) означает, что век- тор ак является линейной комбинацией векторов а2, •••, ак - р что противоречит предположению о том, что столбцы матрицы А линейно независимы. Обратим внимание на то, что ||^||2 = 1 и (^, ^.) = 0 для всех j = 1,2, к - 1. Действительно, в силу формул (5.98), (5.99) имеем к- 1 гкк (Як >«;) = (Я}) = (ак> я;) - £ rik (qh q}) = rjk - rik = 0. /=1 Таким образом, полученная на к-м шаге алгоритма система векторов q[9 q2, ..., qk также является ортонормированной. Теорема 5.8. Пусть А — матрица размера п*т, столбцы которой линейно независимы Тогда существуют единственная матрица Q раз- мера п*т с ортонормированными столбцами и верхняя треугольная матрица R с положительными диагональными элементами г- (1 < i< т) такие, что справедливо представление (5.95). 193
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Доказательство. Воспользуемся алгоритмом Грама—Шмидта (5.97)—(5.99) и получим матрицу Q с ортонормированными столбцами qx, q2, ...,qmn верхнюю треугольную матрицу R с элементами rik, 1 < i < < к < т (при к < i полагаем r!k = 0). Запишем формулу (5.98) в виде к-\ к ак=Чк + Xrll<4' = Yr!l<4'- j=l j=l Последнее равенство и означает, что алгоритм Грама—Шмидта дает (^-разложение матрицы А. Докажем теперь единственность матриц Q и R. Используя разложе- ние (5.95) и равенство (5.96), имеем АТА = [QR]TQR = RTQTQR = RTR. Заметим, что матрица L = RT — нижняя треугольная. Поэтому для мат- рицы АТА мы получили разложение Холецкого (см. § 5.8): АТА = RTR = LLT. (5.101) Как следует из результатов § 5.8, матрица L в этом разложении опреде- ляется едиственным образом. Поэтому матрицы R = LT и Q = ЛЯ-1 также определяются однозначно. 3. Модифицированный алгоритм Грама—Шмидта. К сожалению, классический алгоритм Грама—Шмидта обладает чрезмерно высокой чувствительностью к вычислительной погрешности. Поэтому для чис- ленной ортогонализации столбцов матрицы А используется модифици- рованный алгоритм Грама—Шмидта, устойчивый к вычислительной погрешности. При отсутствии вычислительной погрешности этот алгоритм дает те же матрицы ей я, что и алгоритм (5.97)—(5.99). На к-м шаге этого алгоритма получают очередной столбец qk мат- рицы Q, модифицированные столбцы , ..., матрицы А и коэффициенты rkj для j = к, к + 1, .. , т. На первом шаге полагают Гц = ||в1||2’ «1=в1/Г11> в)1) = а/, j = 2, 194
§ 5.12. Линейная задача метода наименьших квадратов Пусть на (к - 1)-м шаге получены столбцы qx, q2, ..., qk_ j и модифи- (к-\) (к-\) цированные столбцы ак , ak+i , 1). Тогда на к-м шаге про- изводятся следующие вычисления: гкк = (к-\) ак Як &к / ^кк ’ 2 > = ,?*), J = к + т, aj =aj ~rkj4k> J = k+ 1, .... m. Замечание. Для получения (^-разложения матрицы А могут быть применены и другие методы. Часто используется метод отра- жений, основанный на преобразованиях Хаусхолдера (см. § 5.10) и обладающий лучшими, чем модифицированный алгоритм Грама- Шмидта свойствами вычислительной устойчивости. 4. Использование (^-разложения для решения линейной задачи метода наименьших квадратов. Пусть (^-разложение матрицы А найдено. Тогда согласно теореме 5.5 вектор х , являющийся решением линейной задачи метода наименьших квадратов, удовлетворяет нор- мальной системе (5.92). Используя разложения (5.95) и (5.101), запи- шем нормальную систему в виде RTRx = RTQTb. Положив с = QTb и умножив левую и правую части этой системы на (Яг)-1, приходим к системе линейных алгебраических уравнений с верхней треугольной матрицей Rx = с, (5.102) решение которой совпадает с решением линейной задачи метода наименьших квадратов. Таким образом, для решения линейной задачи метода наименьших квадратов можно сначала модифицированным методом Грама—Шмидта найти (ЛК-разложение матрицы А, затем вычислить вектор с = QTb и, наконец, найти х как решение системы (5.102). Однако, если формально действовать по этой схеме, то на этапе вычисления вектора с умножением матрицы QT на вектор b можно поте- рять все преимущества в вычислительной устойчивости, которые были получены переходом от классического алгоритма Грама—Шмидта к его модифицированному варианту. 195
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Для сохранения хороших свойств вычислительной устойчивости вектор с = (с1? с2, ..., ст)т вычисляют иначе. Сначала полагают г (°) = Л, а затем для к = 1, 2, ..., т проводят следующие вычисления z. \ J*)-J*"1) п „ ск ’Як)’ Г Г скЯк' В результате получают вектор с и невязку г = г = b - Ах . Обратим внимание на то, что основные вычислительные затраты при решении линейной задачи метода наименьших квадратов производятся на этапе получения QR-разложения. В итоге время, необходимое для решения задачи с помощью (^-разложения примерно вдвое превышает время, необходимое для решения с использованием нормальной сис- темы. 5. Сингулярное разложение матрицы. Пусть А — вещественная матрица размера пхт, где и > т. Тогда существуют такие ортогональ- ные матрицы U и V размера ихи и wxw соответственно, что A = ULVT. (5.103) Здесь Gj 0 0 ... 0 0 с2 0 ... 0 0 0 с3 ... 0 0 0 0 ... от т о о о ... о о о о ... о диагональная матрица размера пхт с элементами Gj > п2 > п3... > > 0 на главной диагонали. Разложение (5.103) называется сингулярным разложением матрицы А или SVD-разложением*. Числа qp ..., называются сингулярными числами матрицы А. Эти числа определяются по матрицей однозначно и являются важными ее характеристиками. Например, число ненуле- вых сингулярных чисел совпадает с рангом матрицы. 1 От английского singular value decomposition. 196
§ 5.12. Линейная задача метода наименьших квадратов Сингулярное разложение существует более 100 лет. Оно было неза- висимо открыто в 1873 г. Бельтрами1 и в 1874 г. Жорданом2 3 * * для квад- ратных матриц. В 30-е годы XX в. оно было распространено на прямо- угольные матрицы. В вычислительную практику SVD вошло в 60-е годы и стало важнейшим инструментом вычислений. 6. Использование сингулярного разложения для решения линейной задачи метода наименьших квадратов. Пусть разложение (5.103) получено. Пусть ранг матрицы А равен г, т.е. пусть CTj > ... стг > 0 и + ! = ... = = 0. Нашей целью является минимизация величины 1И12=||А-Лх||2. Так как матрица U ортогональна, то норма невязки г не изменится после ее умножения слева на Ц7. Таким образом, Мх - 5|| 2 = || UT(Ax - А)|| 2 = IIUTUI. Р'х - итЬ\\ 2 = IIZ Г’х - UTb\\ 2. Обозначая у = Утх и d = Iflb, мы приходим к эквивалентной задаче минимизации величины НЕу-<ГНг = (о,У| - d})2 + (а2у2 - d2)2 + ... ... + (csryr - dr)2 + ! + ... + d2n . 2 2 Ясно, что минимум равен dr+] + ... + dm и достигается он приу! = = J1/ct1, ..., yr = drlar. После того как оказался найденным вектору, осталось положить х = Vy. Если г = т, то решение найдено одно- значно. Если же г < т, то компоненты уг + р - могут быть выбраны произвольным образом и, следовательно, задача имеет бесконечно много решений. Выборyr + j = ... = ут = 0 дает решение х с минималь- ной нормой (это решение называется псевдорешением системы (5.91). Понятно, что наличие малых сингулярных чисел ст, приводит к тому, что малые погрешности в задании величин dt приводят к большим погрешностям в вычислении компоненту, = dja г В этом случае задача является плохо обусловленной. Правильное использование SVD пред- полагает наличие некоторого допуска ст* > 0. Все сингулярные числа 1 Эудженио Бельтрами (1835—1900) — итальянский математик. 3 Камиль Мари Эдмон Жордан (1838—1922) — французский математик, внесший зна- чительный вклад в алгебру, теорию чисел, теорию функций, геометрию, топологию и дифференциальные уравнения. 197
Глава 5. Прямые методы решения систем линейных алгебраических уравнений с, £ а* считаются пренебрежимо малыми и заменяются нулями, а соот- ветствующее значения yt полагаются равными нулю. Заметим, что увеличение значения параметра с» приводит к увели- чению нормы невязки; однако при этом уменьшается норма решения и оно становится менее чувствительным к входным данным. 7. Дополнительная информация о сингулярном разложении. Обо- значим столбцы матрицы U через их, ..., ип, а столбцы матрицы V — через vx ..., vm. Векторы ut и vt называются соответственно левыми и правыми сингулярными векторами матрицы А. Равенство (5.90) можно записать в виде AV = UZ или ATU = KZr. Сравнивая эти матричные равенства по столбцам, видим, что сингуляр- ные векторы обладают следующими свойствами: Avt = cfut, \<i<m. Из этих равенств следует, в частности, что ATAvt = \ < i < т. Таким образом, квадраты сингулярных чисел матрицы А совпадают с собственными значениями матрицы АТА. Для симметричных матриц сингулярные числа просто равны модулям собственных значений. Обратим теперь внимание на норму матрицы А. Делая замену^ = Vx и учитывая, что умножение вектора на ортогональную матрицу не меняет его евклидовую норму, имеем: ||Л||2 = max ||Лх||2= max ||UTAx^2 = max ||EFrx||2 = 1Ы12 = 1 l|xll2 = 1 1Ы12 = 1 = max ||Sy||2 = max 7CTi Л + ••• + CTmZ = СТ1 • М2 =1 М 2 = 1 Отметим также, что отношение Gj /ош часто используется в качестве числа обусловленности матрицы А. Для квадратной невырожденной матрицы А действительно cond2(/l) = с^/ст^. Более подробно о сингулярном разложении и его разнообразных приложениях см. в [31, 54]. 8. Сравнение различных методов решения линейной задачи метода наименьших квадратов. Мы рассмотрели следующие методы решения линейной задачи метода наименьших квадратов: 1) использование нормальной системы метода наименьших квадратов; 198
§ 5.13. Дополнительные замечания 2) использование ^-разложения; 3) использование сингулярного разложения матрицы А. Какой метод следует предпочесть при решении линейной задачи метода наименьших квадратов? Наиболее быстрым является метод нор- мальных уравнений. Затем идет метод, основанный на использовании 2^-разложения. Наконец, наибольших вычислительных затрат требует использование сингулярного разложения. Если матрица А хорошо обусловлена, то следует предпочесть метод нормальных уравнений. Однако, если матрица А плохо обусловлена, нормальная система имеет число обусловленности, примерно равное квадрату числа обусловленности матрицы А. Поэтому можно ожидать, что при использовании этого метода будет потеряно вдвое больше зна- чащих цифр по сравнению с методами, основанными на £>Я-разложении или сингулярном разложении матрицы. В случае, когда матрица А плохо обусловлена, но система её столб- цов линейно независима и не близка к линейно зависимой, наиболее подходящим методом является, по-видимому, использование ^-разло- жения. Наиболее медленным, но наиболее надежным методом является использование сингулярного разложения. Особенно важно использова- ние сингулярного разложения в случае, когда система столбцов мат- рицы А линейно зависима или близка к линейно зависимой. Таким образом, выбор метода решения зависит от того, что важнее для пользователя: скорость решения задачи или надежность получен- ных результатов. § 5.13. Дополнительные замечания 1. Более подробное и в то же время доступное изложение рассмот- ренных в этой главе вопросов можно найти, например, в [46, 47, 81, 107, 5*, 16*, 20*]. Особое внимание следует обратить на книгу [31], представляющую собой удачное сочетание учебного пособия и спра- вочника по методам матричных вычислений. 2. Для решения систем линейных алгебраических уравнений создано высококачественное и бесплатно распространяемое програм- мное обеспечение. Пакеты BLAS, LINPACK, EISPACK и LAPACK, ориентированные на системы уравнений с заполненными матрицами, доступны по адресу http://www.netlib.org. Пакет SPARSKIT, предназ- наченный для решения систем уравнений с разреженными матри- цами, доступен по адресу http://www.cs.umn.edu/Research/arpa/SPARSKIT/. 199
Глава 5. Прямые методы решения систем линейных алгебраических уравнений Обратим также внимание на пакет LinPar, доступный по адресу http ://w w w.ict.nsc .ги/linpar/. 3. Интересной модификацией метода Гаусса является алгоритм Краута, основанный на изменении порядка выполнения арифметиче- ских операций. Существуют два случая, когда эта модификация может иметь преимущества. Во-первых, алгоритм Краута выгоден тогда, когда для вычислений используется калькулятор, так как алгоритм позволяет избегать выписывания промежуточных результатов. Во-вторых, он при- водит к наименьшей вычислительной погрешности при условии, что вычисления ведутся на компьютере, обладающем сравнительно быст- рой арифметикой с расширенной точностью или особенно быстрой т операцией вычисления скалярных произведений (х, у) = ^х, yt. Обсу- /=| ждение модификации Краута можно найти, например, в [81, 107]. 4. Иногда вместо метода Гаусса используют метод Гаусса—Жордана, отличающийся от метода Гаусса тем, что на k-м шаге прямого метода обнуляются не только элементы Д'-го столбца матрицы, находящиеся под главной диагональю, но и элементы Zr-го столбца, находящиеся над главной диагональю. В результате матрица системы приводится не к нижнему треугольному виду, а к диагональному виду. Отметим, что прямой ход метода Гаусса—Жордана требует при- мерно т3/2 арифметических операций и по затратам машинного вре- мени проигрывает методу Гаусса примерно в полтора раза. 5. Следует отметить, что в данной главе оказались практически не отраженными прямые методы решения систем уравнений с разрежен- ными матрицами (исключение составляет § 5.9, посвященный методу прогонки). Желающим найти доступное изложение современных пря- мых методов, предназначенных для решения очень больших линейных систем с разреженными матрицами, можно посоветовать обратиться к [48]. Укажем также на книги [38, 77, 116], специально посвященные технологии разреженных матриц. 6. Предположим, что после того, как было найдено решение х сис- темы Ах = Ь, возникла необходимость решить систему Ах = b с матри- цей А, отличающейся от матрицы А несколькими элементами. Напри- мер, могло выясниться, что заданные ранее элементы содержали грубые ошибки. Возможно также, что решаемая задача такова, что в ней элементы матрицы последовательно меняются, а правая часть оста- ется неизменной. 200
§ 5.13. Дополнительные замечания Разумеется, х можно найти, решив систему снова и проигнорировав полученную на предыдущем этапе информацию. Однако в рассматри- ваемом случае можно найти поправку Дх = х - х к найденному ранее решению, использовав всего О(т2) операции. Пусть А = А - uvT, где и и v — векторы размерности т. Справед- лива формула Шерманна—Моррисона А~1 = А~1 + а(А “’иХг^Л”1), где а = 1/(1 - v7/C1it). Применяя ее, приходим к следующему алгоритму: 1°. Систему Ау = и решают относительно у. 2°. Систему ATz = v решают относительно z. 3°. Вычисляют а = 1/(1 - vry), Р = zTb и Дх = аРу. 4°. Полагают х = х + Дх. Суммарное число операций будет действительно составлять О(т2), если для решения систем Ау = и и ATz = v применить обратную под- становку с использованием L(/-разложения матрицы А, найденного ранее на этапе решения системы Ах = Ь. В случае, когда матрица А отличается от матрицы А только одним элементом atJ = ау + Да/у, можно положить и = v = а указан- ный алгоритм упростить следующим образом: 1°. Систему Ay = ^alJel решают относительно у 2°. Систему ATz = Cj решают относительно z. 3°. Вычисляют а = 1/(1 -уу), р = zTb и Дх = аРу. 4°. Полагают х = х + Дх. Основываясь на формуле Шерманна—Моррисона, можно указать и способ пересчета L(/-разложения матрицы. О формуле Шерманна—Моррисона и ее применениях см. [54, 31]. 201
Глава 6 ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ Системы линейных алгебраических уравнений можно решать как с помощью прямых, так и итерационных методов. Для систем уравнений средней размерности чаще используют прямые методы. Итерационные методы применяют главным образом для решения задач большой размерности, когда использование прямых методов невоз- можно из-за ограничений в доступной оперативной памяти компьютера или из-за необходимости выполнения чрезмерно большого числа ариф- метических операций. Большие системы уравнений, возникающие в приложениях, как правило, являются разреженными. Методы исклю- чения для решения систем с разреженными матрицами неудобны, например тем, что при их использовании большое число нулевых эле- ментов превращается в ненулевые и матрица теряет свойство разрежен- ности. В противоположность им при использовании итерационных методов в ходе итерационного процесса матрица не меняется, и она, естественно, остается разреженной. Большая эффективность итераци- онных методов по сравнению с прямыми методами тесно связана с воз- можностью существенного использования разреженности матриц. Применение итерационных методов для эффективного решения большой системы уравнений требует серьезного использования ее структуры, специальных знаний и определенного опыта. Именно поэтому разработано большое число различных итерационных методов, каждый из которых ориентирован на решение сравнительно узкого класса задач, и существует довольно мало стандартных про- грамм, реализующих эти методы. В этой главе будут рассмотрены наиболее простые и известные итерационные методы, позволяющие решать достаточно широкий класс систем. §6.1. Метод простой итерации 1. Приведение системы к виду, удобному для итераций. Для того чтобы применить метод простой итерации к решению системы линейных алгебраических уравнений Ах = Ь (6.1) 202
§6.1. Метод простой итерации с квадратной невырожденной матрицей Л, необходимо предварительно преобразовать эту систему к виду х = Вх + с. (6.2) Здесь В — квадратная матрица с элементами btJ (i,j = 1,2, ..., w); с — вектор-столбец с элементами ct (i = 1,2, ..., т). В развернутой форме записи система (6.2) имеет следующий вид: * 1 = ь]]Х] + г>12х2 + г>13х3 + ... + ь]тхт + х2 = г>21х, + Ь22х2 + Ь23х3 + ... + Ь2тхт + с2, (6 у) * т ~ + *«2*2 *«3*3 + ••• + ^тт^т ^т' Как правило, операция приведения системы к виду, удобному для итераций (т.е. к виду (6.2)), не является простой и требует специ- альных знаний, а также существенного использования специфики системы. В некоторых случаях в таком преобразовании нет необходи- мости, так как сама исходная система уже имеет вид (6.2).1 Самый простой способ приведения системы к виду, удобному для итераций, состоит в следующем. Из первого уравнения системы (6.1) выразим неизвестное х,: х| = <|‘ (*1 - а12х2 - а13х3 - ••• - из второго уравнения — неизвестное х2: х2 = а22 &2 ~ а21Х1 ~ а23Х3 " - " a2mXJ’ и т.д. В результате получим систему * 1 = 612х2 + 613х3 + ... + + blmxm + с); * 2 = &2|Х) + 623х3 + ... + Ь2,т-1Хт-1 + Ь2тХт + С2> Х3 = b3JXl + Ь32х2 + •• + Ь3,т-\хт-} + ЬЗтхт + (64) Хт ^mlxl Ьт2х2 ^тЗХ3 ••• ^т’ в которой на главной диагонали матрицы В находятся нулевые эле- менты. Остальные элементы вычисляются по формулам bIJ = -aIJ/all, ct = bt/an (i,j = 1, 2, ...» m,j * i). (6.5) 1 Такие системы возникают, например, при аппроксимации интегральных уравнений Фредгольма второго рода (см. гл. 16). 203
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений Конечно, для возможности выполнения указанного преобразования необходимо, чтобы диагональные элементы матрицы А были нену- левыми. Часто систему (6.1) преобразуют к виду х = х - т (Ах - Ь), где т — специально выбираемый числовой параметр (см. § 6.4). 2. Описание метода простой итерации. Выберем начальное прибли- жение (Х|0), *2°), Подставляя его в правую часть системы (6.2) и вычисляя полученное выражение, находим первое приближение = Вх^ + с. Подставляя приближение*^) в правую часть системы (6.2), получаем хЫ = Вх^ + с. Продолжая этот процесс далее, получаем последовательность , х^п\ ... приближений, вычисляемых по формуле х(к + 1) = Bx(k) + с ^ = 0, 1,2, .... (6.6) В развернутой форме записи формула (6.6) выглядит так: r(*+,) = h 4- A -к А 4- 4- А Л) + Х1 0]1Х1 + ^12Х2 + *13Х3 + * ^\тХт + r(*+D_ h Лк) , (к) . (к) , (к) Х2 ^21х1 + °22х2 + ^23Х3 + ••• + + с2» (6.7) Лк + 1) , (к) , (к) , (к) , (к) Хт ^т\Х\ ^т2Х2 ^тЗХ3 ^тпЛт Ст‘ Когда для итераций используется система (6.4) с коэффициентами, вычисленными по формулам (6.5), метод простой итерации принято называть методом Якоби L 3. Сходимость метода простой итерации Теорема 6.1. Пусть выполнено условие IIBII < 1. (6.8) Тогда'. 1) решение х, системы (6.2) существует и единственное 1 Карл Густав Якоб Якоби (1804—1851) — немецкий математик. 204
§6.1. Метод простой итерации 2) при произвольном начальном приближении х^0) метод простой итерации сходится и справедлива оценка погрешности ||x^-i|| < ||Birilx(°)-i||. (6.9) Доказательство. 1) Из курса линейной алгебры известно, что система линейных алгебраических уравнений имеет единственное решение при любой правой части тогда и только тогда, когда соответст- вующая однородная система имеет только нулевое решение. Пусть х — решение однородной системы х = Вх. Тогда ||х|| = ||Вх|| < ||В|| • ||х||. Так как по условию ||В|| < 1, это неравенство возможно только при ||х|| = 0. Следовательно, х = 0 и тем самым первое утверждение теоремы доказано. 2) Вычитая из равенства (6.6) равенство х = Вх + с, получаем 1) _ х = Я(ХШ _ х) (6.10) Вычисляя норму левой и правой частей этого равенства и используя неравенство ||В(х^ - х)|| < ||В|| IIх(- х ||, имеем ||х(* + 1 > - х || < < ||В || ||x<*> - х||. Так как это неравенство верно для всех к > 0, то Их*") - XII < ||В|| ||х(" -1) - XII < IIBII2 ||х<" - 2) - XII < ... ... < IlBll-1 llxCD-ill < ||BW°)-ill • Справедливость неравенства (6.9) установлена. Учитывая, что ||х<°> - х|| не зависит от п, а ||В||" -► 0 при п -► оо, получаем из него, что ||х("1 - х || —► 0 при п —► оо. Замечание 1. Теорема 6.1 дает простое достаточное условие (6.8) сходимости метода простой итерации. Грубо это условие можно интерпретировать как условие достаточной малости эле- ментов by матрицы В в системе, приведенной к виду (6.2). Замечание 2. Если ||В|1 = IlBlU, то условие (6.8) принимает вид т IIBIIqq = max У \b,-\ < 1. Для метода Якоби это условие в силу равенств Ь-; - 0, by = = -a-jla- для i * j эквивалентно условию строчного диагональ- ного преобладания (5.45). Таким образом, для сходимости метода Якоби достаточно, чтобы матрица А была близка к диагональной. 205
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений Отметим еще одно условие столбцового диагонального преобла- дания т £Ь71<Ц,1. (6.11) Правда, оно не является достаточным для сходимости метода Якоби. Замечание 3. Из оценки (6.9) следует, что при выполнении условия (6.8) метод простой итерации сходится со скоростью гео- метрической прогрессии, знаменатель которой q = ||В||. Скорость сходимости тем выше, чем меньше величина . Хотя метод схо- дится при любом начальном приближении х(0), из оценки (6.9) можно сделать полезный вывод: начальное приближение жела- тельно выбирать близким к решению. Замечание 4. Оценка погрешности (6.9) является априорной. Ее использование для формулировки критерия окончания итера- ций затруднительно, так как значение ||х(°) - х || неизвестно, а его грубое оценивание заведомо приведет к завышению необхо- димого числа итераций. 4. Апостериорная оценка погрешности Предложение 6.1. Если выполнено условие (6.8), то справедлива апостериорная оценка погрешности llxW - i || < ||x(«)_x(»-i)||. (6.12) Доказательство. Запишем равенство (6.10) при к = л - 1 в виде Х(П) -х= В(х^п ~1) - х(л)) + В(х^ - х). Тогда х|| = ||Л(х(л- И - х(л)) + В(х^ - i)|| < ||В||||х^-’)-х(-)|| + ||В|| ||x(w)-x||. Для завершения доказательства осталось заметить, что полученное неравенство эквивалентно неравенству (6.12). Замечание. Величину, стоящую в правой части неравенства (6.12), можно легко вычислить после нахождения очередного при- ближения Если требуется найти решение с точностью е, то в силу (6.12) следует вести итерации до выполнения неравенства ||х(")_х("-»||<£. (6.13) 1 — ЦЛ|| 206
§ 6.1. Метод простой итерации Таким образом, в качестве критерия окончания итерационного про- цесса может быть использовано неравенство ||х(и) 1)|| < ? (6.14) 1 - Hull гдее' = Т£Ге- В практике вычислений иногда используют привлекательный своей простотой критерий окончания ||Х(")-Х(*-1)|| <е (6.15) Отметим, что для метода простой итерации его применение обос- новано только тогда, когда ||/П1 1/2 (в этом случае (1 - ||В|| )/||В|| > 1 и выполнение неравенства (6.15) влечет за собой выполнение нера- венства (6.14)). Однако в большинстве реальных случаев величина ||В|| оказывается близкой к единице и поэтому (1 - )/||В|| 1. В этих случаях Ej е и использование критерия (6.15) приводит к существенно преждевременному окончанию итераций. Величина -х^п~ 41 здесь оказывается малой не потому, что приближениях^ - их<л) близки к решению, а потому, что метод сходится медленно (ср. с замечанием на с. 104). Пример 6.1. Использовав метод простой итерации в форме Якоби, найдем решение системы 6.25xj - х2 + О.5х3 = 7.5, -X, + 5х2 + 2.12х3 = -8.68, (6.16) 0.5xj + 2.12х2 + З.6х3 = -0.24, с точностью е = 10-3 в норме II • II оо - Вычислив коэффициенты по формулам (6.5), приведем систему к виду (6.4) Xj = 0.16х2 - 0.08х3 + 1.2, х2 = 0.2Х| - 0.424х3 - 1.736, (6.17) х3 = -0.1389х, - 0.5889х2 - 0.0667. В последнем уравнении коэффициенты даны с точностью до погреш- ности округления. Здесь 0 0.16 -0.08 1.2 В = 0.2 0 -0.424 , с = -1.736 (6.18) -0.1389 -0.5889 0 -0.0667 207
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений Достаточное условие сходимости метода простой итерации выполнено, так как ||2?Ноо = max{0.24, 0.624, 0.7278} = 0.7278 < 1. Примем за начальное приближение к решению вектор х(0) = (0, 0, 0)г и будем вести итерации по формуле (6.6) до выполнения критерия окончания (6.14), где в данном случае = (1 — 0.7278)/0.7278 • 10~3 ® » 0.37 • 10-3. Значения приближения в табл. 6.1 приводятся с четырьмя цифрами после десятичной точки. Таблица 6.1 и 0 1 2 3 4 (л) 0.0000 1.2000 0.9276 0.9020 0.8449 х<") х2 0.0000 -1.7360 -1.4677 -1.8850 -1.8392 *3 0.0000 -0.0667 0.7890 0.6688 0.9181 — 1.7360 0.8557 0.4173 0.2493 Продолжение табл. 6.1 п ... 12 13 14 15 (л) *1 • • • 0.8006 0.8003 0.8002 0.8001 >> х2 • • • -1.9985 -1.9993 -1.9995 -1.9998 •*3 • • • 0.9987 0.9990 0.9995 0.9997 • • • 0.0018 0.0008 0.0005 0.0003 При п = 15 условие (6.14) выполняется и можно положить Xj = = -0.800 ± 0.001, х2 = -2.000 ± 0.001, х3 = 1.000 ± 0.001. В данном случае точные значения решения Xj = -0.8, х2 = -2, х3 = 1 нам известны (см. пример 5.16). Заметим, что в действительности решение с точностью до е = 10“3 было получено уже при п = 13. А 5. Необходимое и достаточное условие сходимости. Поскольку условие (6.8) является лишь грубым достаточным условием сходи- мости метода простой итерации, представляет интерес формулировка необходимого и достаточного условия сходимости. 208
§6.1. Метод простой итерации Пусть X], Х2, •••> — собственные значения матрицы В. Спек- тральным радиусам матрицы В называется величина р(В) = max |Xj . 1 < i < т Теорема 6.2. Метод простой итерации (6.6) сходится при любом начальном приближении тогда и только тогда, когда р(В) < 1, т.е, когда все собственные значения матрицы В по модулю меньше единицы, Замечание. Для симметричной матрицы В ее спектральный радиус р(В) совпадает с ||В||2. Поэтому для сходимости метода простой итерации с симметричной матрицей В условие ||В||2 < 1 является необходимым и достаточным. 6. Влияние ошибок округления. Из-за наличия ошибок округ- ления реально вычисляемые на компьютере приближения отли- чаются от идеальных приближений х^п\ Поэтому нельзя утверждать, что для любого е > 0 найдется номер и0(е), начиная с которого все при- ближения будут находиться в 8-окрестности решения. В действительности же существует некоторая е -окрестность решения, после попадания в которую приближения х^ дальнейшего уточнения при выполнении итераций не происходит. В подтверждение сказанного приведем следующий результат. Теорема 6.3. Пусть ||В|| < 1. Предположим, что вычисляемая на компьютере с помощью метода простых итераций последователь- ность удовлетворяет равенствам = Bj(n) + c + ^(n), и>0, (6.19) где е Rm, 11^") II <8. Если вычисления по формулам (6.6) и (6.19) начинаются с одного начального приближения х^ = , то для всех п £ 1 справедливы следующие оценки погрешности: ||£(л)_х(и)|| < g ' (6.20) 1|£(")-£|| < IIBII"|£<<»-£II + ё, (6.21) |,2(л)"*иГ1Я l£(n)-*(n~l)|l + e; (6.22) 209
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений Таким образом, метод простых итераций устойчив, но гарантиро- ванная точность метода ограничена снизу величиной ё. Критерий окончания (6.13) применим, если ё << £. § 6.2. Метод Зейделя 1. Описание метода. Пусть система (6.1) приведена к виду (6.4) с коэффициентами, вычисленными по формулам (6.5). Метод Зейделя} можно рассматривать как модификацию метода Якоби. Основная идея модификации состоит в том, что при вычислении очередного (к + 1)-го приближения к неизвестному xt при i > 1 используют уже найденные (к + 1)-е приближения к неизвестным ..., xt_ j, а не к-е приближения, как в методе Якоби. На (к + 1)-й итерации компоненты приближениях^ О вычисляются по формулам л*+1) _ Х1 L 4- ®12х2 + A О13х3 + ., .. + А Ь\тХт + С1> г(*+1) _ L г(*+ х2 °\2Х\ » + ^23Х3 + .. .. + ^2mXm + с2’ Л+,) = A + Х3 *31х1 1) . 1 J*+D + ®32Х2 + .. + А + (6.23) сз> Г(*+1)_А г(*+1)+ А у(*+1)4-А у<*+1) + Хт ~ °т\Х\ + Ьт2Х2 + ^шЗХ3 + ••• Введем нижнюю и верхнюю треугольные матрицы 0 0 0 ... 0 0 Z>12 Z>13 ... bXm 621 0 0 ... 0 0 0 b23 ... b2rn *1 = Z>3i 632 0 ... 0 II гч fiQ * 0 0 0 ... b3m ^тп2 ЪщЗ 9. 0 0 0 ... 0 — «. Тогда расчетные формулы метода примут компактный вид: х<* + » = Вхх<к + » + В2х^ + с. (6.24) 1 Людвиг Зейдель (1821—1896) — немецкий астроном и математик. 210
§ 6.2. Метод Зейделя Заметим, что В = В} + В2 и поэтому решение х исходной системы удовлетворяет равенству х = В,х + В2х + с. (6.25) Метод Зейделя иногда называют также методом Гаусса—Зейделя, процессом Либмана, методом последовательных замещений. 2. Достаточные условия сходимости. Теорема 6.4. Пусть ||В|| < 1, где ||В|| — одна из норм ИВИрр, ||В||]. Тогда при любом выборе начального приближения х^0) метод Зейделя сходится со скоростью геометрической прогрессии, знаменатель которой q < ||В||. Доказательство этой теоремы опускаем. Оно довольно громоздкое, хотя и не сложное. Приведем более компактное доказательство сле- дующей теоремы, близкое к доказательству теоремы 6.1. Теорема 6.5. Пусть выполнено условие IIBJI + ||В2|| < 1. (6.26) Тогда при любом выборе начального приближения метод Зейделя схо- дится и верна оценка погрешности ||х<") - х|| < ^я||х<°) - х||, (6.27) где q = ||В2||/(1-||В1||) < 1. Доказательство. Вычитая из равенства (6.24) равенство (6.25), имеем: х(*+ 1) - X = Bj(x<* + ’) - х) + В2(х<М - X). (6.28) Вычисляя нормы левой и правой частей этого равенства и используя свойства нормы, получаем: ||x^+1)-i|| = ||B1(x<^1)-i) + B2(x^)-i)|| < < ||BJ| ||х<* + О-i|| + ||В2|| ||x<*)-i||. Следовательно, ||х<*+ D-i|| < q\\xW-x\\, где q = ||В2||/(1 - IIBJI). Так как это неравенство верно для всех к > 0, то из него следует оценка (6.27). В силу условия (6.26) имеем 0 < q < 1. Поэтому х^ —► х при п —► оо. 211
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений Особо выделим часто встречающийся на практике случай систем с симметричными положительно определенными матрицами. Теорема 6.6. Пусть Л — симметричная положительно опреде- ленная матрица. Тогда при любом выборе начального приближения метод Зейделя сходится со скоростью геометрической прогрессии. Отметим, что никаких дополнительных априорных условий типа малости нормы некоторой матрицы здесь не накладывается. 3. Апостериорная оценка погрешности Предложение 6.2. Если выполнено условие ||В|| < 1, то для метода Зейделя справедлива апостериорная оценка погрешности И*2 II ||х<и>-х|| <-—jf-г ||х<"> — х<”-’>11, И>1. (6.29) I — 11*11 Доказательство. Положим k = п - 1 и запишем равенство (6.28) в следующем виде: = В(х^ -х) + В2(х^п~ О - х^). Тогда 1|лг<") - х|| < НВ» ||лг(") - ill + ||В2|| ||х<"-’)-аг(")|| , откуда и следует неравенство (6.29). Полученное неравенство позволяет сформулировать простой кри- терий окончания итерационного процесса. Если требуется найти решение с точностью е > 0, то итерации метода Зейделя следует вести П*2 II до выполнения неравенства ------г—г ||х^л~О-х00|| < е или эквива- лентного ему неравенства где е2 = 1 -11*11 ll*2 II ||х(л) _х(п-1)|| < g2, (6.30) 4. Геометрическая интерпретация метода. Приведем геометри- ческую интерпретацию метода Зейделя при т = 2, т.е. когда он приме- няется для решения системы ^11^1 + ^12*2 — ^1» ^21^1 ^22*2 ^2* 212
§ 6.2. Метод Зейделя Первое уравнение задает на плоскости Х\Ох2 прямую /р второе — прямую /2 (рис. 6.1). Расчетные формулы метода принимают вид: где Z>]2 = ~а\2^а\\^ С1 = Ь\/вц, ^21 = ~а2\^а22’ с2 = ^2^а22' Пусть приближениех^ уже найдено. Тогда при определении х(*+1) координата х2 = х^ фиксируется и точка х перемещается параллельно оси ОХ] до пересечения с прямой Координата Xj точки пересечения принимается за Х| . Затем точка х перемещается вдоль прямой Х| = = х^ до пересечения с прямой /2. Координата х2 точки пересечения (к + 1) принимается за х2 На рис. 6.1, а, б приведены геометрические иллюстрации, отве- чающие сходящемуся и расходящемуся итерационному процессу Зейделя. Видно, что характер сходимости может измениться при пере- становке уравнений. Пр и мер 6.2. Использовав метод Зейделя, найдем решение системы (6.16) с точностью е = 10~3. После приведения системы к виду (6.17) убеждаемся, что ||Я|1оо = = 0.7278 < 1 и поэтому в силу теоремы 6.4 метод Зейделя сходится. 213
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений Положим = (О, О, О)г и будем вычислять последовательные при- ближения по формулам х\к +1 * = 0.16х(к) - 0.08?/’ +1.2, х(к + 1 ’ = 0.2?/+ ' ’ - 0.424х/’ - 1.736, х(к +1 ’ = -0.1389?* + 1 * - 0.5889?/ +1 ’ - 0.0667. Здесь О 0.16 -0.08 52= 0 0 -0.424 0 0 о и ||В2 II оо = 0.424. Будем вести итерации до выполнения критерия окон- чания (6.30), где е2 = 10“3*(1 - 0.7278)/0.424 » 0.64* 10~3. Значения приближений с четырьмя цифрами после десятичной точки приведены в табл. 6.2. Таблица 6.2 п 0 1 2 3 4 у 0.0000 1.2000 0.9088 0.8367 0.8121 4" 0.0000 -1.4960 -1.8288 -1.9435 -1.9813 х3 0.0000 0.6476 0.8841 0.9616 0.9873 IbrOO-xf-DU — 1.4960 0.3328 0.1147 0.0378 Продолжение табл. 6.2 п 5 6 7 8 0.8040 0.8013 0.8004 0.8001 4Л> -1.9938 -1.9980 -1.9993 -1.9998 х3 0.9958 0.9986 0.9995 0.9998 0.0125 0.0041 0.0014 0.0005 При п = 8 критерий окончания выполняется и можно положить Xj = = 0.800 ± 0.001, х2 = -2.000 ± 0.001, х3 = 1.000 ± 0.001. Заметим, что в действительности решение с точностью е = 10-3 было получено уже при п = 7. ▲ 214
§ 6.3. Метод последовательной верхней релаксации 5. Необходимое и достаточное условие сходимости. Метод Зейделя (6.24) может быть записан в эквивалентном виде х(к + 1) = + С, где В = (Е - ВХ)~]В2, с = (Е - Bj)-1**. В такой форме записи он пред- ставляет собой метод простой итерации. Поэтому в силу теоремы 6.2 необходимым и достаточным условием сходимости метода является выполнение неравенства р(В) < 1. Поскольку собственные числа матрицы В совпадают с числами X, являющимися решениями обоб- щенной задачи на собственные значения В2х = Х(Е - Bj)x, спра- ведлива следующая теорема. Теорема 6.7. Метод Зейделя сходится при любом начальном при- ближении тогда и только тогда, когда все решения обобщенной задачи на собственные значения В2х = \(Е - Вх)х по модулю меньше единицы. Замечание. Существует устойчивое заблуждение, связанное с представлением о том, что метод Зейделя сходится быстрее, чем метод Якоби. Это действительно так, если матрица А симметрична и положительно определена (мы убедились в преимуществе метода Зейделя для системы уравнении с такой матрицей, решив примеры 6.1 и 6.2). Однако в общем случае возможны ситуации, когда метод Якоби сходится, а метод Зейделя сходится медленнее или вообще расходится. Возможны и противоположные ситуации. Дело в том, что эти методы ориентированы на решение разных классов систем: метод Якоби — на системы с матрицами, близ- кими к диагональным, а метод Зейделя — на системы с матри- цами, близкими к нижним треугольным. § 6.3. Метод последовательной верхней релаксации Метод последовательной верхней релаксации является одним из наи- более эффективных и широко используемых итерационных методов для решения систем линейных алгебраических уравнений с симметричными положительно определенными матрицами А. Этот метод часто называют SOR-методом L Частично популярность SOR-метода можно объяснить его простотой и тем, что он хорошо известен широкому кругу специа- листов, занимающихся решением прикладных задач. 1 От англ, successive over relaxation. 215
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений Суть метода релаксации состоит в следующем. После вычисления очередной z-й компоненты (к + 1)-го приближения по формуле метода Зейделя X; O^Xj + bi2X2 + ••• + О; jX;_ j + О; ; + jX; + j + ... .. . + Ь-Х^+ С; 1ТП 1ТП I производят дополнительно смещение этой компоненты на величину (со - 1)(х;*+ ^-х^), где со — параметр релаксации. Таким образом, /-я компонента (к + 1)-го приближения вычисляется по формуле (к+ 1) _~(к + 1) , . V~(H 1) (*) _ ~(к+ 1) , . (к) xi ~xi +(Ю-1)(Х/. -X; ) —СОХ- + (1 - (О)Х| . На рис. 6.2 показано несколько первых итераций метода при зна- чении параметра релаксации со = 1.25. В обозначениях, используемых в § 6.2, компактная формула для вычисления + записывается следующим образом: х(* + В = (1 - со)х^ 4- CoBjX^ + Ч + соВ2х(^ + сос. Как нетрудно видеть, при со = 1 метод релаксации совпадает с методом Зейделя. При со > 1 его было принято называть методом после- довательной верхней релаксации, а при со < 1 — методом последова- тельной нижней релаксации. В последнее время метод релаксации 216
§ 6.3. Метод последовательной верхней релаксации называют методом последовательной верхней релаксации для любых значений со. Если А — симметричная положительно определенная матрица, то при любом значении параметра со (0 < со < 2) метод релаксации схо- дится. Часто оказывается возможным выбрать параметр со > 1 так, чтобы SOR-метод сходился существенно быстрее, чем методы Якоби и Зейделя. Однако выбор параметра релаксации — довольно трудная задача. Во многих случаях она решается экспериментальным путем. Существуют различные модификации метода релаксации. Распро- страненный вариант метода связан с использованием различных пара- метров со, для вычисления различных компонент х,- очередного (к + 1)-го приближения к решению. Метод симметричной последовательной верхней релаксации (SSOR) заключается в чередовании итераций по методу SOR с такими же итера- циями, осуществляемыми для системы, в которой уравнения зануме- рованы в обратном порядке. Пример 6.3. Использовав метод последовательной верхней релак- сации с параметром со = 1.12, найдем решение системы (6.16) с точ- ностью е = 10-3. Приведем систему к виду (6.17), положим = (0, 0, 0)г и будем вычислять последовательные приближения по формулам: +1 > = (1 _ + Ю(0.16х^ - О.О8х(3*’ +1.2), x(2k +1 ’ = со • 0.2х(* +1 ’ + (1 - <о)х^ + со (- 0.424х^ - 1.736), х(3* +1 ’ = <о(- 0.1389х(* + ” - 0.5889x2* +1 ’) + (1 - со)х(3*’ - со • 0.0667. Значения приближений с четырьмя цифрами после десятичной точки приведены в табл. 6.3. Таблица 6.3 п 0 1 2 3 4 5 0 0000 1 3440 0 8166 0 8094 0 7995 0 8001 х<"> 0 0000 -1 6433 -1 9442 -1 9973 -1 9998 -2 0000 0 0000 0 8001 0 9846 0 9986 1 0001 1 0000 Сравнение с точным решением Xj = 0.8, х2 = -2, х3 = 1 показывает, что для получения приближения к решению с точностью е = 10-3 потре- бовалось всего четыре итерации. Напомним, что для достижения той же точности при том же начальном приближении методами Якоби и Зейделя потребовалось соответственно тринадцать и семь итераций. 217
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений $ 6.4. Другие двухслойные итерационные методы Наряду с методами простой итерации, Зейделя и последовательной верхней релаксации существует большое число иных итерационных методов, предназначенных для решения систем линейных алгебраи- ческих уравнений Ах = Ь. (631) Особенно глубоко разработана теория итерационных методов для систем с симметричными положительно определенными матрицами. Рассмотрим некоторые из них. Всюду в этом параграфе будем считать, что матрица А — симмет- ричная и положительно определенная. Напомним, что для такой матрицы все ее собственные значения Х|, ..., положительны. Кроме того, справедливы неравенства Xmin IIX|| 2 < (Ах, х) < Хтах ||х|| 2 для всех х e F, (6.32) Мх|12 ^тахМг для всех X G (6.33) где Хт;п и Хтах — минимальное и максимальное собственные значения. Из неравенств (6.32), в частности, следует, что величина ||х||л = = J(Ax, х) является нормой в эту норму принято называть энерге- тической. Неравенства (6.33) позволяют увидеть, что M || 2 = Хтах, U~' 11г = и поэтому cond2(/l) = IHIIJI/l-'llz =A.max/Xmin. 1. Двухслойные итерационные методы. Итерационный метод называют одношаговым или двухслойным если для вычисления очередного приближениях^ + к решению х системы (6.31) используется только одно предыдущее приближение х(*\ Например, методы простой итерации, Зейделя и последовательной верхней релаксации — двухслойные. Многие двухслойные итерационные методы могут быть записаны в каноническом виде + 1 ) _ д^(Л) В--------—+Ах<м = ь, £ = 0,1,.... (6.34) xk- 1 Здесь В — некоторая невырожденная матрица, тк + j >0 — итераци- онные параметры. Матрица В может, вообще говоря, зависеть от к, то есть меняться от итерации к итерации. В случае, когда параметры т*+ J = т (и матрица В) не зависят от номера итерации, метод называют стационарным. 218
§ 6.4. Другие двухслойные итерационные методы Если В = Е — единичная матрица, итерационный метод принимает вид + 1) — ------— +АхМ = Ъ, Ar = O, 1, ... хк+ 1 и называется явным, поскольку в нем очередное приближение явным образом выражается через предыдущее: х«+^=х№-хк+{(Ах<М -Л), £ = 0,1...... (6.35) В общем случае, при В Ф Е, метод является неявным, так как на каждой итерации требуется решать систему уравнений Bx<k+^=Bx^-xk^(Ax^-b\ Ar = O, 1, ... . Конечно, матрица В должна быть такой, чтобы каждая из этих систем решалась значительно быстрее, чем исходная система (6.31). Например, матрица В может быть диагональной, трехдиагональной, треугольной или разреженной. Замечание. При численной реализации неявного метода (6.34) обычно сначала вычисляется невязка № = Ъ - Ах&\ затем относительно вектора , пропорционального т*+ 1 поправке к решению, решается система уравнений Bw^ = г<к\ (6.36) после чего находится очередное приближение*^ + =х^ + тк+ 2. Каноническая форма записи методов Якоби, Зейделя и после- довательной верхней релаксации. Представим матрицу А в виде суммы А = D + Л| + Л2, где D — диагональная матрица с диаго- нальными элементами dtl = ац для 1 < i < т, матрица А} — нижняя тре- угольная с элементами = atJ для 1 < J < i < т и =0 для 1 < i < (2) <j < т\ наконец, матрица Л2 — верхняя треугольная с элементами atJ = = а„ для 1 < i < / < т и = 0 для 1 У J и J Рассмотренные в предыдущих параграфах методы могут быть запи- саны в каноническом виде (6.34). Метод Якоби соответствует выбору В = D и хк + 1 = 1. Метод Зейделя может быть записан в виде (6.34), если взять В = D + (т.е. выбрать в качестве В нижнюю треугольную часть 219
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений матрицы Л) и j = 1. Метод последовательной верхней релаксации соответствует выбору В = D + соЛ j и хк + j = со. 3. Явный стационарный итерационный метод с оптимальным параметром. Рассмотрим явный стационарный итерационный метод x^V=x№-x(Ax№-b), * = 0,1,.... (6.37) Как нетрудно видеть, он представляет собой метод простой итерации х(к + 1) = 4- xb, * = 0,1,..., где = Е - хА — матрица, называемая матрицей перехода. Эта матрица симметрична, причем ее собственные значения ХД5Т) вычисляются через собственные значения матрицы А по формуле X,(St) = 1 - тХ,. Поэтому спектральный радиус матрицы совпадает с ||STH2 = ||£ - тЛ|| 2 и вычис- ляется по формуле p(ST) = q(x) = max 11 — тX, | . 1 < i < т В силу теоремы 6.2 метод (6.37) сходится тогда и только тогда, когда q(x) < 1, причем справедлива оценка погрешности 1|х(л) - i|| 2 < ^(Т)Л||Х<°) - X || 2 , П> 1. Скорость сходимости метода зависит от т и она тем выше, чем меньше величина q(x). Можно показать, что функция q(x) принимает свое минимальное значение qQ при 2 Т°пт - X + X mm max (6.38) (В этом смысле выбор параметра (6.38) является оптимальным.) При этом z х • ✓ \ ^тах ~ ^тт ^тах^^тт— = ^(Тппт) = т1П --------------, IV опт/ п<т X + А, X /X +1 max mm max тт т.е. сопёэ(Л) — 1 = “Т77ГП • (639> сопа2(Л) + 1 Таким образом, справедлив следующий результат. Теорема 6.8. Явный стационарный итерационный метод (6.37) с оптимальным выбором параметра (6.38) сходится с оценкой погрешности llx(w) - х||2 < 7qIIx<°) - х||2, п > 1» (6.40) где qQ определяется формулой (6.39). 220
§ 6.4. Другие двухслойные итерационные методы Замечание 1. Оценка (6.40) позволяет оценить число итераций, достаточное для того, чтобы уменьшить начальную погрешность в нужное число раз, т.е. добиться выполнения неравенства Цх("> - х II2 < £ llx(0) - X || 2 (6.41) при фиксированном 8 > 0. Это неравенство выполнено, если < 8, т.е. если п > и0(8) = 1п( 1/е) ln(l/g0) ’ Замечание 2. Из формулы (6.39) видно, что qQ растет с ростом 2 сопё2(Л), причем qQ = 1----- 1 при cond2(/<) —► оо. Та- ким образом, скорость сходимости метода с ростом числа обуслов- ленности матрицы А замедляется. Кроме того, и0(е) ~ j cond2(X) 1п(1/е) при cond2(?4) » 1. (6.42) Следует обратить внимание на то, что в прикладных задачах часто встречаются системы уравнений с матрицами, для которых число обусловленности cond2C4) » 1. В таких задачах число ите- раций, определяемое по формуле (6.42), недопустимо велико. оптимальным является выбор параметра т Замечание 3. Выбор оптимального параметра т0ПТ предпола- гает знание собственных значений Xmin и Xmav. Часто они неизвест- ны, но имеются их оценки 0 < ц < Х_|П < Хтях < М. В этой ситуации 7 г 111111 IlldA ~ 2 ----, а метод схо- ц + Л/ дится с оценкой (6.38), в которой q§ = Л/ - |i _ М/ |i - 1 М + |i М / |i + 1 Кроме того, и0(е) « j (М/|1)1п(1/8) при Л//ц» 1. (6.43) 4. Явный итерационный метод с чебышевским набором пара- метров. Заметим, что погрешность явного итерационного метода х(к + 1) = x(k) _ * {(Ах<® - b), к = 0, 1, ... (6.44) удовлетворяет равенству х(к + 1) _ х = S (х(к) - х), к > 0, 221
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений где । = Е - тк + Поэтому для погрешности, полученной на и-й итерации справедливо равенство x^-x=STST ... ST (х(0)-х) Хп Тл-1 Т1 и, как следствие, — оценка ||x(w) - X || 2 < Jlx(0) - х II2 , где qn = ||5 5Т ... II . п тл л-1 Ч 2 Зададимся фиксированным числом итераций п и поставим задачу выбора таких итерационных параметров тр т2> •••, для которых величина qn минимальна. Известно, что такими параметрами являются = *=1,2, ...,«, (6.45) 1 + я0^к где т0ПТ и qQ задаются формулами (6.38) и (6.39), а числа p^=cos—, *=1,2..., и (6.46) 2л — это занумерованные в некотором порядке корни многочлена Чебышева Тпх. Здесь Jn = (/р j2, ..., jn) — упорядоченный набор нечетных чисел из множества {1, 3, ..., 2п - 1}, определяющий порядок, в котором берутся корни. Метод (6.44) с итерационными параметрами (6.45) называется явным итерационным методом с чебышевским набором параметров или методом Ричардсона. Теорема 6.9. Для явного итерационного метода с чебышевским набором параметров справедлива оценка погрешности ||х(я) - х||2 — 2-, 11х(0>- xh, (6.47) 1 + р2п ^€0062(4) - 1 в которой р = ---. Aycond2(/1) + 1 Используя оценку (6.47), определим число итераций, достаточное для того, чтобы добиться выполнения неравенства (6.41), т.е. уменьшить начальную погрешность в 1/е раз. Заметим, что неравенство 1 Определение и свойства многочленов Чебышева рассматриваются в § 11.6. 222
§ 6.4. Другие двухслойные итерационные методы —г - е выполнено, если р" < е/2. Отсюда п > ип(б) = —;——7. 1 + р2п ’Г 0V / 1п(1/р) „ 1 2 Поскольку р = 1 —-----------, то Jcond2 (А) + 1 и0(е) « j Jcond2(A) 1п(2/б) при cond2(/4) » 1. (6.48) Сравнение значения (6.48) со значением и0(б), определяемым фор- мулой (6.42) показывает, что метод с чебышевским набором пара- метров требует примерно в A/cond2(/4) меньшее число итераций, т.е. он обладает существенным преимуществом в числе итераций перед методом простой итерации с оптимальным выбором параметра. Замечание 1. Следует обратить внимание на то, что число ите- раций п для итерационного метода с чебышевским набором парамет- ров заранее фиксируется и за приближение к решению х принима- ется именно х^п\ Значения полученные на промежуточных шагах с 0 < к < п, плохо аппроксимируют решение. При необходимо- сти уточнить приближение цикл из п итераций повторяется, и за сле- дующее приближение к решению принимается х&пХ Замечание 2. При п = 1 метод с чебышевским набором пара- метров превращается в явный стационарный итерационный метод (6.37) с оптимальным параметром (6.38). Замечание 3. Метод Ричардсона длительное время не исполь- зовался на практике из за серьезных проблем с вычислительной устойчивостью. Как оказалось, для вычислительной устойчивости рассматриваемого метода очень важен порядок, в котором берутся нули многочлена Чебышева. Устойчивость метода имеет место только при специальной нумерации нулей. В противном случае наблюдается резкий рост вычислительной погрешности, который может привести к полной потере точности. В настоящее время известны наборы чисел1 Jn = (7’1» Уз» ---’Jn)’ обеспечивающие вычислительную устойчивость метода, и алгоритмы их построения для любого п. Приведем такие наборы для п = 4, 8, 16. Л = (1, 7, 3, 5), J8 = (1, 15,7,9,3, 13,5,11), J16 = (1, 31, 15, 17, 7, 25, 9, 23, 3,29, 13, 19, 5, 27, 11,21). 1 Алгоритмы их построения были опубликованы практически одновременно в статье В.А. Лебедев, С.А. Финогенов И Журн. вычисл. матем. и матем. физ. 1971. Т. 11. № 2. С. 425—438 и в монографии А.А. Самарский. Теория разностных схем. М.: Наука, 1971. Дополнительную информацию можно найти также в [62, 89]. 223
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений Замечание 4. Если вместо собственных значений Х_|П и ПИП ШАЛ известны лишь их оценки 0 < ц < < М, то чебышевский г JT11П ГПал набор параметров может быть вычислен по формулам (6.45), (6.46) с т0Пт = ' = • Для построенного таким образом метода будет справедлива оценка (6.47), в которой р = -— --. Кроме 7л//ц+1 того, число итераций, достаточное для уменьшения погрешности в 1/е раз составит /г) при Л//р»1 (ср. с (6.43)). 6. Неявный итерационный метод с оптимальным выбором параметра. Пусть В — симметричная положительно определенная матрица. Известно, что существует единственная симметричная поло- жительно определенная матрица С такая1, что С2 = В. Положим у<® = = Сх^ и запишем неявный итерационный метод (6.34) в виде эквива- лентного явного метода v(k+\)_v(k) ~ ~ <------*—+АуМ = Ь, £ = 0, 1, ..., хк+ 1 где А = С~ХАС~\ b = С 'Ь. Поскольку матрицы А и С~1 — симметричные и положительно определенные, то и матрица А — симметричная и положительно определенная. Обозначим через Xmin и Хтах ее минимальное и макси- мальное собственные значения. Заметим, что у = Сх является решением системы Ay = b . Из теоремы 6.8 следует, что явный стационарный итерационный метод у----+ Ау<М = Ь, к = 0, 1, ..., с оптимальным выбором параметра т=Т°пт = 1 . \ (6-49) ^min ^тах 1 Матрица С называется корнем квадратным из матрицы А и обозначается через */А. 224
§ 6.4. Другие двухслойные итерационные методы сходится с оценкой погрешности ||/П) - /II 2 < q"o ll/(0) - /II2 , п > 1, в которой cond9(/4) - 1 ?о -------=----• (6.50) сопё2(Л) + 1 Как следствие, эквивалентный неявный стационарный метод х(к+\)_х(к) В------^——+AxUc> = b, £ = 0,1,... (6.51) с оптимальным выбором параметра (6.49) сходится с оценкой погреш- ности ||х(л) - х||2 < 7c°nd2(B) qnQ IIх(0) - х ||2, И > 1, (6.52) в которой 70 определяется формулой (6.50). Для того, чтобы этот метод обладал преимуществом в скорости схо- димости перед явным методом (6.37) с оптимальным выбором пара- метра, нужно, чтобы число qQ было существенно меньше числа q0, т.е. нужно выполнение условия сопё2(Л) << cond2(A). Матрицу В, гарантирующую существенное уменьшение числа обу- словленности, часто называют предобусловливателем *, а процесс ее построения — предобусловливанием. Предобусловливание является весьма сложным делом, поскольку предобусловливатель В обязан обладать еще одним важным свойством: он должен иметь такую структуру, чтобы системы вида (6.36) решались достаточно быстро. Как правило, найти собственные значения матрицы А = С~'АС~} являющиеся решениями обобщенной задачи на собственные значения Ах = ХДх, весьма сложно. Значительно проще найти оценки Ц] и минимального и максимального собственных значений: 0 < pj < Xmin < < Xmax < А/] или, что то же самое, — найти числа 0 < Ц] < такие, что1 2 ц ] (Вх, х) < (Ах, х) < Л/] (Вх, х) для всех х g (6.53) 1 Иногда ее называют переобуславливателем. 2 Матрицы В и А, связанные неравенством (6.53), называют спектрально эквивалент- ными или энергетически эквивалентными. 225
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений В этом случае можно использовать итерационный метод (6.51) с = 2 Т“ М1+Л/1’ для которого справедлива оценка погрешности (6.52) с ~ Л/| — |ij Л/|/|1| - 1 Л/1+ц1 М,/Ц| + Г (6.54) (6.55) Замечание. Следует подчеркнуть, что для реализации метода (6.51) нет необходимости в вычислении матриц С и А . Они нужны лишь для теоретического исследования свойств метода. 6. Неявный итерационный метод с чебышевским набором пара- метров. Аналогичные соображения приводят к пониманию того, что в неявном методе (6.34) с симметричной положительно определенной матрицей В возможен выбор чебышевского набора параметров т*= к= 1,2, ...,«, (6.56) 1 + <№к в котором т0ПТ, qQ и вычисляются по формулам (6.49), (6.50) и (6.46). Этот метод представляет собой неявный итерационный метод с чебышевским набором параметров. Для него справедлива оценка погрешности Цх(и)- xh 7С0П<12(в) Нх<0>-xh, (6.57) ~ ^/сопс^Л) - 1 в которой р = ---. ^сопд2(Л) + 1 Если вместо значений Xmin и Хтах известны лишь их оценки 0 < щ < < Xmin < Xmax < Л/j, удовлетворяющие неравенству (6.53), то в формуле 2 ~ ~ М| (6.56) следует взять т0ПТ = ——7о = ГГ^—• Для метода (6.34) с Pj + A/j A/j + pj таким набором параметров будет справедлива оценка погрешности (6.57) с р = - --. J /111 + 1 Конечно, при реализации неявного метода с чебышевским набором параметров необходимо использовать порядок выбора нулей много- члена Чебышева, гарантирующий вычислительную устойчивость. 226
§ 6.4. Другие двухслойные итерационные методы 7. Методы минимальных невязок и поправок. Запишем двух- слойный итерационный метод (6.35) в виде х(к+ 1) = х(к) + ,/•(*), k>0, (6.58) где = b - Лх^ — невязка, полученная на к-й итерации. Умножив слева обе части равенства (6.58) на -А, получим соотношение Я*+|) = -тк+хАг<к\ (6.59) Выберем параметр тк + ] таким образом, чтобы минимизировать евк- лидову норму невязки ||Я* + = ||Н*> - тк+ p4H*>||2. Заметим, что функция ф(^+ 0 s -4+ = НН*)||2-2та+ Н*)) + т*+1 ||Лг<*)||2 является квадратичной по тк + ] и достигает своего минимума при зна- чении Хк + 1 (лЯ*\ Я*)) 11ли*)||22 (6.60) Теорема 6.10. Для метода минимальных невязок (6.58)—(6.60) справедлива оценка ||^)||2<^11Н0)|12, П>\9 (6.61) где q$ определяется формулой (6.39). Как следствие, метод сходится с оценкой погрешности 1|х(л) - XII2 < сопё2(Л) ^о11дс<О) - , П > 0. (6.62) Доказательство. В силу специального выбора параметра тк + t справедливо неравенство ЦН*+ Ч12 = И(£- И)Я*)||2 = min ||(Е- тЛ)Я*>||2 < Н(Е-т0ПТЛ)Я*>||2. т > 0 Принимая во внимание, что ||Е- т0ПТЛ|12 = qQ (см. п. 3), имеем 1|Я* +1 >112 IIE- т0ПТЛ||21|ЯМ2 = 7оII2 > * * 0. Как следствие, справедлива оценка (6.61). Поскольку ||Я||2= ||Л(х(л)-х)||г, то xmjx(")-ill2<Нг(”>112, llH°)||2<amjx(0) и неравенство (6.62) следует из неравенства (6.61). 227
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений Замечание Метод минимальных невязок сходится с той же скоростью, что и явный итерационный метод с оптимальным выбо- ром параметра Однако он обладает тем существенным преимуще- ством, что не требует для своей реализации знания собственных значений X • и Xmav или их оценок ГП1П ГПс*Х Неявный итерационный метод х(к+ 1) = х(к) + Bw^ = b-Ax^k\ А: = 0,1,..., являющийся аналогом метода минимальных невязок, называется методом минимальных поправок. В этом методе итерационные пара- метры вычисляются по формуле А: = 0, а очередное значение поправки по формуле + И = - тк + }B~}Aw^ Если матрицы А и В спектрально эквивалентны, т.е. связаны нера- венством (6.53) с 0 < Ц] < то для метода минимальных поправок справедлива оценка < ?011Н*)|1в-1, к = 0, 1,..., где qQ =------. Как следствие, справедлива оценка погрешности ||х(Л)-х||2 <Cgol|x(O)-x||2, П> 1, где с = 7cond2(£) (A/j/g]) 8. Метод наискорейшего спуска. Покажем, что задача решения системы уравнений (6.31) с симметричной положительно опреде- ленной матрицей А эквивалентна задаче поиска точки минимума квад- ратичной функции F(x) = (Ах, х) - (Ь, х). (6.63) Действительно, пусть х — решение системы (6.31). Тогда для х = = х + Дх при Дх ф 0 имеем 228
§ 6.4. Другие двухслойные итерационные методы F(x)-F(x) = ± (А(х + Ьх),х + &x)-(b,x)-'~ (Ах, х) + (Ь, х) = = (Ах-b, Дх) + (ЛДх, Дх)=^ (ЛЛх, Дх)>0. Таким образом, всякий итерационный метод минимизации квадра- тичной функции (6.63) одновременно является итерационным методом решения системы (6.31). Например, метод покоординатного спуска, примененный к функции (6.63), дает ту же последовательность прибли- жений, что и метод Зейделя. Подробнее об этом будет сказано в § 10.2; см. также [9]. В методе наискорейшего спуска итерации осуществляются по тем же формулам х(*+1)=х(*) + т г(*), г(к + 1) = г(к) _ т k>0, (6.64) что и в методе минимальных невязок. Но параметр хк + j вычисляется иначе: *+ 1 (лН*>, И*>) ( 5) Именно при этом значении достигает минимума функция ф* (а) = = F(xUd + аг^) (см. § 10.3). Теорема 6.11. Метод наискорейшего спуска (6.64), (6.65) сходится с оценкой погрешности Цх(л)-х||л <^о1|х(О,-х||л , п> 1, (6.66) где qQ определяется формулой (6.39). Как следствие, 1|х(л) - х h < 7cond2(/i) qnQ ||х(0) - х || 2, п > 1. Замечание 1. Как и метод минимальных невязок, метод наис- корейшего спуска сходится с той же скоростью, что и явный ите- рационный метод с оптимальным выбором параметра. Однако он обладает тем существенным преимуществом перед явным итера- ционным методом с оптимальным выбором параметра, что не тре- бует для своей реализации знания собственных значений Xmin иХтау или их оценок. 111 <1Л Замечание?. Дополнительную информацию о методе наиско- рейшего спуска можно найти в § 10.3. 229
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений § 6.5. Метод сопряженных градиентов 1. Метод сопряженных градиентов.1 Совместная статья Хестенса и Штифеля2 появилась в 1952 году после того, как они независимо открыли метод сопряженных градиентов. Первоначально этот метод рассматривался как один из прямых мето- дов решения систем линейных алгебраических уравнений Ах = Ь с самосопряженными положительно определенными матрицами порядка т. Было доказано, что в точной арифметике этот метод дает точное решение за т шагов. Однако на практике точная сходимость за т шагов не наблюдалась, поэтому метод сопряженных градиентов расценили как неустойчивый и интерес к нему на многие годы был утрачен; Только после того, как в 1971 году Рейд3 продемонстрировал значимость метода сопряженных градиентов как итерационного метода решения систем с разреженными матрицами, началось его широкое применение. В настоящее время метод сопряженных градиентов по праву рассматри- вается как один из наиболее эффективных итерационных методов реше- ния систем уравнений с самосопряженными положительно определен- ными матрицами. Рассмотрим этот метод. Пусть— начальное приближение к реше- нию, = b - — начальное значение невязки и= И0). Прибли- жения х^к + и невязки г(к + О = b - Ах^к + при к > 0 вычисляются по следующим формулам: х<*+|> =*<*’ +akPtk\ ак= w w . (6.67) г(к+ \) = г(к) _ акАр(к), (6.68) р(* + I) = + 1) + р.р<*>, р* =----— . (6.69) ЦИ*>112 1 В § 10.3 метод сопряженных градиентов рассматривается как метод минимизации квадратичной функции (6.63). Там же можно найти объяснение названия метода. 2 Hestenes M.R., Stiefel Е. L. Methods of conjugate gradients for solving linear systems // J. Res. Nat. Bur. Stand., Section B. 1952. V. 49. P. 409—436. 3 Reid J .K. On the method of conjugate gradients for the solution of large sparse systems of linear equations // In: J.K. Reid, editor. Large Sparse Sets of Linear Equations, Academic Press. 1971. pp. 231 -254. 230
§ 6.5. Метод сопряженных градиентов Теорема 6.11. Справедлива следующая оценка погрешности метода сопряженных градиентов'. 1 +р2" (6.70) Jcond2(x4) — 1 где Р = —----. Как следствие, справедлива оценка /Jcond2 (Л)+1 IIх(п) - X||2 < Jcond2(/1) 2р ||х(0) - X||2. (6.71) 1 + Скорость сходимости метода сопряженных градиентов та же, что и у явного итерационного метода с чебышевским набором параметров, но в отличие от последнего для его реализации не нужна информация о значениях Xmin и Хтах. Интересно, что метод сопряженных градиентов имеет все черты быстро сходящегося итерационного метода, но в то же время он является и прямым (точным) методом. Теорема 6.12. Метод сопряженных градиентов позволяет найти точное решение системы Ах = Ь с симметричной положительно опре- деленной матрицей порядка т не более чем за т итераций. Хотя теоретически одно из приближений х^ с номером п < т должно совпасть с точным решением х, на практике при решении систем высокого порядка т этим свойством не удается воспользо- ваться. Во первых, получение точного решения невозможно из-за вычислительной погрешности. Во-вторых, как правило, для систем большого порядка т применение итерационного метода целесообразно только, если требуемое число итераций п много меньше т. 2. Сверхлинейная скорость сходимости. Классическая априорная оценка (6.70), казалось бы, указывает на то, что метод сопряженных градиентов обладает линейной скоростью сходимости. Однако эта оценка часто бывает чрезмерно пессимистичной и не объясняет тонких свойств сходимости, присущих методу сопряженных градиентов. Для метода ’* P’-xL с линейной скоростью сходимости отношение практически не меняется с ростом к. Тем не менее, опыт применения метода сопряженных градиентов показал, что это отношение обычно убывает с ростом к, и в ходе итерационного про- цесса наблюдается ускорение скорости сходимости метода. 231
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений Первое объяснение этого эффекта, получившего название сверхли- нейной сходимости, на качественном уровне было дано в 1976 г.1 В 1986 г. Вандерслюис и Вандерворст2 дали его теоретическое обоснова- ние. Оказалось, что метод сопряженных градиентов (в точной арифме- тике) через некоторое время начинает вести себя так, будто в матрице А исчезли крайние собственные значения = Хт|П(Л) и кп = Хтах(Л); затем — так, будто исчезли собственные значения Х2 и _ j и так далее. Таким образом, влияние крайних собственных значений сказывается только на первых итерациях и существенным оказывается распределе- ние основной части собственных значений. Исследование феномена сверхлинейной сходимости продолжается. 3. Метод сопряженных градиентов с предобусловливанием. Метод сопряженных градиентов сходится очень быстро, если соп<12(Л) ® 1. Напротив, метод сходится довольно медленно, если сопё2(Л) » 1. Поэтому возникает естественное желание выполнить предобусловли- вание — заменить исходную систему уравнений Ах = b эквивалентной сис- темой Ау = Ь (6.72) с матрицей А, число обусловленности которой много меньше числа обусловленности матрицы А. Пусть В — некоторая невырожденная матрица. Положим у = Вх и умножим слева левую и правую части системы Ах = b на (Вг)-1. В результате получится система (6.72), в которой А = (ВГ)_1ЛВ_1, b = = (Вг)-,б. Заметим, что построенная таким образом матрица А — симмет- ричная и положительно определенная. Если сопё2(Л) << сопё2(Л), то имеет смысл применить метод сопряженных градиентов (6.67)—(6.69) к преобразованной системе. Пусть — начальное приближение, ^(0) = $(°>, где — начальное значение невязки. Прибли- 1 Concus Р, Golub G.H., O'Leary D.P. A generalized conjugate gradient method for the numerical solution of elliptic partial differential equations // InJ.R. Bunch and D. J.Rose, editors, Sparse Matrix Computations Academic Press, New York. 1976. 2 Van der Sluis A., van der Vorst H.A. The rate of convergence of conjugate gradients // Numer. Math .1986. V. 48. pp. 543-560. 232
§ 6.5. Метод сопряженных градиентов женияу№ к решению и невязки = b -Ау^ при к > 1 вычисляются по формулам: у(к + 1) = у(к) + а _(*) а = У У ’ <*к s(k+ I) = s(t) _ aji2qtk\ IM* + Dll? (* + i) = s (k + 1) + p W p = "----H3 ||SW||* Используя теперь формулы связи у№ = Вх^\ s® = (BT)~xr^k\ q^ = = Вр(к\ приходим к методу сопряженных градиентов с предобуслов- ливанием: г (°) = b -Ах&\ = г (°), = s<°), (6.73) |М*)||? х<*+° =х<*>+ <»*/*), ак = — , (6.74) (ApW.pW) г(*+1) = г(*)-а*Л/»<*>, (6.75) дТ5(*+1) = r(*+D, в^*+1) = ,(*+!). (6.76) |М*+ Dll? р(*+1) = г(*+1) + рр(*) р=----------J (6.77) |М*)||? Теорема 6.13. Для метода сопряженных градиентов с предобу- словливанием (6.73)—(6.77) справедливы оценки погрешности (6.70), ./cond?(/l) — 1 (6.71) с р = ?-------------- A/cond2(^) + 1 Обратим внимание на то, что платой за ускорение сходимости метода стала необходимость решать на каждой итерации системы (6.76). Поэтому эффективность работы метода самым существенным образом зависит от того, как быстро могут решаться эти системы. Нет общего рецепта, как построить предобусловливатель В. Более того, его построение предполагает выполнение противоречивых свойств. С одной стороны, матрица В должна быть такой, чтобы величина соп<12(Л) была, по возможности, минимальной. В этом смысле иде- альным был бы выбор В = LT, где L — невырожденная нижняя тре- угольная матрица, входящая в разложение Холецкого А = LLT (см. § 5.8). 233
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений При таком выборе А = Е, cond2(/4) = 1 и метод сопряженных гради- ентов даст точный результат за один шаг. Однако, если мы уже имеем матрицу L и можем быстро решать системы вида LTy = b, Lx = у, то в при- менении итерационного метода нет необходимости. С другой стороны, необходимо, чтобы структура матрицы В была достаточно простой, чтобы быстро решать системы (6.76). Ясно также, что вычисление предобусловливателя В не должно тре- бовать большой вычислительной работы. Одна из наиболее важных стратегий предобусловливания состоит в использовании неполного разложения Холецкого, в котором Вт = L — аппроксимация матрицы L, входящей в разложение Холецкого. Простой метод вычисления L указан в [31]. Замечание. Свойство сверхлинейной сходимости (см. п. 2) подсказывает и другую стратегию предобусловливания. Предобус- ловливатель нужно выбирать не так, чтобы число обусловленности матрицы А было много меньше числа обусловленности матрицы А, а так, чтобы большая часть собственных значений матрицы А сконцентрировалась (кластеризовалась) вблизи единицы, то есть в интервале (1 - е1? 1 + е2). Если вне этого интервала окажется лишь небольшой набор собственных значений, то после нескольких ите- раций метод сопряженных градиентов начнет вести себя так, как 1 + не превышает -j——. При этом возможно, что даже сопё2(Л) > сопё2(Л). § 6.6. Дополнительные замечания 1. В этой главе были рассмотрены лишь основные итерационные методы решения систем линейных алгебраических уравнений. *Вне нашего поля зрения остались многие известные и популярные методы. Среди них методы расщепления (неявные методы переменных направ- лений), блочные итерационные методы, методы подпространств Крылова, метод сопряженных невязок, обобщенный метод мини- мальных невязок (GMRES), методы MINRES, QMR, Bi-CGSTAB. Эти методы изложены, например, в учебниках [9, 88, 100, 122, 2*, 5*, 16*] и в специальной литературе [24, 89, 110, 121, 123, 24*, 26*]. будто число обусловленности матрицы А 234
§ 6.6. Дополнительные замечания 2. В гл. 10 мы еще раз вернемся к методам наискорейшего спуска и сопряженных градиентов в связи с задачей минимизации квадратичной функции (6.63). Обсуждение некоторых интересных особенностей метода сопряженных градиентов можно найти в [100, 5*], см. также [31]. 3. В настоящее время наиболее глубоко развиты методы решения систем уравнений с симметричными положительно определенными матрицами. Однако часто встречаются задачи, в которых матрица А — несимметричная или симметричная, но не является положительно определенной. Ряд эффективных методов решения систем уравнений с несимметричными матрицами рассмотрен в [89, ПО, 122, 123, 2*, 26*]. В принципе, всегда существует возможность симметризовать любую систему Ах = b с невырожденной матрицей, т.е. свести ее к эквива- лентной системе с симметричной положительно определенной мат- рицей. Для этого достаточно умножить обе части системы на матрицу Ат. В полученной таким образом системе АтАх = АТЬ (6.78) матрица А = А1А обладает всеми нужными свойствами. Однако, как правило, это делать не рекомендуется. Дело в том, что при переходе от А к А может быть потеряно свойство разреженности. Как следствие, воз- растут вычислительные затраты на одной итерации. Кроме того, как правило, существенно ухудшается обусловленность системы. Например, для матриц, близким к симметричным, сопсЦЛ)»(cond(/4))2. Вейлу этого даже самые быстрые методы решения систем с симметричными матрицами в применении к системе (6.78) могут стать очень неэффек- тивными. 4. Как уже было отмечено, одно из важнейших достоинств итераци- онных методов заключается в возможности эффективного использо- вания разреженности матрицы системы. Поясним сказанное на примере метода простой итерации (6.6). В случае, когда матрица В — заполненная, для вычисления по формуле (6.6) требуется выполнить примерно 2m2 арифметических операций. Однако для разреженной матрицы с М (М << тп2) нену- левыми элементами требуется лишь примерно 2М арифметических операций (одно умножение и одно сложение на каждый ненулевой элемент). Таким образом, общее число операций составляет примерно 2Л/и(е), где и(е) — число итераций, необходимое для достижения заданной точности е. 5. В случае, когда препятствием для быстрой сходимости итераци- онного метода является плохая обусловленность матрицы А, для уско- рения сходимости систему Ах = b заменяют эквивалентной системой Ау = 1> с матрицей вида А=В~1ХАВ~Х, которая имеет существенно меньшее число обусловленности. Этот подход, называемый предобу- словливанием, уже обсуждался в § 6.4. 235
Глава 6. Итерационные методы решения систем линейных алгебраических уравнений Как правило, матрицу А явным образом не вычисляют, используя в итерационном процессе наряду с исходной матрицей А невырожденные матрицы Bi и Вг, которые называют левым и правым неявным пред- обусловливателями. Неявными предобусловливатели называют потому, что их использование сводится к вычислению векторов вида w = B~xz, w = ВХ2, т.е. к решению систем Btw = 2, Brw = 2. Если в преобразо- ванной системе матрица А имеет вид А = BiABr, то предобусловли- ватели называются явными, так как их применение сводится к явному умножению Bt и Bt на соответствующие векторы. Возможны варианты A=BiXABr или А=В1АВХ, когда один из предобусловливателей является явным, а другой неявным. Часто один из предобусловлива- телей отсутствует; это не противоречит общей ситуации, а означает, что Bt = Е либо Br = Е. При построении неявного метода с оптимальным параметром (6.51) теоретически система Ах = Ъ преобразовывалась к эквивалентной системе с матрицей А = С~ХАС~Х, где С = Ув играет роль левого и правого неявного предобусловливателей. Однако при численной реали- зации метода фактически система преобразуется к виду В~хАх = В~х Ь, т.е. роль неявного левого предобусловливателя играет матрица В, а правый предобусловливатель отсутствует. Так же используются предобу- словливатели в неявном методе с чебышевским набором параметров. В методе сопряженных градиентов с предобусловливанием исполь- зуется преобразование к виду (6.72), где А = (ВТ)~ХАВ~Х, т. е. оба пред- обусловливателя Bt = Вт н Вг = В — неявные. Важно то, что матрица А = (ВТУХАВ~Х — симметричная и положительно определенная, если исходная матрица А — симметричная и положительно определенная. Обычно неявные предобусловливатели В/ и Вг выбираются так, чтобы системы уравнений с ними легко решались. В то же время жела- тельно, чтобы в определенном смысле матрица А была как можно ближе к единичной матрице Е, т.е. матрица BtBr в некотором смысле должна приближать матрицу А. 6. Иногда, используя информацию о уже полученных прибли- жениях к решению, удается построить уточненное приближение без существенных дополнительных вычислительных затрат. Пусть, например, х(п ~ 2\х^п ~ Ч и — три последовательных при- ближения, полученных с помощью стационарного двухслойного итера- 236
§ 6.6. Дополнительные замечания ционного метода. Согласно Ъ1-процессу ускорения сходимости уточ- ненное приближение x(w) имеет вид х(п) —х(п- 1) (х(^- — Х^п~ 2\— Х^п~ D) дг(Л) = Х'п' + " V = v - — — ... 7 *-Г„ ’ " ||Х(Л) - Х(« - I )|| 2 Приближение может быть использовано далее как начальное для следующих итераций. Как критерий применимости 52-процесса может быть использовано приближенное равенство | (х^л — 1) — х^п ~ 2\ х^п} — х^п ~ Н) | 1 ||х(Л-1)_х(Л-2)||2||х(я)_х(Л-1)||2 а L Подробнее о 62-процессе см. в [9]. Приближения х^п ~ 2\ х^п ~ их^ могут быть использованы и иначе. Будем искать уточненное приближение к решению в виде х(я) =х(п~2)+ а(х(л~ -х(* ~2>) + 0(х^ — х^п ~ 2>), (6.75) где параметры а и 0 определяются из условия минимума евклидовой нормы невязки г^ = Ь-Ах^. Заметим, что ^(п) = f(n-2) 4. (хДНл “ И + 0ДНл), где r<n) = b —Ах^п\ &г(п~ = г(п~ — г^п~2\ Необходимое условие экстремума для функции ф(а, 0) = ||Нл-2) + аДНл”1) + 0ДНл>||2. приводит к системе уравнений (ДИЛ " О, дг(«- 1))а + (ДИЛ- О, ДГ(«))0 = -(г(л-2), ДИЛ- П), (ДИЛ- Ч дИл))а + (ДИЛ>, ДИл>)0 =-(Ил-2), Дг<л>) относительно параметров а и 0. Найденное приближение (6.75) таково, что IIrW||2 £min{IIНл-2)||2, II Нл"»)||2, ||ИЛ)||2}. Дальнейшее развитие этой идеи приводит к обобщенному методу минимальных невязок (MINRES). 237
Глава 7 МЕТОДЫ ОТЫСКАНИЯ РЕШЕНИЙ СИСТЕМ НЕЛИНЕЙНЫХ УРАВНЕНИЙ В этой главе рассматривается задача отыскания решений систем нелинейных уравнений, существенно более сложная, нежели задачи отыскания решения одного нелинейного уравнения или системы линейных алгебраических уравнений. Тем не менее достаточно под- робное знакомство с содержанием гл. 4 и 6, а также § 5.1—5.3 позволяет увидеть соответствующие аналогии в постановках проблем и методах их решения для нелинейных систем. Будем считать, что в множестве m-мерных векторов введена неко- торая норма, порождающая соответствующую норму для квадратных матриц порядка т (см. § 5.2). § 7.1. Постановка задачи. Основные этапы решения 1. Постановка задачи. Задача отыскания решения системы нели- нейных уравнений с т неизвестными вида f\<xx,x2,...,xm) = 0, f2(xx,x2, ...,хт) = 0, (7.1) Д(х1,х2,...,хт) = 0 является существенно более сложной, чем рассмотренная в гл. 4 задача отыскания решения уравнения с одним неизвестным. Однако на практике она встречается значительно чаще, так как в реальных иссле- дованиях интерес представляет, как правило, определение не одного, а нескольких параметров (нередко их число доходит до сотен и тысяч). Найти точное решение системы, т.е вектор х = (хр х2, ..., хш)г, удов- летворяющий уравнениям (7.1), практически невозможно. В отличие от случая решения систем линейных алгебраических уравнений использо- вание прямых методов здесь исключается. Единственно реальный путь решения системы (7.1) состоит в использовании итерационных методов для получения приближенного решения х = (х[, х2, ...,х^)г, удовлетво- ряющего при заданном е > 0 неравенству ||х* - х || < е. 238
§ 7.1. Постановка задачи. Основные этапы решения Прежде чем перейти к изучению методов решения системы (7.1), подчеркнем важность понимания того факта, что эта задача может вообще не иметь решения, а если решения существуют, их число может быть произвольным. В общем случае весьма сложно выяснить, имеет ли система решения и сколько их. Пр и мер 7.1. Рассмотрим систему уравнений 4*i + х2 = 4, *1 - х\ + t = 0. Здесь Xj,x2 — неизвестные; t — параметр. Первое уравнение задает на плоскости ххОх2 эллипс, второе урав- нение — параболу. Координаты точек пересечения этих кривых дают решения системы. Если значения параметра t изменяются от -2 до 2, то возможны, например, следующие ситуации (рис. 7.1): a) t = -2 — решений нет; б) t = -1 — одно решение; в) t = 0 — два решения; г) t = 1 — три решения; д) t = 2 — четыре решения. ▲ Рис. 7.1 239
Глава 7. Методы отыскания решений систем нелинейных уравнений Для дальнейшего удобно использовать сокращенную векторную форму записи систем. Наряду с вектором неизвестных х = (хр х2, хт)т рассмотрим вектор-функцию / = (/,/2, ® этих обозначениях система (7.1) примет вид Дх) = 0. (7.2) Будем считать функции /(х) непрерывно дифференцируемыми в некоторой окрестности решения х. Введем для системы функций • матрицу Якоби dfy(x) 3/,(х) ах, ах2 " дхт s/2(x) V2(x) V2(x) '(*) = ах, дх2 ” дхт (73) . ах, дх2 дхт _ которая будет использована в дальнейшем. 2. Основные этапы решения. Как и для уравнения с одним неиз- вестным (см. гл. 4), отыскание решений начинают с этапа локализации. Для каждого из искомых решений х определяют множество, содер- жащее только одно это решение и расположенное в достаточно малой его окрестности. Часто в качестве такого множества выступает парал- лелепипед или шар в /и-мерном пространстве. Иногда этап локализации не вызывает затруднений; соответствующие множества могут быть заданными, определяться из физических сообра- жений, из смысла параметров х- либо быть известными из опыта решений подобных задач. Однако чаще всего задача локализации (в особенности при больших т) представляет собой сложную проблему, от успешного решения которой в основном и зависит возможность вычисления решений системы (7.1). На этапе локализации особое зна- чение приобретают квалификация исследователя, понимание им существа решаемой научной или инженерной проблемы, опыт решения этой или близких задач на компьютере. Во многих случаях полное решение задачи локализации невозможно и ее можно считать решенной удовлетворительно, если для х удается найти хорошее начальное при- 240
§ 7.1. Постановка задачи. Основные этапы решения ближение В простейших ситуациях (например, для системы двух уравнений с двумя неизвестными) могут быть использованы графи- ческие методы (см. пример 7.1) На втором этапе для вычисления решения с заданной точностью е используют один из итерационных методов решения нелинейных систем. Будем считать, что определения § 4.1, связанные с характеризацией сходимости итерационных методов, остаются в силе, причем в нера- венствах (4.5) и (4.6) знак модуля заменен на знак нормы, а 6-окрест- ность решения х понимается как множество точек х, удовлетво- ряющих условию ||х - х || <6. Пр и мер 7.2. Произведем локализацию решений системы з.з о Х| + х2 = 8x^2, Xj lnx2 =Х2 InXj. На плоскости Х]0х2 построим графики уравнений системы. График первого уравнения — это лист Декарта1 (рис. 7.2, а). График второго уравнения состоит из луча — биссектрисы первого координатного угла и кривой, пересекающей эту биссектрису в точке (е, е)т (рис. 7.2, б). Из рис. 7.3 видно, что эти кривые пересекаются в трех точках А, В, С, т.е. система имеет три решения. Так как оба графика симметричны относи- тельно прямой X! = х2, то координаты точки В равны и их легко вычислить: (7.4) 1 Рене Декарт (1596—1650) — французский философ, математик, физик, физиолог. Впервые ввел понятие переменной величины и функции. В аналитической геометрии соз- дал метод прямоугольных координат. 241
Глава 7. Методы отыскания решений систем нелинейных уравнений Х| = 4, х2 = 4. В силу этой же симметрии достаточно определить только координаты Х|, х2 точки С, так как точка А имеет координаты Xj = х2 и х2 = х j. Из рис. 7.3 замечаем, что точка С содержится в прямоугольнике П = {(х, у): 3.5 < X] <4, 1.5 < х2 < 2.5} и Xj » 3.8, х2 » 2. ▲ Подчеркнем, что только по виду уравнений системы (7.4) без исполь- зования графического метода установить число решений и найти прибли- жения к ним было бы весьма трудно. К сожалению, при числе уравнений т > 3 геометрические иллюстрации теряют свою эффективность. Замечание. Иногда удается понизить порядок т системы, выразив одно или несколько неизвестных из одних уравнений сис- темы и подставив соответствующие выражения в другие уравнения. Пример 7.3. Система уравнений х3 + у3 = х Iny = Inx сводится к одному нелинейному уравнению х3 + х3/х = 8х! + 1/х после того, как из второго уравнения выражается у = х,/г. А 3. Корректность и обусловленность задачи. Будем считать, что система (7.1) имеет решение х, причем в некоторой окрестности этого решения матрица Якоби f'(x) невырождена. Выполнение последнего условия гарантирует, что в указанной окрестности нет других решений системы (7.1). Случай, когда в точке х матрица f (х) вырождена, 242
§ 7.2. Метод простой итерации является существенно более трудным и нами рассматриваться не будет. В одномерном случае первая ситуация отвечает наличию простого корня уравнения f(x) = 0, а вторая — кратного корня. В § 4.2 было показано, что погрешность вычисления функции f при- водит к образованию вокруг корня уравнения f(x) = 0 интервала неоп- ределенности, внутри которого невозможно определить, какая из точек является решением уравнения. Аналогично, погрешности в вычислении вектор-функции f приводят к появлению области неопределенности D, содержащей решение х системы (7.1) такой, что для всех х g D векторное уравнение Дх) = О удовлетворяется с точностью до погрешности. Область D может иметь довольно сложную геометрическую структуру (рис. 7.4). Мы удовле- творимся только лишь оценкой радиуса ё этой области. Рис. 7.4 Предположим, что для близких к х значений х вычисляемые зна- чения /* (х) удовлетворяют неравенству IIДх) -/*(х)II < Д(/*). Тогда ё можно приближенно оценить с помощью неравенства ё < IKf(i))-1 II Д(/*). Таким образом, в рассматриваемой задаче роль абсолютного числа обусловленности играет норма матрицы, обратной матрице Якоби f (х). $ 7.2. Метод простой итерации 1. Описание метода. Предположим, что требуется найти решение х = (хь х2, хт)г системы (7.1) с заданной точностью е > 0. Преоб- разуем систему (7.1) к следующему эквивалентному виду (к виду, удобному для итераций): Xi =Ф1(Х1,х2, *2 = Ф2(*1>Х2> •••,Хт), (7.5) 243
Глава 7. Методы отыскания решений систем нелинейных уравнений Если ввести вектор-функцию ср = (ф1? ф2, •••, фт)г, то система (7.5) запишется так: х = ф(х). (7.6) Пусть начальное приближение х<0) = (x\Q\ х^\ ...,х^)Т задано. Подставляя его в правую часть системы (7.6), получаем = ф(х(0>). Подставляя х(,) в правую часть (7.6), находим х<2> =ф(х<1>) и т.д. Про- должая вычисления по формулам *(*+!)= ф(х(*)), £>о, (7.7) получаем последовательность х<0), х^\ ..., х^п\ ... приближений к решению х. Запись (7.7) означает, что очередное приближение х^к + вычис- ляется через предыдущее приближение*^ следующим образом: r(4+1) = m r(*> г(*Ь X] ф|(Х| , *2 , ...tXm ), r(*+1) = m r<*> r(*h % 2 Ф2'*1 9 9 )> Xm Фда(*1 »X2 9 ‘">Xm )• Отметим существенную аналогию с методами простой итерации для решения одного нелинейного уравнения (см. гл. 4) и системы линейных алгебраических уравнений (см. гл. 6). 2. Сходимость метода. Пусть ф'(*) — матрица Якоби, отвечающая вектор-функции ф(х) (см. § 7.1). Сформулируем теорему о сходимости метода простых итераций, являющуюся аналогом теорем 4.2 и 6.1. Теорема 7.1. Пусть в некоторой ^-окрестности решения х функции ф,(х) (/=1,2.......т) дифференцируемы и выполнено нера- венство Иф'(х)И £ q, (7.8) где 0 £ q < 1, q — постоянная. Тогда независимо от выбора начального приближения х^> из ука- занной ^-окрестности корня итерационная последовательность не выходит из этой окрестности, метод сходится со скоростью геомет- рической прогрессии и справедлива следующая оценка погрешности'. 11х(л) - х || < qn ||х(0) - х II. (7.9) 244
§ 7.2. Метод простой итерации Замечание 1. Условие (7.8), грубо говоря, означает, что в окрестности решения производные dy-/dxj для всех i и j должны быть «достаточно малы по модулю». Иными словами, систему (7.1) следует преобразовать к такому виду (7.5), чтобы функции <pz слабо менялись при изменении аргументов, т.е. были «почти постоянными». Каких-либо общих рецептов, как это следует делать, в общем случае нет. Замечание 2. В условиях теоремы 7.1 верна апостериорная оценка погрешности ||?”)-J||<-2- Их00-?"’1 >||, 1 — q которая удобна для формулирования критерия окончания итера- ций, если известна величина q. Однако найти значение q, удовле- творяющее неравенству (7.8) для всех х из некоторой а-окрестно- сти корня, далеко не просто. В ряде случаев при наличии достаточно хорошего начального приближения х<0) можно, считая, что q « qQ = ||ф'(х<0))И, использовать следующий практический критерий окончания итерационного процесса: ||х(")-х("’1,||<£|=—°е. (7.10) Пример 7.4. Используя метод простой итерации, найдем с точ- ностью е = 10-3 решение jq, х2 системы (7.4). Приведем систему к виду, удобному для итераций: = \]^Х{Х2- *2, х9 = х9 +-------------; 2 1пх2 1ПХ] здесь ф, (хр х2)= увх^з-хз, ф2(ХрХ2) = х2 + -^-- —-. 1ПХ2 1пх । Проверим выполнение условия сходимости вблизи точки С (см. рис. 7.3). Вычислим матрицу Якоби д<р! дф] 8х2 2 8*| — 3*2 ф'(Х|, Х2) = а<р2 дх2 5ф2 — 3(8xjX2 —х2)2^ 1 1 3(8Г|Х2 -х2)М 1+ —-4- 1п*2 1п2*2 дху дх2 in2*! 1пт1 245
Глава 7. Методы отыскания решений систем нелинейных уравнений Так как Х] « 3.8 и х2 «2, то для х » х » (3.8, 2) имеем Ф'(х„ Х2) « ф'(3.8, 2)« 0.379 0.436 -0 188 0 361 Тогда ||ф'(х1,х2)110о*Иф'(3.8,2)||0О « 0.379 + 0.436 = 0.815. Следова- тельно, метод простой итерации Ак) Ак) (*+!)_ (*) , х2 Г1 Х2 Х2 Ак) (к) inx^ 1пх । (7.11) будет сходиться со скоростью геометрической прогрессии, знаменатель которой примерно равен 0.815, если начальные приближения брать в достаточно малой окрестности решения Возьмем х<0) = 3.8, х^ = 2 и будем вести итерации по формулам (7.11), используя критерий окончания (7.10), в котором е = 10~3, qQ = 0.815. Результаты вычислений с шестью знаками мантиссы приведены в табл. 7.1. Таблица 7.1 к 0 1 2 3 4 3 80000 3 75155 3 74960 3 75892 3 76720 2 00000 2 03895 2 06347 2 07498 2 07883 Продолжение табл. 7.1 к 5 6 7 8 9 3 77198 3 77399 3 77450 3 77440 3 77418 2 07920 2 07850 2 07778 2 07732 2 07712 При к = 9 критерий окончания выполняется и можно положить х1 =3 774 ± 0 001, х2 = 2.077 ±0.001. ▲ 3. Влияние погрешности вычислений. В силу наличия погреш- ностей при вычислении на компьютере получается не последователь- ность х^к\ удовлетворяющая равенству (7 7), а последовательность х^, удовлетворяющая равенству Я<*+1) = ф*(£(*)). (7.12) 246
§ 7.2. Метод простой итерации Будем считать, что абсолютная погрешность вычисляемых значений Ф*(х) вектор-функции ф мала и что ||ф(х) - ф*(х)|| < Д(ф*). Наличие погрешности вычисления ф приводит к появлению области неопреде- ленности решения х, радиус ё которой можно приближенно оценить, воспользовавшись неравенством е ё* = Д(ф*)/(1 -q) в том случае, если ||ф'(х)|| < q. Сформулируем следующий результат, являющийся аналогом теорем 4.5 и 6.3. Теорема 7.2. Пусть выполнены условия теоремы 7.1 и для всех х из ^-окрестности решения х выполнено неравенство ||ф(х) - ф*(х)|| < Д(ф*). Предположим также, что е* = ~ < п 1 -q (т.е. величина Д(ф*) достаточно мала). Тогда если вычисления по формулам (7.7) и (7.12) начинаются с одного начального приближения х(0) = х(0), принадлежащего ^^-окрестности решения х (где Gj = = min {с, (с-е*)/^}), то последовательность не выходит за пределы ^-окрестности решения х и для всех п > 1 справедливы оценки ||х(л) _х(л)|| < g* , ||х- х || < qn ||х(0) - х || + ё *, — + Г. 1 — q 4. Модификации метода простой итерации. В некоторых случаях для ускорения сходимости полезно использовать следующий аналог метода Зейделя (см. § 6.2): М + *1 Ф1(Х1 > г(*) Лк) Л2 » Л3 » (*)ч • >хт ) ’ х(к + х2 1) / М+ =Ф2О1 1) 3 (*) Лк) Л2 » х3 ’ xW) (к + Х3 1) z М + = <Рз(*1 1) 3 м+1) М) х2 >*3 ’ (к + хт )_ zJ* + Фт(^1 1) J М+1) м+1) ' -*2 ’ х3 ’ ’ xW) 247
Глава 7. Методы отыскания решений систем нелинейных уравнений Другой вариант метода Зейделя состоит в следующем: i-я компо- нента решения (/ = 1,2, т) на (к + 1)-й итерации метода опреде- ляется как решение нелинейного уравнения F;(X;*+1)) =0, где F,(xf) =fi(x\k" ”, ...,х^ ’’.Xf.xjVi, Преимущества этого метода1 состоят в возможности использования методов решения уравнений с одним неизвестным и в отсутствии необ- ходимости приведения системы уравнений к виду, удобному для ите- раций. Указанный метод сходится, если для матрицы Якоби fix) выполнены условия строчного диагонального преобладания. Иногда существенный выигрыш дает использование нелинейного SOR-метода, являющегося аналогом метода релаксации (см. § 6.3). В нем после вычисления очередной /-й компоненты (к + 1)-го прибли- жения по формуле метода Зейделя £(*+!) ,r(*+D r(*+D Л*) xi ФДХ1 >•••>•*/-1 >xi приближение + вычисляют по формуле X; -X; +(со- 1)(Х; - X; ), где co — параметр релаксации. § 7.3. Метод Ньютона для решения систем нелинейных уравнений 1. Описание метода. Обобщим метод Ньютона, изложенный в § 4.6 для решения одного нелинейного уравнения, на решение систем нели- нейных уравнений (7.1). При этом будем исходить из трактовки метода Ньютона как метода линеаризации. Предположим, что исходя из начального приближения к решению х построены приближения х(2), ..., Заменим в системе (7.1) каждую из функций / (/ = 1,2, ..., т) главной линейной частью ее разложения по формуле Тейлора в точке т df ix^) z . Л(х) »Л(х(")) + £ (Xj-xj”'). /=1 J 1 Этот метод иногда называют нелинейным методом Зейделя. 248
§ 7.3. Метод Ньютона для решения систем нелинейных уравнений В результате придем к системе линейных алгебраических уравнений т д/Лх^) ( v /((*b))+z-V-(x'-x' )=0’ 7=1 J имеющей в матричной форме записи следующий вид: Дх*")) + f(xW)(x-х^) = 0; (7.13) здесь /' — матрица Якоби (7.3). Предположим, что матрица /,(х(л)) невырожденная, т.е. существует обратная матрица (/^(х(^))-1. Тогда система (7.13) имеет единственное решение, которое и принимается за очередное приближение х^п + 1) к решению х . Таким образом, приближение х^п + удовлетворяет равенству дхИ) +f(xW)(x(n + 0 -xW) = 0, (7.14) выражая из которого х^п + выводим итерационную формулу метода Ньютона: х(п 4- I) =х(и) _ (ff(x^))-^x(^). (7.15) Замечание. Формула (7.15) предполагает использование трудо- емкой операции обращения матрицы (см. гл. 5), поэтому непосредст- венное ее использование для вычисления х(п + в большинстве слу- чаев нецелесообразно. Обычно вместо этого решают эквивалентную системе (7.14) систему линейных алгебраических уравнений f (х^х^п 11 > = -Дх™) (7.16) относительно поправки + =х^п + Затем полагают X("+D =*(") + дх("+1). (7.17) 2. Сходимость метода. Сформулируем основную теорему о сходи- мости метода Ньютона. Теорема 7.3. Пусть в некоторой окрестности решения х системы (7.1) функции^ (/=1,2, .., т) дважды непрерывно дифференцируемы и матрица f'( х) невырождена. Тогда найдется такая малая д-окрест- 249
Глава 7. Методы отыскания решений систем нелинейных уравнений ностъ решения х, что при произвольном выборе начального прибли- жения х<°) из этой окрестности итерационная последовательность метода Ньютона не выходит за пределы окрестности и справедлива оценка: и > 0. Эта оценка означает, что метод сходится с квадратичной скоростью. Квадратичная скорость сходимости метода Ньютона позволяет использовать простой практический критерий окончания итераций ||х(л)_х(л-1)|| <е. (7-18) Пр и мер 7.5. Использовав метод Ньютона, найдем с точностью £ = = 10~4 решение Х|, х2 системы (7.4). Возьмем Х]0) = 3.8, х^ = 2 и будем вести вычисления по формулам (7.16), (7.17), в которых /(*) = 3.3 2 Х| +х2 - 8Х|Х2 X) 1пх2 -Х2 InXj . /'(*) = Зх^-8х2 Зх2-8Х] х2 Xj 1пх? 1пх. X, Х2 • Результаты вычислений с шестью знаками мантиссы приведены в табл. 7.2. Таблица 7.2 к 0 2 3 ,(*> л| 3.8OOOO 3.77258 3.77388 3.77389 х(к) Х2 2.00000 2.07189 2.07708 2.07710 При k = 3 критерий окончания итераций 1)Иоо < £ = 10“4 выполняется и можно положить = 3.7739 ± 0.0001, х2 = 2.0771 ± ±0.0001. ▲ 3. Трудности использования метода Ньютона. Изложенные в § 4.6 трудности использования метода Ньютона не только сохраняются при применении его к решению систем нелинейных уравнений, но и усугубляются. Во-первых, возникает проблема вычисления на каждой итерации матрицы f’(x) из т2 частных производных, что само по себе может оказаться весьма сложным делом. Во-вторых, обостряется про- 250
§ 7.4. Модификации метода Ньютона блема нахождения хорошего начального приближения. Ее решить в многомерном случае гораздо труднее, чем в одномерном. 4. Модифицированный метод Ньютона. Модифицированный метод Ньютона призван существенно ослабить требования к начальному приближению. Опишем одну его итерацию. Сначала, как и в классическом варианте метода, решают систему /^(л))Д^(л + 1) = -Л^(л)) относительно вектора + Затем находят число ал, решая задачу одномерной минимизации Fn(aw) = min F„(a); F„(a) = ||/(х(л) + аДх<" + . а Следующее приближение вычисляют по формуле х(п + 1) =х(п) + а„ Дх(л + 1) Подробнее с модифицированным методом Ньютона можно ознако- миться в [104]. 5. Влияние погрешности вычислений. Пусть /* и (/*')* — вычис- ляемые на компьютере приближенные значения вектор-функции / и матрицы Якоби f'. Пусть для решения системы линейных алгебраических уравнений (7.16) используется схема частичного выбора (см. § 5.5). Будем считать, что матрица/1 достаточно хорошо обусловлена (cond(/')sM О и вычисляется не слишком грубо (II/'- (/')*Н Н/'И). Тогда при выборе начального приближения из малой окрестности решения метод Ньютона является устойчивым и дает возможность найти решение с гарантированной точностью £ £ £* = 11(/'(х))-111 Д(/*) • § 7.4. Модификации метода Ньютона Если оценивать качество метода Ньютона только по числу необхо- димых итераций, то следовало бы сделать вывод о том, что этот метод стоит применять всегда, когда он сходится. На практике для достижения разумной точности £ при выборе достаточно хорошего начального при- ближения требуется, как правило, три-пять итераций. Однако при оценке общей трудоемкости метода следует учитывать, что на каждой итерации требуется выполнение следующей дополни- тельной работы: I) вычисление т компонент вектора /(х(л)); 2) вычисление т2 компонент матрицы Якоби /'(х(л)); 3) решение системы линейных алгебраических уравнений (7.16). 251
Глава 7. Методы отыскания решений систем нелинейных уравнений Существует большое число модификаций метода Ньютона, позво- ляющих в тех или иных ситуациях снизить его трудоемкость либо избежать необходимости вычисления производных. Рассмотрим кратко некоторые из таких модификаций, с учетом того, что их одномерные аналоги были изучены более подробно в § 4.7. 1. Упрощенный метод Ньютона. Заменим в расчетных формулах метода Ньютона (7.16), (7.17) матрицу f'(x^), зависящую от л, посто- янной матрицей А = /'(х<0)). В результате получим расчетные формулы упрощенного метода Ньютона'. ЛДх<л+1) = (7.19) Х(Л + 1) = х(п) 4- Дд-Сп + 1) (7.20) Можно показать, что этот метод сходится со скоростью геометри- ческой прогрессии, если начальное приближение выбрано доста- точно близким к решению х, причем знаменатель прогрессии q тем меньше, чем ближе к х . По сравнению с методом Ньютона число итераций, необходимое для достижения заданной точности £, существенно возрастает. Тем не менее общие вычислительные затраты могут оказаться меньше. Причины этого состоят в следующем. Во-первых, вычисление матрицы Якоби производится здесь только один раз; во-вторых, как нетрудно видеть, при использовании упрощенного метода Ньютона (7.19), (7.20) многократно решается система линейных уравнений с фиксированной матрицей А и различными правыми частями. Это означает, что при решении систем (7.19) методом Гаусса возможно применение /^-раз- ложения матрицы А, которое резко уменьшает число операций, необхо- димых для вычисления &х(” + (см. гл. 5). 2. Использование формул численного дифференцирования. Довольно часто вычисление производных df-Jdx-, являющихся эле- ментами матрицы затруднено или вообще невозможно. В такой ситуации для приближенного вычисления производных можно попытаться использовать формулы численного дифференцирования (см. гл. 12). Например, можно использовать следующую конечно-разностную аппрок- симацию производной* = 1 ( Jn> j") I J") J") Лл)\ //J") hj 252
§ 7.4. Модификации метода Ньютона Параметры # 0 (/ = 1,2, ..., т) — это конечно-разностные шаги. Если в расчетных формулах метода Ньютона (7.16), (7.17) заменить матрицу /'(х(л)) аппроксимирующей ее матрицей с элементами г(л) , то получим следующий итерационный метод: у(«)дх(л + 1) = _дх(и))) (722) х(л+1)=д.(и) + дх(и+1). (7.23) В простейшем варианте этого метода шаги hj (j = 1, 2, ..., т) не зависят от п. Отметим, что выбор величины шагов представляет собой не очень простую задачу. С одной стороны, они должны быть доста- точно малыми, чтобы матрица хорошо приближала матрицу f(x^), с другой, они не могут быть очень малы, так как в этом случае влияние погрешностей вычисления функций f- на погрешность формулы (7.21) численного дифференцирования становится катастро- фическим (выполняется вычитание близких приближенных чисел). Следующие три метода можно рассматривать как варианты метода (7.22), (7 23), в которых реализованы специальные подходы к вычис- лению вектора = (h\n\ h^\ h^)T. Для того чтобы приведенные ниже рассуждения были формально корректными, в формуле (7.21) r(n) df'i , (rt\x t (п) Л положим = — (х(п)), если оказалось, что п; = 0. ,J дх^ f J 3. Метод ложного положения. Пусть с — фиксированный вектор. Положим = с - х<п\ Тогда формулы (7.21)—(7.23) определяют метод ложного положения, обладающий линейной скоростью сходи- мости, если вектор с и начальное приближение х(°) выбраны доста- точно близко к решению. 4. Метод секущих. В одном из наиболее популярных своих вари- антов метод секущих можно рассматривать как метод (7.21)—(7.23), где = х^п - О - х("). Метод секущих является двухшаговым: для вычисления очередного приближения х^п + О используют два преды- дущих приближениях^) и?" - И Для того чтобы начать вычисления, необходимо задать два начальных приближения х(0) их(|). При удачном выборе начальных приближений х(0) и х(1) метод секущих сходится со сверхлинейной скоростью с порядком сходимости р = (75 + 1)/2. 253
Глава 7. Методы отыскания решений систем нелинейных уравнений 5. Метод Стеффенсена. Вычисления по методу Стеффенсена про- изводят по формулам (7.21)—(7.23), где Замечательно то, что хотя этот метод не требует вычисления производных и в отличие от метода секущих является одношаговым, он, как и метод Ньютона, обладает свойством квадратичной сходимости. Правда, как и в методе Ньютона, его применение затруднено необходимостью выбора хорошего начального приближения. По-видимому, для решения нели- нейных систем вида (7.1) метод Стеффенсена чаще окажется лучшим выбором, чем метод секущих или метод ложного положения. Как и в одномерном случае (см. § 4.7), следует отметить, что методы секущих и Стеффенсена теряют устойчивость вблизи решения (факти- чески это происходит при попадании приближения в область неоп- ределенности решения х). Поэтому при использовании этих методов важно вовремя прекратить выполнение итераций. 6. Метод Бройдена. Существует класс квазинъютоновских методов, обобщающий на случай систем уравнений метод секущих. Среди этих методов заслуженной популярностью пользуется метод Бройдена. В этом методе наряду с последовательностью приближений xf^ к решению вычисляется последовательность приближений к матрице Якоби /'(х). Пусть заданы начальные приближения х^0) «хи » ~f'(x)- Следующие приближения при к = 0, 1, ..., вычисляются по формулам х<‘+"=хЖ + Дх(*+1), + !)|| 2 Этот метод обладает сверхлинейной сходимостью. § 7.5. О некоторых подходах к решению задан локализации и отыскания решений систем нелинейных уравнений Подчеркнем еще раз, что одной из наиболее трудных проблем, возни- кающих при решении систем нелинейных уравнений, является задача локализации решения. Изложим некоторые подходы к ее решению, широко применяемые в практике вычислений. Указанные методы можно применять и для вычисления решения с заданной точностью £. 254
§ 7.5.0 некоторых подходах к решению задач локализации систем нелинейных уравнений 1. Использование методов минимизации. Иногда бывает полезно свести задачу отыскания решения системы нелинейных уравнений к задаче отыскания минимума функции многих переменных. В про- стейшем варианте это сведение выглядит следующим образом. Введем т функцию Ф(х) = £(/(*))2 Она неотрицательна и достигает своего /=1 минимума (равного нулю) тогда и только тогда, когда/Дх) = 0 для всех i = 1, 2, т.е. когда х является решением системы (7.1). Применив для отыскания минимума функции Ф один из итераци- онных методов минимизации — методов спуска (см. гл. 10), можно найти вполне удовлетворительное приближение к решению х , которое затем имеет смысл использовать как начальное приближение х® в одном из итерационных методов решения нелинейных систем. Выгода от указанного сведения исходной задачи к задаче миними- зации состоит в том, что, как правило, методы спуска имеют более широкую область сходимости. Использование методов спуска можно рассматривать и как один из способов локализации решений системы (7.1). Применение на заключительном этапе методов, специально ори- ентированных на решение нелинейных систем, вызвано тем, что вблизи искомого решения методы спуска сходятся медленнее. Следует отметить, что функция Ф(х) может иметь и ненулевые локальные минимумы, и в зависимости от выбора начального прибли- жения методы спуска могут приводить к точкам локального минимума, не являющимися решениями системы (7.1). Пример 7.4. Решения системы (7.4) являются точками глобального минимума функции Ф(хр х2) = Сч + х2 - 8х,х2)2 + (xj 1пх2 -х2 Inxj)2 . ▲ 2. Метод продолжения по параметру. Сначала заметим, что довольно часто на практике встречаются ситуации, когда система нели- нейных уравнений естественным образом зависит от некоторого пара- метра г, т.е. имеет вид /(х, t) = 0, (7.24) а решение ее следует найти при некотором фиксированном значении параметра, например при t = 1. В частности, этим свойством обладает система из примера 7.1. Предположим, что при каждом t е [0, 1] система (7.24) имеет решение х = х(/)> непрерывно зависящее от 255
Глава 7. Методы отыскания решений систем нелинейных уравнений Рис. 7.5 параметра Z, причем при t = 0 решение системы /(х, t) = 0 известно либо легко вычисляется. Таким образом, семейство решений x(t) описывает в пространстве Rm траекторию, начальная точка х(0) которой известна, а конечная х(1) подлежит определению (рис. 7.5). И в тех случаях, когда система не зависит от параметра, можно ввести параметр t так, чтобы были выполнены указанные выше условия. Например, если х — известное приближение к решению системы /(х) = 0, то можно рассмотреть систему вида (7.24), положив Дх, г) =/(х) -(1 -г)Дх*). Введем на отрезке [0, 1 ] набор точек О = /о</, < ... <rN = 1. Исполь- зовав тот или иной итерационный метод, решим последовательно для к = 0, 1,2, ..N системы /(х, tk) = 0. При этом за начальное приближение к x(tk) будем принимать решение x(^_t). Если разность tk - tk _ j достаточно мала, то можно ожидать, что x(tk_x) будет достаточно хорошим начальным приближением к х(^), обеспечивающим сходи- мость используемого итерационного метода. Замечание. Довольно часто на практике проводится исследо- вание зависимости определенных характеристик объекта от неко- торого параметра t. Для таких задач метод продолжения естествен. Более того, точки /0, ..., tN можно выбрать, использовав допол- нительные соображения, причем решение x(tk) представляет интерес не только для к = N, но и для всех к = 0, 1, ..., N. 256
§ 7.5.0 некоторых подходах к решению задач локализации систем нелинейных уравнений 3. Метод дифференцирования по параметру. Предположим, что решение x(t) системы (7.24) является гладкой функцией параметра t. Дифференцируя тождество t) = 0 по /, получаем /;(х(0,0хЧ0+Л(*('),') =о. Здесь /4(5, I) — матрица с элементами df-/dx-(x, t) (i.j = 1,2, ..., ти), а /Дх, t) — вектор-столбец с элементами dfjdtfa t) (i = 1,2, ..., m). Таким образом, если матрица fx невырождена (det fx -* 0), то x(r) является решением задачи Коши для системы обыкновенных диффе- ренциальных уравнений =- [/;(*('), ог'л'мо, о, х(0)=х(о). (7.25) Интересующее нас значение решения х(1) можно теперь найти прибли- женно, применяя численные методы решения задачи Коши (см. гл. 14). Например, метод Эйлера приводит к процессу х(*+ 1) = х(*) - (ri+ , - tk)[f’x(x<k\ tk)]-'f’t(xV\ tk), k= 0, 1, N- 1, гдех<0) = x(0), x^ — приближение к x(tk) (рис. 7.6). Конечно, метод Эйлера приведен здесь только для удобства иллюст- рации, а в реальной ситуации используется один из методов более высокого порядка точности. Рис. 7.6 257
Глава 7. Методы отыскания решений систем нелинейных уравнений Полученное указанным способом значение можно использовать и как хорошее начальное приближение к х(1) в одном из итераци- онных методов решения системы (7.24). Замечание 1. Иногда метод дифференцирования по пара- метру называют методом Давиденко'. Замечание 2. Методы продолжения и дифференцирования по параметру нередко позволяют успешно преодолевать непростую проблему локализации. Однако следует отметить, что эти методы далеко не всегда оказываются эффективными и их практическое применение требует определенной осторожности. § 7.6. Дополнительные замечания 1. Существенно более подробная и богатая информация о системах нелинейных уравнений и методах их решения содержится в книгах [74, 40]. Рекомендуем также обратиться к учебнику [9]. 2. В последнее время значительный интерес проявляется к так называемым квазиньютоновским методам, которые получаются при специальных аппроксимациях матрицы Якоби. Часто такая аппрокси- мация сочетается с использованием гибридных алгоритмов подобно тому, как это делается для решения одного нелинейного уравнения (см. § 4.8). Полезные обсуждения таких методов можно найти в [40]. 3. Иногда подходящим для решения задачи методом оказывается метод установления см. [9]. Чаще это бывает тогда, когда решение системы (7.1) описывает устойчивое стационарное состояние неко- торой физической системы. 4. Рекомендовать тот или иной метод как наиболее подходящий для решения системы нелинейных уравнений невозможно без тщательного анализа конкретной задачи. 1 Дмитрий Федорович Давиденко (1923—1995) — российский математик. 258
Глава 8 МЕТОДЫ РЕШЕНИЯ ПРОБЛЕМЫ СОБСТВЕННЫХ ЗНАЧЕНИЙ Вычисление собственных значений (чисел) и собственных векторов — одна из тех сложных вычислительных задач, с которой часто прихо- дится сталкиваться исследователю, занимающемуся конструированием или анализом больших технических систем. В электрических и механи- ческих системах собственные числа отвечают собственным частотам колебаний, а собственные векторы характеризуют соответствующие формы (моды) колебаний. Знание собственных чисел позволяет анали- зировать многие процессы, исследовать и управлять ими. Оценка кри- тических нагрузок при расчете строительных конструкций также основана на информации о собственных значениях и собственных век- торах матриц. Собственные числа и собственные векторы являются важнейшими характеристиками, отражающими существенные стороны линейных моделей. Поэтому, конечно, дальнейшее расширение процесса матема- тического моделирования приведет к тому, что владение методами решения проблемы собственных значений станет неотъемлемым эле- ментом высшего образования. § 8.1. Постановка задачи. Некоторые вспомогательные сведения 1. Постановка задачи. В данной главе мы ограничимся рассмот- рением методов решения проблемы собственных значений только для квадратных матриц А порядка т с вещественными элементами atJ (i,j = = 1,2, ..., т). Будем всюду под ||х|| понимать норму ||х||2 и под (х,/) — скалярное произведение векторов х,/ (см. § 5.2). Напомним, что число X называется собственным значением (собст- венным числом) матрицы А, если существует ненулевой вектор х, удов- летворяющий системе уравнений Ах = Хх (8.1) и называемый собственным вектором матрицы /4, отвечающим соб- ственному значению X. (Собственное значение X и собственный вектор х — вообще говоря, — комплексные.) 259
Глава 8. Методы решения проблемы собственных значений Запишем систему (8.1) в виде (А -Х£> = 0. Эта однородная система имеет ненулевое решение х тогда и только тогда, когда определитель матрицы системы равен нулю, т.е. det(/4 - ХЕ) = 0. (8.2) Раскрытие этого уравнения приводит к так называемому характери- стическому (или вековому) уравнению X'"+plX'”-1+p2X'”-2 + ...+pm_IX+pm = 0, (8.3) представляющему собой алгебраическое уравнение степени т. Известно, что характеристическое уравнение имеет в области ком- плексных чисел ровно т корней Хр Х2, ..., Хш (с учетом их кратности). Таким образом, каждая квадратная матрица А порядка т обладает набором из т собственных значений Хр Х2, ..., Хт. Если матрица А симметричная, то все ее собственные значения являются вещественными числами. Для несимметричных матриц воз- можно наличие комплексных собственных значений вида X = а + /0 с ненулевой мнимой частью. В этом случае собственным значением обя- зательно является и комплексно-сопряженное число X = а - /0. В ряде задач механики, физики, химии, техники, биологии требуется получение всех собственных значений некоторых матриц, а иногда и всех собственных векторов. В такой постановке задачу называют полной проблемой собственных значений. Довольно часто определению подлежат не все собственные зна- чения и собственные векторы, а лишь небольшая их часть. Например, существенный интерес во многих приложениях представляют макси- мальное или минимальное по модулю собственное значение или же собственное значение, наиболее близко расположенное к заданному значению. Такие задачи являются примерами частичных проблем соб- ственных значений. Может показаться, что достаточно ограничиться только рассмот- рением методов решения полной проблемы собственных значений, так как все остальные проблемы являются ее частными случаями. Однако такой подход неоправдан, поскольку ориентирует на работу по полу- чению значительного объема заведомо ненужной информации и требует существенно большего объема вычислений, чем это необходимо в дейст- вительности. Поэтому для решения различных частичных проблем собст- венных значений разработан ряд специальных методов. 260
§ 8.1. Постановка задачи. Некоторые вспомогательные сведения Пример 8.1. Найдем собственные числа матрицы 5 А = 2 1.2 -5.3999 (8.4) -7.5 Запишем характеристический многочлен 5 Р3(Х) = det(/4 - ХЕ) = det 1.2 -5.3999 - X -7.5-Х = -X3 - 10.8999Х2 - 26.49945Х - 21.002. Используя один из итерационных методов решения нелинейных урав- нений (например, метод Ньютона), определяем один из корней уравнения Р3(Х) = 0, а именно Xj « -7.87279. Разделив Р3(Х) на X - Хр имеем Р3(Х) -—------- « Р2(Х) = X2 + 3.0271 IX + 2.66765. Х + 7 87279 2V 7 Решая квадратное уравнение Р2(\)= 0, находим корни Х2 3« «- 1.51356 ± 0.613841 i. Таким образом, матрица А имеет одно вещественное собственное значение Xj « -7.87279 и два комплексно-сопряженных собственных значения Х2 3 « -1.51356 ± 0.613841 i. ▲ Численные методы решения проблемы собственных значений, использовавшиеся до конца 40-х годов XX в. сводились в конечном счете к решению характеристического уравнения (8.3). Этой класси- ческой схеме следовали и мы в примере 8.1. При реализации такого подхода основные усилия были направлены на разработку эффек- тивных методов быстрого вычисления коэффициентов характеристи- ческого уравнения. Методы такого класса получили названия прямых, к ним относятся пользовавшиеся популярностью методы Крылова1, Данилевского, Леверье и др. Однако указанный подход становится неудовлетворительным, если речь идет о вычислении собственных значений матриц, имеющих порядок т в несколько десятков (и тем более сотен), т.е. матриц довольно скромных по современным понятиям размеров. 1 Алексей Николаевич Крылов (1863—1945) — русский математик, механик и кораб- лестроитель, является автором первого в мировой научной литературе курса по числен- ным методам — изданных в 1911 г. «Лекций о приближенных вычислениях». 261
Глава 8. Методы решения проблемы собственных значений Одна из причин состоит в том. что хотя задачи (8.1) и (8.3) фор- мально эквивалентны, они имеют разную обусловленность. Так как корни многочлена Рт(х) высокой степени чрезвычайно чувствительны к погрешностям в коэффициентах, то на этапе вычисления коэффици- ентов характеристического уравнения может быть в значительной степени потеряна информация о собственных значениях матрицы. С появлением компьютеров широкое распространение получили итерационные методы решения проблемы собственных значений, не использующие вычисление характеристического многочлена. К началу 60-х годов XX в. эти методы практически полностью вытеснили прямые методы из практики вычислений. 2. Преобразование подобия. Говорят, что матрицы А и В подобны, если существует невырожденная матрица Р (матрица подобия) такая, что В = Р~ХАР. Само преобразование матрицы А к виду В = Р~ХАР называют преобразованием подобия. Преобразование подобия матрицы возникает естественным образом как результат замены переменных (или перехода к новому базису) в пространстве /и-мерных векторов. Действительно, пусть у — результат применения матрицы А к вектору х, т.е. у = Ах. Произведем замену переменных х = Рх’, у = Ру'. Тогда равенство у = Ах примет вид у’ = Р~хАРх'. Это означает, что в новых переменных то же самое преобразование осуществляется уже не мат- рицей А, а матрицей Р~ХАР, подобной А. Важно то, что и полученная в результате преобразования подобия матрица имеет тот же набор собственных чисел. В самом деле, рас- смотрим характеристический многочлен для матрицы Р~ХАР и вос- пользуемся тем, что определитель произведения квадратных матриц равен произведению соответствующих определителей: det(P-> JP- ХЕ) = det(P_|(/4 - ХЕ)Р) = detP'1 det(J - ХЕ) detP= det(J - ХЕ). Таким образом, характеристические многочлены, а следовательно, и собственные числа матриц А и Р~ХАР совпадают. Соответствующие собственные векторы х их' не совпадают, но, как нетрудно установить, они связаны равенством х = Рх'. Если бы матрицу А с помощью преобразования подобия или после- довательности таких преобразований удалось привести к верхнему треугольному виду, то проблему вычисления собственных значений 262
§ 8.1. Постановка задачи. Некоторые вспомогательные сведения можно было бы считать решенной. Дело в том, что у верхней тре- угольной матрицы II eq ° ' см гм — гм <5 <5 ' Е Е — гм <5 <5 0 0 . ГПГП (8.5) собственными числами являются элементы главной диагонали Ь}}. В этом нетрудно убедиться, если записать характеристический мно- гочлен: det(B - Х£) = (6И - X) (b22 - X) ... (bmm - X). Оказывается, что преобразованием подобия матрицу А можно при- вести к еще более простому виду, чем (8.5). Справедлива (см. [27]) сле- дующая теорема. Теорема 8.1. Любую квадратную матрицу А с помощью преобра- зования подобия можно привести к следующему виду: Х| О| 0 0 . .. 0 0 0 Х2 0 . .. 0 0 Р'АР= Л = 0 0 х3 ст3 . .. 0 0 0 0 0 0 . * 1 Ш — 1 1 0 0 0 0 . .. 0 (8.6) Здесь Хр Х2, ...» Хш — собственные числа матрицы А. Числа в- при- нимают одно из двух значений 0 или 1, причем если = 1, то обяза- тельно \ = X; + ।. I Матрица (8.6) называется жордановой формой матрицы А. 3. Матрицы простой структуры. В этой главе особое внимание будет уделено матрицам простой структуры, т.е. матрицам, которые с помощью преобразования подобия можно привести к диагональному виду: Х| 0 . .. 0 P'AP=D = 0 Х2 . .. 0 (8.7) 0 0 . •• ^т_ 263
Глава 8. Методы решения проблемы собственных значений Запишем равенство (8.7) в виде АР = PD и заметим, что оно верно тогда и только тогда, когда каждый у-й столбец матрицы Р является соб- ственным вектором матрицы А, отвечающим собственному значению Ху-. Таким образом, верна следующая теорема. Теорема 8.2. Матрица А является матрицей простой структуры тогда и только тогда, когда она имеет т линейно независимых собст- венных векторов el9 е2, ...» ет> отвечающих собственным значениям Хр Х2, ..., Хт соответственно. Указанные в теореме 8.2 собственные векторы е2, ..., ет, образуют базис в пространстве ти-мерных векторов. Поэтому каждый ти-мерный вектор х может быть однозначно представлен в виде линейной комбинации этих векторов: х = с1е1 + с2е2 + ... + стет. (8.8) Какие же матрицы заведомо могут быть приведены к диагональному виду? Следующие два предложения частично отвечают на этот вопрос. Теорема 8.3. Если все собственные значения матрицы А раз- личны, то она является матрицей простой структуры. Теорема 8.4. Если А — вещественная симметричная матрица, то, она подобна диагональной матрице, причем матрица подобия Р может быть выбрана ортогональной (т.е. удовлетворяющей условию Р [ =РТ). 4. Локализация собственных значений. С помощью так назы- ваемых теорем локализации иногда удается получить грубые оценки расположения собственных чисел. Изложим самый известный из этих результатов — теорему Гершгорина1. т Пусть г; = £ |а;у| — сумма модулей внедиагональных элементов ;=i /-й строки матрицы А. Обозначим через St замкнутый круг радиуса г. на комплексной плоскости с центром в точке аи, т.е. S{ = {z g С: |z - а/7| < < rj. Будем называть круги S. кругами Гершгорина. Имеет место сле- дующее утверждение. 1 Семен Аронович Гершгорин (1901 —1933) — российский математик. Результат, о котором идет речь, был опубликован им в 1931 г. 264
§ 8.1. Постановка задачи. Некоторые вспомогательные сведения Теорема 8.5. (теорема Гершгорина). Все собственные значения матрицы А лежат в объединении кругов S2, ...» Sm. Доказательство. Возьмем произвольное собственное значение X матрицы А и соответствующий собственный вектор х. Пусть xt — мак- симальная по модулю координата вектора х. Запишем Ле уравнение системы (8.1) в следующем виде: (а„-А.)х,= -£а(ух,. Из этого равенства с учетом оценки jx^/xj < 1 следует неравенство Таким образом, X е Sr Пример 8.2. Для матрицы круги Гершгорина изображены на рис. 8.1. Здесь = 1, г2 = 2, г3 = 1.3. А Рис. 8.1 Следующий результат является полезным дополнением к теореме Гершгорина. Теорема 8.6. Если к кругов Гершгорина образуют замкнутую область G, изолированную от других кругов, то в области G находится ровно к собственных значений матрицы А (с учетом их кратности). Следствие. Если какой-либо круг Гершгорина изолирован, то он содержит ровно одно собственное значение матрицы А. 265
Глава 8. Методы решения проблемы собственных значений Пример 8.3. Для матрицы А из примера 8.2 в объединении кругов Sj и S2 находится ровно два собственных значения X] и Х2, а круг S3 содержит ровно одно собственное значение Х3. А 5. Отношение Рэлея. При вычислении собственных чисел и собст- венных векторов симметричных матриц важную роль играет функция Р(х) = ’ <8-9) (х,х) называемая отношением Рэлеях. Следующее предложение частично объясняет значение этой величины. Теорема 8.7. Пусть А — симметричная матрица. Тогда спра- ведливы следующие утверждения'. 1) минимальное и максимальное собственные значения матрицы А вычисляются по формулам Xmin = min Р(*) . Чюх = max Р(*) i 2) вектор х является стационарной точкой функции р(х) (т.е. удовлетворяет условию grad р(х) = 0) тогда и только тогда когда х — собственный вектор матрицы А. При построении методов решения проблемы собственных значений существенно используется то обстоятельство, что если х — хорошее приближение к собственному вектору eJf то р(х) — хорошее прибли- жение к собственному числу Ху. 6. Обусловленность задачи вычисления собственных значений и собственных векторов. Пусть А* — матрица с приближенно заданными элементами a-j » а-. Обозначим через Ху* (/ = 1, 2,..., т) соб- ственные числа матрицы А*. Рассмотрение вопроса о том, как влияет погрешность задания матрицы на погрешность искомых собственных значений, начнем с формулировки следующего известного результата. Теорема 8.8. Пусть А и А* — симметричные матрицы, a kj и kj — их собственные числа, упорядоченные по возрастанию Тогда спра- ведливы оценки погрешности max |X;-X;| <|L4-/GL, (8.10) \£j£m J J / m \ 1/2 (8.П) Джон Уильям Рэлей(1842—1919) — английский физик и математик. 266
§ 8.1. Постановка задачи. Некоторые вспомогательные сведения Теорема 8.8 означает, что задача вычисления собственных значений симметричных матриц очень хорошо обусловлена. Следовательно, в этом случае собственные числа надежно определяются заданием эле- ментов матрицы. К сожалению, для несимметричных матриц дело обстоит совсем иначе. Хотя задача вычисления собственных значений и в этом случае является устойчивой, для многих несимметричных матриц собственные значения чрезвычайно чувствительны к погреш- ностям задания коэффициентов. Пр и мер 8.4. Приведем принадлежащий Дж.Х. Уилкинсону [102] пример матрицы, очень плохо обусловленной по отношению к про- блеме собственных значений. Собственными числами верхней треугольной матрицы 20-го порядка 20 20 0 0 ... 0 0 0 19 20 0 ... 0 0 А = 0 0 18 20 ... 0 0 0 0 0 0 ... 2 20 0 0 0 0 ... 0 1 являются числа Xj = 1, Х2 = 2, ..., Х20 = 20. Заметим, что для этой матрицы характеристический многочлен Р20(Х) = (2® ~ Х)(19 ~ М • •• ... (1 - X) совпадает с многочленом, рассмотренным в примере 3.8 в связи с плохой обусловленностью его корней. Добавим малое £ к элементу д20 1 ~ 0. В результате характеристическое уравнение примет вид (20 - Х)(19 - X) ... (1 - X) = 20,9е. При £ = Ю-10 собственные значения возмущенной матрицы таковы: X; «0.996, Х2* «2.11, Х3* «2.57, Х4* 5 « 3 97 ± 1.09/, Х6* 7 « 5.89 ± 1.95/, Х8* 9 «8.12 ±2.53/, Х;о н «10.5 ±2.73/, Xf2J3 « 12.9 ± 2.53/, X*4J5 « « 15.1 ± 1.95/, Х;6 17 « 17.0 ± 1.09/, Х;8 « 18.4, Xf9 « 18.9, Х20 « 20.0. Как нетрудно видеть, большинство значений оказались полностью искаженными. ▲ Отметим, что число обусловленности cond(/4) не характеризует обу- словленность матрицы А по отношению к проблеме собственных зна- чений. Оказывается, что такой характеристикой чувствительности соб- ственных значений относительно погрешности задания матрицы для 267
Глава 8. Методы решения проблемы собственных значений матрицы простой структуры служит число обусловленности матрицы Р, столбцы которой являются собственными векторами матрицы А. В под- тверждение сказанного приведем следующий результат. Теорема 8.9. Пусть Р~ ХАР = D, где D — диагональная матрица из собственных значений матрицы А. Тогда каждое собственное зна- чение матрицы А* удалено от некоторого собственного значения матрицы А не более чем на d= cond2(P)M -Л*||2. Пусть х — собственный вектор матрицы А, отвечающий собст- венному значению X, а х* — собственный вектор приближенно заданной матрицы Л», отвечающий собственному значению X*. Прежде чем обсуждать обусловленность задачи вычисления собст- венного вектора х, заметим, что здесь вопрос о выборе меры близости векторов х* и х не является тривиальным. Выбор в качестве такой меры величины ||х — х*|| неудачен. Дело в том, что собственные векторы х* и х не определяются однозначно. Во всяком случае после умножения каждого из них на любые числа а, * 0 и а2 * О полученные векторы cijX* и а2х снова являются собственными. Поэтому имеет смысл стре- миться не к тому, чтобы векторы х* и х были близки по норме, а к тому, чтобы они были близки по направлению. Исходя из этого, примем в качестве меры близости х* к х величину | sin ф |, где ф — угол между векторами х* и х, вычисляемый по формуле ср = arccos Задача вычисления собственных векторов симметричной матрицы хорошо обусловлена, если собственные значения хорошо отделены друг от друга. В подтверждение сказанного приведем следующий результат. Теорема 8.10. Пусть А и А* — симметричные матрицы. Тогда верна оценка Нл - лЛ2 I sin ф I < ----. Y Здесь ф — угол между векторами х* и х, а у — расстояние от X* до бли- жайшего из несовпадающих с X собственных значений матрицы А. 268
§ 8.2. Степенной метод В случае, когда матрица А несимметрична, собственные векторы могут оказаться очень плохо обусловленными. Замечание. Подавляющее большинство встречающихся на практике матриц являются матрицами простой структуры. Это обстоятельство, а также большая простота анализа методов вычис- лений и формулировок соответствующих результатов позволяют нам в основном остановиться на проблеме собственных значений для матриц простой структуры. § 8.2. Степенной метод Пусть требуется вычислить максимальное по модулю собственное значение X] матрицы А, причем известно, что |Х,| > |Х2| > |13| > > |XJ. (8.12) Замечание. Собственное значение X] в данном случае должно быть вещественным, поскольку в противном случае собственным значением было бы также равное ему по модулю число Х>. 1. Степенной метод без сдвигов. Опишем простейший вариант сте- пенного метода, применяемого для вычисления Хг Возьмем произ- вольный начальный вектор * 0 и построим последовательности век- торов {x^}k=Q и приближений {Х(^}^=1 к Хр использовав формулы х^ = Ах^к~ . (к) = (х<к\ О) 1 И, *(*-О) (8.13) (8.14) Замечание. Правая часть формулы (8.14) — это просто отно- шение Рэлея, вычисленное при х = х^к ~ !). В самом деле, Х(*> = = (Ах«~ '\х«- 1 >)/(*(*- D, х«~ О) = р(*(*- »). Справедлива следующая теорема. Теорема 8.11. Пусть А — матрица простой структуры, для которой выполнено условие (8.12). Предположим, что в разложении т х(°) = с|е| +с2е2+ ... +стет = ^с,е, (8.15) /=1 269
Глава 8. Методы решения проблемы собственных значений по нормированному базису из собственных векторов коэффициент ct не равен нулю. Тогда X^-^Xj при оо и при всех к > к^х^) верна оценка относительной погрешности 6( V*’) = х2 к- 1 (8.16) где Со = 4£|а;|, а а,- = q/cp 2 < i < т. 1=2 Доказательство. Как нетрудно видеть, векторудовлетворяет равенству х<к> = Акх®\ т.е. получается из умножением на к-ю степень матрицы А (отсюда и название метода). Так как Ае} = Х;е-, то , к Аке- = kjCf и из (8.15) следует Х<*)= + (8.17) 1=2 Положим Ц;= Х;/Хр 2 < i < т и (к) т 2< > = ^)~ = el + L^a'‘ei (8Л8) х> с> ;=2 Заметим, что т ?*) _ -1 ’ = £ (ц. _ !)ц* -1 а.е.. (8.19) 1=2 Так как | pf-| < | ц2| < 1 Для всех 2 < i < ти, а базис нормированный (т.е. ||е;||2 = 1 для всех i), то из (8.18), (8.19) следует, что Ь(1^к,||2-2|м;|*|а;|||е,.||2> 1 -Ip/ZN’ 1 4СоН*’ (8’20) 1=2 1=2 т т ' 1 < 2|И/-1X |а;| ||е;||2 = 2|ц/-1 £ |а;| = | С0|Ц2|*-*. ;=2 /=2 270
§ 8.2. Степенной метод Выберем kQ = kQ(x^) таким, чтобы |ц2| ° Со < 2. Тогда для всех к > kQ в силу неравенства (8.20) будет справедливо неравенство II?*" > 1 /2 . Осталось заметить, что л 8(^**) = Т- - > Л1 (х(к\ Х^к 1 )) 2^к~ *)) (2(*-П 2(*-1)) (При выводе этой оценки мы воспользовались неравенством Коши— Буняковского |(х, j)| < ||х||21|у ||2 для X = - 2^к " И у = 2^к ~ *>.) Замечание 1. Если выполнены условия теоремы 18.11 и мат- рица А симметрична, то оценка (8.16) верна уже при всех к > 1 Jm £|aj2 • i=2 Замечание 2. При выполнении условия (8.12) оценка (8.16) (с другой постоянной Со) верна и для произвольной матрицы, а не только для матрицы простой структуры. Замечание 3. Если |XJ > 1, то Цх^Цг-> 00 при к—>°о (см. формулу (8.17) и при вычислении на компьтере возможно перепол- нение. Если же |Х|| < 1, то Цх^Цг^О и возможно исчезновение порядка. Для предупреждения этих ситуаций обычно вектор х(*) нормируют так, чтобы Цх^Цг = 1 для всех к > 1. Одна из исполь- зуемых модификаций такова: М у^=Ах^к~{\ А/*) = “ 1)), х^ = -г- . (8.21) lira'll 2 Предполагается, что ||х(0)||2 = 1. Теорема 8.11 для метода (8.21) остается справедливой. Более того, последовательность х^ сходится к собственному вектору по направлению, т.е. sin ср(Аг) —► 0 при к —► оо, где ф^ — угол между векторами х® и 271
Глава 8. Методы решения проблемы собственных значений Замечание 4. Крайне маловероятно, чтобы в разложении (8.15) вектора х(0) по собственным векторам коэффициент с} при оказался равным нулю. Теоретически в этой исключительной си- туации метод не должен давать сходящуюся к последователь- ность. Однако при вычислении на компьютере по формулам (8.12) через несколько итераций вследствие погрешностей округления почти наверняка появится ненулевой коэффициент при е1 в разло- жении вектора х^к\ Итерационный процесс снова окажется сходя- щимся (правда, потребуется выполнить большее число итераций). 2. Апостериорная оценка погрешности. В общем случае для решения проблемы собственных значений не существует эффективных апостериорных оценок погрешности, в особенности для собственных век- торов. Более простой эта проблема выглядит для симметричных матриц. Для оценки погрешности приближения X* к собственному значению X симметричной матрицы полезно использовать следующую теорему. Теорема 8.12. Пусть X* — произвольное число, ах* — произ- вольный ненулевой вектор. Тогда для любой симметричной матрицы А существует собственное значение этой матрицы X такое, что спра- ведлива оценка (8.22) Если х* — приближенно вычисленный собственный вектор, то нера- венство (8.22) позволяет дать простую апостериорную оценку погреш- ности вычисленного собственного значения X*. В частности, для сте- пенного метода (8.13), (8.14) из (8.22) следует такая апостериорная оценка: 1 1 |_ Цж<*-‘>||2 (напомним, что здесь предполагается симметричность матрицы А). Пусть х* — ненулевой вектор, рассматриваемый как приближение к собственному вектору х, который отвечает собственному значению X. Далее, пусть р* = р(х*) — отношение Рэлея, г = Ах* - р*х* — вектор и2 невязки, а = - - -. Если собственное значение X хорошо отделено от II* II2 остальных собственных значений матрицы А, то для оценки погреш- ности может быть использован следующий результат. 272
§ 8.2. Степенной метод Теорема 8.13. Пусть X — ближайшее к р* собственное значение матрицы А, х — соответствующий собственный вектор и <р — угол между векторами х* и х. Тогда справедливы оценки |8.Пф|<^ |Х-р‘|Х Здесь у = min |Х,- р*| — расстояние от р* до ближайшего из х *х отличных от X собственных значений матрицы А. Приведем еще одно важное свойство симметричных матриц. Теорема 8.14. Пусть А — симметричная матрица, х* — произ- вольный ненулевой вектор, р* = р(х*). Тогда р* и х* являются точными собственным числом и собственным вектором некоторой симмет- ричной матрицы А *, для которой ||Л-Л*И2 = о. (8.23) Оценка (8.23) может оказаться очень полезной для обратного анализа ошибок (о существе такого подхода к анализу ошибок мы говорили в § 3.6). Например, очень часто матрица А, для которой на компьютере производится вычисление собственных значений, является лишь приближенным представлением «истинной» матрицы А, собственными значениями и векторами которой в действитель- ности и интересуется исследователь. Пусть известен порядок погреш- ности с = ||Л - Л || 2 приближенно заданной матрицы и для найденной . . , iux--pvii2 пары х , р = р(х ) величина о =-------- оказывается сравнимой II* II2 с величиной £ или даже существенно меньше ее. В такой ситуации р* и х* оказываются собственными значением и вектором матрицы Л*, которая отличается от «истинной» матрицы А почти так же, как отли- чается от нее матрица Л. Вряд ли тогда следует стремиться к полу- чению «более точных» решений. Пример 8.5. Используя степенной метод, найдем для матрицы (8.4) максимальное по модулю собственное значение Хи а также отве- чающий ему собственный вектор. Возьмемх<°> = (1,0, 0)ги будем вести вычисления по формулам (8.21). 273
Глава 8. Методы решения проблемы собственных значений Первая итерация. Вычисляем ^> = 2x<0>-9x<0) + 5x<0) = 2, у{2 ’ = 1.2х(,0) - 5.3999x2°’ + 6х^0) =1.2, Л'> = х?МО)+7.5х1О,= 1. Тогда а (1) ( (1) (ОИ (О (0) . (1) (0) . (I) (0) _ э Л . 1 Л э А| = \ =yt Х| +у2 *2 + Уз хз = 2 • 1 + 1.2 • 0 + 1 • 0 = 2. Далее П/1»^ = 722+ 1.22+ I2 Я 2.53772, л/1» = я (0.788110,0.472866,0.394055)г. IIО || 2 Результаты десяти первых итераций с шестью знаками мантиссы приведены в табл. 8.1. Таблица 8.1 Номер итерации к х(к} х2 хи) хз 0 — 1.000000 0.000000 0.000000 1 2.00000 0.788110 0.472866 0.394055 2 -1.24159 -0.250056 0.266743 -0.930763 3 -6.08121 -0.611733 -0.593143 0.523415 4 -9.50971 0.700557 0.583736 -0.410455 5 -8.23499 -0.716752 -0.579514 0.387853 6 -7.94591 0.720030 0.578443 -0.383353 7 -7.88567 -0.720635 -0.578216 0.382446 8 -7.87462 0.720729 0.578174 -0.382446 9 -7.87294 -0.720739 -0.578167 0.382437 10 -7.87277 -0.720739 0.578167 -0.382437 Хотя мы не имеем в данном случае обоснованного критерия окончания, по-видимому, при к = 10 следует прекратить вычисления и, округлив результаты, положить Xj » -7.873, е1 » (-0.7207, 0.5782, -0.3824)г.А Важными достоинствами степенного метода являются его простота, возможность эффективного использования разреженности матрицы и отсутствие необходимости преобразования матрицы А. Недостаток метода в применении к многим прикладным задачам — довольно медленная сходимость. Часто в приложениях значение |Х2| 274
§ 8.3. Метод обратных итераций оказывается близким к |XJ. Так как скорость сходимости степенного Х2 метода определяется величиной 1, то в этом случае сходимость будет очень медленной. 3. Степенной метод со сдвигами. Существует несколько способов преодоления указанной трудности. Один из них заключается в приме- нении степенного метода не к матрице А, а к матрице А = А - где о — некоторое число. Собственными значениями матрицы А являются числа X; - о, получаемые сдвигом собственных значений Х; на число о. Если число Xj - о по-прежнему остается максимальным по модулю, то следует попытаться подобрать о так, чтобы сделать величину max 2 < i < и - О -о минимальной. Если, например все собственные значения положительны, то такой минимум достигается при о = (Х2 + Хш)/2. После того как приближение X* к первому собственному значению вычислено, степенной метод можно использовать для вычисления оче- редного собственного значения. Один из приемов такого использования состоит в сдвиге собственных значений на о = X*. В этом случае число X] -X* станет минимальным по модулю, а максимальным по модулю окажется сдвиг другого собственного значения. Существует несколько способов избавления от уже вычисленных собственных чисел и соответствующих собственных векторов с целью избежать их повторного вычисления. Эти способы принято называть исчерпыванием. Более подробную информацию о них можно найти, например в [23, 75]. § 8.3. Метод обратных итераций 1. Вычисление собственных векторов методом обратных ите- раций. Многие из методов решения проблем собственных значений лучше приспособлены для вычисления собственных значений, чем соб- ственных векторов. Поэтому целесообразно рассмотреть задачу вычис- ления собственного вектора е-{ при условии, что уже найдено доста- точно точное приближение Ху к собственному значению Ху. 275
Глава 8. Методы решения проблемы собственных значений Если исходить непосредственно из определения собственного вектора, то е- следует искать как нетривиальное решение однородной системы уравнений (А - kjE)x = 0 (8.24) с вырожденной матрицей А - ХуЕ. Однако Ху известно лишь прибли- женно и в действительности при таком подходе вместо системы (8.24) придется решать систему (А-Х-Е)х =0. (8.25) Так как матрица A-'kjE заведомо невырождена, то решением системы (8.25) является только х = 0. Следовательно, непосредственное чис- ленное решение системы (8.25) не дает возможность вычислить собст- венный вектор. Одним из эффективных методов вычисления собственных векторов является метод обратных итераций. В этом методе приближения к собственному вектору определяют последовательным решением систем уравнений (Л-ХуЕ)/*+1> = (8.26) с последующей нормировкой решения: *(*+!) = (8.27) В качестве начального приближения берут ненулевой вектор с произвольно выбираемыми или даже случайными компонентами. Часто удовлетворительным является выбор= (1, 1, ..., 1)г. Чтобы понять механизм действия метода, рассмотрим случай, когда А — матрица простой структуры, а Ху — простое собственное значение. Представим векторы и в виде линейных комбинаций собст- венных векторов е2, ..., ет\ т т i=i ;=i т Так как (А - ХуЕ) = £а;(Х;- Ху )ei, то систему уравнений (8.26) i=i при к = 0 можно записать в виде т т /=1 /=1 276
§ 8.3. Метод обратных итераций Приравнивая коэффициенты при е-, получаем а = —. Следова- тельно, т 1 . ei=------; т cjgj+ 1 i = ху-х; -----: с-,е- х,-х; - (8.28) «: |Х,- X* | для всех i -* j, то второе слагаемое части формулы (8.28) мало по сравнению с первым. с Поэтому jA1) ® ; ej и вектор оказывается близким по направ- Ху-Ху лению к собственному вектору е}. Можно показать, что вектор х^к\ вычисляемый на к-й итерации, имеет вид Если в правой т (Х: х(*) = 0(*) с е + у J---i r J J I \- X I ciei где |Р^| —* | су11 при к —* оо. Вектор сходится к е- по направ- лению со скоростью геометрической прогрессии, знаменатель которой |Ху-х-| q = max —=— . Если абсолютная погрешность значения Х;* много меньше рас- стояния от Ху до ближайшего из остальных собственных чисел (что экви- валентно выполнению условия | Ху - Ху | |Х;-Ху | для всех i * J), то метод обратных итераций сходится очень быстро. Чаще всего доста- точно сделать 1—3 итерации. Пример 8.6. Использовав метод обратных итераций, найдем на 6-разрядном десятичном компьютере собственный вектор матрицы (8.4), отвечающий собственному значению Xt » X* = -7.8728. Возьмем х<°) = (1, 1, 1)г. Тогда система (8.26) при к = 0 примет вид 9.8728у| - 9у2 + 5у3 ~ L 1.2у, + 2.4729у2 + 6у3 = 1, У1 - у2 + 0.3728у3 = 1. 277
Глава 8. Методы решения проблемы собственных значений Вычисляя ее решение методом Гаусса, получаем у^ = -123909, yV > - 99398.3, = 65749. После нормировки имеем = -0.720736, 4° = -0.578166, 4” = 0.382440. Подставляя в правую часть системы (8.26) вектор и вычисляя решение, находим у,2) = -59671.5, у22) = -47867.7, = 31663.1. Полу- ченные после нормировки значения Х|2) = -0.720737, = -0.578166, х(з2) = 0.382440 с машинной точностью совпадают со значениями, полу- ченными на первой итерации. Итерации следует прервать и считать результатом вектор ех « (-0.720737, -0.578166, 0.382440)7. ▲ Замечание 1. Так как почти совпадает со значением при котором det(/4 - Х;Е) = 0, то матрица А - Ху*Е очень плохо обу- словлена. Возникает естественное опасение, что большие погреш- ности, неизбежные при реализации вычислительного процесса (8.26), (8.27) на компьютере, могут существенно повлиять на свой- ства приближений. К счастью, это не так; погрешность, возникаю- щая при численном решении системы (8.26) (которая может быть сравнима по величине су W), оказывается почти пропорциональной вектору В данном случае плохая обусловленность системы не ухудшает, а улучшает ситуацию. В справедливости сказанного легко убедиться, если повторить вычисления из примера 8.5, использовав калькулятор. Получен- ные значенияу<!) иу<2> наверняка будут иметь мало общего с ука- занными в примере. Тем не менее приближенияих^ практи- чески совпадут с вычисленными выше, отличаясь, возможно, только знаком. Замечание 2. Записывая равенство (8.26) в виде + = = (A -к*Е)~}х(к>, замечаем, что метод обратных итераций — это просто степенной метод, примененный к матрице (А -к*Е)-1. 2. Метод обратных итераций с использованием отношения Рэлея. Одной из проблем применения метода обратных итераций является необходимость получения хорошего приближения к собст- венному значению. Когда А — симметричная матрица, можно попы- 278
§ 8.4. QR-алгоритм таться использовать для оценки отношение Рэлея. Этот подход при- водит к следующему комбинированному методу: )^к + ^ = р(х^)=(Ах^\х^), £ > 0; (8.29) (A »Е)у« + О =*(*); (8.30) Предполагается, что вектор х(0> нормирован, т.е. ||х<0)|| = 1. Если начальное приближение х(0) хорошо аппроксимирует по направлению вектор ер то метод (8.29)—(8.31) сходится очень быстро. Например, если — простое собственное значение, то сходимость оказывается кубической. Одним из способов получения удовлетвори- тельного начального приближения является выполнение нескольких итераций степенного метода. Замечание. В случае, когда метод (8.29)—(8.31) сходится, он позволяет одновременно эффективно вычислять и собственное значение и соответствующий собственный вектор § 8.4. ДО-алгоритм В настоящее время лучшим методом вычисления всех собственных значений квадратных заполненных матриц общего вида (умеренного порядка) является ^-алгоритм 1. Основной ^-алгоритм. Опишем итерационную процедуру, являющуюся основой алгоритма. Она существенно использует воз- можность разложения произвольной матрицы в произведение ортого- нальной и верхней треугольной матриц, т.е. так называемое ^-разло- жение (см. § 5.10). На 1-й итерации с помощью метода отражений или метода вра- щений вычисляют ^-разложение матрицы А<°> = Л, имеющее вид Л(0) = еЛ- (8.32) Затем строят матрицу Заметим, что из равенства (8.32) следует, что и поэтому . Таким образом, матрицы иЛ(0) подобны (см. § 8.1) и поэтому имеют общий набор собственных значений Х2, ..., 1 Этот метод независимо был предложен в I960 г. в России математиком В. Н. Кубла- новской ив 1961 г. в Англии системным программистом Дж. Фрэнсисом. 279
Глава 8. Методы решения проблемы собственных значений На 2-й итерации находят ^-разложение матрицы имеющее вид = 02^2’ и вычисляют матрицу А= Я2£?2’ подобную матрице А(1). На (£+1)-й итерации вычисляют разложение А^ = Qk+\Rk+\ и строят матрицу А^к + = Rk+\Ok+\- Неограниченное продолжение этого процесса дает последовательность матриц АА(2\ ...,А^п\ ..., подобных матрице А. Обратим внимание на то, что обычной поэлементной сходимости или сходимости по норме ^-алгоритм не гарантирует. Сходимость ^-алгоритма — это сходимость по форме последовательности при- ближений А<п> к некоторой верхней треугольной или к верхней блочно- треугольной матрице А, имеющей те же собственные значения, что и матрица А. Сходимость по форме характеризуется сходимостью к нулю поддиагональных элементов или элементов поддиагональных блоков, тогда как наддиагональные элементы от итерации к итерации могут существенно меняться. Практически всегда ^-алгоритм сходится. К сожалению, в общем случае, когда собственные значения матрицы А могут быть кратными или комплексными, теория его сходимости весьма сложна для изло- жения. Поэтому ограничимся формулировкой лишь одного из наиболее известных условий сходимости — критерия Уилкинсона. Согласно этому критерию предполагается выполнение следующих двух условий: 1) матрица А имеет простую структуру, причем модули всех собст- венных значений различны: |Х1|>|Х2|>...>|Хт|; 2) приведение матрицы А к диагональному виду (8.7) осуществ- ляется с помощью матрицы подобия Р, у которой все ведущие главные миноры отличны от нуля. При выполнении этих двух условий последовательность А^ схо- дится по форме к верхней треугольной матрице А вида X X . .. х 0 Х2 X . .. х II 0 0 ^з • .. х (8.33) 0 0 0 . т Здесь крестиками помечены элементы, в общем случае не равные нулю. 280
§ 8.4. QR-алгоритм Известно, что в рассматриваемом случае элементы ст * матриц А стоящие ниже главной диагонали, сходятся к нулю со скоростью гео- метрической прогрессии, причем < 1 при i >j). т.е. скорость сходимости atJ к нулю определяется значением отно- шения X, к Ху (заметим, что Если условие 2) не выполнено, то сходимость по-прежнему имеет место, но собственные значения в матрице А уже не будут распо- ложены в порядке убывания модулей. В общем случае предельная матрица А — блочно-треугольная (или получающаяся из блочно-треугольной симметричной перестановкой строк и столбцов). Наличие комплексно-сопряженных пар X*, X* соб- ственных значений у вещественной матрицы А не является препят- ствием для применения ^-алгоритма. Каждой такой паре в пре- дельной матрице будет отвечать некоторый диагональный блок — квадратная подматрица порядка 2, собственные числа которой сов- падают с X*, X*. 2. Ускорение ^-алгоритма. Приведенный выше вариант ^-алго- ритма очень неэффективен по двум основным причинам. Первая из них состоит в том, что для реализации только лишь одной итерации этого метода требуется выполнить порядка т3 арифметических операций, если А — матрица общего вида. Вторая причина заключается в том, что при наличии двух близких собственных значений Xf « Х,_ f метод схо- (к) дится очень медленно, так как, например элемент аЦ1_1 сходится к нулю со скоростью геометрической прогрессии, знаменатель которой Для того чтобы уменьшить число арифметических операций, матрицу А предварительно с помощью подобных преобразований отра- жения или вращения приводят к так называемой форме Хессенберга1: 1 Герхард Хессенберг (1874—1925) — немецкий математик. 281
Глава 8. Методы решения проблемы собственных значений Лп *12 . •• ^\,т- ! h]m 1 т *21 ^22 • • *2, /л-1 я = 0 *32 • •• *3. т- 1 h. эт 0 0 . • Пт, т - 1 тт (8.35) Матрица Н, в которой равны нулю все элементы Л», такие, что / > j + 1 (т.е. все элементы, расположенные ниже диагонали, непосредственно примыкающей снизу к главной диагонали), называется матрицей Хес- сенберга. Существуют эффективные стандартные процедуры преобра- зования матрицы А к виду (8.35), поэтому мы не будем останавливаться подробно на этом преобразовании. Для дальнейшего важно то, что матрицы А и Н подобны и обладают общим набором собственных зна- чений, а матрица подобия Р, для которой выполняется равенство Н = Р]АР, (8.36) ортогональна. После преобразования матрицы А к виду (8.35) к матрице Н при- меняют £>/?-алгоритм. Эффективность такого подхода обусловлена наличием следующих двух замечательных свойств матриц Хессен- берга. 1°. Матрицы Н^к\ порождаемые QR-алгоритмом из матрицы = Н, сами являются матрицами Хессенберга, т.е. для них hff = О при i > j + 1. 2°. Для выполнения одной итерации QR-алгоритма для матрицы Хессенберга требуется число арифметических операций, пропорцио- нальное т2. Однако, как уже было отмечено, даже достигнутая благодаря предва- рительному преобразованию матрицы А к виду (8.35) существенная эко- номия числа арифметических операций недостаточна для практического использования ^-алгоритма. Дело в том, что при наличии близких соседних собственных значений X;» X;_ j элемент h^j_, убывает очень медленно пропорционально где q = X- i I » 1. Для решения этой про- блемы используют различные варианты QR-алгоритма со сдвигами. Поясним суть этого подхода. Допустим, что для X, известно хорошее приближение X*. Тогда собственными значениями матрицы = 282
§ 8.4. QR-алгоритм = - к;Е являются Х* = Ху- X*, j = 1,2, ..., т. В этом случае вместо отношения -— « 1 скорость убывания поддиагонального элемента Г(*) л п п - •_ । определяет величина ~— = —--— « 0. После нескольких ите- раций ^-алгоритма, которые практически сделают элемент равным нулю, следует выполнить обратный сдвиг, положив = = + Х,*Е. После выполнения этой операции матрицы А снова имеют общий набор собственных значений. Последовательное осуществление сдвигов для i = ти, т - 1, ..., 1, сопровождаемых итерациями по ^-алгоритму, дает возможность быстро привести матрицу А к виду (8.33). Остающийся невыясненным вопрос о том, как получить приближенные значения X* ® X;, снимается, если учесть, что в ходе 0А-алгоритма диагональные элементы схо- дятся к X; при к —► оо. Следовательно, в качестве X,* можно, например, брать элементы1 А. Итак, прежде чем применять ^-алгоритм, следует преобразовать исходную матрицу А к форме Хессенберга. Без такого преобразования (ЭЯ-алгоритм практически не применяется. Затем целесообразно использовать один из вариантов ^-алгоритма со сдвигами. Пусть теперь собственные значения найдены и требуется найти один собственный вектор е- матрицы А, отвечающий собственному зна- чению Ху, или несколько собственных векторов. Тогда целесообразно сначала найти соответствующий собственный вектор Гу матрицы Н (например, методом обратных итераций), а затем вычислить еу по формуле ву = Р' Vj, где Р — матрица подобия из (8.36). Замечание 1. Вычисление собственного вектора е- непосред- ственным применением метода обратных итераций к матрице А возможно, но потребует большего числа арифметических опера- ций по сравнению с указанным выше подходом. 1 Чаще всего в библиотечных программах используется либо указанная стратегия сдвигов (сдвигов по Рэчею), либо стратегия сдвигов по Уилкинсону [103]. 283
Глава 8. Методы решения проблемы собственных значений Замечание2 Проведенное в этом параграфе обсуждение алго- ритма носило в значительной степени ознакомительный характер. Практически не был затронут случай, когда матрица имеет кратные или комплексные собственные значения Не рассматривались и осо- бенности применения ^-алгоритма для комплексных матриц. Замечание 3 ^-алгоритм обладает хорошей обусловленно- стью Например, как показано в [23], в одном из его вариантов после числа итерации, не превосходящего 5, для каждого собственного зна- чения получаются приближения X*, ,..., Х^ , являющиеся точны- ми собственными значениями некоторой матрицы /1*, такой, что ||J - JjL < 30ти2е ||Л||Е, (это утверждение сформулировано в терминах обратного анализа ошибок). § 8.5. Дополнительные замечания 1 . В данной книге не рассмотрены некоторые весьма популярные методы решения проблемы собственных значений. Изложение метода бисекций, метода вращении Якоби, QL-алгоритма (являющегося вари- антом (/^-алгоритма), LR-алгоритма и других методов можно найти, например в [23, 24, 31, 75, 102, 103]. Авторы советуют обратить внимание на книги [49, 25*], содержащие изложение современных численных методов решения проблемы собст- венных значений (в том числе, подробное обсуждение ^-алгоритма), вполне доступное для студента или выпускника технического вуза. 2 . Если А — заполненная матрица общего вида умеренного порядка, то лучшим выбором для вычисления всех собственных зна- чений служит один из вариантов ^-алгоритма со сдвигами. Необ- ходимо только предварительно преобразовать матрицу к форме Хессен- берга Часто до этого производится уравновешивание (или масштабирование) матрицы [49] 3 Когда А — симметричная матрица умеренного порядка, ее обычно приводят сначала с помощью последовательных преобразо- ваний Хаусхолдера к трехдиагональному виду. Для вычисления собст- венных значений полученной трехдиагональной матрицы можно использовать 07?-алгоритм, но, по-видимому, чаще более предпочти- тельным является метод бисекций Одно из достоинств этого алго- ритма, состоит в том, что он позволяет находить не все собственные значения, а одно или группу нужных собственных значений. 284
§ 8.5. Дополнительные замечания 4 Если приближенное значение собственного числа найдено, то подходящим методом вычисления соответствующего собственного вектора является метод обратных итераций 5 Методы, которые используются в настоящее время для решения проблемы собственных значений, когда А — разреженная матрица большой размерности, можно разделить на две основные группы методы одновременных итераций (или итерирования подпространства) и методы типа Ланцоша Их обсуждение можно найти, например в [31, 49]. Один из простейших возможных подходов — степенной метод — был рассмотрен в § 8.2 285
Глава 9 МЕТОДЫ ОДНОМЕРНОЙ МИНИМИЗАЦИИ Одно из важнейших направлений в конструировании изделий, а также проектировании и эксплуатации технологических процессов состоит в оптимизации (минимизации или максимизации) некоторой характери- стики Дх). Функцию /(х) часто называют целевой функцией. Заметим, что основное внимание может быть уделено минимизации целевой функции, так как максимизация сводится к минимизации с помощью вве- дения новой целевой функции f (х) = -Дх). Когда варьируется один ска- лярный параметр х, возникает задача одномерной минимизации. Необходимость изучения методов решения задачи одномерной минимизации определяется не только тем, что задача может иметь самостоятельное значение, но и в значительной мере тем, что алго- ритмы одномерной минимизации являются существенной составной частью алгоритмов решения задач многомерной минимизации (см. гл. 10), а также других вычислительных задач. § 9.1. Задача одномерной минимизации 1. Постановка задачи. Определения. Пусть Дх) — действительная функция одной переменной, определенная на множестве X с (- оо, оо). Напомним, что точка х е X называется точкой глобального минимума функции f на множестве X, если для всех х е X выполняется нера- венство /(х) < Дх). В этом случае значение /(х) называется мини- мальным значением функции f на X. Точка х g X называется точкой локального минимума функции /, если существует такая 5-окрестность этой точки, что для всех х из мно- жества %, содержащихся в указанной 5-окрестности, выполняется нера- венство Дх) < Дх). Если же для всех таких х, не совпадающих с х выполняется неравенство Дх) < Дх), то х называется точкой строгого локального минимума. Пр и мер 9.1. Для функции, график которой изображен на рис. 9.1, точки х3 и х4 являются точками строго локального минимума, а в точках х, удовлетворяющих неравенству Х]<х<х2, реализуется нестрогий локальный минимум. ▲ 286
§ 9.1. Задача одномерной минимизации Рис. 9.1 Известно, что необходимым условием того, чтобы внутренняя для множества X точка х была точкой локального минимума дифференци- руемой функции /, является выполнение равенства /'(*) = 0. (9.1) Число х , удовлетворяющее этому равенству, называется стационарной точкой функции f Конечно, не всякая стационарная точка х обязана быть точкой локального минимума. Для дважды непрерывно диффе- ренцируемой функции достаточным условием того, чтобы стацио- нарная точка х была точкой строгого локального минимума, является выполнение неравенства /"(х) > 0. Существуют различные постановки задачи минимизации. В самой широкой постановке требуется найти все точки локального минимума и отвечающие им значения функции f В приложениях чаще всего воз- никает задача вычисления конкретной точки локального минимума или точки глобального минимума. Иногда представляет интерес только лишь минимальное значение целевой функции, независимо от того, в какой именно точке оно достигается. 2. Отрезок локализации. Подобно тому, как алгоритмы решения нелинейных уравнений настроены на отыскание одного изолированного корня (см. гл. 4), большинство алгоритмов минимизации осуществляет лишь поиск точки локального минимума функции f Для того чтобы при- менить один из таких алгоритмов минимизации, следует предварительно найти содержащий точку х отрезок [а, &], на котором она является един- ственной точкой локального минимума. Этот отрезок в дальнейшем будем называть отрезком локализации1 точки х . К сожалению, не суще- ствует каких-либо общих рецептов относительно того, как найти отрезок локализации. В одномерном случае полезным может оказаться табулиро- 1 В теории оптимизации отрезок [а, />] чаще называют интервалом неопределенности. Мы понимаем интервал неопределенности иначе (см. § 9.2). 287
Глава 9. Методы одномерной минимизации вание функции с достаточно мелким шагом и (или) построение графика. Отрезок [а, &] может быть известен из физических сообра- жений, из опыта решения аналогичных задач и т.д. Для некоторых алго- ритмов (например, для метода Ньютона) достаточно иметь не отрезок локализации, а хорошее начальное приближение х(0) к х . Пр и мер 9.2. Для функции f(x) = х3 - х + е-г, произведем локали- зацию точек локального минимума. Из графика функции, изображенного на рис. 9.2, видно, что функция f(x) имеет две точки локального минимума Х| и х2, первая из которых является и точкой глобального минимума. Для точки х । за отрезок лока- лизации можно принять отрезок [-4, -3], а для точки х2 — отрезок [0, 1]. Докажем теперь, что на отрезке [0, 1] действительно содержится точка локального минимума. Для этого заметим, что f\x) = Зх2 - 1 - е~х и /'(0) = -2 < 0, /'(О = 2 - е-1 > 0. Так как значения и /'(0 имеют разные знаки, то на отрезке [0, 1] содержится точка х, для которой f'(x) = 0. Но /"(х) = 6х + е~х > 0 для всех х е [0, 1]. Следовательно, 288
§ 9.1. Задача одномерной минимизации f"(i) > 0 и точка х на отрезке [0, 1] есть единственная точка локального минимума. Аналогично доказывается, что отрезок [-4, -3] также является отрезком локализации. ▲ 3. Унимодальные функций. Пусть f— функция, определенная на отрезке [а, Ь]. Предположим, что на этом отрезке содержится единст- венная точка х локального минимума функции /, причем функция строго убывает при х < х и строго возрастает при х > х . Такая функция называется унимодальной1. Возможны три случая расположения точки х на отрезке [а, Ь]: точка х является внутренней для отрезка, х сов- падает с левым концом отрезка и х совпадает с правым концом отрезка. Соответственно и график унимодальной функции может иметь одну из форм, схематично изображенных на рис. 9.3. Рис. 9.3 Замечание. Унимодальная функция, вообще говоря, не обя- зана быть непрерывной. Например, функция, изображенная на рис. 9.4, унимодальна и имеет три точки разрыва. 1 Иногда такую функцию называют строго унимодальной, а унимодальной называют функцию, которая строго убывает при х < х । , равна постоянной при х । < х < х2 и строго возрастает при х > х2 [20]. 289
Глава 9. Методы одномерной минимизации Приведем достаточное условие унимодальности функции на отрезке [а, Ь]. Пр едложение 9.1. Если для всех х е [а, Ь] выполнено условие f"(x) > 0, то функция унимодальна на отрезке [а, &]. Пр и м е р 9.3. Функция Дх) = х3 - х + е-* унимодальна на каждом из отрезков [-4, -3] и [0, 1]. Чтобы убедиться в этом, достаточно заметить, что /"(х) = 6х +е~* > 0 для всех х е [-4, -3], х е [0, 1], и воспользо- ваться предложением 9.1. А Для сужения отрезка локализации точки минимума унимодальной функции полезно использовать следующее утверждение. Пр едложение 9.2. Пусть f — унимодальная на отрезке [а, Ь] функция иа<а<у<$<Ь. Тогда'. 1° если Да) < Др), то х е [а, р]; 2° если Да) > Др), то х е [а, Ь]; 3° если Да) > Ду) и < Др), то х е [а, р]. Доказательство. 1°. Предположим противное: х > р. Тогда вследствие унимодальности f получим Да) > ДР), что противоречит условию. 2°. Предположим противное: х < а. Тогда вследствие унимодаль- ности /получим Да) < ДР), что противоречит условию. 3°. В силу п. 1° имеем х е [а, р], а в силу п. 2° имеем х е [а, Ь]. Следовательно, х е [а, Р]. Геометрическая иллюстрация пп. 1° и 2° приведена на рис. 9.5. Новый отрезок а) Рис. 9.5 290
§ 9.1. Задача одномерной минимизации Многие алгоритмы одномерной минимизации построены в расчете на то, что на отрезке локализации целевая функция унимодальна. В частности, такими являются алгоритмы, рассматриваемые в § 9.3. 4. Об одном подходе к локализация точки минимума. На практике часто бывает неизвестно, является ли данная функция унимо- дальной. Однако во многих случаях из дополнительных соображений следует, что при х > х0 функция f сначала убывает, а затем, начиная с некоторого значения х = х, становится возрастающей (правда, не исключено, что далее она снова может стать убывающей). Для того чтобы в таком случае локализовать точку х, используют различные нестрогие методы. Один из распространенных подходов состоит в сле- дующем. Выбирают начальный шаг h > 0, в несколько раз меньший предполагаемого расстояния от точки х0 до точки х . Затем вычисляют и сравнивают значения /(х0) и /(хД где Xj = х0 + И. Если оказывается, что /(х0) > /(хД то последовательно вычисляют значения функции f в точках хк = х0 + 2к ~ xh для к > 2. После обнару- жения первой же точки, для которой f(xk) < f(xk + Д за отрезок локали- зации принимают отрезок [х^ (, х*+1]. В случае, изображенном на рис. 9.6, а, за отрезок локализации принят отрезок [х2, х4]. Если же /(х0) < /(хД то последовательно вычисляют значения в точках хк = х0 + h!2k ~ \ к > 2. После обнаружения первой же точки хк, для которой f(xk) < f(x^), за. отрезок локализации принимают отрезок 291
Глава 9. Методы одномерной минимизации Таблица 9.1 к 0 1 2 3 4 5 хк -5 -48 -46 -42 -3 4 -1 8 28 4 157 6 74 -3 30 -5 94 2 02 [х0, хк _ J. В случае, изображенном на рис. 9.6,6, за отрезок локали- зации принят отрезок [х0, х2]. Описанный метод не является строгим и не гарантирует, что отрезок локализации всегда будет найден. Например, для функции, график которой изображен штрихами на рис. 9.6, а, при выбранном шаге h справедливы неравенства /(х0) > f(xx) > f(x2) > f(x3) > f(xA) и поэтому отрезок локализации точки х обнаружен уже не будет. Тем не менее этот или близкий к нему методы часто используются на практике. Пример 9.4. Локализуем указанным выше образом точку локального минимума функции f(x) = х3 - х + е~х. Возьмем х0 = -5, Л = 0.2 и положим Xj = х0 + h = -4.8. Так как /(х0) » -28.4 > f(xx) « 15.7, то будем последовательно вычислять значения функции /в точках хк = х0 + 2к ~ 1Л. Из табл. 9.1 видно, что при k = 4 впервые выполняется неравенство /(х*) < f(xk± i)- Поэтому за отрезок локализации следует принять отрезок [х3, х5] = [-4.2, -1.8]. ▲ § 9.2. Обусловленность задачи минимизации Пусть х — точка строгого локального минимума функции /, вычис- ляемой с погрешностью. Будем считать, что в некоторой окрестности точки х вычисляемые приближенные значения /*(х) удовлетворяют неравенству |/(х) - /*(х)| < Д = Д(/*), т.е. имеют границу абсолютной погрешности, равную Д. Как нетрудно понять, существует такая малая окрестность (х - Ё, х + Ё) точки минимума х, для которой, основы- ваясь на сравнении вычисляемых значений f (х), нельзя достоверно определить ту точку, в которой действительно достигается минимум функции f Эта ситуация схематично изображена на рис. 9.7. Интервал (х-Ё, х + Ё) будем называть интервалом неопределенности точки х локального минимума. 292
§ 9.2. Обусловленность задачи минимизации Х-£ X Х+е * Рис. 9.7 Оценим значение £ радиуса интервала неопределенности в предпо- ложении, что функция f дважды непрерывно дифференцируема и выполнено условие /"(х) > 0. В этом случае с учетом того, что f'(x) = 0, для значений функции f в точках х, близких к х , справедливо прибли- женное равенство /(х) « /(х)+^Ц^ (х-х)2. Оценим минимальное расстояние между точками х и х, начиная скоторого заведомо будет выполнено неравенство /*(х) > /*(х), т.е. точка х перестанет попадать в интервал неопределенности. Имеем /•(X) -/*(Х)=/(Х)-f(x) + (/-(х)-(/”(1)-f(x)) > > /(х) -f(x) - 2Д (х - х)2 - 2Д. Следовательно, f\x)-f\x)^f^ (х-хУ-2\ и неравенство /*(х) > /*(х) выполнено, если (х - х)2 £ 4Д//"(х). Таким образом, £»27д//''(х). (9.2) Заметим, что любое приближение х* к х , попавшее в интервал неоп- ределенности, нельзя отличить от точного значения х точки минимума, используя только вычисляемые значения/* функции/ Поэтому д(Г)«2л/д(/”)/Г(*). (9.3) 293
Глава 9. Методы одномерной минимизации Итак, рассматриваемую задачу минимизации нельзя назвать хорошо обусловленной. Если задача хорошо масштабирована, т.е. х ~ 1, |/(х)| ~ 1, f'(x) ~ 1, то соотношение (9.3) можно записать в терминах относительных погрешностей так: Лс/5. Отсюда следует, что если 5(/*) ~ 10~w, то 5(х*) ~ Ю-*”72. Иными словами, если значения функции вычисляются с т верными значащими цифрами, то приближенное значение точки минимума можно найти примерно лишь с mH верными значащими цифрами. Таким образом, точность определения положения точки минимума гладкой функции существенным образом зависит от точности вычис- ления значений функции f При этом если для поиска х используются только приближенные значения /*(х), вычисляемые для различных х, то неизбежна потеря примерно половины верных значащих цифр. Предположим теперь, что для отыскания точки локального минимума можно использовать вычисляемые каким-либо образом при- ближенные значения (/')*(*) производной функции f Как уже отме- чалось в § 9.1, в рассматриваемом случае задача минимизации эквива- лентна задаче отыскания корня х нелинейного уравнения f\x) = 0. Из результатов § 4.2 вытекает, что последняя задача обладает значительно меньшей чувствительностью к погрешностям. В частности, спра- ведлива следующая оценка границы абсолютной погрешности: А((У')’)- (9.4) f (*) Сравнение (9.4) с оценкой (9.3) показывает, что алгоритмы, исполь- зующие для отыскания решения х уравнения (9.1) вычисление зна- чений производной, могут достигать более высокой точности, чем алго- ритмы, использующие для минимизации функции f только вычисление ее значений. Пример 9.5. Оценим радиус интервала неопределенности для каждой из точек Х| « -3.7, х2 « 0.7 локального минимума функции f(x) = х3 - х + ех в случае, когда вычисление функции производится на 6-разрядном десятичном компьютере1. 1 Напомним, что 6-разрядным десятичным компьютером мы условились называть гипотетический компьютер, имеющий шесть десятичных разрядов мантиссы и произво- дящий округление по дополнению. 294
§ 9.2. Обусловленность задачи минимизации Заметим, что f(x}) » /(-3.7) ® -6.5, /(х2) ® /(0.7) ® 0.14. Так как для используемого компьютера1 ем = 5 • 10~7, то в малой окрестности точки Xj верхняя граница Д1 абсолютной погрешности вычисления/ приближенно равна £м|/(х1)| « 5-10-7-6.5 = 3.25-IO'6. Аналогично, А2 « £м|/(х2)| « 5 • 10-7 • 0.14 = 7 • IO'8. Вычисляя значения второй производной f"(x) = 6х + е-* при х = Х|, х = х2, получаем f"(x}) ® 18, f"(x2) ~4.7. В силу формулы (9.2) радиусы интервалов неопределенности оцениваются следующим образом: ёI »27Д1//"(х,)«273.25- 10-6/18 « 8 • 1(Н, ё2 « 2j\2/f''(x2) ~ 2^7- 10-8/4.7 = 2 • 1СГ*. Следовательно, точку х2 можно найти с большей точностью, чем точку х j, если использовать сравнение вычисляемых на 6-разрядном десятичном компьютере значений функции / При этом каждую из точек можно найти с точностью £ = 10~3, но вряд ли удастся найти с точностью е = 10~4. ▲ Пр и мер 9.6. Пусть теперь точки Х| и х2 локального минимума функции /(х) = х3 - х + е~х ищутся как решения нелинейного уравнения /'(х) = Зх2 - 1 -е~х = 0. (9.5) Оценим радиус интервала неопределенности для каждой из точек х ।, х2, если вычисления ведутся на том же компьютере, что и в примере 9.5. Оценим сначала границу абсолютной погрешности вычисления про- изводной исходя из приближенного равенства Д=Д(/')=Д(Зх2) + Д( 1) + Д(е~х)» £м(3х2 + е“х). Тогда Д|«£м(Зх| + е’Х|)»4- 10-5, Д2«£„(Зх2 + е'Х2)« 10-6. 1 Напомним, что через ем обозначено машинное эпсилон — величина, характеризую- щая относительную точность представления чисел в компьютере. 295
Глава 9. Методы одномерной минимизации На основании формулы (9.4) имеем ЮЛ ё2 ® Д2//"(х2) « 2 • 10'7. (9.6) Заметим, что погрешности представления чисел Х|, х2 на 6-раз- рядном десятичном компьютере таковы: ем |х] | « 2*10'6, ем|х2| ® «4* 10'7. Поэтому полученные оценки (9.6) означают, что, решая урав- нение (9.5), можно найти точки Х] и х2 с максимальной для исполь- зуемого компьютера точностью, равной соответственно 2 • 1 О' 6 и 4 • 10-7 (ср. с результатом примера 9.5). ▲ § 9.3. Методы прямого поиска. Оптимальный пассивный поиск. Метод деления отрезка пополам. Методы Фибоначчи и золотого сечения Ряд методов минимизации основан на сравнении значений функции /, вычисляемых в точках хр х2, ...» xN. Эти методы часто называют методами прямого поиска, а точки х; — пробными точками. Прежде чем перейти к изложению некоторых из наиболее известных методов прямого поиска, уточним постановку задачи. Будем считать, что требуется найти приближение х* к точке минимума х унимо- дальной на отрезке [a, Ь] функции f Предположим также, что число пробных точек N заранее фиксируется и за приближение х* к точке минимума принимается одна из этих точек. 1. Оптимальный пассивный поиск. Метод решения поставленной задачи, в котором задается правило вычисления сразу всех пробных точек хрх2, ..., xN и за х* принимается та точка хк, для которой f(xk) = = min /(xj, называется методом пассивного поиска. Соответст- 1 < i < N вующая геометрическая иллюстрация приведена на рис. 9.8. 296
§ 9.3. Методы прямого поиска Оценим погрешность этого метода. Для удобства положим х0 = а, xN + j = b и будем считать, что х0 < Xj < х2 < ... < xN < xN + t. В силу выбора точки х* = хк справедливы неравенства f(xk_ j) > f(xk) и f(xk) < f(xk + j). Поэтому из п. 3° предложения 9.2 следует, что х е [х*_ р хк+ J. Значит 1 -**}• x-xt| < max{Xt - хк _ хк + Так как положение точки минимума х на отрезке [а, 6] заранее неиз- вестно, то для х* = хк справедлива лишь следующая гарантированная оценка погрешности: |х-х*|< max |x,-x,_J . (9.7) 1 </<У+ 1 Можно показать, что величина, стоящая в правой части неравенства (9.7), станет минимальной, если точки хр х2, ..., xN расположить на отрезке [а, 6] равномерно в соответствии с формулой х, = а + /Л, где h = = Д /(N + 1), Д = b - а. Метод с таким выбором пробных точек назы- вается оптимальным пассивным поиском. Гарантированная оценка погрешности для него выглядит так: - Ь — а Д X - X <----------. 1 У+ 1 У+1 (9.8) Пример 9.7. Используем оптимальный пассивный поиск для того, чтобы найти с точностью £ = 0.1 точку х локального минимума функции /(х) = х3 - х + е~х, локализованную на отрезке [0, 1]. Из (9.8) следует, что для решения задачи потребуется вычислить зна- чения функции в девяти пробных точках вида х, = 0.1/, где i = 1,2, ..., 9. Приведем таблицу этих значений (табл. 9.2). Таблица 9.2 X 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 У 0.81 0.63 0.47 0.33 0.23 0.17 0.14 0.16 0.24 Так как минимальное значение достигается в точке х1 = 0.7, то х = = 0.7 ±0.1. Если бы мы попытались найти х с точностью е = 10~2, то оптимальный пассивный поиск потребовал бы вычисления значений функции уже в 99 точках. ▲ 2. Метод деления отрезка пополам. Пусть для решения постав- ленной задачи последовательно вычисляются значения функции f в N пробных точках хр х2, ..., xN, причем для определения каждой из точек хк можно использовать информацию о значениях функции во всех пре- 297
Глава 9. Методы одномерной минимизации дыдущих точках х}, х2, хк_ г Соответствующие методы называют методами последовательного поиска. Рассмотрим простейший из методов этого семейства — метод деления отрезка пополам. В нем, как и в двух других рассматриваемых в этом параграфе методах (методах Фибоначчи и золотого сечения), используется принцип после- довательного сокращения отрезка локализации, основанный на предло- жении 9.2 и на следующем простом утверждении. Предложение 9.3. Если функция унимодальна на отрезке [а, Ь], то она унимодальна и на любом отрезке [с, d\ с [а, Ь]. Для удобства изложения обозначим отрезок [а, 6] через М0)]. Поиск минимума начинают с выбора на отрезке[а^°\ Z/0)] двух симмет- рично расположенных точек а(0)= _g р(0)= +5 Здесь 0 < б < (Ь - а)/2, б — параметр метода. Далее вычисляют зна- чения /(а(0)) и Др(0)). Сравнение этих значений в силу предложения 9.2 позволяет сократить отрезок локализации следующим образом: если /(а(0)) < ДР(0)), то х е (t/1), = [а<0), Р<0)]; если /(а(0)) > /(Р(0)), то х е [а^, М!)] = [а(0), М0)]. Если описанную процедуру принять за одну итерацию метода и продолжить аналогичные операции для построения последователь- ности сокращающихся отрезков локализации, то получим итерационный метод. Опишем очередную его итерацию исходя из того, что отрезок локализации уже найден. Выполняют следующие действия: 1) вычисляют (к) + Я + 4- Я а(Аг) = ----- _ § , р(*) = ----- + § ; 2) находят значения /(а^) и /(Р(^); 3) новый отрезок локализации определяют по правилу: если /(а^)< /(Р^), то !), Ъ^к + *>] = [а^, р^]; если /(а^) > /(pW), то Ь^к+ В] = [а(Ч №]. В первом случае за очередное приближение к точке минимума при- нимают x(A+1) = a(/f), а во втором случае х(* + ,) = р(*) (рис. 9.9). Обозначим через = ЬЮ - длину отрезка Как нетрудно заметить, справедливо равенство д(л) д(^,) = 2__+б. (9.9) 298
§ 9.3. Методы прямого поиска 25 I I I I а(к+\) ;а(*+1) р(*+1) Ь(к+1) • | Первый । । случай i--------—----------1 fl(4+l) a(t+l> p(t+l> b(k+l) Второй случай Рис. 9.9 Поэтому, если параметр 5 достаточно мал (5 А<л)), то длина вновь полученного отрезка почти вдвое меньше длины предыдущего отрезка. Отсюда — и название метода. Использовав равенство (9.9), с помощью метода математической индукции легко показать, что Д(») = <А 26) + 28. 2” Заметим, что А<л) убывает и при п —► оо стремится к значению 25, оставаясь при каждом п больше него. Поэтому сделать при некотором п длину отрезка локализации меньше заданного £ > О можно лишь, выбрав б < е/2. В этом случае из очевидной оценки погрешности |х<") - х | < Д<л> следует, что значение х действительно можно найти с точностью £ и справедлив следующий критерий окон- чания итерационного процесса. Вычисления следует прекратить, как только окажется выполненным неравенство Д(")<£. (9.10) Тогда за приближение к х с точностью £ можно принять х' = х(л). Замечание. При реализации метода на компьютере необхо- димо учитывать, что вычисления значений функции/будут произ- водиться с погрешностью. Для того чтобы знак разности /*(а(л)) - - /*(Р(п)) совпадал со знаком разности /(a<">) - /(Р(п)), необхо- димо, чтобы выполнялось условие б ^ £ (см. равенство (9.2)). Поэтому б нельзя задавать слишком малым. Пример 9.8. Применив метод деления отрезка пополам, найдем с точностью £ = 10-2 точку х локального минимума функции /(х) = х3 - 299
Глава 9. Методы одномерной минимизации Таблица 9.3 п 5(я) аи 0(л) /(₽<"’) д(«) 0 0.000000 1.000000 0.499000 0 232389 0.501000 0.230676 1.000 1 0.499000 1.000000 0.748500 0.143924 0.750500 0.144350 0.501 2 0.499000 0.750500 0.623750 0.154860 0.625750 0.154131 0.252 3 0.623750 0.750500 0.686125 0.140403 0.688125 0.140230 0.125 4 0.686125 0.750500 0.717088 0.139821 0.719088 0.139940 0.063 5 0.686125 0.719088 0.701607 0.139549 0.703607 0.139520 0.033 6 0.701607 0.719088 0.708348 0.139543 0.711348 0.139587 0.017 7 0.710141 0.719813 — — — — 0.010 — х + е~х локализованную на отрезке [0, 1]. Вычисления будем вести на 6-разрядном десятичном компьютере. Зададим б = 10“3, = 0, = 1. 1-я итерация. 1. Вычислим: а(0) = °<?-^-) _ 5 = 0.499, р<°> = а<0) * ьт + 8=0.501. 2. Определим значения /(а(0))« 0.232389, /(р<0>) ~ 0.230676. 3. Так как /(а<°>) > /(Р(0)), то следует положить /Л1)] = [0.499, 1]. Результаты следующих итераций приведены в табл. 9.3. Так как < е, то при п = 7 итерации прекратим и положим х » » р(л) = 0.711348. Таким образом, х = 0.71 + 0.01. Заметим, что для дос- тижения точности £ = 10~2 потребовалось 14 вычислений функции. ▲ 3. Метод Фибоначчи. Заметим, что метод деления отрезка пополам требует на каждой итерации вычисления двух новых значений функции, так как найденные на предыдущей итерации в точках и р(и) значения далее не используются. Обратим теперь внимание на то, что одна из этих точек (обозначенная в предыдущем пункте через xty является внутренней для отрезка и поэтому дальнейшее сокращение отрезка можно произвести, вычислив дополнительно зна- чение функции лишь в одной новой точке. Это наблюдение приводит к методам, требующим на каждой итерации (кроме первой) расчета лишь одного нового значения функции / Два наиболее известных среди них — методы Фибоначчи и золотого сечения. 300
§ 9.3. Методы прямого поиска Метод Фибоначчи^ является оптимальным последовательным методом, т.е. методом, обеспечивающим максимальное гарантиро- ванное сокращение отрезка локализации при заданном числе N вычис- лений функции. Этот метод основан на использовании чисел Фибо- наччи Fn, задаваемых рекуррентной формулой Fn = Fn-\+Fn-l (Л^2) и начальными значениями Fo = 1, Fx = 1. Укажем несколько первых чисел: Fo = 1, F, = 1, F2 = 2, Г3 = 3, Г4 = 5, Г5 = 8, Г6 = 13, Г7 = 21, F8 = 34, Г9 = 55, Г10 = 89, = 144. Метод Фибоначчи состоит из N - 1 шагов. Очередной (k + 1 )-й шаг выполняют здесь аналогично (к + 1)-й итерации метода деления отрезка пополам. В отличие от него точки aSk\ р<*> здесь находят по формулам а(*) = а(*) + FN.-k-' д(*), р(*) = а(*) + . д(*). ^N-k+l ^N-k+\ Новый отрезок локализации определяют по тому же правилу: если /(а^) < /(р^Х то [а^к + Ь^к + *>] = [а^, р<*>]; если /(а^) > /(Р^), то + 1), Ь^к + 1>] = [а^к\ В первом случае за очередное приближение к точке минимума при- нимают х^к + 1) = а во втором случае х& + 1) = Р^> (рис. 9.10). Важно то, что в любом случае точка х^к + 0 совпадает с одной из точек а(*+1) = а(*+1) + £л-*--2 Д(* + 1) FN-k г fi(k+\) = a(k+\) + Д(*+1). FN-k “’1---------------------------!*“’ I I Iй I I II I I I------J—---------1 | a (*+l>, „(*+!>, p(*+l) 4(*+l) [ । । Первый i i i случай t---------—t-----1 e(*+D a(*+l) p(*+l) b(k+\) Второй случай Рис. 9.10 1 Фибоначчи (Леонардо Пизанский) (1180—1240) — итальянский математик. 301
Глава 9. Методы одномерной минимизации Поэтому на очередном шаге достаточно вычислить значение функции лишь в одной недостающей точке. В результате выполнения jV - 1 шагов отрезок локализации умень- шается в Fn + t/2 раз, а точка x^N ~ В оказывается центральной для последнего отрезка локализации ~ 1)]. Поэтому для x^N О справедлива следующая оценка погрешности: |x_x((v-D| <_!_ д. (9Л) 1 Пример 9.9. Применив метод Фибоначчи, найдем с точностью £ = = 10"2 точку х локального минимума функции /(х) = х3 - х + е-х, лока- лизованную на отрезке [0, 1]. Вычисления будем вести на 6-разрядном десятичном компьютере. Первым среди чисел Фибоначчи, для которого выполняется условие A/Fv + । < £ (где А = 1), является число = 144, отвечающее N = 10. Зададим = 0, М0) = 1. Первый шаг. 1. Вычислим Fq 55 а(0) = а(0) + (5(0) _ а(0)) -Л = » 0.381944, Гц 144 0(0) = Л(0) + (£(0)_а(0)) £12 = 11- 0.618056. Гц 144 2. Определим значения /(а(0))« 0.356308, /(р(0)) « 0.157028. 3. Так как /(а(0)) > /(р(0)), то положим = [а(0), М0)]. Второй шаг. 1. С учетом того, что = р<0) « 0.618056, найдем: рО) =а(1) + (#1)-а(1))Г9/Г10« 0.763889. 2. Вычислим значение /(Р^) » 0.147712. 3. Так как /(а(1)) > /(Р(1)), то положим [а<2\ М2)] = [а(1\ М!)]. Результаты остальных шагов приведены в табл. 9.4. После девяти шагов вычисления прекращаем и полагаем х » р<8) = = 0.708334. Таким образом, х = 0.71 ± 0.01. Заметим, что для дости- жения точности £ = 10-2 потребовалось десять вычислений значения функции, в то время как при использовании метода деления отрезка пополам необходимо 14 вычислений. ▲ 302
§ 9.3. Методы прямого поиска Таблица 9.4 п 5(«) а(л) 0(") Д(л) 0 0.000000 1.000000 0.381944 0.356308 0.618056 0.157028 1.000 1 0.381944 1.000000 0.618056 0.157028 0.763889 0.147712 0.618 2 0.618056 1.000000 0.763889 0.147712 0.854167 0.194672 0.382 3 0.618056 0.854167 0.708334 0.139527 0.763889 0.147712 0.236 4 0.618056 0.763889 0.673611 0.141905 0.708334 0.139527 0.119 5 0.673611 0.763889 0.708334 0.139527 0.729167 0.140830 0.090 6 0.673611 0.729167 0.694445 0.139805 0.708334 0.139527 0.056 7 0.694445 0.729167 0.708334 0.139527 0.715278 0.139731 0.035 8 0.694445 0.715278 0.701389 0.139553 0.708334 0.139527 0.021 9 0.701389 0.715278 0.708334 — 0.708334 — 0.014 Хотя метод Фибоначчи и оптимален в указанном выше смысле, часто он неудобен для использования. В частности, это касается возможного применения поиска Фибоначчи для решения одномерных подзадач в алгоритмах многомерной минимизации. Здесь нередко эффективность алгоритма одномерной минимизации оценивается не по тому, какая точ- ность в значении х получена, а совсем по другим критериям, к которым метод плохо приспособлен. Например, бывает важно достигнуть мини- мального значения функции f с некоторой относительной точностью 8 либо уменьшить значение f на определенную величину. Кроме того, число выполняемых итераций заранее фиксируется, что удобно далеко не всегда. 4. Метод золотого сечения. Из-за указанных недостатков вместо метода Фибоначчи чаще используется теоретически почти столь же эффективный метод золотого сечения. Напомним, что золотым сечением' отрезка называется такое раз- биение отрезка на две неравные части, что отношение длины всего отрезка к длине его большей части равно отношению длины большей части к длине меньшей части отрезка. Золотое сечение отрезка [а, Ь] осуществляется каждой из двух сим- метрично расположенных относительно центра отрезка точек 2 2 а = а +----- (Ь - а), р = а +------ (Ь - а) 3 + Js 1 + V5 1 Термин «золотое сечение» ввел Леонардо да Винчи. Принципы золотого сечения широко использовались при композиционном построении многих произведений мирового искусства (в особенности, архитектурных сооружений античности и эпохи Возрождения). 303
Глава 9. Методы одномерной минимизации (9.12) Рис. 9.11 (рис. 9.11). Действительно, как нетрудно проверить, b — а _ b — а _ 1 л/5 b — а _ fl — а _ 1 + b—а а—а 2 ’ р—a b—Р 2 Замечательно то, что точка а осуществляет золотое сечение не только отрезка [а, Ь], но и отрезка [а, 0]. Действительно, Р — д _ а - а _ 1 + а/5 а — а Р — а 2 Точно так же точка 0 осуществляет золотое сечение не только отрезка [а, Ь], но и отрезка [а, Ь]. Этот факт далее существенно используется. Очередная (k + 1 )-я итерация метода золотого сечения производится аналогично {к + 1)-й итерации метода деления отрезка пополам. В отличие от него точки 0W находятся по формулам a<*i = + —1— Д(*>, р(*) = aw + —2— д(*). 3 + V5 1 + 75 Важно то, что какой бы из отрезков 0<*>] или не был бы выбран за очередной отрезок локализации, точка х<* + О (в первом случаех(* + В = а во втором случае х<*+ = 0<*>) совпадает с одной из точек + + Поэтому на очередном шаге достаточно вычислить значение функции лишь в одной недостающей точке. Заметим, что точка отстоит от концов отрезка №] на величину, не превышающую —Д(л), поэтому верна оценка 1 + 75 |х<">-х| <—2-= Д('') = Д('’+Ч; (9.12) 1 + V5 которую можно использовать для апостериорной оценки погрешности. Заметим, что каждая итерация сокращает длину отрезка локализации в (1 + а/5 )/2 раз. Поэтому № - = Д(л) = (2/(1 + а/5))лД и спра- ведлива следующая априорная оценка погрешности: п + 1 Д. (9.13) 304
§ 9.3. Методы прямого поиска Таким образом, метод золотого сечения сходится со скоростью гео- метрической прогрессии, знаменатель которой q = 2/( 1 + а/5) « 0.62 . Пример 9.10. Найдем методом золотого сечения с точностью £ = = 10-2 точку х локального минимума функции /(х) = х3 - х + е~х лока- лизованную на отрезке [0, 1]. Положим = 0, № = 1. 1-я итерация. 1. Вычислим: а(0) = д(0) + _L_ (/,(0) _ а(0))« 0.381966, 3 + 75 Р<0) = а(0) + _(/,(0) _ а(0>) я 0.618034. 1 + 75 2. Найдем « 0.356280, /(Р<°))« 0.157037. 3. Так как /(а(0>) > /(Р^), то положим [а0\ b<°>]. 2-я итерация. 1. Учтем, что = р(°> » 0.618034, и вычислим: 0(1 > = а( ।) + 1 > - 1 >)« 0.763936. 1 + 75 2. Определим /(Р(1)) » 0.147725. 3. Так как /(а(1>) =/(Р<°)) > /(Р(1>), то положим [а<2>, М2>] = [а(1>, Результаты остальных итераций приведены в табл. 9.5. Таблица 9.5 п дС") а(л) /(а(п)) р(л) /(₽'"») д(« + 1) 0 0.000000 1.000000 0.381966 0.356280 0.618034 0.157037 0.618 1 0.381966 1.000000 0.618034 0.157037 0.763936 0.147725 0.382 2 0.618034 1.000000 0.763936 0.147725 0.854102 0.194622 0.236 3 0.618034 0.854102 0.708204 0.139526 0.763936 0.147725 0.146 4 0.618034 0.763936 0.673764 0.141883 0.708204 0.139526 0.090 5 0.673764 0.763936 0.708204 0.139526 0.729493 0.140868 0.056 6 0.673764 0.729493 0.695051 0.139774 0.708204 0.139526 0.034 7 0.695051 0.729493 0.708204 0.139526 0.716337 0.139782 0.021 8 0.695051 0.716337 0.703182 0.139525 0.708204 0.139526 0.013 9 0.695051 0.708204 — — — — 0.008 Так как Д(1о> < £, то итерации следует прекратить и положить х » * а(8) » 0.703182. Таким образом, х = 0.70 ± 0.01. Отметим, что для достижения точности г = 10-2 потребовалось десять вычислений зна- чений функции, как и в методе Фибоначчи. ▲ 305
Глава 9. Методы одномерной минимизации 5. Эффективность методов прямого поиска. Эффективность ука- занных методов можно оценивать, например тем, во сколько раз умень- шается после использования N вычислений значений функции первона- чальная длина Д отрезка локализации. Другой критерий — значение гарантированной оценки погрешности. Данные табл. 9.6 позволяют сравнить по этим критериям рассмотренные выше методы. Как видно, очень неэффективен пассивный поиск. Метод деления отрезка пополам уступает почти эквивалентным по эффективности методам Фибоначчи и золотого сечения. Таблица 9.6 Метод прямого поиска Длина отрезка локализации Г арантированная оценка погрешности Оптимальный пассивный поиск Метод деления отрезка пополам (N — четное, величиной 5 пренебрегаем) Метод Фибоначчи Метод золотого сечения ^Д«(0.71)*-Д тД- Д» 1 7-(0.62)* •Д ^N+ 1 Г 2 Г'1 Д« 1 6-(062)*-Д L1 + А1 7V+ 1 Д « 0.5 • (0.71 )*• Д « 0.85 • (0 62)* • Д « (0 62)*-Д Приведем еще одну таблицу (табл. 9.7), из которой видно, сколько вычислений значений функции f нужно сделать для того, чтобы дос- тигнуть точности с. Предполагается, что начальный отрезок локали- зации имеет единичную длину. Таблица 9.7 Метод прямого поиска Число N при заданном с, равном 10-' 10*2 10-’ 10-4 Ю-5 Оптимальный пассивный поиск 9 99 999 9999 99999 Метод деления отрезка пополам (5 е) 6 12 18 26 32 Метод Фибоначчи 5 10 15 19 24 Метод золотого сечения 5 10 15 20 24 6. Влияние погрешности вычислений. Одна из самых распро- страненных ошибок при обращении к стандартным программам, реали- 306
§ 9.4. Метод Ньютона и другие методы минимизации гладких функций зующим тот или иной метод на компьютере, состоит в завышении тре- буемой точности. Необходимо понимать, что при наличии погрешностей в вычислении значений функции f достижимая точность е методов прямого поиска ограничена снизу величиной £ « 2*}, где £ — радиус интервала неопределенности (см. § 9.2). Это означает, например, что прямые методы не позволяют найти на 6-разрядном десятичном компьютере точку х2 локального экстремума функции /(х) = х3 - х + е~х с точностью £ < е2 » 2 • 10-4. Задание £ < е2 при- ведет лишь к бесполезной трате машинного времени. § 9.4. Метод Ньютона и другие методы минимизации гладких функций Отметим, что применение рассмотренных выше методов деления отрезка пополам, Фибоначчи и золотого сечения не позволяет извлечь никакой выгоды из возможной гладкости функции. Существуют методы, которые могут оказаться более эффективными, если миними- зируемая функция достаточно гладкая. Часть из них является просто модификациями известных методов решения нелинейных уравнений (см. гл. 4) применительно к необходимому условию экстремума /'(х) = 0. (9.14) 1. Метод бисекции. Пусть f— унимодальная непрерывно диффе- ренцируемая на отрезке [а(0), £И°>] = [а, 6] функция и на отрезке [а, 6] точка х является единственной стационарной точкой. Применительно к решению уравнения (9.14) одна итерация метода бисекции выглядит следующим образом. Пусть отрезок локализации [а(л), Ь^] известен и найдено значение х(л) = (а(п) + £>("))/2_ Тогда производят следующие действия: 1) вычисляют значение/'(х(л)); 2) если < 0, то полагают [а(л + О, + О] = [jC'»), £>(«)]. В про- тивном случае полагают [а(п + Ь^п + !)] = [я 3) вычисляют + 0 = (а(п + 1) + £(" + ^)/2. В рассматриваемом случае метод сходится с оценкой погрешности |х<">-х|<^ (9.15) и обладает всеми присущими методу бисекции решения нелинейных уравнений достоинствами и недостатками (см. § 4.3). Возникает лишь 307
Глава 9. Методы одномерной минимизации дополнительная проблема, связанная с необходимостью вычисления производной f 2. Метод Ньютона. Для решения уравнения (9.14) можно попы- таться воспользоваться методом Ньютона (см. § 4.6), расчетная формула которого в данном случае принимает вид x(^i) = x(n)_L2. / л > 0. (9.16) Следствием теоремы 4.6 является следующее утверждение Теорема 9.1. Пусть в некоторой окрестности точки х функция f трижды непрерывно дифференцируема и выполняется условие f"(x) >0. Тогда найдется такая малая ^-окрестность корня х , что при произвольном выборе начального приближения х^ из этой ^-окре- стности метод Ньютона (9 16) сходится квадратично. В силу сверхлинейной сходимости для метода Ньютона можно использовать следующий критерий окончания итераций; |х(л)_х(л-1)| <е> (9.17) Пр и мер 9.11. Использовав метод бисекции, найдем с точностью с = 10~2 точку локального минимума функции f(x) = х3 - х + е х, лока- лизованную на отрезке [0, 1]. Положим = 0, № = 1, х<°> = (а^ + Ь^)/2 = 0 5. Заметим, что f'(x) = Зх2 - 1 - е-\ 1-я итерация. 1) вычислим /'(х(0)) » -0.856531; 2) так как /'(х<0)) < 0, то [а(1), 6(1)] = [х(0), /Л0)]; 3) вычислим х(1) =(д(1) 4- г>(0)/2 = 0 75. Результаты остальных итераций приведены в табл. 9.8 Таблица 9.8 п х<л> /’СИ”) (6(")-а("))/2 0 0.000000 1 000000 0.500000 -0.856531 0.500 1 0.500000 1 000000 0.750000 0.215133 0.250 2 0.500000 0 750000 0.625000 -0.363386 0.125 3 0.625000 0 750000 0.687500 -0.084863 0.063 4 0.687500 0 750000 0.718750 0.062444 0.031 5 0.687500 0 718750 0.703125 -0.011882 0.016 6 0.703125 0 718750 0.710938 — 0.008 308
§ 9.4. Метод Ньютона и другие методы минимизации гладких функций После выполнения шести итераций вычисления можно прекратить и положить х Таким образом, х = 0.71 ± 0.01. Отметим, что для достижения точности £ = 10-2 потребовалось шесть вычислений зна- чения производной f'(x) А Пр и мер 9.12. Использовав метод Ньютона, найдем с точностью е = 10-6 точку локального минимума функции f(x) = х3 * * - х + е-х, лока- лизованную на отрезке [0, 1]. Положим х<°) = 0.5. Результаты вычислений по формуле (9.16), имеющей в данном случае вид 3(х(я))2 - 1 - е"х(л) х(и+ 1) = х(п) _ ---!_г----, 6х(«) + приведены в табл. 9.9. Таблица 9.9 п 0 0.5000000 — 1 0.7374944 2-10-1 2 0.7062126 з- io-2 3 0.7056421 6- 1(М 4 0.7056419 2 - 10“7 При п = 4 итерации прерываются. Можно считать, что х = 0.705642 ± ± 10 6. Заметим, что точность £ = 10-2 была достигнута уже после выполнения двух итераций. А 3. Метод последовательной параболической интерполяции. Этот метод предназначен для минимизации гладких функций, но в отличие от методов бисекции и Ньютона не требует вычисления производных. Опишем одну итерацию простейшего варианта этого метода. Пред- положим, что уже известны три предыдущих приближения х^к ~ 2\ х^к ~ *>, х<& к точке х . Пусть у = Р2(х) = + - х^) + р^к\х - х^)2 — 309
Глава 9. Методы одномерной минимизации уравнение параболы, проходящей через три точки плоскости с коорди- натами (х^к ~ 2\ f(x(k ~ 2))), (х<к ~ Ч f(x^k ~ *>)), (х^к\ f(x^)). Здесь _ х^к~ -х^ f(x^)-f(x^k 2*) ” ~ х(*-1)_х(*-2) х(*)_х(*-2) г(£) _ х(к 2) f^x^k 1))— f(x^) * х(к-\) _ х(к-2) х(к-\)_х(к) ’ (к) =------1------- х(к-1)_х(к-2) “Лх{к)) f(x^)~f(x^k 20" х(к-\)_х(к) х(к)_х(к-2) _ ’ За очередное приближение х^к + к х принимается та точка, в которой функция Р2(х) достигает минимума. Из уравнения Р'(х(^1)) = 2р(к\х<к + h-x(k)) + n(k) = о получается формула Естественно, что для начала работы этого метода требуется выбор трех начальных приближений х<°\ х(1\ х<2\ Пусть функция f трижды непрерывно дифференцируема в некоторой окрестности точки х и удовлетворяет условию /"(х) > 0. Можно показать, что в этом случае выбор начальных приближений х^х^х^ из достаточно малой окрестности точки х гарантирует, что р№ 0 для всех к и метод последовательной параболической интерполяции схо- дится сверхлинейно, с порядком, приближенно равным 1.324. Поэтому в качестве критерия окончания итерационного процесса можно принять неравенство (9.17). Отметим, что в описанном методе используются только значения функции f вычисляемые в точках х<кХ Поэтому (как и для методов прямого поиска) при его реализации на компьютере достижимая точность метода ограничена снизу значением, равным радиусу £ интервала неоп- ределенности. После того как очередное приближение х^ попадет в интервал (х - £, х + £ ), дальнейшие вычисления теряют смысл (см. § 9-2). Существуют различные модификации метода последовательной параболической интерполяции. Одна из них, например обеспечивает принадлежность очередного приближения предыдущему отрезку лока- лизации и дает последовательность стягивающихся к точке х отрезков. 310
§ 9.5. Дополнительные замечания 4. Гибридные алгоритмы. Лучшими среди универсальных методов одномерной минимизации считаются так называемые гиб- ридные (или регуляризованные) алгоритмы. Они представляют собой комбинации надежных, но медленно сходящихся алгоритмов типа бисекции (если возможно вычисление или золотого сечения с быстро сходящимися методами типа последовательной параболической интерполяции или Ньютона. Эти алгоритмы обладают высокой надеж- ностью и гарантированной сходимостью, причем сходимость стано- вится сверхлинейной, если в окрестности точки строгого минимума функция f достаточно гладкая. Примером эффективного гибридного алгоритма является алгоритм FMIN, изложенный в [106]. Алгоритм FMIN осуществляет поиск минимума методом золотого сечения, переключаясь по возможности на параболическую интерполяцию. § 9.5. Дополнительные замечания 1. Дополнительную информацию о методах одномерной миними- зации можно найти, например в [20]. 2. Описанные выше методы приспособлены, как правило, для минимизации унимодальных функций. Если эти методы применить для минимизации непрерывной функции, не являющейся унимодальной на рассматриваемом отрезке, то мы получим, вообще говоря, лишь точку локального экстремума. Поэтому такие методы часто называют локальными методами минимизации. К настоящему времени разра- ботан ряд методов, которые предназначены для поиска глобального минимума. С некоторыми из них можно ознакомиться в [20]. 3. Решение задачи минимизации существенно усложняется, если на значения функции накладываются случайные ошибки (помехи). Так бывает, например, тогда, когда значения функции получают в результате измерений какой-либо физической величины. В том случае, когда ошибки являются случайными величинами и обладают опреде- ленными вероятностными характеристиками, для поиска минимума можно использовать метод стохастической аппроксимации. Понятие об этом методе можно получить из [20]; там же содержатся ссылки на соответствующую литературу. 311
Глава 10 МЕТОДЫ МНОГОМЕРНОЙ МИНИМИЗАЦИИ Одной из наиболее часто встречающихся в прикладных расчетах и научных исследованиях вычислительных задач является задача мини- мизации1 функции т действительных переменных Дх1? х2, хт). Функция f (целевая функция) минимизируется на некотором мно- жестве X(zRm. В случае, когда X = Rm (т.е ограничения на переменные хр х2, ..., хт отсутствуют) принято говорить о задаче безусловной мини- мизации. В противном случае (т.е. тогда, когда X*Rm) говорят о задаче условной минимизации. В данной главе рассматриваются методы решения задачи безус- ловной минимизации. Многие из них являются основой для перехода к более сложным методам решения задач условной минимизации. § 10.1. Задача безусловной минимизации функции многих переменных 1. Постановка задачи. Определения. Пусть f(x) = Дх1? х2, ..., хт) — действительная функция многих переменных, определенная на мно- жестве X <^Rm. Точка х е X называется точкой глобального минимума функции f на множестве X, если для всех х е X выполняется нера- венство f(x) < f(x). В этом случае значение f(x) называется мини- мальным значением функции f на X. Точка х е X называется точкой локального минимума функции /, если существует такая S-окрестность этой точки, что для всех х е = = ХП выполняется неравенство f(x ) < f(x). Если же для всех х е Хь таких, что х х, выполняется строгое неравенство Дх) < Дх), то х называется точкой строгого локального минимума. Подавляющее большинство методов решения задачи безусловной минимизации в действительности являются методами поиска точки локального минимума. За исключением весьма редких случаев для нахо- ждения точки глобального минимума, вообще говоря, не остается ничего иного, как найти все точки локального минимума и, сравнив вычис- 1 Как и в случае одной переменной, задача максимизации сводится к задаче миними- зации заменой функции f на 312
§10.1. Задача безусловной минимизации функции многих переменных ленные в этих точках значения функции /, выделить среди них точку глобального минимума. Однако такой подход связан с чрезмерно большими вычислительными затратами и вряд ли перспективен. На практике чаще используется другой подход к нахождению точки гло- бального минимума, который состоит в том, чтобы определить ее местоположение из анализа самой решаемой задачи, а затем применить для вычисления один из методов поиска точки локального минимума. 2. Поверхность уровня, градиент и матрица Гессе. Необходимые и достаточные условия локального минимума. Напомним некоторые определения и факты, известные из стандартного курса теории функций многих переменных. Множество точек, для которых целевая функция принимает посто- янное значение f(x) = с, называется поверхностью уровня. В случае т = 2 это множество называют линией уровня. На рис. 10.1 показано, как получаются линии уровня для функции двух переменных. Функция /(х1? х2) задает в трехмерном пространстве некоторую поверхность и = = /(Xj, х2), низшая точка которой и дает решение задачи миними- зации. Для того чтобы изобразить рельеф этой поверхности, проведем несколько равноотстоящих плоскостей и = const. Проекции на плос- кость 0xjX2 линий пересечения этих плоскостей с поверхностью и дают линии уровня. Для дифференцируемой функции определен вектор из первых частных производных #(*) =/'(*) = (х),. (х)1 , Vox. ох? охт / 1 z т и а Х1 Рис. 10.1 313
Глава 10. Методы многомерной минимизации Градиент g(x(0)) Антиградиент -*(Х<0)) Рис. 10.2 Линия уровня 7(х) = = const который называется градиентом. Если в точке х градиент не равен нулю, то он, как известно, перпендикулярен проходящей через эту точку поверхности уровня и указывает в точке х направление наискорейшего возрастания функции. Вектор -g(x) называется антиградиентом и указывает направление наискорейшего убывания функции (рис. 10.2). Известно также, что равенство нулю градиента в точке х является необходимым условием того, чтобы внутренняя для множества X точка х была точкой локального минимума дифференцируемой функции f Точка х, для которой выполняется равенство /'(х) = 0, (10.1) называется стационарной точкой функции /. Равенство (10.1) пред- ставляет собой систему т нелинейных уравнений относительно ком- понент Х],х2, хт вектора х, имеющую вид: (*1> *2» • • •» хт) ~ ................................... (Ю.2) дхт Однако не всякая стационарная точка является точкой локального минимума. Пусть функция f дважды непрерывно дифференцируема. Тогда достаточным условием того, чтобы стационарная точка х была точкой локального минимума, является положительная определен- ность1 матрицы G(x) =/"(х) = Г52/, X (х) дх\ г2/ , .-] —Г— \Х) дх.дх I т (10.3) д1/ ( X — (х) дх дх. tn J дг/, \ (х) гп 1 Определение положительно определенной симметричной матрицы см. в } 5.3. 314
§10.1. Задача безусловной минимизации функции многих переменных составленной из вторых частных производных функции f Матрицу (10.3) принято называть матрицей Гессе1. 3. Выпуклые функции. Понятие выпуклости играет значительную роль в теории методов минимизации. Функция f называется строго выпуклой, если для любых х * у, 0 < X < 1 выполняется неравенство2 /(Хх + (1 - X)j) < \f(x) + (1 - W). Это определение имеет наглядный геометрический смысл — график функции f на интервале, соединяющем точки х и у, лежит строго ниже хорды, соединяющей точки (х, /(х)) и (у, f(y)) (рис. 10.3). Для дважды непрерывно дифференцируемой функции положительная определен- ность матрицы Гессе /"(х) является достаточным условием строгой выпуклости. Функция f называется сильно выпуклой с постоянной х > 0, если для любых х, у, 0 < X < 1 выполнено неравенство2 /(Хх + (1 - MjO W) + (1 - М/00 - ^(1 - Mix -у|2. (10.4) Дважды непрерывно дифференцируемая функция f является сильно выпуклой тогда и только тогда, когда для всех х матрица Гессе удовле- творяет условию СГ'(х)^ у S XI 12 для всех е Rm, где х > 0 — постоянная, входящая в неравенство (10.4). 1 Людвиг Отто Гессе (1811—1874) — немецкий математик. I т 2 Всюду в этой главе |х| =||х|| 2 = I £|х,| 1 1-1 315
Глава 10. Методы многомерной минимизации 4. Задача минимизации квадратичной функции. Часто первона- чальное исследование свойств методов безусловной минимизации про- водится применительно к задаче минимизации квадратичной функции 1 т т т F(xt,x2, ...,xm) = - £ ^a,7x,x7-^Z>,x,, (10.5) /=1 7=1 /=1 коэффициенты atJ которой являются элементами симметричной поло- жительно определенной матрицы А. Использовав матричные обозна- чения, запишем функцию F так: F(x) = 1- (Ах, х) - (Ъ, х). (10.6) Вычислим градиент и матрицу Гессе для функции (10.5). Дифферен- цирование F по хк дает 0F ” 1 ” , 2 ^akjxj + 2 ^aikxl Ьк- к 7=1 /=1 Пользуясь симметрией матрицы Л, получаем формулу dF т ^ = £akjXj-bk, \<к<т. (10.7) к 7=1 Таким образом. F'(x)=Ax-b. (10.8) d2F Дифференцируя обе части равенства (10.7) по xh получаем --- = дх^хк = а1к. Это означает, что для квадратичной функции (10.5) матрица Гессе не зависит от х и равна А. Задача минимизации квадратичной функции представляет интерес по многим причинам. Отметим две основные из них. Во-первых, в малой окрестности точки минимума х гладкая целевая функция хорошо аппроксимируется суммой первых трех слагаемых ее разло- жения по формуле Тейлора: /(х) « F. (х) = f(x*) + (g(x*), х - х*) + 1 (<7(х*)(х - х’), х - х’) (10.9) с центром в точке х* » х . Функция F* с точностью до постоянного сла- гаемого может быть записана в виде (10.6) с матрицей А = G(x*) » « G(x). Поэтому можно ожидать, что вблизи точки минимума качест- венный характер поведения последовательности х<"), генерируемой 316
§10.1. Задача безусловной минимизации функции многих переменных методом минимизации, для функции f окажется почти таким же, как и для квадратичной функции F. Во-вторых, хорошо известно, что когда А — симметричная положи- тельно определенная матрица, задача минимизации квадратичной функции (10.6) эквивалентна задаче решения системы линейных алгеб- раических уравнений Ах = Ь (10.10) Более того, решение х° системы (10.10) дает точку минимума функции (10.6). Действительно, F'(x°) =Лх° - b = 0, т.е.х0 является ста- ционарной точкой функции F. Так как матрица Гессе F"(x°) = А поло- жительно определена, то в точке х° выполнены достаточные условия минимума и, значит, х° = х . Таким образом, всякий метод безусловной минимизации, будучи примененным к поиску минимума функции (10.6), порождает неко- торый метод решения системы (10.10). Отметим, что поверхностями уровня квадратичной функции (10.6) служат m-мерные эллипсоиды (при т = 2 — эллипсы) с центром в точке х. Отношение большей оси каждого из этих эллипсоидов (эллипсов) к меньшей оси равно cond2(^) = ^max/^min — числу обусловленности матрицы А. Здесь и — максимальное и минимальное собст- * гп ах min венные значения матрицы А. Чем больше отношение ^max^mm’ тем сильнее вытянуты поверхности (линии) уровня. 5. Обусловленность задачи минимизации. В § 9.2 достаточно подробно обсуждалась обусловленность задачи поиска строгого локального минимума функции одной переменной. Так как ситуация в многомерном случае аналогична, то здесь изложим соответствующие положения более кратко. Пусть х — точка строго локального минимума дважды непрерывно дифференцируемой функции /, матрица Гессе которой в точке х поло- жительно определена. Предположим, что в некоторой окрестности точки минимума вычисляемые приближенные значения f*(x) удовле- творяют неравенству |/(х) - f (х) | < A = A(/*). Тогда для радиуса соответствующей области неопределенности справедлива грубая оценка ё » 2^Л/ктхп, где Xmin >0 — минимальное собственное зна- чение матрицы Гессе /"(х). 317
Глава 10. Методы многомерной минимизации Отсюда следует, что методы приближенного решения задачи мини- мизации, в которых используются только значения /*, не могут, вообще говоря, гарантировать получение приближенного решения х* с погрешностью меньшей чем Д(х*) ~ 2Л/д/Лт1п. Это означает, например, что даже для хорошо масштабированных задач (т.е. при |х| ~ 1, |/(х)| ~ 1, Xmin ~ 1) неизбежна потеря примерно половины из того числа верных значащих цифр, которые содержались в прибли- женных значениях /*(х). Пусть теперь для решения задачи минимизации доступны прибли- женные значения градиента (/')*• Тогда сведение задачи поиска точки минимума х к эквивалентной задаче решения системы уравнений f(x) = О существенно улучшает обусловленность задачи. В частности, спра- ведлива такая оценка границы абсолютной погрешности: ^min Здесь Д((/')*) — граница абсолютной погрешности значений (/')*, считающаяся достаточно малой величиной. Поэтому если для вычис- ления х можно использовать значения градиента, то такой возмож- ностью не следует пренебрегать. § 10.2. Понятие о методах спуска. Покоординатный спуск 1. Методы спуска. Большинство итерационных методов, приме- няемых для решения задачи безусловной минимизации функций многих переменных, относятся к классу методов спуска, т.е. таких методов, для которых каждая итерация (шаг) приводит к уменьшению значения целевой функции: f(x^n + В) < f(x^) для всех п > 0. Опишем структуру типичной (и+1)-й итерации метода спуска в предположении, что приближение к точке минимума уже найдено и х^ * х . 1°. Находят ненулевой вектор р^п\ называемый направлением спуска. Этот вектор должен быть таким, чтобы при всех достаточно малых а > 0 выполнялось неравенство /(xW +a/H")) < f(x^\ (10.11) 318
§ 10.2. Понятие о методах спуска. Покоординатный спуск Если ввести функцию одной переменной а, имеющую вид Ф„ (а) = №п} + ар<п)), (10.12) то неравенство (10.11) можно записать так: <р„(а) < <р„(0). 2°. Вычисляют положительное число ая (шаг спуска), для которого выполняется неравенство Дх<л) + апр^) <f(x^), (10.13) или, что то же самое, неравенство фя(ая) < фп(0). 3°. За очередное приближение к точке минимума принимают х(п + 1) =Х(П) + аяр("). 4°. Проверяют выполнение критерия окончания итераций. Если кри- терий выполняется, то итерации прекращают и полагают х « х^п + В противном случае итерации продолжают далее. Последовательность точекх0,*1, ...,х^п\ генерируемую методом спуска, иногда называют траекторией спуска. 2. Направление спуска. Заметим, что вектор рО») не может быть задан произвольно. В силу требования (10.11) функция фп(а), опреде- ляемая формулой (10.12), должна убывать в точке а = 0. Для того чтобы это условие выполнялось, достаточно потребовать выполнения нера- венства Ф^(0) < 0. Так как ф^(а) = (/'(х(л) + ар(л)),р(л)), то векторр(л) является направлением спуска, т.е. удовлетворяет условию (10.11), если (/'(х^),р^)<0. (10.14) Можно показать, что для строго выпуклой функции f это нера- венство выполняется тогда и только тогда, когда вектор р^ задает направление спуска. Обычно именно способ выбора направления спуска р(л) определяет конкретный численный метод, а различные варианты метода опреде- ляются далее алгоритмом вычисления шага спуска ая. Например, выбор в качестве/Ил) антиградиентар^ =-fr(x^) задает градиентный метод (см. § 10.3). В этом случае (/'(х<л)), р^) = -|/'(х(л))|2 < 0, т.е. условие (10.14) выполняется. 3. Выбор шага спуска. Следует иметь в виду, что шаг ап спуска определяет «истинную» величину шага hn = |х(л + -х(л)| = ая|р(л) |, но совпадает с ней только тогда, когда векторр(л) имеет единичную длину. 319
Глава 10. Методы многомерной минимизации В качестве ал можно выбирать значение параметра а, которое обес- печивает достижение наименьшего значения функции f вдоль луча х = = х^ + а.р{п\ а > 0. В этом случае для вычисления ап требуется решение одномерной задачи минимизации функции фп(а). Этот путь достаточно надежен, однако может быть связан с большими вычисли- тельными затратами. Существуют и активно применяются другие подходы к выбору ая, гарантирующие выполнение условия (10.13). Один из простейших под- ходов, называемый дроблением шага, состоит в следующем. Фик- сируют начальное значение шага а и выбирают параметр у, 0 < у < 1 (часто у = 1/2). За шаг спуска принимают ая = ау", где in — первый из номеров i = 0, 1,2, ..., для которого выполнено условие + ау'/И")) -/(x<"))< payV%r(n)),P(n)). (10.15) здесь 0 < р < 1, р — некоторый дополнительный параметр. 4. Критерии окончания итераций. На практике часто используют следующие критерии окончания итераций: |Х(Я+ 1)_х(и)| <£1j (10.16) |Дх(^1))_Дх(и))| <£2> (10.17) 1/'(х(я))1 < ез> (10.18) где е2> £з — заданные положительные числа. Нередко используют раз- личные их сочетания, например требуют, чтобы одновременно выпол- нялись условия (10.16) и (10.17) или даже все три условия (10.16)—(10.18). Нередко вместо критериев (10.16), (10.17) применяют их аналоги, основанные на сочетании понятий относительной и абсолютной погрешностей: |х(и+1)_х(и)| < + |х(и+ 1)|)5 (10.19) |дх(и + D) _ДХ("))| <§2(1 + | + D)|), (10.20) а также другие критерии. К сожалению, надежные критерии окончания счета, которые были бы применимы к широкому классу задач и гарантировали бы дости- жение нужной точности, пока не известны. 5. Покоординатный спуск. В методе покоординатного спуска в качестве очередного направления спуска выбирают направление одной из координатных осей. Наиболее известным является метод циклического покоординатного спуска. Опишем очередной (п + 1)-й цикл одного из вариантов этого метода, в предположении, что прибли- жение х^ уже найдено. 320
§ 10.2. Понятие о методах спуска. Покоординатный спуск Цикл с номером п + 1 состоит из т шагов. На первом шаге произ- о (л) (л) водят спуск по координате х,. Значения х2 = х2 , ...,хт = хт остальных координат фиксируют, а х\п+ выбирают из условия /01" + 1 \ х{2\ ..., х^) = min /(хь х{2\ ..., х^). *1 Фактически решается задача минимизации функции одной переменной /1(Х|) = /(Х|,х(2п), ....х^). На втором шаге производят спуск по координате х2. Значения Xj = (л + 1) (л) (л) , = X] , Х3 = х3 , ..., хт = хт остальных координат фиксируют и х(2" + выбирают как решение задачи одномерной минимизации f{x\n + 1 \ х(2" + 1 \ Х(3Я), ..., х^) = mm Дх\п + 1 \ х2, ..., х^). х2 Аналогично осуществляют остальные шаги. На последнем т-м шаге (л+ 1) координату хт определяют из условия f(x\" + ’ \ ... Л-+.' U" + 1 b = mm f(x\n +' xt+,’ \ хт). X т В результате получается очередное приближение х<я + к точке минимума. Далее цикл метода снова повторяют. На рис. 10.4 изображена геометрическая иллюстрация циклического покоординатного спуска. 321
Глава 10. Методы многомерной минимизации Применим метод циклического покоординатного спуска для мини- мизации квадратичной функции (10.5). Так как на k-м шаге очередного (л+ 1) цикла значение координаты хк определяется из условия миними- зации функции F по направлению хк, то необходимо, чтобы в точке / (и+1) (и+1) (и+1) (я) (и)ч згтчз с. (*! , ...,х^_! ,хк ,х*+1, ...,хт) производная oFloxk обра- щалась в нуль. Учитывая формулу (10.7), получаем уравнение к т Ы"'" + а*,х(">-^ = 0, ;=1 j=k+\ откуда находим (и+1)_ -1Л (и+1) Д (лй хк akk\J?k akjXj akjXj J • (10.21) у=1 7=^+1 Последовательные вычисления по формуле (10.21) для к= 1,2, ..., т и составляют один цикл метода покоординатного спуска. Заметим, что этот метод применительно к решению системы линейных алгебраи- ческих уравнений Ах = Ъ с симметричной положительно определенной матрицей дает известный итерационный метод Зейделя (см. гл. 6), схо- дящийся со скоростью геометрической прогрессии. § 10.3. Градиентный метод Рассмотрим задачу безусловной минимизации дифференцируемой функции многих переменных /(х). Пусть — приближение к точке минимума х, agW = g(x^) — значение градиента в точке Выше уже отмечалось, что в малой окрестности точки направление наиско- рейшего убывания функции f задается анти градиентом -g^n\ Это свойство существенно используется в ряде методов минимизации. В рассматриваемом ниже градиентном методе за направление спуска из точки непосредственно выбирается = -g^n\ Таким образом, согласно градиентному методу лг(" + 1) =лг(") - (10.22) Существуют различные способы выбора шага ая, каждый из которых задает определенный вариант градиентного метода. 1. Метод наискорейшего спуска. Рассмотрим функцию фя(а) = = /(х(я) - а#(я)) одной скалярной переменной а > 0 и выберем в качестве ая то значение, для которого выполняется равенство 9w(aJ = min ф„(а). (10.23) 0 < а 322
§ 10.3. Градиентный метод Рис. 10.5 Этот метод, предложенный в 1845 г. О. Коши1, принято теперь называть методом наискорейшею спуска. На рис. 10.5 изображена геометрическая иллюстрация этого метода для минимизации функции двух переменных. Из начальной точки х<0) перпендикулярно линии уровня Дх) = Дх<0)) в направлении/^0) = -g^ спуск продолжают до тех пор, пока не будет достигнуто минимальное вдоль лучах<0) + а/И°) (а > 0) значение функции f В найденной точке х^1) этот луч касается линии уровня Дх) = Дх^). Затем из точки х^1) про- водят спуск в перпендикулярном линии уровня направлении = -g^ до тех пор, пока соответствующий луч не коснется в точке х&\ прохо- дящей через эту точку линии уровня, и т.д. Отметим, что на каждой итерации выбор шага аи предполагает решение задачи одномерной минимизации (10.23). Иногда эту операцию удается выполнить аналитически, например для квадратичной функции. Применим метод наискорейшего спуска для минимизации квадра- тичной функции F(x) = | (Ах, х) - (Ь, х) (10.24) с симметричной положительно определенной матрицей А. Согласно формуле (10.8), в этом случае g^ = Ах^ - Ь. Поэтому формула (10.22) выглядит здесь так: х("+ 1) =х^ -an(Ax<ri- Ь). (10.25) Заметим, что Фя(а) = ~ (Л(х(я) - а#(")), х(») _ agW) - (b, х^ - ag^) = 1 2 (Л#(я),£(л))а2 ~(g(n\g(n}) а + | (Ах<я\ х<">) -(Л,х<и)). 1 Огюстен Луи Коши (1789—1857) — французский математик, один из создателей современного математического анализа, теории дифференциальных уравнений и др. 323
Глава 10. Методы многомерной минимизации Эта функция является квадратичной функцией параметра а и достигает минимума при таком значении а = ап, для которого <р;(а„) = (Ag(n\ gM)an - (gM, g<">) = 0. Таким образом, применительно к минимизации квадратичной функции (10.24) метод наискорейшего спуска эквивалентен расчету по формуле (10.25), где а п (g(n\ g(n)) (Л#(п), g(n)) (10.26) Замечание 1. Поскольку точка минимума функции (10.24) совпадает с решением системы Ах = 6, метод наискорейшего спуска (10.25), (10.26) может применяться и как итерационный метод решения систем линейных алгебраических уравнений с сим- метричными положительно определенными матрицами (см. § 6.4, пункт 8). При этом g(n> = -г (п\ где г = b -Ах^ — невязка, отве- чающая приближению х^>. Замечание 2. Отметим, что а"1 = p(g^), где р(х) = = (Лх, х)/(х, х) — отношение Рэлея (см. § 8.1). Пример 10.1. Применим метод наискорейшего спуска для мини- 2 2 мизации квадратичной функции /(х1? х2) = Xj + 2х2 -4xj -4х2. Заметим, что /(хр х2) = (xj — 2)2 + 2(х2 - I)2 - 6. Поэтому точное зна- чение х =(2,1 )г точки минимума нам заранее известно. Запишем данную функцию в виде (10.24), где матрица А = 2 0 _° 4 и вектор b - (4, 4)г. Как нетрудно видеть, А = Ат > 0. Возьмем начальное приближение х(0) = (0, 0)г и будем вести вычис- ления по формулам (10.25), (10.26). 1 -я ите ра ция. £(°) = Лх<°) - Ь = (-4,-4)г, ао = (g<0),g(0)) GU(0), g(0)) 42 + 42 = 1 2 • 42 н-4 • 42 3 ’ x(|)=x<°'-aog(°)= 2-я итерация. г(1) = Лх(|) - b = (- , а, (g(l),g(l)) (4/3)2 + (4/3)2 _1 (ЛуО,^!)) 2 • (4/3)2 + 4 • (4/3)2 3’ 324
§ 10.3. Градиентный метод х(2) =х(1)_ сц^О) = . Можно показать, что для всех п > 1 на и-й итерации будут получены значения £(л) = ^(1,(-1)и)г, а„ = 5, x<n) = i-^ (2,(-!)"/. Заметим, что |х^ - х | = —*0 при п —► оо. Таким образом, после- довательность х^п\ полученная методом наискорейшего спуска, сходится со скоростью геометрической прогрессии, знаменатель которой q = 1/3. На рис. 10.5 изображена именно та траектория спуска, которая была получена в данном примере. ▲ Для случая минимизации квадратичной функции справедлив сле- дующий общий результат [20]. Теорема 10.1. Пусть А — симметричная положительно опреде- ленная матрица и минимизируется квадратичная функция (10.24). Тогда при любом выборе начального приближения метод наискорейшего спуска (10.25), (10.26) сходится и верна следующая оценка погрешности: |х0»)-х| < ^condj^) qn |х(0)-х| (10.27) cond2(/l)-l Xmax 3деСЬ 4 = cond mY+I < 1 ’ ГДе cond2(^) = Г— > а Xmin и Хшах ~ мини‘ 2' ’ min мольное и максимальное собственные значения матрицы А. Отметим что этот метод сходится со скоростью геометрической прогрессии, знаменатель которой равен q. Если Xmin и Хтах близки, то cond2(/4) ~ 1 и q мало. В этой ситуации метод сходится достаточно быстро. Например, в примере 10.1 имеем Xmin = 2, Xmax = 4 и поэтому cond2(?4) = 2, q = (2 - 1 )/(2 + 1) = 1/3. Если же Xmin Xmax, то cond2(/4) >> 1, q ® 1 и следует ожидать медленной сходимости метода наискорейшего спуска. Пример 10.2. Применение метода наискорейшего спуска для 2 2 минимизации квадратичной функции /(хи х2) = Xj + 10х2 - 4xj - 4х2 при начальном приближении= (0, 0)гдает последовательность при- ближений = х - 2(9/11)”(1, (-1)л)г, где х = (2, 0.2)г. Траектория спуска изображена на рис. 10.6. 325
Глава 10. Методы многомерной минимизации Рис. 10.6 Последовательностьсходится здесь со скоростью геометрической прогрессии, знаменатель которой равен q = 9/11, т.е. существенно мед- леннее, чем в примере 10.1. Так как здесь А = 2 0 О 20 , то А, — 2, X__v ’ min ’ max = 20, сопё2(Л) = 20/2 = 10, q = (10 - 1)/(10 + 1) = 9/11, и полученный результат вполне согласуется с оценкой (10.27). ▲ Замечание 1 Мы сформулировали теорему о сходимости метода наискорейшего спуска в предположении, что целевая функ- ция является квадратичной. В общем случае, если минимизируе- мая функция строго выпуклая и имеет точку минимума х, то также независимо от выбора начального приближения полученная указанным методом последовательностьх^ сходится к х при и —► оо. При этом после попадания в достаточно малую окрестность точки минимума сходимость становится линейной и знаменатель соответствующей геометрической прогрессии оценивается сверху « — х - 1 ^тах величиной q »----г, где х = ;— — отношение максимального * + 1 mm и минимального собственных значений матрицы Гессе G(x), т.е. х = cond2( G(x)). Замечание 2. Для квадратичной целевой функции (10.24) решение задачи одномерной минимизации (10.23) удается найти в виде простой явной формулы (10.26). Однако для большинства других нелинейных функций этого сделать нельзя и для вычисле- ния ап методом наискорейшего спуска приходится применять чис- ленные методы одномерной минимизации типа тех, которые были рассмотрены в гл. 9. 2. Проблема «оврагов». Из проведенного выше обсуждения следует, что градиентный метод сходится достаточно быстро, если для минимизи- руемой функции поверхности уровня близки к сферам (при т = 2 линии 326
§ 10.3. Градиентный метод уровня близки к окружностям). Для таких функций х maximin ~ 1- Теорема 10.1, замечание 1, а также результат примера 10.2 указывают на то, что скорость сходимости резко падает при увеличении величины х. Дейст- вительно, известно, что градиентный метод сходится очень медленно, если поверхности уровня минимизируемой функции сильно вытянуты в неко- торых направлениях. В двумерном случае рельеф соответствующей поверхности и - х2) напоминает рельеф местности с оврагом (рис. 10.7). Поэтому такие функции принято называть овражными. Вдоль направлений, характеризующих «дно оврага», овражная функция меняется незначительно, а в других направлениях, характеризующих «склон оврага», происходит резкое изменение функции. Если начальная точках^ попадает на «склон оврага», то направление градиентного спуска оказывается почти перпендикулярным «дну оврага» и очередное приближение х^) попадает на противоположный «склон оврага». Следующий шаг в направлении ко «дну оврага» возвращает при- ближение на первоначальный «склон оврага». В результате вместо того чтобы двигаться вдоль «дна оврага» в направлении к точке минимума, траектория спуска совершает зигзагообразные скачки поперек «оврага», почти не приближаясь к цели (рис. 10.7). Для ускорения сходимости градиентного метода при минимизации овражных функций разработан ряд специальных «овражных» методов. Дадим представление об одном из простейших приемов. Из двух близких начальных точек и z^ совершают градиентный спуск на «дно оврага». Через найденные точки х(0) и х<^ проводят прямую, вдоль которой совершают большой «овражный» шаг (рис. 10.8). Из найденной таким образом точки z^ снова делают один шаг градиентного спуска в точку х^2\ Затем совершают второй «овражный» шаг вдоль прямой, проходящей через точки х^ и х(2), и т.д. В результате движение вдоль «дна оврага» к точке минимума существенно ускоряется. 327
Глава 10. Методы многомерной минимизации Рис. 10.8 Более подробную информацию о проблеме «оврагов» и «овражных» методах можно найти, например в [9, 20]. 3. Другие подходы к определению шага спуска. Как нетрудно понять, на каждой итерации было бы желательно выбирать направ- ление спускар^п\ близкое к тому направлению, перемещение вдоль которого приводит из точкив точку х . К сожалению, антиградиент р^> =~8^ является, как правило, неудачным направлением спуска. Осо- бенно ярко это проявляется для овражных функций. Поэтому возникает сомнение в целесообразности тщательного поиска решения задачи одномерной минимизации (10.23) и появляется желание сделать в направлении лишь такой шаг, который бы обеспечил «сущест- венное убывание» функции / Более того, на практике иногда довольст- вуются определением значения ап > 0, которое просто обеспечивает уменьшение значения целевой функции. В одном из простейших алгоритмов (типа дробления шага) такого выбора шага ап фиксируют начальное значение а > 0 и значение пара- метра у, 0 < у < 1. За ап принимают ап = а • уп, где in — первый из номеров i = 0, 1,2, ..., для которого выполнено условие убывания f(x^> - ay- f(x^) <0. (10.28) Однако при таком выборе ая нет гарантии, что последовательность х(«) будет сходиться к точке минимума даже для простой квадратичной функции (10.24). Условие (10.28) является слишком слабым: последова- тельность незначительно уменьшая значения функции /, может «останавливаться», не доходя до точки х . Такое поведение после дова- 328
§ 10.3. Градиентный метод тельности х(л) можно предотвратить, если заменить условие (10.28) условием «существенного убывания» функции f на каждой итерации: f(x^ - v^gW) - Дх^) < -0ay' |gW|2. (10.29) Здесь 0 (0 < 0 < 1) — дополнительный параметр. Заметим, что для рассматриваемого градиентного метода=-g00 = = -f,(x^) и поэтому неравенство (10.29) в точности совпадает с нера- венством (10.15), используемым в методах спуска при дроблении шага. Пр и мер 10.3. Продемонстрируем применение градиентного метода с дроблением шага к задаче минимизации квадратичной 2 2 функции Дхр х2) = + 2х2 - 4*1 - 4х2 из примера 10.1. Для выбора значения шага будем использовать условие (10.29). Воспользуемся сле- дующими краткими обозначениями: az = ау', х^ Заметим, что g^ = (2х<я) - 4, 4х^ - 4)Г. Выберем начальное приближение х^ = (0, 0)г, начальное значение шага а = а0 = 1, значения параметров у = 1/2, 0 = 3/4. Вычислим зна- чения f(x^) = 0, g(®> = (-4, -4)т. 1-я итерация. Вычисляемх<0’ °) = х<0) - = (4, 4)г, Дх(0*0>) = = 16. Так как значение функции не уменьшилось, то следует уменьшить шаг: (X] = а0/2 = 0.5. Вычисляем = х^0) - а^0) = (2, 2)г, Дх<0’ !)) = -4. Поскольку Дх<0’ !)) - Дх(0)) = -4 > -0а, |#(°)|2 = -12, условие (10.29) не выпол- няется и следует снова уменьшить шаг: а2 = oq/Z = 0.25. Вычисляемх(0’2> =х<0) - а2#<0) = (1, 1)г,/(х<0’ 2>) = -5. Имеем Дх<0’ 2>) - -Дх<°)) =-5 > -0а2|£(О) |2 = -6, т.е. условие (10.29) не выполняется. Уменьшаем шаг: а3 = а2/2 = 0.125. Вычисляемх^0’3) = х<0) - а3#(°) = (0.5, 0.5)г, Дх<0’3)) = -3.25. Так как Дх<0’3))- Дх<0)) = -3.25 < -0а3|#<0) |2 = -3, то условие (10.29) выполнено. Положим х(1) = (0.5, 0.5)7; напомним, что Дх(1)) = -3.25. Вычислим = (-3, -2)г и положим а0 = 1. Далее вычисления следует продолжить до выполнения какого-либо принятого критерия окончания итераций. ▲ 4 * * 4. Влияние погрешности вычислений. Один из существенных недостатков градиентного метода связан с его чувствительностью к погрешностям вычислений. Особенно сильно этот недостаток сказы- 329
Глава 10. Методы многомерной минимизации вается в малой окрестности точки минимума, где антиградиент, задающий направление поиска, мал по модулю. Поэтому эффектив- ность градиентного метода на завершающей стадии поиска сущест- венно ниже, чем на начальной стадии. § 10.4. Метод Ньютона 1. Простейший вариант метода Ньютона и метод Ньютона с дроблением шага. Пусть в некоторой окрестности точки минимума х функция f является сильно выпуклой и дважды непрерывно диффе- ренцируемой. Далее, пусть х^ — хорошее приближение к х. Тогда в малой окрестности точкифункция f достаточно точно аппрокси- мируется квадратичной функцией Fn(x) =ftxW) + х -xw) + (С<л’(х -x<n>), x -xW), являющейся суммой первых трех членов ее разложения по формуле Тейлора (ср. с формулой (10.9)). Здесь g^ = /'(x(/l)), = Можно ожидать, что точка , в которой достигается минимум функции Fn, будет значительно лучшим приближением к х, чем х^п\ Учитывая, что F„(x) = g^ + G^n\x - х^), замечаем, что точка х^ может быть определена из необходимого условия экстремума: g(n) + <;(«)(х(«) -х^) = 0. Таким образом, чтобы попасть из точки х^ в точку , нужно переместиться вдоль векторакоторый определяется из системы линейных алгебраических уравнений £(и)р(и) = _g(n\ (10.30) Вектор принято называть ньютоновским направлением, а метод спуска 1)=х(',) + апр('/) (10.31) с таким выбором — методом Ньютона. Отметим, что ньютоновское направление является направлением спуска. В самом деле, в силу равенства (10.30) для р^ верна формула р(я) = _[G(w)]-^(»). Матрица положительно определена (это следует из положительной определенности матрицы G^). Поэтому (f(x(")),pW) = -([С(я)]'1£('°, g{n)) < 0. 330
§ 10.4. Метод Ньютона Таким образом, условие (10.14) выполняется и рЮ действительно задает направление спуска. Различные варианты метода (10.31), (10.30) связаны с различными способами выбора шагов ап. Заметим, что при выборе ап = 1 рассмат- риваемый метод в точности совпадает с методом Ньютона решения систем нелинейных уравнений, примененным к решению системы f’(x) - 0. Отсюда — и название метода. Простым следствием теоремы 7.3 о сходимости метода Ньютона решения систем нелинейных уравнений является следующая теорема. Теорема 10.2. Пусть в некоторой окрестности U точки минимума х функция f является сильно выпуклой и трижды непре- рывно дифференцируемой Тогда найдется такая малая 6-окрест- ностъ точки х, что при произвольном выборе начального прибли- жениях^ из этой окрестности последовательностьх^п\ вычисляемая с помощью метода (10.30), (10.31) при ап = 1, не выходит за пределы 6-окрестности точки х и сходится к ней квадратично. Замечание. Квадратичная скорость сходимости метода позво- ляет использовать простой практический критерий окончания: |Х(Я+ 1)._х(и)| < £ (10.32) Теорема 10.2 указывает на то, что метод Ньютона сходится очень быстро, и практика вычислений это подтверждает. Однако сущест- венным недостатком рассмотренного варианта метода является необхо- димость выбора достаточно хорошего начального приближения, которое на начальной стадии поиска точки минимума, как правило, отсутствует. Поэтому метод Ньютона с выбором ап = 1 чаще при- меняют на завершающем этапе поиска х, когда с помощью других методов уже найдено достаточно точное приближение к точке минимума. Указанного недостатка в значительной степени лишен вариант метода Ньютона, в котором в качестве шага спуска выбирается ап = уп, где in — первый среди номеров i > 0, для которых выполняется неравенство ДХ(") + у'р(")) -/(*(")) < ру'(£(я), р(и)). Здесь 0<у< 1, 0 < £ < 1/2 — параметры метода. Метод Ньютона с таким выбором ая для широкого класса функций сходится при любом выборе начального приближениях^ g U и этим выгодно отличается от метода с выбором ап = 1. 331
Глава 10. Методы многомерной минимизации Теорема 10.3. Пусть трижды непрерывно дифференцируемая в Rm функция f имеет точку минимума х и ее матрица Гессе f"(x) положи- тельно определена. Тогда при любом начальном приближении х^ после- довательность х^п\ вычисляемая методом Ньютона с выбором ап = у‘п, сходится к х с квадратичной скоростью Более того, найдется номер nQ такой, что для всех п > и0 выполняется равенство ап = 1. Замечание Используют и другие способы выбора ап. Напри- мер, иногда ап выбирают из условия фя(ая) = min фи(а), где 0 < а < I Фи(а) = /(*(п) + ар<п>). Квадратичная скорость сходимости метода Ньютона, а также возможность использования матрицы Гессе для контроля за соблюдением достаточных условий экстремума делают этот метод чрезвычайно привлекательным при решении задачи безус- ловной минимизации. Пример 10.4. Применим метод Ньютона (10 30), (10.31) с ап = 1 для поиска точки минимума функции /(хр х2) = xf+ 10(х2 - sinxj)2 с точностью е = 10-5. Будем использовать критерий окончания ите- раций (10.32) и вести вычисления на 6-разрядном десятичном компь- ютере Отметим, что минимальное и равное нулю значение функция f достигает в точке х = (0, 0)г. Имеем: = (2Х|Я)+ 20(sinx(]W)-x2w)) • cosx(]W), 20(х2я)- sinx^))7*. 2 + 20(cos2xjW) 4- х(2я) • sinx(|W)) -20 cos х^ -20 cos x^ 20 Возьмем за начальное приближение = (1, 1)г 1-я итерация. Вычислим g<°>= 0.286928 3.17058 6(°) = 10.5065 -10.8060 -10.8060 20 332
§ 10.4. Метод Ньютона Таблица 10.1 п г(л) х2 |х(и)_х(л-1)| 0 1.00000000 1.00000000 1 0.57155400 0.60997200 6-10-' 2 0.15541900 0.1909440 6-10-' 3 0.00824200 0.00939200 2-10-' 4 0.00000082 0.00000101 1 -10“2 5 0.00000000 0.00000922 2-10-6 Таким образом, при и = 0 система (10.30) принимает следующий вид: 10.5065р|0) - Ю.8060^0) = -0286928, -Ю.8060р^0) + 20р(20) = -3.17058. Решая ее, получаем = -0.428445, = -0.390018. Далее в соответ- ствии с формулой (10.31) полагаем Х]!) =Х]0)+р]0) = 0.571555, х2^ =х20) + Р20) = 0.609982. Так как |х(,) -х<0)| » 0.6 > е, то вычисления следует продолжить далее. Результаты следующих итераций приведены в табл. 10.1. При п = 5 критерий окончания выполняется и вычисления следует прекратить. Итак, х » (0.00000, 0.00000)г. ▲ 2. Понятие о квазиньютоновских методах. Высокая скорость схо- димости метода Ньютона связана с тем, что в нем используется матрица Гессе, содержащая информацию о кривизнах функции /. В результате минимизируемую функцию удается достаточно точно аппроксимировать последовательностью квадратичных функций Fn. В методах, которые называют квазинъютоновскими ’, также фактически используется квадра- тичная аппроксимация функции /, но в отличие от метода Ньютона в них не применяется вычисление вторых производных. Информация о кри- визнах функции f здесь накапливается постепенно и является резуль- татом наблюдений за изменением градиента 1 Первоначально эти методы называли методами переменной метрики. 333
Глава 10. Методы многомерной минимизации Направление спуска в квазиньютоновских методах определяется как решение системы уравнений В(п)р(п) = -g(”\ в которой В 00 — текущее приближение к матрице Гессе. Начальное приближение В^ обычно полагают равным единичной матрице. В таком случае = -g^ и первая итерация совпадает с одним шагом градиентного метода. После того, как найдено приближение х^п + вычисляют матрицу д(п + 1) = д(п) + дд(л), где дд(и) — некоторая поправочная матрица. Во всех правилах пересчета неизменным является выполнение квазинью- тоновского условия В^п + ^(х^ + -хОО) = g^n + *) -g№. Известно, что при определенных условиях квазиньютоновские методы сходятся сверхлинейно. Для квадратичных же функций они дают точное значение точки минимума после конечного числа ите- раций, которое не превышает1 т. Первый из квазиньютоновских методов был предложен в 1959 г. Дэвидоном. С тех пор эти методы непрерывно совершенствовались и к настоящему времени стали одними из наиболее популярных и широко применяемых на практике. Весьма интересное и содержательное обсуж- дение квазиньютоновских методов содержится в книгах [28, 40, 112]. Замечание. В некоторых вариантах квазиньютоновских мето- дов направление спуска вычисляется по формуле р№ = -H^g(n\ где Н[п^ — матрица, аппроксимирующая матрицу, обратную мат- рице Гессе. 3. Метод Ньютона и квазиньютоновские методы при наличии помех. Вычислительные ошибки (помехи) оказывают существенное влияние на поведение метода Ньютона. Природа этих ошибок может быть различной (вычисление g(n\ решение системы уравнений G(n)p(n) = -g(ri} и др.). В результате вместо ньютоновского направления получается направление р^, вычисленное с погрешностью е = = . Как известно, метод Ньютона сходится, вообще говоря, лишь в малой окрестности U точки минимума. В случае, когда радиус этой окрестности меньше £, очередное приближение х<я+,) = 1 Естественно, что это верно только при отсутствии вычислительной погрешности. 334
§ 10.5. Метод сопряженных градиентов = скорее всего окажется вне окрестности U и метод не будет сходиться. Таким образом, метод Ньютона сохраняет свои пре- имущества лишь при высокой точности вычислений. Квазиньютоновские методы оказываются весьма чувствительны к ошибкам в вычислении градиента. Причина здесь состоит в том, что в основе этих методов лежит идея восстановления матрицы Гессе по результатам вычисления градиента f'(x) в точках х^п\ Как и в методе Ньютона, здесь необходимо очень аккуратное вычисление градиента. § 10.5. Метод сопряженных градиентов Метод Ньютона и квазиньютоновские методы, обсуждавшиеся в § 10.4, весьма эффективны как средство решения задач безусловной минимизации. Однако они предъявляют довольно высокие требования к объему используемой памяти компьютера. Это связано с тем, что выбор направления поиска требует решения систем линейных алгебраи- ческих уравнений, а также с возникающей необходимостью хранения матриц типа В^п\ Н^пХ Поэтому при больших т использование этих методов может оказаться невозможным. В существенной степени от этого недостатка избавлены методы сопряженных направлений. 1. Понятие о методах сопряженных направлений. Рассмотрим задачу минимизации квадратичной функции F(x) = (Ах, х) - (Л, х) (10.33) с симметричной положительно определенной матрицей А. Напомним, что для ее решения требуется один шаг метода Ньютона и не более чем т шагов квазиньютоновского метода. Методы сопряженных направ- лений также позволяют найти точку минимума функции (10.33) не более чем за т шагов. Добиться этого удается благодаря специальному выбору направлений поиска. Будем говорить, что ненулевые векторыр®\р^\ ...,р(т~ являются взаимно сопряженными (относительно матрицы А), если (Ар<п\ р^) = 0 для всех п*1. Под методом сопряженных направлений для минимизации квадра- тичной функции (10.33) будем понимать метод х(и+1)=х(и) + аяР(и) (и = 0, 1,2, ..., т- 1), (10.34) 335
Глава 10. Методы многомерной минимизации в котором направления...,р^т~ взаимно сопряжены, а шаги а =- , g^=F'(x^) = Ax^-b (10.35) получаются как решение задач одномерной минимизации Ф„(а„) = min <р„(а), ф„(а) = F(x<"> + ар*"»). а > О Теорема 10.4. Метод сопряженных направлений позволяет найти точку минимума квадратичной функции (10.33) не более чем за т шагов. Методы сопряженных направлений отличаются один от другого способом построения сопряженных направлений. Наиболее известным среди них является метод сопряженных градиентов. 2. Метод сопряженных градиентов. В этом методе последователь- ность приближений вычисляют по формулам (10.34), (10.35), а направ- ления р^ строят по правилу р(0) = —g(®)\ р(п + О = -g(n * + $пр(п\ п > 0, где ” (Ар<п\р<п>>) Так какр^ = -g^\ то первый шаг этого метода совпадает с шагом метода наискорейшего спуска. Можно показать (мы этого делать не будем), что направления (10.36) действительно являются сопряженными относительно матрицы А. Более того, градиенты и g^ оказываются ортогональными при п к и взаимно сопряженными при | м — Аг| > 1. Последнему обстоятельству метод и обязан своим названием. Пр и мер 10.5. Применим метод сопряженных градиентов для минимизации квадратичной функции f(xx, х2) - х? + 2х2-4хх -4х2 из примера 10.1. Запишем f в виде (Ах, х) - (Ь, х), где Возьмем начальное приближение х(0) = (0, 0)г. 336
§ 10.5. Метод сопряженных градиентов l-й шаг метода совпадает с первым шагом метода наискорейшего спуска. Поэтому (см. пример 10.1) = (-4, -4)г, р(0) = = = (4/3, 4/3)г. 2-й шаг. Вычислим- b = (-4/3, 4/3)г, 00 = (Лр(°),£(0>) _ 8 • (-4/3) + 16 • (4/3) _ 1 (Л/0*,р<°)) 8-4+16-4 9’ p(i) = _g(D + роР(О) = (4/3, _4/3)r + (1/9)(4, 4)Г = (16/9, -8/9)г; (gt'),/>(1)) = _ (-4/3) • (16/9) + (4/3) • (-8/9) = 3 . “* (Лр<‘>,/><'>) (32/9)-(16/9)+ (-32/9)-(-8/9) 8’ х(2) =х(|) + а|р(1) = (4/3, 4/з)Г + (3/8X16/9, —8/9)г = (2, 1)г. Так как#<2> = Ах<2> - b = 0, то х = х<2> = (2, 1)г и решение оказалось найденным за два шага. ▲ Для более рациональной организации вычислений расчетные формулы метода сопряженных градиентов часто переписывают в экви- валентном виде g(0)=/4x(0)_A; p(0) = _^(0)) (10.36) _ (g(n),g(n)) п (Ар^р^У (10.37) х(п + I) =х(п) -|- апр<п\ (10.38) g(n + 1) =g(n) + апАр^п\ (10.39) _(g(»+l ),*(*+)) Рл (gw,gM) (10.40) р(п + 1) = —g^n + В 4- р р(п\ (10.41) 3. Метод сопряженных градиентов для минимизации неквадра- тичных функций. Для минимизации произвольной гладкой функции f расчетные формулы метода сопряженных градиентов модифицируют. Сначала полагают g(°) = /’(Х(0)), р(0) = _g(0), а затем при и > 0 вычисления производят по формулам Ф„(а„) = min <р„(а), где ф„(а) = f(x^ + ар^). (10.42) а > 0 х(п + 1) =х(п) _|_ ар^п\ 337
Глава 10. Методы многомерной минимизации g("+ !)= /'(х("+ О), (g("+!),*(>>+D) ₽л (g^gw) ’ р(п + 1) = _g(n + 1) + Итерационный процесс здесь уже не оканчивается после конечного числа шагов, а направления не являются, вообще говоря, сопря- женными относительно некоторой матрицы. Решение задач одномерной минимизации (10.42) приходится осуще- ствлять численно Отметим также то, что часто в методе сопряженных градиентов при п = т, 2т, Зт, ... коэффициент _ j не вычисляют, а полагают равным нулю • При этом очередной шаг производят факти- чески методом наискорейшего спуска. Такое «обновление» метода позволяет уменьшить влияние вычислительной погрешности. Замечание. Иногда используется вариант метода, в котором коэффициент вычисляют по формуле _(g("+),*("+)-*(")) Р« (g(n),g(»)) Для сильно выпуклой гладкой функции f при некоторых дополни- тельных условиях метод сопряженных градиентов обладает высокой сверхлинейной скоростью сходимости. В то же время его трудоемкость невысока и сравнима с трудоемкостью метода наискорейшего спуска. Как показывает вычислительная практика, он незначительно уступает по эффективности квазиньютоновским методам, но предъявляет значи- тельно меньшие требования к используемой памяти компьютера. В случае, когда решается задача минимизации функции с очень большим числом переменных, метод сопряженных градиентов, по-видимому, является единственным подходящим универсальным методом. § 10.6. Методы минимизации без вычисления производных 1. Методы прямого поиска. Метод деформируемого много- гранника. Существует большой класс методов минимизации, каждый из которых основан на сравнении значений целевой функции в последова- тельно вычисляемых пробных точках. Это так называемые методы прямого поиска. Обычно они применяются тогда, когда в любой окрест- ности точки локального минимума целевая функция не является гладкой, 338
§ 10.6. Методы минимизации без вычисления производных а множество точек, в которых она недифференцируема, имеет слишком сложную структуру. К сожалению, методы прямого поиска в боль- шинстве случаев очень неэффективны. Обращаться к ним, по-видимому, имеет смысл только тогда, когда есть уверенность, что никакие другие подходы к решению задачи минимизации невозможны. Рассмотрим кратко один из наиболее известных методов прямого поиска — метод деформируемого многогранника. Сначала необходимо , ! (0) (0) (0) - (0) (0) задать т + 1 точку Х] ,х2 , ...,хт + } так, чтобы векторы х2 -х| , (0) (0) (0) (0) ~ гр х3 -х\ , ..., хт + ! -Xj были линейно независимы. Тогда эти точки можно интерпретировать как вершины w-мерного многогранника. Обычно начальный многогранник выбирают правильным. Опишем очередную (п + 1)-ю итерацию простейшего варианта С (и) (я) (я) метода. Будем предполагать, что точки х, ,х2 ,.. .,хт + j являются вер- шинами многогранника, полученного на предыдущей итерации, и зану- мерованы так, что f(x”y) = min f (х-л)), f (х^ 0 = max /(х-л)). 1 £ / £ m + 1 1 £ / < m + 1 Точку x^I j отбрасывают как самую неудачную. Затем вычисляют • („\ 1 (п) «центр тяжести» оставшихся точек по формуле и^п) = - у х; и строят ;=1 пробную точку х™ = + (и(я) j), отразив симметрично вершину xj^+ j относительно точки Геометрическая иллюстрация этой опе- рации для т = 2 приведена на рис. 10.9, а. Заметим, что в плоском случае роль многогранника играет треугольник. Далее возможны три случая. Рис. 10.9 339
Глава 10. Методы многомерной минимизации Случай 1: f (х,п)) < f (х„"р) < f (х^), т.е. пробная точка не привела к уменьшению значения целевой функции, но и не стала «худшей» tz (я) (я) (я) (и) г» в наборе X, , х2 , ...,х^ ,хпр . В этом случае точку признают удовле- - (я) (я) творительной и хт +, заменяют на х„р . Случай 2: /(х^) , т.е. выбор пробной точки привел к уменьшению значения целевой функции. Тогда направление отра- жения считают удачным и делают попытку «растянуть» многогранник в этом направлении с коэффициентом растяжения 0 > 1 (обычно 2 < 0 < 3). Находят точку ХрП) = и(п) + 0(и<п) - x(”l i) • Если f (ХрП)) </(х^’), то рас- тяжение прошло удачно и точку хт + ।, заменяют на хр .В противном случае растяжение было неудачным и производят замену хт+ j на хпр . На рис. 10.9, б показано «растяжение» с коэффициентом 0 = 2. Случай 3: /(х^) >/(х^). В этом случае считают, что много- гранник следует сжать. Если /(х^) >f(x^\ j), то вершину x^+j заменяют точкой хС| = и -у(я -х„+,). Если же f (хпр) </(х„;,), то । заменяют на х^"' = и<п) + у(и(п) -х^+1). Здесь 0 < у < 1, у — коэффициент сжатия (обычно у = 1/2). На рис. 10.9, в показано «сжатие» с коэффициентом у = 1/2. Помимо операций отражения, сжатия и растяжения периодически (после выполнения определенного числа итераций) производят опе- рацию замены текущего многогранника правильным многогранником — так называемое восстановление. При восстановлении сохраняются лишь две лучшие точки последнего многогранника. Расстояние между этими точками принимают за длину ребра вновь генерируемого пра- вильного многогранника. Эта операция позволяет ликвидировать излишние деформации, возникающие в ходе итераций. Известно большое число различных модификаций этого метода. Подробно они описаны в книгах [28, 112]. Там же указаны различные критерии окончания. 2. Методы минимизации гладких функций, использующие конечно-разностные аппроксимации производных. Довольно часто в приложениях возникает необходимость в минимизации функций, обладающих достаточным числом производных, которые тем не менее 340
§ 10.7. Нелинейная задача метода наименьших квадратов недоступны для прямого вычисления. Например, такая ситуация имеет место тогда, когда значение функции является результатом решения сложной математической задачи. В этом случае приходится применять алгоритмы, использующие лишь вычисляемые в различных точках зна- чения функции f Здесь обращение к методам прямого поиска (типа метода деформируемого многогранника), специально разработанным для минимизации негладких функций, вряд ли целесообразно, так как эти методы не позволяют извлекать никакой выгоды из возможной гладкости функции. Часто существенно лучший результат можно получить, заменив в одном из алгоритмов спуска используемые в нем производные их аппроксимациями в соответствии с формулами чис- ленного дифференцирования (см. гл. 12). Например, для производной f' простейшая аппроксимация такова: 7 f1 ’ ^2’ — ~ (f 1 ’ ’ * • ’ xj - ! ’ xj Xj + 1 ’ — ’ Xm)~f 1 > ^2’ ’ * ’’ * Подобная модификация алгоритмов не является тривиальной и требует достаточной осторожности в реализации. Это связано с высокой чувствительностью формул численного дифференцирования к ошибкам в вычислении функции (см. § 12.3). Более подробное обсуж- дение методов минимизации, использующих конечно-разностное аппроксимации производных, можно найти в [28] и [40]. В заключение все же отметим, что конечно-разностные аппроксимации производных используются в алгоритмах минимизации тогда, когда аналитическое вычисление производных невозможно. Если же производные можно вычислить аналитически, то усилия, потраченные на такое вычисление, как правило, окупаются. § 10.7. Нелинейная задача метода наименьших квадратов 1. Нелинейная задача метода наименьших квадратов. Среди задач безусловной минимизации особое место занимает задача миними- зации функций вида 1 о 1 N у Лх) = уИЛх)И; = у£Л(х), (10.43) ;=1 где Дх) = (f}(x),f2(x), ...,/Л(х))г, Дх) (1 < i < N) — некоторые функции т переменных х = (х1? х2, ..., хт)т. Как правило, N>nr, часто N » т. 341
Глава 10. Методы многомерной минимизации Необходимость в минимизации таких функций возникает, например, при использовании метода наименьших квадратов для решении задачи аппроксимации функции (см. гл. 11) либо для решения проблемы иден- тификации математической модели по данным эксперимента. К поиску точки минимума функции вида (10.43) может быть сведена и задача решения системы нелинейных уравнений /(х) = 0, 1</<У, то есть системы /(х) = 0. (10.44) Действительно, если решение х системы (10.44) существует, то оно совпадает с точкой глобального минимума функции (10.43), причем F(x ) = 0. В случае, когда число уравнений в системе превышает число неизвестных, мы имеем дело с переопределенной системой, которая, скорее всего не имеет решений. В этом случае минимизация функции F позволяет найти вектор х , для которого /(х)«0 с минимальной нормой невязки f(x ). Для минимизации функции (10.43), в принципе, можно применить любой из универсальных методов минимизации. Однако, как правило, этого не делают, а используют алгоритмы, разработанные специально для решения нелинейной задачи метода наименьших квадратов. В част- ности, это связано с тем, что градиент g(x) = F'(x) и матрица Гессе G(x) = F"(x) для функции (10.43) имеют специальный вид: g(x) = J(x)7(x); (10.45) n G(x) = J(x)TJ(x) + C(x), где Q(x) = £ /(x)G;(x). (10.46) i=l Здесь J(x) = /'(x) — это матрица Якоби для вектор-функции f с элементами = —(х), 1 < i < N, 1 < j < т. Матрицы G-(x) (\< i<N) — это матрицы Гессе для функций^ с элементами (£,)^= Л J (х), 1 < & < т, 1 <j < т. 2. Метод Гаусса—Ньютона. Будем рассматриать задачу минимиза- ции функции (10.43) как задачу решения переопределенной системы 1 Обратим внимание на то, что в отличие от матрицы Гессе (7.3) матрица J(x) уже не квадратная, а прямоугольная. 342
§ 10.7. Нелинейная задача метода наименьших квадратов (10.44). Пусть некоторое приближение к точке минимума найдено. Аналогично тому, как мы поступали в § 7.3, произведем линеаризацию вектор-функции / в этой точке, заменив ее главной линейной частью разложения по формуле Тейлора в точке х№: f(x)«f(x{k})+J{kXx-xW)-, здесь и всюду в этом параграфе = J(x№) = f'(xW). За следующее приближение xtk + к решению примем точку минимума функции ^(x) = |kx(*))+/W(x-XW)l|2. Для этого положим р = х - х№ и найдем вектор р^к + такой, что || дх(*)) + jWp(k+ 1)||2 = min || + у(*)р||2 (10 47) р е R Если решение этой задачи не является единственным, то за р(к + О принимается решение с минимальной нормой. После того, как р(к+ О найдено, приближение х^к + 0 вычисляется по формуле х(к+ 1) = х(к) +р(к+ 1) Заметим, что задача (10.47) — это линейная задача метода наименьших квадратов, предназначенная для решения переопределенной системы J (л«)р = -/(•*(п))- Ее решение р^к + *> может быть найдено одним из рассмотренных в §5.12 методов. Замечание 1. Можно показать, что в случае, когда решение р(к + О задачи (10.47) ненулевое, оно является направлением спуска для функции F. Замечание 2. В случае, когда т = N, а матрица Якоби J(x) невырождена, метод Гаусса-Ньютона превращается в метод Нью- тона, рассмотренный в § 7.3. 3. Модифицированный метод Гаусса—Ньютона. Как и метод Нью- тона, метод Гаусса—Ньютона обладает лишь локальной сходимостью. Для того, чтобы расширить область сходимости метода его модифицируют. После того, как решение линейной задачи метода наименьших квад- ратов (10.47) найдено, полагают х(к + 1) = х(к) + акр(к + 1)э 343
Глава 10. Методы многомерной минимизации где ак > 0 вычисляется как решение задачи одномерной минимизации Ф*(а*) = min <р* (а), где <р*(а) = Ил***’) + ар(*+1 ’Цг. а > О 4. Другие методы. Коротко обсудим другие подходы к решению нелинейной задачи метода наименьших квадратов. Заметим, что искомое решение должно удовлетворять необходимому условию экстремума F'(x) = 0. В силу формулы (10.45) это условие при- нимает вид J(x)Tf(x) = 0. (10.47) Применяя для решения этой системы нелинейных уравнений класси- ческий метод Ньютона, мы приходим к следующему итерационному методу V*+1 > = _ [/(*)] Гдх<*>), (10.48) (Л+1) (к) (£+1) /1ПЛМ х =х +р (10.49) Матрица G^ = G(x^), которую следовало бы использовать в этом методе, весьма громоздка и неудобна для вычислений. Согласно фор- муле (10.46) она имеет вид G(*> = [J<*)]TJ(k> + Q(k), где Q(k) = £ fitx^Gitx^). i=\ Для вычисления слагаемого QW на каждой итерации требуется вычисление всех вторых частных производных всех функций ft, 1 < i < N. Этого всячески стараются избегать. Обратим внимание на то, что если получено достаточно хорошее приближение х^ такое, что ~ 0, то)J(xW) » 0 для всех i = 1, 2, ..., N. В этом случае « 0 и <7^- [J^]TJ^k\ Замена в итерационном методе (10.48), (10.49) матрицы G^ на мат- рицу приводит к итерационному методу [7(Л)]Tj{k)p(k + 1) = _ j^(к)^. (j0 50) х<к + \) = х(к) + р(к^\)9 (10.51) который эквивалентен методу Гаусса—Ньютона, так как решения системы (10.50) совпадают с точками минимума функции Распространенной альтернативой методу Гаусса—Зейделя является метод Левенберга—Маркардта. В этом методе матрица G^ заменяется 344
§ 10.8. Дополнительные замечания матрицей [JW]7./ J + где 0 < a* — параметр, и метод принимает вид ([ JW] г/к} + акЕ)р^ +1 > = _ [ JI*)] 7ДХ<*>), + 1) = + Методы Гаусса—Ньютона и Левенберга—Маркардта исходят из того, что вблизи от решения невязка /(х^) мала и поэтому слагаемым в формуле для вычисления можно пренебречь. Такие задачи обычно называют задачами с малыми невязками. Однако на практике часто встречаются задачи с большими невяз- ками, в которых это слагаемое существенно. В этом случае строят спе- циальные квазиньютоновские приближения М№ к матрице и итера- ции проводят по формулам + М W)p(k+ *> = - , + 1) = Д^(^) + + D, Достаточно подробное обсуждение квазиньютоновских методов и других методов решения нелинейной задачи метода наименьших квад- ратов можно найти в книгах [28, 40]. § 10.8. Дополнительные замечания 1. Естественно, что в данной книге содержится лишь краткое введение в методы решения задач безусловной минимизации. Более подробное изло- жение можно найти, например в [6, 20, 28, 40, 78, 80, 94, 112 и др.]. 2. Задачи условной минимизации. Множество X, на котором минимизируется функция /, часто задается с помощью системы нера- венств вида g,(X|,x2, xm) > 0, i = 1, 2, к. Если целевая функция f и задающие множество X функции gt линейны, то задачу минимизации называют задачей линейного про- граммирования. Если же хотя бы одна из этих функций нелинейна, то говорят о задаче нелинейного программирования. Обсуждение методов решения задач условной минимизации при всей их важности выходит за рамки данной книги. Укажем, например на книги [20, 28, 94, 112], содержащие достаточно подробное и доступное введение в соответствующие методы. 3. Особый класс задач составляют так называемые задачи дис- кретной минимизации. В этих задачах множество X, на котором миними- 345
Глава 10. Методы многомерной минимизации зируется функция /, является конечным или счетным. Часто X — мно- жество точек с целочисленными координатами, удовлетворяющими некоторым ограничениям. Методы решения таких задач описаны, например в [94]. 4. Авторы рекомендуют обратить внимание на книгу [28], в особен- ности на ее последние главы («Моделирование», «Практические вопросы» и «Вопросы и ответы»). В них содержится большое число весьма интересных замечаний, полезных рекомендаций и советов для широкого круга специалистов, заинтересованных в решении практи- ческих задач минимизации. 346
Глава 1 1 ПРИБЛИЖЕНИЕ ФУНКЦИЙ И СМЕЖНЫЕ ВОПРОСЫ В этой главе рассматриваются наиболее важные и часто встречающиеся в приложениях методы приближения функций одной переменной. Зна- чительное внимание уделено интерполяции, причем рассматривается интерполяция не только алгебраическими многочленами, но и триго- нометрическими многочленами, а также интерполяция сплайнами. Довольно подробно обсуждается метод наименьших квадратов, широко используемый в практике инженерных расчетов. Дается понятие о наилучшем равномерном приближении и дробно-рациональных аппрок- симациях. В главу включены также некоторые вопросы вычислительной мате- матики, имеющие непосредственное отношение к методам аппрокси- мации (приближения) функций. Это конечные и разделенные разности, многочлены Чебышева, быстрое дискретное преобразование Фурье. § 11.1. Постановка задачи приближения функций Вычисление значения функции у = f(x) — одна из тех задач, с которой на практике постоянно приходится сталкиваться. Естественно, что при решении на компьютере серьезных задач желательно иметь быстрые и надежные алгоритмы вычисления значений используемых функций. Для элементарных, а также для основных специальных функций такие алгоритмы разработаны, реализованы в виде стандартных программ и включены в математическое обеспечение компьютера. Однако в рас- четах нередко используются и другие функции, непосредственное вычис- ление которых затруднено либо приводит к слишком большим затратам машинного времени. Укажем на некоторые типичные ситуации. 1. Функция f задана таблицей своих значений: >7 = /(*,)> i = 0, 1,2,..„и, (11 1) а вычисления производятся в точках х, не совпадающих с табличными. 2. Непосредственное вычисление значения у = /(х) связано с прове- дением сложных расчетов и приводит к значительным затратам машинного времени, которые могут оказаться неприемлемыми, если функция f вычисляется многократно. 347
Глава 11. Приближение функций и смежные вопросы 3. При заданном значении х значение f(x) может быть найдено из эксперимента. Ясно, что такой способ «вычисления» в большинстве случаев нельзя использовать в вычислительных алгоритмах, так как он связан с необходимостью прерывания вычислительного процесса для проведения эксперимента I В этой ситуации экспериментальные данные получают до начала вычислений на компьютере. Нередко они представляют собой таблицу типа (11.1) с тем отличием, что табличные значения у;* отличаются от «истинных» значений у}, так как заведомо содержат ошибки эксперимента. Возникающие проблемы нередко удается решить следующим образом. Функцию f(x) приближенно заменяют другой функцией g(x), вычисляемые значения которой и принимают за приближенные зна- чения функции / Конечно, такая замена оправдана лишь тогда, когда значения g(x) вычисляются быстро и надежно, а погрешность прибли- жения /(х) -g(x) достаточно мала. Обсудим кратко некоторые вопросы, с которыми в каждом конкретном случае приходится сталкиваться при выборе постановки задачи приближения и метода ее решения. 1°. Необходимо решить, какую информацию о функции f можно использовать как входные данные для вычисления приближения g. Например, часто известна или может быть получена таблица значений функции вида (11.1), а иногда — и таблица ее производных. В неко- торых случаях можно использовать информацию о значениях функции на всем отрезке [а, 6]. 2°. Полезно иметь некоторую дополнительную априорную инфор- мацию об аппроксимируемой функции. Часто она бывает качест- венного характера, например известно, что функция f «достаточно гладкая» («плавно меняющаяся»), периодическая, монотонная, четная и т.п. Иногда удается получить некоторые количественные характери- стики функции /, например, бывают известны верхние оценки для мак- симума модуля некоторых ее производных, величина периода, оценка уровня погрешности в заданных значениях. 3°. Знание свойств функции f позволяет осознанно выбирать класс G аппроксимирующих функций. Часто такой класс представляет собой параметрическое семейство функций вида j = g(x, a) =g(x, а0, ..., ат) и выбор конкретной аппроксимирующей функции g осуществляется с помощью выбора параметров я0, ..., ат. 1 Правда, в некоторых алгоритмах такое прерывание естественно, например, если ком- пьютер используется для управления технологическим процессом, сложной технической системой или включен в систему обработки и планирования физического эксперимента. 348
§11.1. Постановка задачи приближения функций Широко используются классы функций вида Фт(х) = ао<Ро<х) + Л| Ф1(х) + ... + am(pm(x), (11.2) являющихся линейными комбинациями фиксированного набора неко- торых базисных функций ф0(х), ф^х), ..., фш(х). Функцию Фш(х) часто называют обобщенным многочленом по системе функций ф0, ф1? ..., фш, а число т — его степенью. Если в качестве базисных функций берутся степенные функции фДх) = х\ то возникает задача приближения алгебраическими много- членами Рт(х) = а0 + а1х + •• +атхт- (И-3) Отметим, что методы приближения функций алгебраическими много- членами играют важную роль в численном анализе и наиболее глубоко разработаны. Одна из причин этого состоит в том, что многочлены (11.3) легко вычисляются, без труда дифференцируются и интегрируются. Тригонометрические многочлены £w(x) = а0 4- £ (ал cos2n£x + Рд. sin2n&x), (11.4) I < к < т/2 часто используемые для аппроксимации периодических на отрезке [0, 1] функций, также могут быть записаны в виде (11.2), если в качестве базис- ных функций выбрать функции ф0(х) = 1, ф^х) = cos27tx, ф2(х) = sin27tx, Ф3(х) = cos47tx, ф4(х) = sin47tx, .... Использовав формулу Эйлера ехр{/у} = = cosy + zsiny, запишем тригонометрический многочлен (11.4) в виде 5m(x) = Е ак ехр(2л/Лх), (11.5) -т/2 <к< т/2 что соответствует выбору базисных функций фДх) = ехр(2тпЛх), -т/2 < < к < т/2. Используются также и некоторые нелинейные комбинации функций, отличные от (11.2). Например, в ряде случаев эффективным является использование класса дробно-рациональных функций ... 1 4- 6|Х + ... 4" Ь^хк Выбор класса G аппроксимирующих функций осуществляется с учетом того, насколько хорошо может быть приближена функция f функциями из этого класса. 4°. Необходим критерий выбора в классе G конкретной аппроксими- рующей функции g, являющейся в смысле этого критерия наилучшим 349
Глава 11. Приближение функций и смежные вопросы приближением к / Например, требование совпадения функции g с функцией f в некоторых фиксированных точках приводит к задаче интерполяции. Другой распространенный критерий — требование минимизации среднеквадратичного уклонения — лежит в основе метода наименьших квадратов. Существует большое число других кри- териев, естественных в конкретных прикладных проблемах. 5°. Важно понимать, что решение указанных выше вопросов тесно связано с тем, как мы собираемся использовать приближение g и какая точность нам нужна. Замечание. Задачу выбора в классе G конкретной приближаю- щей функции можно рассматривать как задачу идентификации (см. § 1.1), если интерпретировать функцию у = g (х, а) как математиче- скую модель реальной функциональной зависимости у = Дх). § 11.2. Интерполяция обобщенными многочленами 1. Постановка задачи интерполяции. Пусть в точках х0, хь ..., хя, расположенных на отрезке [а, Ь] и попарно различных, задана таблица (11.1) значений некоторой функции / Задача интерполяции состоит в построении функции g, удовлетворяющей условию g(jcf) = >'; (j = 0, 1, ...» и). (11.6) Другими словами, ставится задача о построении функции g, график которой проходит через заданные точки (х«, у.) (рис. 11.1). Указанный способ приближения функций принято называть интерполяцией (или интерполированием), а точки xt —узлами интерполяции. Нетрудно видеть, что выбор функции g неоднозначен, так как по заданной таблице можно построить бесконечно много интерполи- рующих функций. На практике, как правило, функцию g выбирают из достаточно узкого класса G функций, в котором единственность выбора гарантируется. 350
§ 11.2. Интерполяция обобщенными многочленами 2. Экстраполяция. Пусть xmin и хтах — минимальный и макси- мальный из узлов интерполяции. В случае, когда интерполяция исполь- зуется для вычисления приближенного значения функции f в точке х, не принадлежащей отрезку [xmin, xmax] {отрезку наблюдения), принято говорить о том, что осуществляется экстрапочяция. Этот метод при- ближения часто используют в целях прогнозирования характера проте- кания тех или иных процессов при значениях параметров х, выходящих за пределы отрезка наблюдения. Заметим, что надежность такого про- гноза при значениях х, удаленных на значительное расстояние от отрезка [xmin, xmax], как правило, невелика. 3. Задача интерполяции обобщенными многочленами. Рас- смотрим более подробно задачу интерполяции обобщенными много- членами Фш(х) вида (11.2). Назовем обобщенный многочлен Фт(х) интерполяционным, если он удовлетворяет условию Фт(х,)=У1 0 = 0, (11.6) или, что то же самое, системе линейных алгебраических уравнений Фо(хо)ао + Ф1(*о)а| + + Ч>т(хо)ат=Уо’ Фо(х1)«0 + Ф|(х1)а1 + ••• + Фт(х|)ат=>'1> Ф0(хП)а0 + Ф|(хл)«| + ••• +Фт(хп)«т=Л относительно коэффициентов а0, ..., ат. Заметим, что систему уравнений (11.7) можно записать в сле- дующем виде: Ра=^, (П.8) где Фо(*о) Ф|(х0> ••• Фт(хо) _Фо(хл) Ф|(хи) •• Фт(х„) Введем векторы = (<р;(х0), фДхД .... = 0, 1,..., m. Будем говорить, что система функций ф0, ф1? ..., фшлинейно зависима в точках х0, хи ..., хл,если один из векторов фу системы ф0, ф1? ..., фт может быть 351
Глава 11. Приближение функций и смежные вопросы представлен в виде линейной комбинации остальных векторов этой системы: т фу=£«*ф*- к = 0 k*j В противном случае систему функций <р0, ф1? <рш будем называть линейно независимой в точках х0, х1? ..., хп. Пр и мер 11.1. Покажем, что при т < п система функций 1,х, х2, ... ..., хт линейно независима в точках х0, хр ..., хп, если они попарно раз- личны. Допустим противное. Тогда справедливо равенство (11.10), которое к к к Т в данном случае при ср* = (х0, хь ...,хя) принимает вид ТП к x/=£atx; (i=0,1,и). (И И) А = 0 к*] т Полагая ау- = -1, получаем, что многочлен Рт(х) ~ ^акхк степени1 т *=о обращается в ноль в точках х0, х1? ..., хя, число которых равно и + 1 и, следовательно, больше т. Однако в силу основной теоремы алгебры многочлен степени т, тождественно не равный нулю, не может иметь более т корней. Полученное противоречие доказывает линейную неза- висимость рассматриваемой системы функций. ▲ Рассмотрим матрицу Грама системы функций <р0, <р1? ..., <рш, имеющую вид г = р*р = (<Ро>Фо) (ФьФо) • (Фо>Ф1) (Ф|>Ф1) • • (Фт> Фо) • (фт>Ф1) (Фо>фт) (Ф1>фт) • • (ф/и’ Ф/л) (11.12) 1 В данной главе для упрощения формулировок будем говорить, что многочлен Рт имеет степень т даже в случае, когда ат = 0, Т£. фактическая его степень меньше т. 352
§ 11.2. Интерполяция обобщенными многочленами Здесь в случае, когда функции фу могут принимать комплексные зна- чения, под Р* понимается сопряженная к Р матрица, а элементы yjk матрицы Грама вычисляются по формуле п _____ У]к = (Ф*> Ф;)= £ Ф*(х;) Фу(х;) • (11.13) 1=0 Если же функции ф; принимают только вещественные значения, то Р* = Рт и элементы матрицы Грама вычисляются по формуле п У7* = (ф*>Ф7) = £ф*(х;) Ф/(х;)- (И-14) /=0 Определитель матрицы Грама det Г принято называть определи- телем Грама. Как следует из курса линейной алгебры, справедлив следующий результат. Теорема 11.1. Система функций ф0, фь ..., фш является линейно независимой в точках х0, хр ..., хт тогда и только тогда, когда т < п и определитель Грама det Г отличен от нуля. Известно, что при т > п система функций ф0, фр ..., фш линейно зависима в точках х0, хр ..., хп. Отсюда вытекает неединственность решения а системы (11.8) (если оно существует). Действительно, в этом случае справедливо представление (11.10) и вместе с вектором а решением системы (11.8) является вектор а' = а + /Да, где Да = = (а0, ар ..., а;-_ j, -1, ау + 1? ..., aw)r, a t — любое число. Если же т < п, то решение системы (11.8) существует не для всякой правой части у В силу указанных причин при интерполяции обобщенными много- членами число параметров т + 1 обычно берут равным числу п + 1 заданных точек. В этом случае Р — квадратная матрица и для того, чтобы система (11.8) была однозначно разрешима при любой правой части у необходимо и достаточно, чтобы определитель матрицы Р был отличен от нуля. В свою очередь при т = п это условие в силу равенства det Г = det Р* det Р = | det Р|2 и теоремы 11.1 дает следующий результат. Теорема 11.2. Если т = п9 то решение задачи интерполяции обоб- щенным многочленом (11.2) существует и единственно при любом наборе данных у^, у 1? ..., уп тогда и только тогда когда система функций ф0, фр ..., фя линейно независима в точках х0, хр ..., х . 353
Глава 11. Приближение функций и смежные вопросы Назовем систему функций ф0, фр ..., фш ортогональной на мно- жестве точек х0, хр ..., хп, если (ф*, фу) = 0 при k*j к (ф*, Фу) * 0 при k =j для всех к = 0, 1, ...» т;у = О, 1, ..., т. Очевидно, что для ортого- нальной на множестве х0, хр хл системы функций матрица Грама диагональна, а определитель Грама отличен от нуля. Поэтому всякая ортогональная на множестве точек х0, хр хп система функций заведомо является линейно независимой в этих точках. Пример 11.2. Покажем, что система функций ф0, фр ..., <pN_ р где ф*(х) = ехр{2лМх}, ортогональна на множестве точек х, = l/N, I = 0, 1, ... ..., N - \ . Здесь i — мнимая единица. Для доказательства ортогональности рассматриваемой системы функций достаточно установить, что справедливо равенство (Ф^, ф.) = 0<k<N,0<j<N, (11.15) где 6kj = 0 при 1 и = 1 при к = у. Введем обозначение со = = ехр{2л/7Аг}. Тогда Ф^(х^) = exp{2nikl/N} = (&kl и согласно формуле (11.13) имеем у-1 . ^-1 (ф*»ф;) = (йк1вг}1= [cd^ 7]z . (11.16) /=0 /=0 При к =j правая часть равенства (11.16), очевидно, равна N. При к * у, используя формулу суммы членов геометрической прогрессии и равенство со^"^л/ = ехр{2п/(^ - у)} = 1, имеем (<Р*, <ру) = (1 - [<в*-'У)/(1 - и* -j) = 0. Таким образом, равенство (11.15), а вместе с ним и ортогональность системы функций фл(х) =ехр{2ти£к} доказаны. ▲ Когда система функций ф0, фр ..., фп ортогональна на множестве точек х0, х1? ..., хп, решение задачи интерполяции не представляет затруднений. Действительно, система уравнений (11.8) после умно- жения на матрицу Р* преобразуется к виду Га = Ь, где b = Р*у. (11.17) Заметим, что элементы вектора Ъ = (Ло, Ь{, Ьт)Т вычисляются по формуле п _______ bj = (y,<Pj) = '£iyi4>j(Xi), / = 0, 1, (11.18) /=0 354
§11.3. Полиномиальная интерполяция. Многочлен Лагранжа Так как матрица Г диагональна, то решение системы (11.17) нахо- дится в явном виде: Си, Ф>) aj = 7—/ = 0,1,...,т. (11.19) 7 (фу. фу) § 11.3. Полиномиальная интерполяция. Многочлен Лагранжа 1. Интерполяционный многочлен. Начнем с рассмотрения задачи интерполяции в наиболее простом и полно исследованном случае интерполирования алгебраическими многочленами. Для заданной п таблицы (11.1) многочлен Р„(х) = ^а^ степени п называется интер- k=Q поляционным многочленом, если он удовлетворяет условиям ' = 0,1,..., и. (11.20) Равенства (11.20) можно записать аналогично (11.7) в виде системы уравнений а0 + ^Хо + а2х0 + ... + а„хп0 = у0, а0 + OjXj + а2х] + ... + а„х" = у{, (11.21) 1 1 2 1 1 п аь + аххп + а2хп + ... + апхп = уп относительно коэффициентов многочлена. Эта система однозначно раз- решима, так как система функций 1, х, х2, ..., хп линейно независима в точках х0, Xj, ..., хп (см. пример 11.1 и теорему 11.2). Однозначная раз- решимость системы (11.21) следует и из того хорошо известного факта, что определитель этой системы (определитель Вандермонда^) 1 2 п 1 *0 х0 ••• -«0 1 2 п _ 1 X, X, ... X, = (Х;-Х;) 0 < j < ! < п 1 2 п 1 X X X лп п п 1 Александр Теофил Вандермонд (1735—1796) — французский математик. 355
Глава 11. Приближение функций и смежные вопросы отличен от нуля, если узлы интерполяции попарно различны. Таким образом, верна следующая теорема. Теорема 11.3. Существует единственный интерполяционный многочлен степени п, удовлетворяющий условиям (11.20). Замечание. На практике система (11.21) никогда не использу- ется для вычисления коэффициентов интерполяционного много- члена. Дело в том, что часто она является плохо обусловленной. Кроме того, существуют различные удобные явные формы записи интерполяционного многочлена, которые и применяются при интерполяции. Наконец, в большинстве приложений интерполяци- онного многочлена явное вычисление коэффициентов ак не нужно. 2 . Многочлен Лагранжа. Приведем одну из форм записи интерпо- ляционного многочлена — многочлен Лагранжа п = (И.22) 7=0 Здесь I (х) = П X~J- = nj /А Xj~Xk (Xj-XO^Xj-Xiy -(Xj-Xj-0(Xj-Xj+l) - (Xj-Xn)' k^j Как нетрудно видеть, lnj(x) представляет собой многочлен степени л, удовлетворяющий условию 1 при i=J 0 при i * j Таким образом, степень многочлена Ln равна п и при х = х; в сумме (11.22) обращаются в ноль все слагаемые, кроме слагаемого с номером j = z, равного у-. Поэтому многочлен Лагранжа (11.22) действительно является интерполяционным. Замечание 1. Запись интерполяционного многочлена в форме Лагранжа (11.22) можно рассматривать как его запись в виде обоб- щенного многочлена (11.2) по системе функций ф*(х) = /я*(х), £ = = 0, 1, ..., п. Замечание 2. Как правило, интерполяционный многочлен Лагранжа используется так, что нет необходимости его преобразо- п вания к каноническому виду Ln(x) = ^акхк. Более того, часто 4=0 такое преобразование нежелательно. 356
§11.4. Погрешность интерполяции В инженерной практике наиболее часто используется интерполяция многочленами первой, второй и третьей степени (линейная, квадра- тичная и кубическая интерполяции). Приведем соответствующие формулы для записи многочленов Лагранжа первой и второй степени: х — х, х — хп £,(х)=у0------L+>'| ----(И-23) ХО-Х1 Х| — (х-х,)(х-х2) (х-х0)(х-х2) (х-г0)(х-Х|) гХ Х| (х|-хо)(х1-х2) Х2(*2-дсоХдс2-х|) Пример 11.3. Пусть задана таблица значений функции у = 1пх (табл. 11.1). Таблица 11.1 X 1.0 1.1 1.2 1.3 1.4 У 0.000000 0.095310 0.182322 0.262364 0.336472 Для приближенного вычисления значения In (1.23) воспользуемся линейной и квадратичной интерполяцией. Возьмем х0 = 1.2, Xj = 1.3. Вычисление по формуле (11.23) дает зна- чение In (1.23) « Zj(l.23) « 0.206335. Для применения квадратичной интерполяции возьмем х0 = 1.1, Xj = = 1.2, х2 = 1.3 — три ближайших к точке х = 1.23 узла. Вычисляя по формуле (11.24), имеем In (1.23) « Z2(l.23) » 0.207066. Заметим, что пока нам не известна погрешность полученных при- ближенных значений. ▲ § 11.4. Погрешность интерполяции Приведем без доказательства наиболее известную теорему о погрешности интерполяции. Теорема 11.4. Пусть функция f дифференцируема п + 1 раз на отрезке [а, £], содержащем узлы интерполяции х{, i = 0, 1, ..., п. Тогда для погрешности интерполяции в точке х е [а, />] справедливо равенство /(х)-Рл(х)=7——^о)л+1(х), (11.25) (п + в котором <ол + !(х) = (х - х0)(х - х^ ... (х - хп), а £, — некоторая точка, принадлежащая интервалу (а, Ь). 357
Глава 11. Приближение функций и смежные вопросы Основное неудобство в использовании этой теоремы состоит в том, что входящая в формулу (11.25) для погрешности точка неизвестна. Поэтому чаще используется не сама теорема, а ее следствие. Следствие. В условиях теоремы 11.4 справедлива оценка погреш- ности интерполяции в точке х g [a, /)], имеющая вид Мп+] [f(x)-P„(x)\ К+|(Х)| , (11.26) (п + 1)! а также оценка максимума модуля погрешности интерполяции на отрезке [a, ft], имеющая вид М„+] max |/(х)-Рл(х)| < max |шл + ,(х)| . (11.27) [а, 6] (п + 1)' [а. 6J Здесь М + . =max |/(я+ !)(х)| ; предполагается, что производная О непрерывна. Пример 11.4. Оценим погрешность приближений к In (1.23), полу- ченных в примере 11.3 с помощью интерполяции многочленами первой и второй степени. В этих случаях неравенство (11.26) примет вид \f(x)-Lx{x)\<^ |(x-xo)(x-xj)| , (11.28) |/(x)-L2(x)| <— I(х-х0)(х-Xj)(х-х2)I . (11.29) Заметим, что для /(х) = 1п(х) имеем f®\x) = -1/х2 и /^3\х) = 2/х3. Поэтому здесьМ2= max |/(2)(х)| = 1/1.22»0.69 и Л/ч= max |/(3)(х)| = [1.2, 1.3] 3 [1.1, 1.3] = 2/1.13 * 1.5. Тогда в силу неравенств (11.28) и (11.29) получаем сле- дующие оценки погрешности: £| = |1п(1.23)-£|(1.23)| |(1.23- 1.2)(1.23- 1.3)| «7.3 • ЮЛ с2= |ln(1.23)-Z2(1.23)| 1(1.23- 1.1)(1.23- 1.2)(1.23- 1.3)| « « 6.9- 10*5. ▲ Если на отрезке [а, £] производная + О меняется слабо, то зна- чение абсолютной погрешности | /(х) - Рп(х) | почти полностью опре- деляется значением функции соя + j(x). Представление о типичном характере поведения этой функции можно получить из рис. 11.2. 358
§11.5. Интерполяция с кратными узлами Обратим внимание на то, что при выходе аргумента х за пределы отрезка наблюдения [xmin, xmax] значение | соя + j(x)| быстро становится очень большим. Это объясняет ненадежность экстраполяции функции для значений аргумента, удаленных от отрезка наблюдения. Пусть теперь х0 < х, < ... < хп и пусть Л; = xz- - х; _ 1 — z-й шаг таблицы, а Лтах = max ht. Несколько огрубив оценку (11.27), можно 1 £ / £ п получить следующее неравенство: шах И(х)-Р,(х)| [х0,хл] Оно позволяет утверждать, что для достаточно гладкой функции f при фиксированной степени интерполяционного многочлена погреш- ность интерполяции на отрезке [х0, хл] при Лтах —► 0 стремится к нулю не медленнее, чем некоторая величина, пропорциональная . Этот факт принято формулировать так: интерполяция многочленом степени п имеет (п + 1)-й порядок точности относительно Лтах. В частности, линейная и квадратичная интерполяции имеют второй и третий порядки точности соответственно. § 11.5. Интерполяция с кратными узлами 1. Интерполяционный многочлен с кратными узлами. Иногда в узлах X; (i = 0, 1, ...» т) бывают заданы не только значения у. = /(х,) функции /, но и значения ее производных у! =f'(x!), у" =f"(Xj), ... ' = f ' (х;) до некоторого порядка kt - 1. В этом случае узел X; называют кратным, а число kt, равное количеству заданных 359
Глава 11. Приближение функций и смежные вопросы значений, — кратностью узла. Пусть и = £0 + к} + ... + кт - 1. Можно доказать, что существует единственный многочлен Рп(х) степени и, удовлетворяющий условиям для всех i = 0, 1, ..., т. Этот многочлен называют интерполяционным многочленом с кратными узлами или интерполяционным многочленом Эрмита'. Можно указать и явную формулу его записи, аналогичную форме Лагранжа (11.22). Мы этого делать не будем и отметим лишь два важных частных случая. 1°. Пусть на концах отрезка [х0, xj заданы значения у§, ух, у'о, у[. Тогда т = 1, £0 = 2, к{ = 2, п = 3 и интерполяционный многочлен Р3(х), удовлетворяющий условиям ^з(хо) =Уо> рз(хо) =Уо> Л(х|)= -Уп рз(х1) = У\ > может быть представлен (что проверяется непосредственно) в следующем виде: (*1 -*)1 2(2(х-х0) + Л) (х,-х)2(х-х0) W =Уо--------------3--------+Уо--------2------+ (х-х0)2(2(х]-х) +h) (x-x0)2(x-Xj) + лг-------------------+?;——2—L, (п-31) /г где h = Xj - х0. Многочлен (11.31) принято называть кубическим интерполяци- онным многочленом Эрмита. 2°. Пусть в точке х0 заданы значения у& у^, ..., у^. Тогда мно- гочлен Рл(х), удовлетворяющий условиям Рл(х0) = у0, Р^(хо)=Уо» ... D(w)z ч (я) ...,Рп (х0)=у0 представляется в виде п (к\ (х-хо)* Рп(х) = Z ? —7Г- • (11-32) к=0 Как нетрудно видеть, многочлен Рп(х) представляет собой отрезок ряда Тейлора. Таким образом, формула Тейлора дает решение задачи интерполяции2 с одним узлом кратности п + 1. 1 Шарль Эрмит (1822—1901) — французский математик. 2 Заметим, что в действительности с ее помощью осуществляется экстраполяция. 360
§ 11.6. Минимизация оценки погрешности интерполяции. Многочлены Чебышева 2. Погрешность интерполяции с кратными узлами. Теорема 11.5. Пусть функция f дифференцируема п + 1 раз на отрезке [а, £], содержащем узлы интерполяции xi(i = 0, 1, ..., т). Тогда для погрешности интерполяции с кратными узлами в точке х G [а, £] справедливы равенство (11.25) и неравенства (11.26), (11.27), в k к к которых % + ] = (х-х0) ^х-х^ 1 ...(х-хт) т, а £ — некоторая точка, принадлежащая интервалу (а, Ь). Для формулы Тейлора (т = 0, kQ = п + 1) теорема 11.5 дает известную формулу остаточного члена в форме Лагранжа. Для кубиче- ского многочлена Эрмита (т = 1, £0 = 2, = 2) неравенство (11.27) при- водит к следующей оценке погрешности: max [Г(х)-Р3(х)| <-^Л4. (11.33) Здесь учтено то, что максимум функции со4(х) = (х - х0)2(х - х02 на отрезке [х0, xj достигается в точке х = (х0 + х0/2 и равен Л4/16. § 11.6. Минимизация оценки погрешности интерполяции. Многочлены Чебышева 1. Постановка задачи минимизации оценки погрешности. Пред- положим, что значение заданной на отрезке [а, Ь] функции f можно вычислить в произвольной точке х. Однако по некоторым причинам1 целесообразнее заменить прямое вычисление функции f вычислением значений ее интерполяционного многочлена Рп. Для такой замены необходимо один раз получить таблицу значений функции f в выбранных на отрезке [а, />] точках х0, х1? ...,хя. При этом естественно стремиться к такому выбору узлов интерполяции, который позволит сделать минимальной величину Д(Р ) = max |/(х) - РЛх) | — погреш- КЫ ность интерполяции на отрезке [а, Ь]. Пусть о функции/известно лишь то, что она непрерывно дифферен- цируема п + 1 раз на отрезке [а, Ь]. Тогда неравенство (11.27) дает верхнюю границу погрешности интерполяции: Мп+] Ь(Рп) = 7'1 ,м max I сол +!(х) I . (11.34) (и т 1)! эд 1 Например, вычисление значений f(x) — трудоемкая операция. 361
Глава 11. Приближение функций и смежные вопросы Поставим теперь следующую задачу: определить набор узлов интер- поляции х0, ..., хп, при котором величина Д(РЛ) минимальна. Для решения этой задачи нам потребуются некоторые сведения о много- членах Чебышёва1. Замечание. Формула (11.34) остается справедливой и в слу- чае, когда некоторые из узлов х0, хр ..., хп совпадают, т.е. имеет место интерполяция с кратными узлами. 2. Многочлены Чебышёва. Введенные П.Л. Чебышёвым много- члены Тп(х) широко используются в вычислительной математике. При и = 0 и п = 1 они определяются явными формулами Г0(х)=1, Г,(х) = х, (11.35) а при п > 2 рекуррентной формулой Гл(х)=2хГл_1(х)-Гл_2(х). (11.36) Запишем явные формулы для многочленов Чебышёва Гл(х) при и = = 2, 3, 4,5: Г2(х) = 2хТ1(х)-Г0(х) = 2х2- 1, Т3(х) = 2хТ2(х) - 7\(х) = 4х3 - Зх, Г4(х) = 2хГ3(х) - Г2(х) = 8х4 - 8х2 + 1, Г5(х) = 2хГ4(х) - Г3(х) = 16х5 - 20х3 + 5х. Аналогично можно записать явные формулы и при п > 6. Приведем некоторые свойства многочленов Чебышёва. 1°. При четном и многочлен Тп(х) содержит только четные степени х и является четной функцией, а при нечетном п многочлен Тп(х) содержит только нечетные степени х и является нечетной функцией. 2°. При п > 1 старший коэффициент многочлена Тп(х) равен 2п ~ т.е. Тп(х) = 2п ~ 1хп + ... . Справедливость свойств 10 и 2° следует непосредственно из опреде- ления (11.35), (11.36). 3°. Для х е [-1, 1] справедлива формула Тп(х) = cos(w arccosx). (11.37) 1 Пафнутий Львович Чебышев (1821—1894) — русский математик, один из создате- лей современных теории чисел, теории вероятностей, теории приближений функций. 362
§ 11.6. Минимизация оценки погрешности интерполяции. Многочлены Чебышева Доказательство. При и = 0 и и = 1 формула (11.37) верна, так как cos(0 • arccosx) = 1, cos(l ’arccosx) = x. Для того чтобы доказать спра- ведливость формулы для всех и > О, достаточно показать, что функции Ся(х) = cos(h arccosx) удовлетворяют такому же, как и многочлены Чебышева, рекуррентному соотношению Ся(х) = 2хСя_1(х)-С„_2(х) (11.38) (сравните с (11.36)). Соотношение (11.38) получится, если в легко про- веряемом тригонометрическом тождестве cos[(m + 1) ф] + cos[(m - 1) ф] = 2со8фсо8/иф положить т = и - 1 и ф = arccos х. 4°. При и > 1 многочлен Тп(х) имеет равно п действительных корней, расположенных на отрезке [-1, 1] и вычисляемых по формуле xk = cos(2k+X’n, £ = 0,1...л-1. (11.39) 2и 5°. При п >0 справедливо равенство max | Тя(х)| = 1. Если п > 1, [-U] то этот максимум достигается ровно в п + 1 точках, которые нахо- дятся по формуле xm = cos^-, т = 0, 1,..., п . (11.40) При этом Тп(хт) = (-1)ш, т.е. максимумы и минимумы многочлена Чебышева чередуются. Доказательство свойств 4° и 5° основано на применении формулы (11.37). Например, в силу этой формулы корни многочлена Гя(х), распо- ложенные на отрезке [-1, 1], совпадают с корнями уравнения cos(h arccosx) = 0. Эквивалентное преобразование этого уравнения дает п- arccosx = л/2 + пк, к = 0, ±1, ±2, .... Так как 0 < arccosx < л, то заключаем, что имеется ровно п корней хк, отвечающих значениям к = п 1 1 (2£+1)л = 0, 1, ..., п - 1 и удовлетворяющих равенствам arccos хк = —--, эквивалентным формуле (11.39). Назовем величину max |Ря(х)| уклонением многочлена Рп(х) от нуля. Эта величина характеризует максимальное отклонение (уклонение) графика многочлена Рп от графика функции у = 0 на отрезке [-1, 1]. 363
Глава 11. Приближение функций и смежные вопросы 6°. Среди всех многочленов фиксированной степени п > 1 со старшим коэффициентом ап, равным 1, наименьшее уклонение от нуля (равное 2* ~я) имеет многочлен Тп(х) = 21 ~пТп(х). Благодаря этому свойству, имеющему особую ценность для прило- жений, многочлены Чебышева иногда называют наименее уклоняю- щимися от нуля. Свойство 6° иначе можно сформулировать так: для любого многочлена вида Рп(х) = ^ + й„.|хл'1 + ... + а0, ОТЛИЧНОГО от Тп(х), справедливо неравенство 2* ~п= max [-М] iT’ (x)) < max |Р„(х)|. [-1.1] Приведем графики многочленов Тп(х) для m = 1, 2, 3, 4, 5 (рис. 11.3). Рис. 11.3 Замечание Из свойства 6° следует, что среди всех многочле- нов Рп(х) фиксированной степени п > 1 со старшим коэффициен- том ап 0 наименьшее уклонение от нуля (равное | 121 ~ имеет многочлен апТп(х). Формулы (11 39) и (11 40) позволяют дать следующую геометри- ческую интерпретацию построения корней и точек экстремума много- 364
§ 11.6. Минимизация оценки погрешности интерполяции. Многочлены Чебышева члена Тп(х). Разделим полуокружность, опирающуюся на отрезок [-1, 1] как на диаметр, на 2п равных частей и спроецируем полученные точки на отрезок [-1, 1]. На рис. 11.4 изображен случай п = 5. Нумеруя проекции справа налево, получим, что все проекции с нечетными номерами являются корнями многочлена Тп (на рис. 11.4 они помечены кружочками), а все проекции с четными номерами — точками экстремума (они помечены крестиками). Заметим, что корни и точки экстремума сгущаются к концам отрезка [-1; 1]. 3. Решение задачи минимизации оценки погрешности. Найдем сначала решение задачи в предположении, что отрезок интерполяции [а, Ь] совпадает с отрезком [-1, 1]. В этом случае величина (11.34) будет минимальной при таком выборе узлов х0, х1? ...,хя, при котором мини- мальна величина max |соя + 1(х)| , т.е. минимально уклонение много- [-1,1] члена (&п + 1(х) = (х - х0)(х - Xj)...(x - хя) от нуля. В силу свойств 4° и 6° многочленов Чебышева решение задачи дает набор узлов X)t = C0S V2T+2 ’ * = 0’ являющихся нулями многочлена Тп + 1? так как в этом случае <оя + 1 = = 7^1- Заметим, что при таком выборе К+1 Д(Р„) =---(11.41) V п' (и+1)!2я V 7 причем в силу свойства 6° любой другой выбор узлов дает большее значение верхней границы погрешности. Для сравнения укажем, что 365
Глава 11. Приближение функций и смежные вопросы при использовании для приближения функции f отрезка ряда Тейлора п /(Л)(0) Ъ- Р (х) = X ---i— веРхняя граница оценки погрешности такова: Д(Л,) = ч,+1 Следовательно, она в 2й раз хуже, чем при интерполяции с опти- мальным выбором узлов. Пусть теперь отрезок интерполяции [а, £] произволен. Приведем его к стандартному отрезку [-1, 1] заменой (И.42) где t е [-1, 1]. Как нетрудно видеть, в этом случае соп+|(х) = и + 1 S„+1G), где 5п+1(г) = (г - t0)(t - Г])...(Г - t„) и Хк = а + b b — а . ~ = -у- + —— tk для к = 0, 1, ..., п. Следовательно, Д(Р'’) = (7Го?[—] К+1(')1 и минимум этой величины достигается при значениях /0, сов- падающих с нулями многочлена Гп+ г Значит, решение поставленной задачи дает выбор узлов а + b — a { 2к + 1 А . л , хк = —— + —т— cos ---------л , к = 0, 1,..., и, (11.43) к 2 2 \2и + 2 / v 7 которому отвечает минимальное значение верхней граница погреш- ности интерполяции, равное М . гк -1И + 1 . _ п + 1 о — а п (и+ 1 )!2" L 2 . § 11.7. Конечные разности 1. Таблица конечных разностей. Пусть функция у = fix) задана таблицей (111) своих значений, причем х0 < Х] < .. .< хп и расстояние h = X; - X; _ j между соседними узлами таблицы значений аргумента постоянно. В этом случае величину h называют шагом таблицы, а узлы — равноотстоящими 366
§11.7. Конечные разности Величину Д>\- = Д'/ + i — У; принято называть конечной разностью первого порядка функции у = f(x) в точке х;- (с шагом Л). Конечная раз- ность второго порядка определяется формулой Д2^- = Д>>; + j - Д>>;. Ана- логично определяются конечные разности третьего и более высоких порядков Общее определение конечной разности порядка к таково. ts.ky; = hk~xyi+i-^-xy--, здесь к > 1 и Д°у; = у^. Таблицу конечных разностей (которые называют еще конечными раз- ностями вперед) обычно располагают следующим образом (табл. 11.2): 2. Свойства конечных разностей. Можно показать, что конечные разности порядка к выражаются через значения функции в к + 1 точке по формуле к I (П.44) /=о 367
Глава 11. Приближение функций и смежные вопросы *! г№С‘-п^ — биномиальные коэффициенты. В частности, ^У; =У1 + 2~ Ь + 1 + У» ^У-, = У, + з “ Ь + 2 + Ь +1 ~Ур ^У-, =У! + 4 ~4У1 + з + fyi + 2-4у;+ , +yf. Приведем без доказательства важное утверждение, указывающее на тесную связь между производными гладких функций и их конечными разностями. Теорема 11.6. Пусть функция f дифференцируема к раз на отрезке [х;, х; + J. Тогда справедливо равенство &ky; = hk(11.45) в котором £ — некоторая точка из интервала (х;, х; + Д Замечание. При k = 1 формула (11.45) совпадает с формулой конечных приращений Лагранжа. п Следствие. Для многочлена у = Рп(х) = ^атхт конечная раз- m-Q ность порядка п является постоянной величиной, равной hnn\an. Раз- ности порядка к> п тождественно равны нулю. Конечные разности имеют разнообразные практические приме- нения. Например, если производная к-ro порядка слабо меняется на отрезке [х;, х; + А.], то в силу равенства (11.45) для х е [х;, х; +А.] спра- ведлива следующая формула численного дифференцирования: Д*У; (11.46) Jr В § 11.9 конечные разности будут использованы для построения интерполяционного многочлена Ньютона. Рассмотрим еще два прило- жения конечных разностей, связанных с анализом погрешностей таблиц, а именно задачу об оценке уровня «шума» таблицы и задачу обнаружения единичных ошибок. Заметим, что в реальных вычислениях таблица конечных разностей Afy строится по значениям у*, каждое из которых содержит погреш- 368
§11.7. Конечные разности ность еу- = У]~У) ’ Тогда в силу формулы (11.44) найденные значения содержат неустранимые ошибки г!*’ = Д*Л - Д*у’ = £ (-1 )* - 'с'г; + /. (11.47) /=0 Как нетрудно видеть, имеется тенденция к росту ошибки б^ с ростом к. Если известно, что |cj < с для всех i, то можно гаранти- ровать справедливость лишь следующей оценки: |Е^| <£с/Е = 2*Е. (11.48) /=0 3. Оценка уровня «шума» в таблице. На практике часто возникает следующая задача. Для набора х0, хр ..., хп равноотстоящих узлов каким-либо образом построена таблица приближенных значений гладкой функции у - /(х). Требуется оценить уровень погрешности (уровень «шума») таблицы. Полученная выше гарантированная оценка погрешности (11.48) не дает удовлетворительного ответа на поставленный вопрос. Она лишь указывает на то, что в самом неблагоприятном случае рост ошибки произойдет с коэффициентом, равным 2к. Проведем статистический анализ погрешности. Будем предполагать, что ошибки е- (/ = 0, 1, ..., и) являются независимыми случайными величинами с математическим ожиданием М [Бу] = 0 (это эквивалентно отсутствию систематической составляющей погрешности) и дисперсией ] = о2. В силу формулы (11.47) = 0 и тогда для дисперсии (п^)2 = = Л/[(б;^)2] погрешности к~и разности имеем: (О(‘У=л/(£ (-1 )*->с'£;+,)(£ (-1 += L /=0 r=0 J =4 £(сж,+^(-1У+<ф;+/Е;+;. - /=о / * Г 369
Глава 11. Приближение функций и смежные вопросы Заметим, что £(с/)2 = С^к и Л/[е; + fa + г] = 0 при I * г, так как /=о величины £/ + / и Б; + г независимы. Следовательно, (п^)2 = С2\а2. Принимая за уровень «шума» таблицы величину и квадратного корня из дисперсии (среднеквадратичную ошибку), получаем равенство (11.49) которое дает более оптимистичное по сравнению с оценкой (11.47) зна- чение коэффициента роста ошибки, так как < 2к. Если конечные разности Д*>>* строятся для гладкой функции, то они часто имеют тенденцию с ростом к уменьшаться по абсолютному зна- чению, а затем, начиная с некоторого к = р, возрастать, испытывая сильные колебания в пределах одного столбца. При этом для к > р основной вклад в значение &ку* вносит величина Это обстоя- тельство позволяет считать, что в оценке дисперсии (п^)2 « «----—£ (е-^)2 величины можно приближенно заменить на п Р i=0 №у*. Вычислив затем достаточно воспользоваться формулой (11.49) для оценки уровня «шума» таблицы. Пример 11.5. Оценим уровень «шума» в таблице значений функции у = 1пх, заданной с шагом h = 0.1 (первый и второй столбцы табл. 11.3). Составляя таблицу конечных разностей, замечаем, что, начиная с к = 5, абсолютные значения разностей &kyj начинают воз- растать. Оценим а(5) следующим образом: q(5)« /=0 «3.5 • IO’4. Учитывая, что С,50 = 252, имеем и = а(5>/7252 « 2 е 10-5. Таким образом, погрешность таблицы составляет примерно две единицы пятого разряда, а шестой и седьмой разряды уже не содержат полезной информации. Если бы таблицу предполагалось использовать на практике, то, по-видимому, имело бы смысл округлить значения у- до пяти значащих цифр после десятичной точки. 370
§11.7. Конечные разности Таблица 11.3 X У Д2у Д3у д\ Д5_у 1.0 0.0000000 0.0953274 1.1 0.0953274 0.0869958 -0.0083316 0.0013874 1.2 0.1823232 0.0800516 -0.0069442 0.0009812 -0.0004062 0.0003216 1.3 0.2623748 0.0740886 -0.0059630 0.0008966 -0.0000846 -0.0002525 1.4 0.3364634 0.0690222 -0.0050664 0.0005595 -0.0003371 0.0004161 1.5 0.4054856 0.0645153 -0.0045069 0.0006385 0.0000790 -0.0003636 1.6 0.4700009 0.0606469 -0.0038684 0.0003539 -0.0002846 0.0003992 1.7 0.5306478 0.0571324 -0.0035145 0.0004685 0.0001146 -0.0003473 1.8 0.5877802 0.0540864 -0.0030460 0.0002358 -0.0002327 1.9 0.6418666 0.0512752 -0.0028102 2.0 0.6931428 4. Обнаружение единичных ошибок. Анализ таблиц конечных разностей позволяет в некоторых случаях обнаруживать грубые еди- ничные ошибки в таблицах гладких функций и даже частично их уст- ранять. Прежде чем продемонстрировать сказанное на примере рас- смотрим, как распространяется в таблице конечных разностей ошибка е, допущенная только в одном значении^. Пользуясь формулой (11.47) или равенством е,- = еу + 1 - е- (где ej = е при j = i и ej = 0 при j i), получаем следующую таблицу распространения единичной ошибки, т.е. ошибки, допущенной в одной точке (табл. 11.4). Пример 11.6. Пусть на отрезке [1.5, 2.8] задана таблица значений функции у = 1пх (первый и второй столбцы табл. 11.5). Составим для 371
Глава 11. Приближение функций и смежные вопросы Таблица 11.4 X е(0) е(П Б(2) е(3) е(4) .. . е^ ... ... е Xi-2 0 0 е ... 0 е ... Х.-\ 0 е -4е ... с**-2е е -Зе ... Xt е -2е бе ... -е Зе xl+\ 0 е -4е (-1)*-2С2е 0 -е ... Xi + 2 0 0 е ... ... ... (-1)*е нее таблицу конечных разностей. Аномальное поведение разностей третьего и четвертого порядка указывает на наличие в таблице зна- чений функции ошибки. Сравнение с табл. 11.4 распространения еди- ничной ошибки приводит к заключению о том, что погрешность допущена в значении у, отвечающем х = 2.2. Тогда погрешностям е, -4е, бе, -4е, е табл. 11.4 приближенно отвечают значения 262 • 10-6, -1231 - ЮЛ 1774-ЮЛ -1222’10-6, 282 -10"6 табл. 11.5. Это соответ- ствие имеет место при е ® 298*10-6. Следовательно, табличное зна- чение 0.788757 нужно заменить на 0.788459. ▲ Замечание. Часто вместо конечных разностей вперед &ку; используют конечные разности назад, определяемые рекуррент- ной формулой УкУ; = ~ 1 У; - V* " 1 у-_ ।. Здесь к > 1, V°y- = Заметим, что разности вперед и назад свя- заны равенством 372
§11.8. Разделенные разности Таблица 11.5 X У Ду Д2у Д3у Д4у 1.5 0.405465 0.064539 1.6 0.470004 0.060624 -0.003915 0.000450 1.7 0.530628 0.057159 -0.003465 0.000373 -0.000077 1.8 0.587787 0.054067 -0.003092 0.000318 -0.000055 1.9 0.641854 0.051293 -0.002774 0.000271 -0.000047 2.0 0.693147 0.048790 -0.002503 0.000533 0.000262 2.1 0.741937 0.046820 -0.001970 -0.000698 -0.001231 2.2 0.788757 0.044152 -0.002668 0.001076 0.001774 2.3 0.832909 0.042560 -0.001592 -0.000146 -0.001222 2.4 0.875469 0.040822 -0.001738 0.000136 0.000282 2.5 0.916291 0.039220 -0.001602 0.000123 -0.000013 2.6 0.955511 0.037741 -0.001479 0.000105 -0.000018 2.7 0.993252 0.036367 -0.001374 2.8 1.029619 § 11.8. Разделенные разности 1. Таблица разделенных разностей. Пусть функция f задана на таблице х0, х}, ..., хп значений аргумента с произвольным (не обяза- тельно постоянным) шагом, причем точки таблицы занумерованы в произвольном (не обязательно возрастающем) порядке. Величины 373
Глава 11. Приближение функций и смежные вопросы принято называть разделенными разностями первого порядка функции f Разделенные разности второго порядка определяются формулой /(х,;х,+ |;х,+2) = Х/ + 2) /(х;>Х;+|) xH-2~xi Аналогично определяются разделенные разности третьего и более высоких порядков. Общее определение разделенной разности порядка к> 2 таково: _f(xi+ р •••» xi + k) f(xf> •••» xl + k-|) /(Х/, X-+ р ..., X.+ _ xi + к xi Таблицу разделенных разностей обычно располагают следующим образом (табл. 11.6). Таблица 11.6 X Ах) Разделенные разности порядка первого второго ... и-го х0 Л*0) /(X,) /(х0;х|) /(Х|;х2) /(XoJXpXj) . • • х2 /(Х2) • • ’/(хо;х|;...;х„) • • • • • • • • хп • • • /(x»-pX„) /(хя_2;хя_|;хя). • 2. Свойства разделенных разностей. Разделенные разности обладают рядом замечательных свойств. Перечислим без доказа- тельства некоторые из них. 1°. Разделенная разность f(xt\ х, + р х; + Л) является симмет- ричной функцией своих аргументов xit xt + р x-t + к (т.е. ее значение не меняется при любой их перестановке). 2°. Пусть функция f имеет на отрезке [а, Л], содержащем точки xif xi + 1» . X/ + *, производную порядка к. Тогда справедливо равенство Дх;;х| + 1; (11.50) где £ — некоторая точка, расположенная на интервале (а, Ь). 374
§ 11.8. Разделенные разности 3°. В случае, когда таблица значений аргумента имеет посто- янный шаг h, разделенная и конечная разности связаны равенством /(х;;х;+(11.51) Пример 11.7. Приведем таблицу (табл. 11.7) разделенных раз- ностей для функции, заданной табл. 11.1. Вычисления произведены на 6-разрядном десятичном компьютере. Таблица 11.7 X /(*) Разделенные разности порядка первого второго третьего четвертого 1.0 0.000000 0.953100 1.1 0.095310 0.870120 -0.414900 0.221333 1.2 0.182322 0.800420 -0.348500 0.172667 -0.121665 1.3 0.262364 0.741080 -0.296700 1.4 0.336472 Перенумеруем теперь узлы, положив х0 = 1.2, Xj = 1.3, х2 = 1.1, х3 = = 1.4, х4 = 1.0. Тогда таблица разделенных разностей примет сле- дующий вид (табл. 11.8). Таблица 11.8 X ftx) Разделенные разности порядка первого второго третьего четвертого 1.2 0.182322 0.800420 1.3 0.262364 0.835270 -0.348500 0.172650 1.1 0.095310 0.803873 -0.313970 0.197000 -0.121750 1.4 0.336472 0.841180 -0.373070 1.0 0.000000 375
Глава 11. Приближение функций и смежные вопросы В табл. 11.8 подчеркнуты разделенные разности, которые совпадают (как и должно быть в силу свойства 1°) с точностью до вычислительной погрешности с соответствующими разделенными разностями из табл. 11.7 (они также подчеркнуты). ▲ § 11.9. Интерполяционный многочлен Ньютона. Схема Эйткена 1. Интерполяционный многочлен Ньютона с разделенными разностями. Использовав разделенные разности, интерполяционный многочлен можно записать в следующем виде: рп(х)=Яхо)+ Ж - *о)+ Ж? xi; хгХ* - хохх - х,) +... ••• +/(хо;хй •••>хпХх-х0Хх-х1)...(х-хи_1) = п = £/(xo;xiJ •••,х*)<0Дх). (U.52) к=0 Здесь со0(х) = 1, со^(х) = (х - х0)(х - Xj)...(x - xk_ j) при к > 1. Записанный в таком виде интерполяционный многочлен называют интерполяционным многочленом Ньютона с разделенными разностями. Замечание 1. Отметим очевидную (с учетом равенства (11.50)) аналогию между формулой Ньютона (11.52) и формулой Тейлора (11.32). Замечание 2. Формулу (11.25) для погрешности интерполя- ции в точке х, не являющейся узловой, можно уточнить следую- щим образом: /(х)-Рп(х) =/(х0; ...;х„;х)<о„+ ,(х). (11.53) Мы не приводим доказательства этой замечательной формулы. Отметим лишь, что если воспользоваться свойством 2° разделен- ных разностей, то из нее немедленно получается формула (11.25). В практическом плане формула (11.52) обладает рядом преимуществ перед формулой Лагранжа. Пусть, например, по каким-либо причинам необходимо увеличить степень интерполяционного многочлена на единицу, добавив в таблицу еще один узел хп+ r При использовании формулы Лагранжа (11.22) это приводит не только к увеличению числа слагаемых, но и к необходимости вычислять каждое из них заново. 376
§11.9. Интерполяционный многочлен Ньютона. Схема Эйткена В то же время для вычисления Рп+1(х) по формуле Ньютона (11.52) достаточно добавить к Рп(х) лишь одно очередное слагаемое, так как р„ +1W-рп(‘х'> = f(xo< ’х„’хп+ 1)®я+ 1(х). (11.54) Заметим, что когда величина |х„ + 1 - х| мала, а функция f доста- точно гладкая, справедливо приближенное равенство /(х0; .. ; х„; х) « /(х0; ..х„; х„ + Д из которого с учетом равенств (11.53) и (11.54) следует, что /(х) - Р„(х) » Р„ + | (х) - Р„(х). Таким образом, величину £„ = 1Л, + |W-WI (11.55) можно использовать для практической оценки погрешности интерпо- ляции. Пример 11.8. По табл. 11.1 значений функции у = 1пх из примера 11.3 найдем приближенное значение 1пх при х = 1.23, исполь- зовав интерполяционные многочлены Ньютона с разделенными разно- стями Рк(х) для к = 0, 1, ..., 4. Оценим при к = 0, 1, 2, 3 погрешность интерполяции по формуле (11.55). Занумеруем узлы таблицы в следующем порядке: х0 = 1.2, Xj = 1.3, х2 = 1.1, х3 = 1.4, х4 = 1.0, т.е. в порядке возрастания расстояния до точки х = 1.23. Соответствующие этой нумерации разделенные разности при- ведены в табл. 11.8 (мы используем только подчеркнутые разности). Вычисления на 6-разрядном десятичном компьютере дают сле- дующие значения: Р0(х) = 0.182322, Pj(x) = Р0(х) + /(х0; х^со^х) « 0.182322 + + 0.80042 • (1.23 - 1.2) « 0.206335, е0 = \Р{(х) - Р0(х)| « 2.4 • 10"2 *; Р2(х) = Р{(х) -г /(х0; х1; х2)<о2(х)« 0.206335 - 0.3485( 1.23 - 1.2)(1.23 - 1.3)* * 0.207067, е1 = |Р2(х) - Р^х)| * 7.3 • 10"4. Аналогично получаются значения Р3(х) » 0.207020; е2 « 4.7 • 10“5; Р4(х) * 0.207014, е3 * 6- ЮА Если бы задача состояла в определении значения 1п(1.23) с точ- ностью е = 10-4, то вычисления следовало бы окончить после полу- чения е2 < е. Результат был бы таким: In(1.23) « Р2(х) « 0.2071. ▲ 2. Интерполяция с использованием схемы Эйткена. Рассмотрим один из алгоритмов решения задачи интерполяции. Предполагается, 377
Глава 11. Приближение функций и смежные вопросы что задана таблица значений функции / Требуется при заданном х вычислить с помощью интерполяции значение f(x) с заданной точ- ностью б либо с максимально возможной при имеющейся информации точностью. Считается, что функция f достаточно гладкая. Обозначим через Р^к к + j ш)(х) интерполяционный многочлен степени т - к с узлами интерполяции хк, хк + р ..., хт. В частности, положим Р{к)(х) = ук. В этих обозначениях справедливо равенство т + I )(*) Р(к + I, m+l)W<x хк) Р(к....xm+|) Z1 . --------------------------------.(1 1.30) хт + I ~Хк Действительно, правая часть представляет собой многочлен степени т + 1 - к. Непосредственная проверка показывает, что этот многочлен совпадает с у- в точках х = х; для i = к, к + 1, ..., т + 1 и, значит, по опре- делению равен Р{к т + 0(х). Удобный и экономичный способ вычисления значения многочлена Рп(х) = Р(0 । п)(х), лежащий в основе рассматриваемого алгоритма, дает схема Эйткена1. Она заключается в последовательном вычислении с помощью формулы (11.56) элементов следующей таблицы (табл. 11.9). Таблица 11.9 Значения интерполяционных многочленов, вычисляемых по схеме Эйткена, порядка нулевого P(0)W=^0 р{\)М=У\ Р(2)(Х^У2 первого второго и-го P(I,2)W Р(0 1 2)W ’ . Р(п - 2, п - 1, . Р(0, I,.... л)(*) Р(п)М=Уп Р(п - I, Для решения поставленной задачи интерполяции при заданном зна- чении х узлы нумеруют в порядке возрастания их расстояния |х - xj до точки х. Затем последовательно вычисляют значения Pt(x), е0, Р2(*)> ер ...,Рт+ j(x), Em, ... Если при некотором т оказывается, что Ет < е, то 1 Александр Крэг Эйткен (1895—1967) — английский математик. 378
§ 11.9. Интерполяционный многочлен Ньютона. Схема Эйткена полагают Дх) « Рт(х). Если же ет > е для всех т, то полагают /(х) « » РДх), где к — степень, при которой достигается минимум оценки погрешности: гк = min е т 2 О т • Пример 11.9. Для решения задачи из примера 11.8 воспользуемся схемой Эйткена. Здесь (как и в примере 11.8) х0 = 1.2, Xj = 1.3, х2 = 1.1, х3 = 1.4, х4 = 1.0. После завершения вычислений табл. 11.9 принимает следующий вид (табл. 11.10). Таблица 11.10 Значения интерполяционных многочленов, вычисляемых по схеме Эйткена, порядка нулевого первого второго третьего 0.182322 0.262364 0.095310 0.336472 0.206335 0.203895 0.199814 0.207067 0.206752 0.207020 Подчеркнутые числа дают те же, что и в примере 11.8, значения РЛ(х), к = 0, 1, 2, 3. Естественно, что теми же окажутся и значения е*. А 3. Интерполяционный многочлен Ньютона с конечными разно- стями. Пусть интерполируемая функция задана на таблице с посто- янным шагом h (т.е. х; = х0 + ihy i = 0, 1, ..., п). В этом случае, используя формулу (11.51) связи между разделенными и конечными разностями и вводя безразмерную переменную t = (х - х0)/Л, многочлен Ньютона (11.52) можно записать в следующем виде: Ду0 ЛДх) = Л.(хо + Л/)=.>'о + — f + ~ f(f~ *) + a3>o ^пУо +/(/-1)(/-2)+...+ /(г-!)...(/-«+1). (1157) 3! п! Многочлен (11.57) называется интерполяционным многочленом Ньютона с конечными разностями для интерполяции вперед. Заметим, что в формуле (11.57) используются только конечные раз- ности, расположенные в верхней косой строке табл. 11.2. Можно использовать конечные разности, расположенные и в нижней косой 379
Глава 11. Приближение функций и смежные вопросы строке табл. И.2, записав многочлен в виде интерполяционного много- ччена Ньютона с конечными разностями для интерполяции назад'. V У„ ?1 2У„ рпМ = р„(*„+ Л?)=у„ + — ч + — ч(ч +1) + V3v Vny + Ч(Ч + 1)(? + 2) + ...+ —г2 q(q + 1).. {q + n- 1), (11.58) 3’ л. где q = (х - xn)/h. § 11.10. Обсуждение глобальной полиномиальной интерполяции. Понятие о кусочно-полиномиальной интерполяции Пусть функция интерполируется на отрезке [а, Л]. Метод решения этой задачи с помощью интерполяции единым для всего отрезка мно- гочленом Рп(х) называют глобальной полиномиальной интерполяцией. При первом знакомстве с интерполяцией этот подход кажется привле- кательным. В самом деле, неплохо иметь один многочлен, пригодный для приближения функции f во всех точках х е [а, Л]. В то же время известные результаты теории аппроксимации позволяют надеяться на то, что удастся приблизить функцию с любой требуемой точностью е с помощью соответствующего выбора степени многочлена и узлов интер- поляции на отрезке [а, Л]. Приведем один такой классический результат. Теорема 11.6 (аппроксимационная теорема Вейерштрасса1). Пусть функция f непрерывна на отрезке [а, 6]. Тогда для любого е > 0 существует полином Рп(х) степени п - и(е) такой, что Замечание. В формулировке теоремы Вейерштрасса нет информации о том, как построить многочлен Рп. Данное в 1912 г. С.Н. Бернштейном2 изящное доказательство этой теоремы дает явную формулу для приближающего многочлена. 1 Карл Теодор Вильгельм Вейерштрасс (1815—1897) — немецкий математик, один из основоположников современного математического анализа и теории аналитических функций. 2 Сергей Натанович Бернштейн (1880—1968) — советский математик. Родился в Одессе, получил образование в Париже, работал в Харькове, Ленинграде и Москве. Полу- чил ряд фундаментальных результатов по теории дифференциальных уравнений, теории приближения функций и теории вероятностей. 380
§ 11.10. Обсуждение глобальной полиномиальной интерполяции W = У /(х*)С>( 1 , t=х—1, ь~а использующую значения функции f в точках хк = а + (Ь -а) К сожалению, этот способ приближения приводит к многочле- нам очень высокой степени и для практического использования, как правило, не пригоден. Отметим также, что многочлен Берн- штейна не является интерполяционным. Существуют весьма веские причины, по которым глобальная интер- поляция многочленами высокой степени в вычислительной практике, как правило, не применяется. Обсудим некоторые из этих причин. 1. Сходимость при увеличении числа узлов. Всегда ли можно добиться повышения точности интерполяции благодаря увеличению числа узлов (и соответственно степени п интерполяционного много- члена)? Хотя положительный ответ на этот вопрос напрашивается сам собой, не будем торопиться с выводами. Уточним постановку задачи. Для того чтобы реализовать процесс интерполяции функции f многочленами возрастающей степени и, необ- ходимо указать стратегию выбора при каждом п набора узлов интерпо- (л) (л) (л) ~ ляции х0 ,Х] ,. ..,х„ . Такая стратегия задается указанием интерполя- ционного массива — треугольной таблицы „(«) v(«) J") „(") Xq X । X 2 • • • Хп , в каждой строке которой все х;л) различны и х,л) е [а, Л]. Будем говорить, что при заданной стратегии выбора узлов метод интерпо- ляции сходится, если max |/(х)-Рп(х)| —► 0 при п —► сю. Рассмотрим сначала простейшую стратегию, состоящую в равно- мерном распределении на отрезке [а, />] узлов интерполяции, т.е. в выборе х-л) = а + ih (i = 0, 1,.. ., п), где h = (b - а)/п. Следующий 381
Глава 11. Приближение функций и смежные вопросы пример показывает, что такая стратегия не может обеспечить сходи- мость интерполяции даже для очень гладких функций. Пр и мер 11.10 (пример Рунге1). Используем глобальную полино- миальную интерполяцию с равномерным распределением узлов для приближения на отрезке [-1, 1] следующей функции: Дх) =---—(11.59) 1 + 25х2 Вычисления показывают, что при больших п интерполяция дает пре- восходные результаты в центральной части отрезка. В то же время вопреки ожиданиям последовательность Рп(х) расходится при п —► оо для 0.73 £ |х | < 1. Соответствующая иллюстрация приведена на рис. 11.5. ▲ Равномерное распределение узлов интерполяции для функции Рунге (11.59) оказалось неудачным. Однако проблема сходимости для этой функции исчезает, если в качестве узлов интерполяции брать корни многочлена Чебышева Тп+ ](х). Существует ли единая для всех непре- рывных на отрезке [а, Л] функций f стратегия выбора узлов интерпо- ляции, гарантирующая ее сходимость? Отрицательный ответ на этот вопрос дает следующая теорема. Теорема 11.7 (теорема Фабера2). Какова бы ни была стратегия выбора узлов интерполяции, найдется непрерывная на отрезке [а, Л] функция / для которой max |/(х) - Рп(х) | —► оо При п —► оо. Теорема Фабера отрицает существование единой для всех непре- рывных функций стратегии выбора узлов интерполяции. Однако для гладких функций (а именно такие функции чаще всего и интерполи- руются) такая стратегия существует, о чем говорит следующая теорема. Теорема 11.8. Пусть в качестве узлов интерполяции на отрезке [а, 6] выбираются чебышевские узлы (11.43). Тогда для любой непре- рывно дифференцируемой на отрезке [а, Л] функции f метод интерпо- ляции сходится. 1 Карл Давид Тольме Рунге (1856—1927) — немецкий физик и математик. Историче- скую справку о его жизни и деятельности см. в [54]. 2 Жорж Фабер (1877—1966) — швейцарский математик. 382
§ 11.10. Обсуждение глобальной полиномиальной интерполяции Замечание. Практическая реализация стратегии выбора узлов интерполяции (11.43) возможна и оправдана в довольно редких случаях и просто невозможна тогда, когда приходится иметь дело с заданной таблицей значений функции. 383
Глава 11. Приближение функций и смежные вопросы 2. Чувствительность интерполяционного многочлена к погреш- ностям входных данных. Помимо погрешности, которая возникает от приближенной замены функции f интерполяционным многочленом, возникает еще дополнительная погрешность, связанная с тем, что зна- чения интерполируемой функции также задаются с погрешностью. Пусть заданные в узлах х; значения у* содержат погрешности е;. п Тогда вычисляемый по этим значениям многочлен Pfix) = £ у] lnfix) >0 содержит погрешность Рл(х)-Рл*(х) = ^е./л7(х). (11.60) ;=о Например, при линейной интерполяции по приближенно заданным значениям справедливо равенство Pfix) - Pf(x) = £0/10(х) + Ej/nCx), где Воспользуемся тем, что |/l0(x)| + |/н(х)| = 1 для х € [х0, xj. Следова- тельно, max |Р,(х)-Р*(х)| <max{|E0|, |е,|}. [Xq.xJ Таким образом, при линейной интерполяции погрешность, возни- кающая вследствие погрешности значений функции, не превосходит верхней границы погрешности этих значений. Рассмотрим общий случай. Пусть известно, что верхняя граница погрешности значений у* равна Д(у*), т.е. |£;-| < Д(у*) для всех i = = 0, 1, ..., п. Тогда для верхней границы соответствующей погрешности интерполяционного многочлена Д(Р*) = тах |Рп(х) - Р*(х) | в силу [а, Ь] равенства (11.60) справедлива оценка д(р;)<л„д(/). (Н.61) 384
§ 11.10. Обсуждение глобальной полиномиальной интерполяции п Здесь Лп = max Y|/ -(х)| — величина, которую называют кон- [а'Ь]М) стантой Лебега I Замечание. Если |ej = Д(у*) для всех i, то с помощью выбора знаков погрешностей £; можно добиться выполнения равенства Д(Р*) = А„ Д(у*). Это означает, что в самом неблагопри- ятном случае погрешность входных данных при интерполяции может возрасти в Лп раз. Таким образом, в задаче интерполирования константа Лебега играет роль абсолютного числа обусловленности. Величина Ля не зависит от длины отрезка [а, 6], а определяется лишь относительным расположением узлов на нем. Для того чтобы показать это, приведем отрезок [а, 6] к стандартному отрезку [-1, 1] с „ - а + b b — а а + b помощью линейного преобразования х = —— + —t. Тогда х; = —— + Ь — а _ _ + —и константа Лебега приводится к виду п - - (/-/J ЛИ = max у I / (01, где /п/0 = ГГ 7—Д • н.прй МЦ-'*) Естественно поставить задачу о таком оптимальном выборе узлов интерполяции, при котором величина Лп оказалась минимально воз- можной. Для малых значений п эту задачу решить нетрудно. При п = 1 выбор r0 = -1, = 1 дает At = 1. При п = 2 оптимальное значение Л2 = = 5/4 достигается, например, при r0 = -1, tx = 0, t2 = 1. В общем случае оптимальный выбор узлов неизвестен. Установлено, однако, что почти оптимальным является выбор в качестве узлов интерполяции нулей 2 многочлена Чебышева Тп + При таком выборе Лп » - 1п(и + 1) + 1. С рассматриваемой точки зрения крайне неудачным при больших п является выбор равноотстоящих узлов интерполяции. При таком выборе Лп > —-------~ для и > 4 и обусловленность задачи резко ухуд- (2и — I )Jn 1 Анри Леон Лебег (1875—1941) — французский математик, один из создателей современной теории функций вещественной переменной и теории интегрирования. 385
Глава 11. Приближение функций и смежные вопросы шается с ростом п. Сказанное позволяет сделать важный вывод: в вычислениях не следует использовать интерполяционные многочлены высокой степени с равноотстоящими узлами. 3. Обусловленность задачи вычисления многочлена, с прибли- женно заданными коэффициентами. Обратим внимание на еще один потенциальный источник потери точности при использовании много- членов Рп(х) высокой степени. Для определенности будем считать, что многочлен вычисляется на отрезке [а, Ь]9 где |л| < Ь, причем предвари- тельно он представлен в виде п РП(Х)=Ха^к(Х)- к=0 (11.62) Здесь {ф/х)}”=0 — некоторый набор базисных многочленов фДх), обладающий тем свойством, что всякий многочлен Рп(х) степени п может быть однозначно представлен в виде (11.62). Например, можно использовать степенной базис {х*}£=0, нормированный степенной базис локальный степенной базис « х — дА I b — а) I ^=0 чебышевский базис т ~ (д + (Ь-а)/2 Л п , лагранжев базис {/„*(х)}£=0 (см. § 11.3) и т.д. k=Q При вычислении коэффициентов ак неизбежны погрешности, приво- дящие к приближенным значениям ак. Поэтому в действительности будет вычисляться многочлен п Рп(х)=Ха*<рк(х)- к=0 Примем за относительную погрешность вектора а* = а*)т величину 5 (в*) = max | а- - а- | / max | а-1 , 0 < i <,п 0 £ / а за относительную погрешность многочлена Р*(х) — величину 8(Р*) = тах |Р(х)-Р*(х)|/тах |Р„(х)| . [а, Л] [а, 6] 386
§ 11.10. Обсуждение глобальной полиномиальной интерполяции Числом обусловленности задачи вычисления многочлена с прибли- женно заданными коэффициентами назовем величину condn, равную минимальной из постоянных Кп, для которых выполняется неравенство 8(Р;> < К„8(а‘). Величина condn характеризует чувствительность вычисляемых зна- чений многочлена к погрешностям в коэффициентах ак и существенно зависит от выбора базиса {<р*(х) }£=0. Неудачный выбор базиса может сделать эту, казалось бы, элементарную задачу очень плохо обуслов- ленной. Доказано, например, что даже для вполне «разумного» локального степенного базиса ► - к=0 число обусловленности оценивается снизу величиной Гп(3). Как видно из табл. 11.11, использо- вание указанного базиса для представления многочленов высокой степени сопряжено с опасностью значительной потери точности. Таблица 11.11 п 1 2 3 4 5 6 7 8 9 ЛР) 3 17 99 577 3363 19601 114243 665857 3880899 Отметим, что для чебышевского базиса condn < </2 (п + 1)- Для лагранжева базиса число обусловленности совпадает с константой Лебега Ап. Напомним, что при почти оптимальном выборе узлов интер- 2 поляции Аи « - 1п(и + 1) + 1. Итак, глобальная полиномиальная интерполяция многочленом высокой степени может привести к неудаче или оказаться неэффек- тивной. Альтернативный подход состоит в локальной интерполяции, когда функция f аппроксимируется интерполяционным многочленом Рп(х) невысокой степени т на содержащемся в [а, Ь] отрезке [а, Р] малой длины. Естественно, что при этом используется лишь часть таб- личных значений. Рассмотрим два подхода к приближению функции, основанные на локальной интерполяции. 4. Интерполирование с помощью «движущегося» полинома. Строят набор полиномов Р(0 ,.т), Р(12.т + п,..P(„_m.n_m + t..n) фиксированной степени т, каждый из которых совпадает с табличными значениями в т + 1 последовательных точках. Каждый такой полином используют для приближения функции в тех точках х из отрезка [а, Л], для которых выбранные узлы таблицы являются ближайшими. 387
Глава 11. Приближение функций и смежные вопросы Пример 11.11. Пусть функция задана следующей таблицей (табл. 11.12): Таблица 11.12 / 0 1 2 3 4 х. 0 1 2 3 4 V' 1.0 1.8 2.2 1.4 1.0 Для интерполяции этой функции воспользуемся «движущимся» полиномом второй степени. Заметим, что при х е [0.0, 1.5] для прибли- жения используется многочлен Р(0 j 2)(х), при х е [1.5, 2.5] — мно- гочлен Р(1 2 з)(х), при х е [2.5, 4.0] — многочлен Р(2 3 4)(х). Соответст- вующая геометрическая иллюстрация приведена на рис. 11.6. Заметим, что полученная таким способом аппроксимирующая функция имеет разрывы в точках х = 1.5 и х = 2.5. ▲ 5. Кусочно-полиномиальная интерполяция. Исходный отрезок [а, /)] разбивают на несколько отрезков меньшей длины, на каждом из которых функция интерполируется своим многочленом. Пр имер 11.12. Для интерполяции функции из примера 11.11 используем кусочно-полиномиальную интерполяцию. На отрезке [0, 2] аппроксимируем функцию многочленом Р<0 j 2)(х), а на отрезке [2, 4] — многочленом Р(2 3 4)(х). Соответствующая геометрическая иллюст- рация приведена на рис. 11.7. Заметим, что результирующая аппрокси- мирующая функция непрерывна, но в точке х = 2 график ее имеет излом, соответствующий разрыву первой производной. ▲ Заметим, что интерполяцию «движущимся» полиномом можно рас- сматривать как частный случай кусочно-полиномиальной интерполяции. 388
§11.11. Интерполяция сплайнами Как следует из оценки (11.30), метод кусочно-полиномиальной интерполяции при использовании многочленов фиксированной степени т имеет (т + 1)-й порядок точности относительно Лтах. § 11.11. Интерполяция сплайнами 1. Определение сплайна. Проведенное выше обсуждение интерпо- ляции показывает, что повышение точности приближения гладкой функции благодаря увеличению степени интерполяционного много- члена возможно (см. теорему 11.8), но связано с существенным повы- шением сложности вычислений. К тому же использование многочленов высокой степени требует специальных мер предосторожности уже при выборе формы их записи, и вычисления сопровождаются накоплением погрешностей округления. Поэтому на практике предпочитают кусочно- полиномиальную интерполяцию с использованием многочленов невы- сокой степени. Однако этот способ приближения имеет недостаток: в точках «стыка» двух соседних многочленов производная, как правило, имеет разрыв (см. пример 11.12). Часто это обстоятельство не играет существенной роли. Вместе с тем нередко требуется, чтобы аппроксими- рующая функция была гладкой и тогда простейшая кусочно-полиноми- альная интерполяция становится неприемлемой. Естественная потребность в наличии аппроксимирующих функций, которые сочетали бы в себе локальную простоту многочлена невы- сокой степени и глобальную на всем отрезке [а, Л] гладкость, привела к появлению в 1946 г. так называемых сплайн-функций или сплайнов — специальным образом построенных гладких кусочно-многочленных функций. Получив в 60-х годах XX в. распространение как средство интерполяции сложных кривых, сплайны к настоящему времени стали важной составной частью самых различных вычислительных методов и нашли широчайшее применение в решении разнообразных научно- технических и инженерных задач. 389
Глава 11. Приближение функций и смежные вопросы Дадим строгое определение сплайна. Пусть отрезок [а, Л] разбит точками, а = х^< < ... < хп = b на п частичных отрезков [х-_ h х;]. Сплайном степени т называется функция Sm{x), обладающая сле- дующими свойствами: 1) функция Sm{x) непрерывна на отрезке [а, Л] вместе со всеми своими производными S^\x)9 S^\x), ...,Sm\x) до некоторого порядка/?; 2) на каждом частичном отрезке [х- _ р xj функция Sm{x) совпадает с некоторым алгебраическим многочленом Рт ;(х) степени т. Разность т-р между степенью сплайна и наивысшим порядком непре- рывной на отрезке [а, /?] производной называется дефектом сплайна. Простейший пример сплайна дает непрерывная кусочно-линейная функция (рис. 11.8), являющаяся сплайном первой степени {линейным сплайном) с дефектом, равным 1. Действительно, на отрезке [а, 6] сама функция 5](х) (нулевая производная) непрерывна. В то же время на каждом частичном отрезке ^(х) совпадает с некоторым многочленом первой степени. Наиболее широкое распространение на практике получили сплайны 53(х) третьей степени {кубические сплайны) с дефектом, равным 1 или 2. Такие сплайны на каждом из частичных отрезков [х- h х-] совпадают с кубическим многочленом: S3(x) = Р3, ХХ) = ai + *Хх - х; - 1) + с£х - X; _ , )2 + J;(x - X; _ ))3 (11.63) и имеют на отрезке [a, Z>] по крайней мере одну непрерывную произ- водную 53(х). Термин «сплайн» происходит от английского слова «spline» (гибкая линейка, стержень) — названия приспособления, использовавшегося чертежниками для проведения гладких кривых через заданные точки. Если гибкую стальную линейку поставить на ребро и, изогнув, зафикси- ровать ее положение в узловых точках (рис. 11.9), то получится механи- 390
§11.11. Интерполяция сплайнами ческий аналог кубического сплайна. Из курса сопротивления мате- риалов известно, что уравнение свободного равновесия профиля 5(х) линейки таково: S^(x) = 0. Следовательно, в промежутке между двумя соседними узлами 5(х) представляет собой многочлен третьей степени. В то же время отсутствие у линейки изломов свидетельствует о непрерывности касательной к графику функции S(x) и кривизны, т.е. непрерывности производных S'(x) и S"(x). 2. Интерполяционный сплайн. Пусть функция у = /(х) задана таб- лицей своих значенийу- = /(х;), i = 0, 1, ..., п. Сплайн Sm(x) называется интерполяционным, если Sm(xj) = у- для всех i = 0, 1, ..., п. Значение 5; = S^(xz) называется наклоном сплайна в точке х;. Заметим, что на отрезке [х- _ h х-] интерполяционный кубический сплайн однозначно определяется заданием значений у; _ h у;, s{ _ h s-. В самом деле, из равенства (11.31) вытекает следующая формула: р ,, (*-*,)2(2(х-х,_|)+Л;) (х-Х;_1)2(2(х;-х)+й.) $з(х)=рз. ,(х)=---------з---------у,-1 +----------5--------У: + й Л гдеЛ^-х,.,. Формулу (11.64) можно записать более компактно 5з(х;-1 + ^;) = Рз,<х,._1 +/Л,.) = = (1 - f)2(2t + 1)^, _ I + /2(3 - 2t)y; + (1 - t)2th;s;_ ! + t2(t - WiS,, используя локальную переменную t = (х - x-)lh-. Различные методы интерполяции кубическими сплайнами отли- чаются один от другого способом выбора наклонов sr Обсудим неко- торые из них. 391
Глава 11. Приближение функций и смежные вопросы 3. Локальный сплайн. Если в точках xt известны значения произ- водной у\ =f'(x^ то естественно положить з- = у- для всех i = 0, 1, ..., л. Тогда на каждом частичном отрезке [х- _ h х-] в соответствии с фор- мулой (11.64) сплайн однозначно определяется значениями у{ _ b yh yj_], У; (поэтому его и называют локальным сплайном). Заметим, что он совпадает с кубическим интерполяционным многочленом Эрмита (11.31) для отрезка [х; _ j, х;]. Из неравенства (11.33) получается следующая оценка погрешности интерполяции локальным кубическим сплайном: max |/(х)-53(х)| <— hmax, (11.65) [а, 6] где Amav = max h; — максимальная из длин частичных отрезков. ГП<1А . I * I </£ п Заметим, что для построенного указанным образом сплайна можно гарантировать непрерывность на отрезке [а, />] только функции 53 и ее первой производной S'3, т.е. его дефект равен 2. Существуют и другие способы выбора коэффициентов приво- дящие к локальным сплайнам (кубический многочлен Бесселя1, метод Акимы и др. [18]). 4. Глобальные способы построения кубических сплайнов. Для того чтобы сплайн S3(x) имел непрерывную на отрезке [а, />] вторую производную S3(x), необходимо выбирать наклоны st так, чтобы в точках X; «стыка» многочленов Р3 ; и Р3 ; + । совпадали значения их вторых производных: pv(x;) = pv+i(x;)> '= 1.2,1. (11.66) Пользуясь формулой (11.64), находим значение 2s- , 4s, У:~У;_\ Р'з,№ = + 77 -6 • 01 -67) Из подобной формулы, записанной для многочлена Р3 /+ ,» имеем 1 Фридрих Вильгельм Бессель (1784—1846) — немецкий астроном. 392
§11.11. Интерполяция сплайнами Таким образом, равенства (11.66) приводят к следующей системе уравнений относительно коэффициентов s-: +й;'+1)5; + Л7’+1«;+ I = 3 [Лу2(>; — _ ,) + + ,(У;+ । -У;)], 1=1,2,.. „л-1. (11.69) Заметим, что эта система уравнений недоопределена, так как число уравнений системы (равное п - 1) меньше числа неизвестных (равного п + 1). Выбор двух оставшихся уравнений обычно связывают с неко- торыми дополнительными условиями, накладываемыми на сплайн в граничных точках а и b (граничными условиями). Укажем на некоторые из наиболее известных граничных условий. 1°. Если в граничных точках известны значения первой произ- водной f'(a) и f(b\ то естественно положить 50=/(а), sn=f'(b). (11.70) Дополняя систему (11.69) уравнениями (11.70), приходим к системе уравнений с трехдиагональной матрицей, которая легко решается методом прогонки (см. гл. 5). Полученный таким образом сплайн назы- вается фундаментальным кубическим сплайном. 2°. Если в граничных точках известны значения второй произ- водной /"(л) и fib), то можно наложить на сплайн граничные условия Sj(a)=Pj t(x0) =f"(a), Sj(b) = PJ„(х„) =f"(b), что приводит к еле- дующим уравнениям: 4s0 2s} у. -у0 -^--^ + 6^-° (П.71) Л1 Л1 h\ =f"(b) (11.72) hn hn h2 (достаточно в равенстве (11.68) взять i = 0, а в равенстве (11.67) i = п). 3°. Полагая в уравнениях (11.71), (11.72) f"(a) = O,f"(b) = 0 (неза- висимо от того, выполнены ли эти условия для интерполируемой функции), приходим к системе уравнений, определяющих так назы- ваемый естественный кубический сплайн. 4°. Часто нет никакой дополнительной информации о значениях производных на концах отрезка. Один из применяемых в этой ситуации подходов состоит в использовании условия «отсутствия узла». Выбор наклонов st производят таким образом, чтобы для получаемого сплайна выполнялись условия Р3 j(x) S Р3 2(х), Р3 п _ j(x) = Р3 л(х). Для этого 393
Глава 11. Приближение функций и смежные вопросы достаточно потребовать совпадения в точках Xj и хп _ j соответст- вующих третьих производных: 1 (*1) = . Рз.^ 1 (Хп - 1) = Рз.}^л - 1) • Эквивалентные алгебраические уравнения выглядят так: 2Л]3О'0-У1) + й72(50 + ^1) = 2Л23О'1 -у2) + Л22(«1 +s2). (И-73) 2С 1<УЛ-2-Уп- 1) + Ли2- 1Оя-2 + *п- 1) = = 2h-„3(yn^-y„) + h;2(Sn^+S„). (11.74) Та же аппроксимирующая функция может быть получена несколько иначе. Уменьшим число частичных отрезков, объединив попарно отрезки [х0, xj, [Xj, х2] и [х„ _2, хп_ j], [х„_ ь хи]. Это отвечает разбиению отрезка [а, Л] точками а = xQ<x} < ... <х п_2 = Ь, где х. = х. + , для i = 1,2, ..., п - 3, и построению соответствующего интерполяционного сплайна 53(х). Условия «отсутствия узла» эквивалентны требованию совпа- дения значений сплайна 53(х) в точках Xj и хп_ j со значениями у1 и Уп-v 5°. Если f— периодическая функция с периодом, равным b - а, то систему (11.69) следует дополнить условиями hn' (sn -1 + 2sn)+ Л11 (2«0 + 51) = 3 -Уп - 1) + Л12Си - J'o)] • Существуют и другие подходы к заданию граничных условий (под- робнее об этом см. [18]). Пр и мер 11.13. Для функции, заданной табл. 11.12, построим (есте- ственный) кубический сплайн. В этом случае система уравнений для наклонов) 50, 5j, ..., 54 в точках х0, xh ..., х4 записывается следующим образом: 50 = -O.5sj + 1.2, (И.75) 50 + 4$j + s2 = 3.6, (11.76) Sj + 4s2 + S3 =-1 2, (11.77) s2 + 4s3 + 54 = -3.6, (11.78) s4 = —0.5$3 — 0.6. (11.79) Решая ее, получаем значения s0 = 57/70, Sj = 54/70, s2 = -3/10, s3 = = -54/70, s4 = -3/14. Теперь на каждом частичном отрезке значения 394
§11.11. Интерполяция сплайнами сплайна можно вычислить по формуле (11.64). Соответствующий график приведен на рис 11.10 (ср. с рис. 11.6 и 11.7). ▲ Пр и мер 11.14. Интерполируем функцию, заданную табл. 11.12, кубическим сплайном, используя условие «отсутствия узла». В этом случае уравнения (11.76)—(11.78) останутся прежними, а уравнения (11.75) и (11.79) заменяются следующими: $о-$2 = О-8, 52-54 = -0.8. (11.80) Решая систему (11.76)—(11.78), (11.80), получаем значения 50 = 8/15, = 5/6, s2 =-4/15, 53 = -29/30, s4 = 8/15. График соответствующего сплайна мало отличается от графика, изображенного на рис. 11.10. ▲ 5. Погрешность приближения кубическими сплайнами Теорема 11.9. Пусть функция f имеет на отрезке [а, 6] непре- рывную производную четвертого порядка и Мл = max |/(4\х) | . Тогда для интерполяционного кубического сплайна 53(х), удовлетворяющего граничным условиям типов 1 °, 2°, 4° или 5° (последнее — для случая периодической функции)^ справедлива следующая оценка погрешности'. max |/(x)-S3(x)| <CM4hAmm. (11.81) [а, *>] Заметим, что сплайн 53 не только сам аппроксимирует функцию /, но его производные 53, 53,533) приближают соответствующие произ- водные функции f Сформулируем соответствующую теорему в наи- более простом случае, когда таблица задана с постоянным шагом h. Теорема 11.10. При выполнении условий теоремы 11.9 для ука- занных в ней сплайнов справедливы неравенства max |/^)(x)-S^)(x)| <CkMJi*~k, k= 1,2,3. (11.82) Ю] 395
Глава 11. Приближение функций и смежные вопросы Замечание 1. Естественный кубический сплайн обладает сле- дующим замечательным минимальным свойством. Он дает мини- мум функционалу «энергии» ь •Ag)= Jlg"Wl2 dx а на множестве всех функций g, которые непрерывно дифференцируемы на отрезке [а, Л], имеют кусочно-непрерывную на отрезке [a, Z>] вто- рую производную и удовлетворяют условиям g(x;) = у-, 0 < i < п. Замечание 2. Благодаря большей простоте записи, указан- ному выше минимальному свойству и благозвучному названию естественные сплайны получили значительное распространение. Однако искусственное наложение условий f"(a) - O,f"(b) = 0 при интерполяции функций, которые этим условиям не удовлетворяют, приводит к значительной потере точности. Вместо четвертого порядка точности (как локальный кубический сплайн или кубиче- ские сплайны с граничными условиями типов 1°, 2°, 4°, 5°) естест- венный сплайн обладает лишь вторым порядком точности. Если использование естественного сплайна не вызвано какими-то спе- циальными причинами, то следует, по-видимому, отказаться от него в пользу кубического сплайна с граничным условием типа 4°. § 11.12. Понятие о дискретном преобразовании Фурье и тригонометрической интерполяции 1. Дискретное преобразование Фурье. В прикладных исследо- ваниях широко используются различные варианты преобразования Фурье1 функций непрерывного аргумента, а также представление функций в виде сходящихся тригонометрических рядов (рядов Фурье). Известно, например, что всякая непрерывно дифференцируемая перио- дическая с периодом 1 функция f может быть разложена в ряд Фурье: /(х) = £ а* ехр(2л/Лх). (11.83) Аг=-ОО Здесь i — мнимая единица. Коэффициенты разложения вычисляются по формулам 1 ак = J/(x) ехр{-2л/£х} dx. (11.84) о 1 Жан Батист Жозеф Фурье (1768—1830) — французский математик, один из осново- положников математической физики 396
§ 11.12. Понятие о дискретном преобразовании Фурье и тригонометрической интерполяции Однако нередко функция f бывает задана лишь в конечном числе точек Xj = j/N, j = 0, 1, ..., N - 1. В этом случае аналогом формулы (11.83) является разложение вида f(.Xj) = £ в*ехР{2л'Ц}> 0<y<JV. (11.85) 4=0 Заметим, что это разложение имеет место тогда и только тогда, когда тригонометрический многочлен N- 1 ^(x) = £ ехр{2тиЪг} (11.86) 4=0 интерполирует функцию f по ее значениям в точках х;, 0 <j < N. Выше (см. пример 11.2) было доказано, что система функций <рЛ(х) = = ехр{2тпАх}, 0 < к < N ортогональна на множестве точек Xj = j/N, О < j < N, причем (<рЛ, <рЛ) = N. Следовательно, разложение (11.85) дей- ствительно имеет место, причем в силу равенства (11.19) коэффи- циенты ак определяются по формуле 1 N- I а* = Л ^/(х/)ехР{-2л'Лх/}’ 0<*<У. (11.87) /=о Операцию преобразования набора значений /(х0), /(xj), ..., f(xN_ 0 в набор коэффициентов aQi a}i ..., aN_x принято называть прямым дис- кретным преобразованием Фурье, а обратную операцию — обратным дискретным преобразованием Фурье. Осуществление этих операций является важной составной частью многих алгоритмов. Для удобства изложения введем обозначение со = ехр{2я;7У} и пере- пишем формулы (11.85), (11.87) в следующем виде: \-1 f(x}) = £ о*со*у, 0 <>j < N, (11.88) 4=0 I Д'-! *4 = ^ £(11.89) /=0 2. Быстрое дискретное преобразование Фурье. Если вычисления проводить непосредственно по формулам (11.88) и (11.89), то на выпол- нение каждого из преобразований потребуется примерно N2 арифмети- ческих операций. (Здесь под арифметической операцией понимается умножение двух комплексных чисел с последующим сложением. Величины со*' считаются вычисленными заранее.) 397
Глава 11. Приближение функций и смежные вопросы Однако, когда число N не является простым, количество арифмети- ческих операций, требуемых для вычисления по формулам (11.88) и (11.89), можно существенно уменьшить. Поясним сказанное на примере вычислений по формулам (11.88). (Вычисления по формулам (11.89) производятся аналогично с заменой со на со-1.) Пусть N = N}N2, где 2<N},2<NX — целые числа. Представим индекс j виде j =j\N} + у0, где 0 <j\ < N2, 0 < у0 < Nv Положим к = k}N2 + kQi где О < к} < N}9 0 < kQ < N2. Пользуясь тем, что kj = k{j}N + k}JQN2 + k^j и со*,7,ЛГ = 1, имеем со*7 = а/170^^/07. Заменяя в формуле (11.88) сумми- рование по индексу к операцией повторного суммирования по индексам kQ и ки получаем N2 - 1 - I N2 - 1 /(x,) = S E (11.90) ^q=0 jt]=O где ЛГ,-! 2(W = 2 V2V ' (11-91) *j=0 Массив а содержит N чисел и для его вычисления требуется NN} арифметических операций. После того как найдены значения 3(Л0,у0), на вычисления по формуле (11.90) требуется NN2 операций. Таким образом, общее число арифметических операций равно N + N2). Заметим, что достигнута экономия в числе операций, поскольку + N2 < N\N2 = N, как только N > 4. Выигрыша удалось достигнуть благодаря тому, что ока- залось возможным выделить группы слагаемых (11.91), которые используются для вычисления значений /(х;) при различных у, но сами вычисляются лишь однажды. Указанная выше идея развита в алгоритмах быстрого дискретного преобразования Фурье (БПФ)1. Если N = • N2 ... • Nm (где 2 < Ns), то с помощью БПФ можно выполнить дискретное преобразование Фурье за N(N} + N2 + ... + Л^) арифметических операций. Особенно эффек- тивным является этот алгоритм, когда число N является степенью числа 2 1 Наиболее раннее описание БПФ появилось в 1866 г. и принадлежит Гауссу. В тече- ние следующих 100 лет алгоритм был переоткрыт несколько раз. Отправной точкой совре- менного применения БПФ послужила вышедшая в 1965 г. работа Джона Кули и Джона Тьюки, поэтому иногда этот алгоритм называют алгоритмом Кули—Тьюки. Интересную историю открытия БПФ и полезное обсуждение различных его аспектов можно найти в [54], см. также [9]. 398
§11.12. Понятие о дискретном преобразовании Фурье и тригонометрической интерполяции (т.е. N = 2т). В этом случае вместо N2 операций требуется выполнить лишь 2Nlog2N операций. Например, для N = 1024 = 23 * * * * * * 10 этот алгоритм позволяет ускорить вычисления в A7(21og2A9 = 1024/20 » 50 раз. Замечание 1. В случае, когда число N не является степенью двойки, также существует возможность выполнения БПФ за O(/Vlog2TV) арифметических операций [12*]. Широкое внедрение алгоритма БПФ в практические вычисления привело к подлинной революции во многих областях, связанных с обра- боткой числовой информации. Программы, реализующие различные варианты этого алгоритма, входят в стандартное математическое обеспе- чение компьютеров и доступны массовому пользователю. Замечание 2. Часто разложение (11.85) записывают в эквива- лентном виде: f{x})= L ехр < 2п'Ч J * -N/2 <к<> N/2 что соответствует интерполяции тригонометрическим многочленом SN(x) = £ ак exp{2nikx}. (11.92) -N/2<k<N/2 Здесь коэффициенты ак по-прежнему задаются формулой (11.87), но для -N/2 < к< N/2. Замечание 3. Хотя интерполяционные тригонометрические многочлены (11.86), (11.92) и совпадают в точках Xj, они прини- мают существенно разные значения в точках х, отличных от узло- вых. Для интерполяции предпочтительней формула (11.92). 3. Тригонометрическая интерполяция. Рассмотрим кратко задачу интерполяции функции/, заданной в точках 0 < х0 < Xj < ... < xN_ { < 1 тригонометрическим многочленом (11.92). К ней приводит, например типичная радиотехническая задача о тригонометрической интерпо- ляции периодического сигнала. Не вдаваясь в довольно сложную проблему оценки погрешности три- гонометрической интерполяции, отметим тем не менее, что для гладкой периодической с периодом 1 функции f есть основание рассчитывать на выполнение приближенного равенства /(х) ® SN(x) для всех х е [0, 1]. Рассмотрим важный вопрос о чувствительности многочлена SN к погрешностям в исходных данных. Пусть значения у* « /(х;) интер- полируемой функции задаются с погрешностями ez и известно, что 399
Глава 11. Приближение функций и смежные вопросы |Е;| < Д(у*) для 1 = 0, 1, N- 1. Тогда вычисляемый по значениям у* тригонометрический интерполяционный многочлен 5* содержит погрешность. Для нее справедлива оценка Д(5^) = тах |5„(x)-5yv(x)| <Лд,Д(/), аналогичная оценке (11.61) для алгебраических многочленов. Здесь An — постоянная, являющаяся аналогом константы Лебега AN. Примечательно то, что в отличие от задачи интерполяции алгебраи- ческими многочленами (см. § 11.10) оптимальным (т.е. дающим мини- мальное значение AN ) является равномерное распределение узлов, ~ 2 которому отвечает значение Av ® - ln[(7V+ 1 )/2]. Таким образом, при тригонометрической интерполяции выбор узлов Xj = j/N (0 < j < N) является наиболее естественным с точки зрения как простоты вычисления коэффициентов многочлена (быстрое дискретное преобразование Фурье), так и минимизации влияния ошибок исходных данных. § 11.13. Метод наименьших квадратов Задача наименьших квадратов возникает в самых различных областях науки и техники. Например, к ней приходят при статисти- ческой обработке экспериментальных данных с помощью регресси- онного анализа. В инженерной деятельности задача наименьших квад- ратов используется в таких областях, как оценивание параметров и фильтрация. 1. Линейная задача наименьших квадратов. Пусть функция у = = /(х) задана таблицей приближенных значений Д',-«Л*/), / = 0, 1,...,и, (11.93) полученных с ошибками е,- = у- -yi9 где у? = Дх,). Если значения у; получены из эксперимента, то ошибки носят случайный характер и часто уровень погрешности («шума» таблицы) бывает значительным (рис. 11.11, а). Предположим, что для аппроксимации функции f используется линейная модель: У = фт(х) 3 аоФоМ + «|Ф1М + ••• + <VPmW, (11.94) 400
§ 11.13. Метод наименьших квадратов здесь <р0(х), (р/х), <pw(x) — заданные базисные функции1; а0, at, ... ..,ат — параметры модели, являющиеся коэффициентами обоб- щенного многочлена Фт(х). Как уже отмечалось выше, одной из наиболее простых и часто используемых линейных моделей вида (11.94) (при <р*(х) = хк) является полиномиальная модель у = Рт(х) = а0 + аух + ... +атхт. (11.95) Когда уровень неопределенности исходных данных высок, неестест- венно требовать от модели (11.94) выполнения условий (11.7) совпа- дения значений обобщенного многочлена Фт(х) в точках х;-, с заданными значениями yif т.е. использовать интерполяцию. Как нетрудно видеть (см. рис. 11.11,6), при интерполировании происходит повторение ошибок наблюдений, в то время как при обработке экспе- риментальных данных желательно, напротив, их сглаживание. Отказываясь от требования выполнения в точках х{- точных равенств (11.7), следует все же стремиться к тому, чтобы в этих точках выпол- нялись соответствующие приближенные равенства «оФо(*о) + Ф1 (х0) + - + атФт(хо) *Уо> аоФ<)(*1) + а1 Ф1 (*1) + • • • + «тФт(*1) *У\. доФо(хи) + а\Ф1 <Хл) + ••• + яУп- 1 В данном параграфе рассматриваются функции, принимающие только вещественные значения. 401
Глава 11. Приближение функций и смежные вопросы Использовав обозначения (11.9), запишем систему приближенных равенств (11.96) в матричном виде: Ра* у (11.97) Из различных критериев, позволяющих выбрать параметры а0, alt ... ..., ат, модели (11.94) так, чтобы приближенные равенства (11.96) удов- летворялись наилучшим в некотором смысле образом, наиболее часто используется критерий наименьших квадратов. Согласно этому кри- терию параметры выбираются так, чтобы минимизировать среднеквад- ратичное уклонение I i * N 1 /=о т обобщенного многочлена Фт(х) = ^ау-ф7-(х) от заданных табличных ;=о значений vz- (0 < i < п). Заметим, что минимум среднеквадратичного уклонения достигается при тех же значениях а0, ..., ат, что и минимум функции п / т \ 2 _ з(а,У) = Ф7(*,)-У;) = "/Иг • /=0 7=0 причем 8(Фт,/)2 = -^- 5(а,у). Итак, линейная задача метода наименьших квадратов состоит в следующем. Требуется найти (при фиксированном наборе функций Фо» Ф1» •••» Фт) обобщенный многочлен Ф^(х), для которого средне- квадратичное уклонение принимает минимальное значение: 8(<I^,j') = min 8(Фт,>). ф т Искомый обобщенный многочлен Ф^ будем далее называть много- членом наилучшего среднеквадратичного приближения. 2. Нормальная система. Существуют различные подходы к решению поставленной задачи. Простейший из них состоит в исполь- зовании необходимого условия экстремума функции s\ “ = О, k = 0, 1,..., т. (11.98) дак 402
§ 11.13. Метод наименьших квадратов Вычисляя частные производные функции s и изменяя порядок сум- мирования, от равенств (11.98) переходим к системе линейных алгеб- раических уравнений т / п \ п Z k = (11.99) j=0 /=0 1=0 которая называется нормальной системой метода наименьших квад- ратов. Как нетрудно видеть, нормальную систему можно записать в виде РгРа = РТу, (11.100) или, используя матрицу Грама Г = РТР (см. § 11.2) и вводя вектор Ъ = Рту, в виде Га = Ъ. (11.101) Лемма 11.1. Пусть а — решение системы (11.101). Тогда для любого а' = а + &а имеет место равенство s(a',y)=s(a,y) + llPAallj. Доказательство. Имеем s(a\y)= ||Р(а + Да)-jll* = llPa-jdl? + 2(Pa-j>, РДа) + ||РДа||2 = = s(a,y) + 2(РТРа -Рту, Да) + ЦРДаЦ^. Остается заметить, что второе слагаемое в правой части полу- ченного равенства в силу (11.100) равно нулю. Теорема 11.11. Пусть система функций ф0, фр ..., линейно независима в точках х0, хр ..., хп. Тогда многочлен наилучшего средне- квадратичного приближения Ф^т существует и единствен. Доказательство. В силу теоремы 11.1 detT 0. Поэтому решение а системы (11.101) существует и единственно. Таким образом, если многочлен Ф^т существует, то его коэффициенты а0, at, ..., ат определяются единственным образом. Заметим теперь, что согласно лемме 11.1 для любого а' * а имеем s(a\ у) > s(a, у), т.е. на решении а нормальной системы действительно достигается минимум функции s. 403
Глава 11. Приближение функций и смежные вопросы Замечание 1. Если т = п и система функций ф0, фр фп линейно независима в точках х0, хр ..хп, то многочлен , найден- ный методом наименьших квадратов, совпадает с интерполяцион- ным многочленом Фп. В самом деле, Фя(х{) -yt для всех i = 0, 1, ..., п и поэтому 8(ФП, у) - 0. Так как среднеквадратичное уклонение не может быть отрицательным, то Фп — многочлен наилучшего средне- квадратичного приближения. В силу его единственности Фп = Ф^. Замечание 2. Как правило, при использовании метода наи- меньших квадратов предполагается что т « п. В этом случае метод обладает некоторыми сглаживающими свойствами. Очень часто для приближения по методу наименьших квадратов используются алгебраические многочлены степени тп < п. Поскольку система функций 1, х, ..., хт линейно независима в точках х0, хр ..., хп при т < п (см. пример 11.1), в силу теоремы 11.11 алгебраический многочлен наилучшего среднеквадратичного приближения суще- ствует и единствен. Так как в случае приближения алгебраическими многочленами Ф*(х) = хк9 то нормальная система (11.99) принимает следующий вид: b’ZW’ /с=0’1............т- о1102) /=0 /=0 /=0 Запишем систему (11.102) в развернутом виде в двух наиболее простых случаях т = 1 и т = 2. Когда приближение осуществляется мно- гочленом первой степени Р{(х)в а0 + atx, нормальная система имеет вид: (п \ п 'Exi)ai- £ у,> i=0 i=0 / п \ ( п 2\ п tEx'7eo+LExJai= Е у<х< i=0 i=0 i=0 Если же используется многочлен второй степени Р2(х) = а0 + а}х + + а^2, то нормальная система имеет вид: (11.103) 404
§ 11.13. Метод наименьших квадратов / Л X / Л л (п+ l)a0 + (Sx;Ja' +1ЁМа2= Ё У!' i=0 i=0 i=0 л X / л -\ /л.х л XXiJа0 + t£X'Jal + ILX'Ja2 = Ё У-'Х1’ i=0 i=0 i=0 i=0 (11.104) n i\ ( n i\ ( n a\ n ? Ёх--;ао+LZxJai+1Ёх'7а2=Ё y'‘x< i=0 i=0 /'=0 z=0 Пр и мер 11.15. Пусть функция у -f(x) задана следующей таблицей (табл. 11.13): Таблица 11.13 X 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 У 0.21 0.23 0.31 0.29 0.42 0.35 0.58 0.61 0.59 0.66 Используя метод наименьших квадратов, аппроксимируем ее много- членами первой и второй степени и найдем соответствующие средне- квадратичные уклонения 8, и 52. Вычислим коэффициенты и правые части нормальных систем (11.103), (11.104): 9 9 2 9 3 9 4 £xz = 4.5, Yxi = 2-85’ = 2025’ = 1-5333’ /=0 1=0 1-0 1=0 9 9 9 £ У; = 4.25, £ У1Х,- = 2.356, £ у,х, = 1.6154. /=0 i=0 i=0 Для многочлена первой степени нормальная система имеет вид Юб70 + 4.5^! = 4.25, 4.5а0 + 2.8567J = 2.356. Решив ее, получим значения а0 « 0.183, а} » 0.538 коэффициентов многочлена Р((х) = а0 + ахх наилучшего среднеквадратичного прибли- жения. Его график изображен на рис 11.11, в. Запишем теперь нормальную систему для многочлена второй степени: 1Оао + 4.5^! + 2.85б72 = 4.25, 4 5б70 + 2 8567, + 2.025б72 = 2 356, 2.85б70 + 2.02567J + 1.5333б72 = 1.6154. 405
Глава 11. Приближение функций и смежные вопросы Решив ее, получим значения а0 » 1.194, at « 0.452, а2 « 0.0947 коэф- фициентов многочлена Р2(х) = ао + а\х + а2*2 наилучшего среднеквад- ратичного приближения. Вычисления по формуле п * 8т= Ro N i=o для т = 1 и т = 2 дают значения 8j ® 0.0486, 62 ~ 0.0481. Так как средняя погрешность £ исходных данных заведомо пре- вышает 0.01, нетрудно заключить, что приближения многочленами первой и второй степени дают в данной ситуации практически эквива- лентный результат. Учитывая большую простоту использования линейных функций, достаточно, по-видимому, остановиться на при- ближении /(х) « 0.183 + 0.538х. ▲ 3. Некоторые вычислительные аспекты задачи наименьших квадратов. Метод вычисления параметров а0, ..., ат с помощью решения нормальной системы (11.101) кажется весьма привлека- тельным. Действительно, задача сводится к стандартной проблеме линейной алгебры — решению системы линейных алгебраических уравнений с квадратной матрицей. Более того, можно показать, что, когда функции <p0, cpj, ..., фш линейно независимы в точках х0, хр ..., хл, матрица системы Г является симметричной и положительно опреде- ленной. В частности, это означает, что при решении нормальной системы методом Гаусса не нужен выбор главных элементов; возможно также использование метода Холецкого (см. гл. 5). Следует тем не менее обратить серьезное внимание на то обстоя- тельство, что при отсутствии специального выбора базисных функций Фо, ф], ..., фш уже при т 5 нормальная система обычно оказывается очень плохо обусловленной. Казалось бы, из теоремы 11.11 следует, что единственное ограничение на систему базисных функций состоит в том, что она должна быть линейно независима в заданных точках. Однако, будучи формально линейно независимой, система функций Фо, Фр ..., фт может оказаться очень близкой к линейно зависимой. Использование такой «почти линейно зависимой» системы базисных функций делает задачу метода наименьших квадратов плохо обуслов- ленной. При переходе от задачи наименьших квадратов к задаче решения нормальной системы РТРа = Рту происходит как бы симмет- ризация системы Ра ® у (см. § 6.4). При этом еще более ухудшается обусловленность задачи. В этом случае вычисленные на компьютере 406
§ 11.13. Метод наименьших квадратов как решение системы (11.101) параметры модели могут оказаться пол- ностью искаженными ошибками округления. Простейший пример такой «почти линейно зависимой» системы базисных функций при больших т дает система 1, х,..., хт, широко при- меняемая при аппроксимации алгебраическими многочленами. При т 5 соответствующая нормальная система, как правило, здесь настолько плохо обусловлена, что ее использование практически бесполезно. В определенном смысле «наиболее линейно независимой» является система функций (р0, <ph ...» (рш, ортогональных на множестве точек х0, xh ..., хп. Матрица Грама такой системы диагональна, а потому решение нормальной системы (11.101) вычисляется легко: п п ак = bkhkk, У**= £ф*(х;)2, к = 0,1.....т. /=0 /=0 Хотя выбор ортогональной на множестве точек х0, хр ..., хп системы функций и желателен, он далеко не всегда возможен и удобен. Поэтому часто используются системы базисных функций, для которых матрица Грама лишь близка к диагональной. При аппроксимации на отрезке [-1, 1] алгебраическими многочленами степени т пример такой системы дает система многочленов Чебышева Т0(х), Г,(х), ..., Тт(х). Заметим, кстати, что найденный методом наименьших квадратов многочлен Рт(х) = 30Г0(х)+ 3]Г](х) + ... + атТт(х) дает лишь иное, отличное от стандартного (11.95) представление многочлена наилучшего среднеквадратичного приближения. Однако задача определения пара- метров Но, 2|, ..., ат обладает существенно лучшей обусловленностью и поэтому предпочтительнее с вычислительной точки зрения. Существуют методы решения задачи наименьших квадратов, предва- ряющие решение нормальной системы численной ортогонализацией системы базисных функций (см., например, [64, 73]). Однако в настоящее время в серьезной вычислительной практике нормальная система, как правило, не используется. Применяются другие, более надежные методы (учитывающие, например, информацию об уровне погрешности данных и относительной точности используемого компьютера). С одним из таких методов, основанном на сингулярном разложении матрицы Р, можно познакомиться в [54, 106]; см. также § 5.12 данной книги. 4. Понятие о статистических свойствах метода наименьших квадратов. Пусть значения yt функции f в точках хр определяются в результате эксперимента. Предположим, что ошибки наблюдения 407
Глава 11. Приближение функций и смежные вопросы о Ej = у,-у, являются независимыми случайными величинами с нулевым средним значением и дисперсией равной с2, т.е. Л/[е;] = 0, Ие?]=п2 (i = 0, 1, ..., и); (11.105) М[е;е,.] = 0 0*7, « = 0, 1,..., п, j = 0, (11.106) Рассмотрим сначала простейший случай, когда измеряемая величина постоянна, т.е. Дх) = а. В этой ситуации естественно искать приближение в виде постоянной а0. В изложенной выше схеме это соответствует выбору т = 0, <р0(х) = 1 и Ф0(х) = ^о» а нормальная п система превращается в одно линейное уравнение (п + 1)а0 = £ /=0 Таким образом, оценкой постоянной величины а по методу наи- меньших квадратов является среднее арифметическое значение 1 п /=0 т.е. измеренные значения осредняются так, как это принято в статистике. Пусть Да0 = а - aQ — ошибка оценки (11.107). Заметим, что 1 п Да0 = а потому /=о 1 п М[Ьа0] = — УМе;] = 0; "+1 to 1 п п ст2 Я[Д«о] =7^ £ £Л4е;е,.] = —. (11.108) V" 7 ;=о ;=о Итак, математическое ожидание ошибки Да0 равно нулю, причем, как видно из равенства (11.108), ее дисперсия стремится к нулю при п -* оо. Аналогично усредняются случайные ошибки с ростом числа наблюдений и в общем случае. Пусть Ф^(х) = £а“ф/х), Ф^,(х)= £а*<рА(х) — многочлены наи- к=0 k=Q лучшего среднеквадратичного приближения, первый из которых отвечает вектору/0 = ...,у^)Г данных, не содержащих ошибок, а второй вектору у = (у0, yJf уп)Т данных, содержащих случайные ошибки. 408
§ 11.13. Метод наименьших квадратов Положим в0 = (во,а° ...,ат)Т, Да = (Да0, Да,, ..., Да„)г (где Да* = = а*-а*, к = 0, 1, т) и е = (е0, е,, ...,£п)г. Рассмотрим многочлен О т ДФт(*) = (*) - С(*) = £ Д а*<р*(х). к=0 Так как векторы а и а° удовлетворяют системам уравнений Га = РТу, TaQ = PTyQ, то вектор Да является решением системы ГДа = Рге. (11.109) Откуда вытекает равенство Да =Г-,Рге. (11.110) Заметим, что ДФш(х) и Да* — это случайные ошибки значения мно- гочлена С(х) и его коэффициентов ак, вызванные наличием слу- чайных ошибок в исходных данных. Покажем, что эти ошибки имеют нулевое математическое ожидание. Действительно, из формулы (11.110) следует, что Л/[Да] = Г~}РтМ[е] = 0, откуда в свою очередь имеем т М[^ФтМ] = ^М[^ак]^к(х) =0. к=0 Введем величину I 1 " Ч /=0 равную среднеквадратичному значению ошибки ДФт(х). Теорема 11.12. Справедливо равенство Ир2] = ^о2. (или) п + 1 Доказательство. Заметим, что Р2 = 4? (РДв, РДа) = (Да, РгРДа) = = 4т (Г-'Рге, РТе) = 4? (РГ-'Р’-е, е). п + 1 п + 1 409
Глава 11. Приближение функций и смежные вопросы Из определения операции умножения матриц следует, что элемент т т (-1) Т (-1) a-tj матрицы А = РГ'РТ имеет вид а!} = £ £ Av Ум ’ где р‘> ’ /=0 к=0 и p^j — элементы матриц Р, Г”1 и Рт соответственно. Поэтому 1 п п 1 п ^Р21=я— Е EM^,]“ Е^2 = /=0 у=0 /=0 V vfv пТ „ v V V V*-' )Я2 - m + 1 „2. Е LIEРчР")у'* а „ +1 Е Е ° и + 1 * /=0 А=0 /=0 /=0 к=0 п у. здесь ук1= £ PkiPii — элементы матрицы Г. ;=о Замечание 1. Величина Л/[р2] представляет собой среднее по точкам х; значение дисперсии случайной ошибки ДФ/и(х/). Из тео- ремы 11.12 следует, что Л/[р2] -* 0 при п —► оо, т.е. при неограни- ченном росте числа наблюдений среднее значение дисперсии ошибки стремится к нулю. Замечание 2. Равенство (11.111) подтверждает представление о том, что статистические свойства метода наименьших квадратов проявляются при п т, т.е. тогда, когда число наблюдений много больше числа параметров модели. Введем обозначения = 5° =5(ф£,.у0), < = 8(ф£,,.у0). Заметим, что величина dm представляет собой среднеквадратичное укло- нение многочлена наилучшего среднеквадратичного приближения Ф^ (построенного по вектору у исходных данных, содержащих случайные ошибки) от вектора^0 точных значений функции/ которую мы и пытаемся оценить. Именно эту величину следует считать «истинной» мерой погреш- ности. Вычислим математические ожидания величин д2т и d^ . Теорема 11.13. Справедливы равенства И4] = (^)2 + ^тт а2, (11.112) п "Г I Л/[8*] = (8°)2 + ^а2. (11.113) 410
§ 11.13. Метод наименьших квадратов Доказательство. В силу леммы 11.1 имеет место равенство 5(а,^°) = 5(a°,j°) + 1|РД all 2, которое в принятых выше обозначениях примет вид d*m = (8^)2 + р2. Вычислив математическое ожидание и использовав теорему 11.12, получим равенство (11.112). Заметим теперь, что в силу леммы 11.1 справедливо равенство s(a°, у) = s(a,y) + UPAallj. Преобразуем левую часть этого равенства: s(a°,.y) = ll(Pa° - J°) + ell2 = И«° -^°ll2 + 2(Pa° - j°, e) + ||e||\. Таким образом, = •’(«>.>') = (8°)2 +777 ^2_p2 + 7H (Pe°-/°,e). Учитывая, что ЛЯИеНгЗ = УЖ]=(«+1)с!, АДр2] = !Чт °2> ,м> " + | М[(Ра° -у0, е)] = (Ра° -у°, ЛДе]) = О, получаем равенство (11.113). 5. О выборе степени обобщенного многочлена. Пусть функцию f можно аппроксимировать с достаточно высокой точностью е обоб- т щенным многочленом Фт(х) = ^ак<рк(х) некоторой степени т. Если *=о эта степень заранее не известна, то возникает проблема выбора опти- мальной степени аппроксимирующего многочлена Ф^ в условиях, когда исходные данные у{ содержат случайные ошибки Пусть <р0, ф], ..., (рш — фиксированный набор базисных функций, линейно независимых в точках х0, хр ..., хп. Предположим, что и » т, а, ошибки е, удовлетворяют условиям (11.105), (11.106). Будем решать задачу наименьших квадратов для т = 0, 1, 2, ..., постепенно увели- чивая число параметров модели. Отметим, что значения среднеквадра- тичных уклонений 5т и 5^ должны с ростом т убывать. Действительно, 411
Глава 11. Приближение функций и смежные вопросы множество всех многочленов Ф„,. , степени т + 1 включает в себя мно- жество всех многочленов Фт степени т и поэтому 8m^=min 8(Фт+j,j)<min 8(Фт,у) = 8т, т>0; Фт+1 Фт 8°т|= min 8(Фт*!,/)<min 8(Фи,/) = 8® , т>0. Фм, . ф Заметим также, что в силу теоремы 11.13 и закона больших чисел (при п 1) справедливы следующие приближенные равенства: 4 = 8«/)2«(8“)2 + ^^, (11.114) 82=8«»2«(8")2 + ^СТ2. (11.115) Как нетрудно видеть, с ростом т первое слагаемое в правой части равенства (11.114) убывает, а второе возрастает. Поэтому следует ожидать, что величина dm (именно она и характеризует уклонение вычисляемого многочлена Ф^ от функции /) с ростом т должна сначала убывать, а затем, достигнув своего минимума при некотором т - начнет возрастать. Итак, существует оптимальная (в смысле критерия dm) степень аппроксимации ти0. Однако несмотря на то, что увеличивая /и, можно получать все лучшее соответствие многочлена Ф^ с эксперимен- тальными данными, следует иметь в виду, что начиная с т = /п0, мно- гочлен будет все хуже соответствовать приближаемой функции. Выбор оптимальной степени ти0 не представлял бы труда, если бы зна- чения dm можно было вычислять. Однако в действительности прямому вычислению поддаются только значения среднеквадратичного уклонения 8W, анализируя которые мы и должны выбирать степень многочлена. Предположим, что дисперсия с2 (или ее оценка) случайных ошибок е; известна. Пусть также известно, что для некоторого значения т < п воз- можно приближение, для которого 8° « о. Тогда, начиная с этого зна- чения /и, согласно формуле (11.115) с учетом того, что -—- » 1, будет и + 1 иметь место приближенное равенство 8т«о. (11.116) 412
§ 11.13. Метод наименьших квадратов Таким образом, за оптимальное значение степени многочлена следует принять то значение /и, при котором впервые будет выполнено приближенное равенство (11.116). При имеющейся информации лучший выбор вряд ли возможен. Пусть теперь значение с2 дисперсии ошибок £; нам не известно. Зато известно, что функция f либо представляет собой обобщенный мно- гочлен Фт некоторой степени ти0 (и тогда 8^ - с0 = 0 для всех т > ш0), либо же, начиная с некоторого т - увеличение степени многочлена в широком диапазоне значений mQ < т < тх практически не влияет на качество приближения (т.е. 8^ ~ с0 = const для всех ти0 < т < тх). Согласно формуле (11.115) справедливо приближенное равенство 2 Л + 1 л2 И 1 л0 х 2 2 ✓ I 1 I 1 (Т =-----8_«-----(8т) + сг. (11.117) п — т и — т При т > mQ величина, стоящая в правой части этого равенства, при- ближенно равна 1 Cq + с2 и не убывает по т. Это наблюдение п — т позволяет использовать в рассматриваемой ситуации следующее прак- тическое правило выбора: за оптимальное значение степени много- 2 члена следует принять то значение т, начиная с которого величина стабилизируется или начинает возрастать. Пр и мер 11.16. Найдем оптимальную степень алгебраического многочлена для аппроксимации функции, заданной табл. 11.13. Заметим, что фактически оптимальная степень т = 1 уже была найдена при решении примера 11.15. Основанием для такого вывода послужило сравнение среднеквадратичных уклонений 8] « 0.0486 и 82 ~ « 0.0481 с оценкой уровня «шума» таблицы — грубый аналог критерия (11.116). Попробуем получить тот же вывод, использовав значения величин (11.117). Найдем дополнительно Р0(х) = 0.425 и 80 » 0.162. Тогда Qq = = у 6ц» 0.292, Ст| = У 8|« 0.00295, = у 8*« 0.00381. Так как Стц > о, и Qj < с2, то за оптимальное значение степени следует принять т = 1. А 6. Нелинейная задача наименьших квадратов. Часто из физи- ческих или каких-либо других соображений следует, что зависимость У = ftx) между величинами у и х должна хорошо описываться моделью 413
Глава 11. Приближение функций и смежные вопросы вида у = g(x, а), где функция g(x, а) = g(x, а0, ар ат) нелинейно зависит от параметров а0, alt ..., ат. Пусть функция у = /(х) задана таблицей значений у. = /(х;), i = = 0, 1, и, где п » т. Тогда применение критерия наименьших квад- ратов приводит к задаче определения искомых параметров а0, ар ..., ат из условия минимума функции п s(a,y) = £(g(x;, а)-у-,)2. ;=о Нелинейная задача наименьших квадратов (особенно при большом числе параметров) весьма трудна для решения. Обычно для вычис- ления параметров а применяются специальные методы минимизации [40] (см. § 10.7). В некоторых весьма специальных случаях решение нелинейной задачи наименьших квадратов можно свести к решению линейной задачи. Пусть, например, зависимость у от х ищется в виде у = аеЬх, где а > 0. Логариф- мируя это равенство, приходим к линейной зависимости In у = Ina + bx величины Y = In у от х. Теперь по таблице значений = In у-, i = 0, 1, ..., и, используя метод наименьших квадратов, можно легко определить зна- чения Ina и Ь. Подчеркнем все же, что найденные таким образом значения параметров а и b отличаются от тех значений, которые могут быть " Ъх. ч2 найдены непосредственной минимизацией функции у(ае '-у-) . /=0 § 11.14. Равномерное приближение функций 1. Задача о наилучшем равномерном приближении. Пусть Дх) — заданная на отрезке [а, 6] непрерывная функция. Будем говорить, что многочлен Рп(х) приближает функцию f равномерно на отрезке [а, 6] с точностью е, если Д(РЛ) = max |/(х)-Рл(х)| <е. Таким образом, [а, 6] величина Д(РП) играет здесь роль погрешности приближения. Естественно поставить следующую задачу среди всех многочленов фиксированной степени п найти многочлен Qn(x), для которого величина погрешности равномерного приближения минимальна, т.е. Д((?л) Д(Р„) для любого многочлена Рп(х) степени п. Поставленная задача назы- вается задачей о наилучшем равномерном приближении, а искомый многочлен Q„(x) — многочленом наилучшего равномерного прибли- жения. Справедливо следующее утверждение. 414
§ 11.14. Равномерное приближение функций Теорема И. 14. Для любой непрерывной на отрезке [а, 6] функции f многочлен наилучшего равномерного приближения Qn степени п суще- ствует и единствен. В Пр и мер 11.17. Покажем, что многочленом наилучшего равно- мерного приближения нулевой степени для функции у = J~x на отрезке [О, 1] является Qq (х) = 1/2. Заметим, что Д(0О) = max 17х- 1/2| = 1/2 (рис. 11.12, а) и этот [0,1] максимум достигается в точках х0 = 0 и Xj = 1. Для любого другого мно- гочлена Р0(х) = а, где а * 1/2, значение Д(Р0) > 1/2. Действительно, если а > 1/2, то Д(Р0) > | Jxq - л| = а > 1/2. Если же а < 1/2, то Д(Л>) I - «I =1-а> 1/2. ▲ Приведем без доказательства один из наиболее известных резуль- татов о многочленах наилучшего равномерного приближения. Теорема 11.15 (теорема Чебышева). Для того чтобы многочлен Qn(x) был многочленом наилучшего равномерного приближения непрерывной на отрезке [а, Ь] функции /(х), необходимо и достаточно, чтобы на отрезке [а, Ь] нашлись по крайней мере п + 2 точки х0 < Xj < х2 < .. < хп + j такие, что Дх;)-ея(х,) = а(-1)'‘ max \f(x)-Qn(x)\ , j = 0, 1,и + 1. (11.118) [а, Z>] Здесь а — постоянная, равная 1 или -1 для всех i одновременно. В 415
Глава 11. Приближение функций и смежные вопросы Точки х0, х0, ..., хп + h удовлетворяющие условиям этой теоремы, принято называть точками чебышевского альтернанса ’. Равенство (11.118) накладывает на точки чебышевского альтернанса два требо- вания: 1) в точках х- модуль погрешности приближения функции f много- членом Qn достигает максимума: 1/(*,) - I = max |/(х) - Qn(x) | ; [а, 6] 2) для всех / = О, 1, ..., п погрешность /(х.) — £?„(*,) меняет знак при переходе от точки х,- к следующей точке х{- + г Пр имер 11.18. В примере 11.17 точками чебышевского альтер- нанса являются точки х0 = 0 и X] = 1 (число точек равно двум, так как п = = 0). В самом деле, в этих точках достигается максимум модуля погреш- ности, а сама погрешность меняет знак при переходе от х0 к хи А Пример 11.19. Найдем многочлен наилучшего равномерного при- ближения первой степени для функции у = J~x на отрезке [0, 1]. В рассматриваемом случае п = 1 и должны быть по крайней мере три точки чебышевского альтернанса. В частности, это означает, что графики функций у = J~x и у = 0/х) = ах + b должны пересекаться хотя бы дважды (рис. 11.12, б). Функция ф(х) = Ух - Qj(x) вогнута и потому может иметь на отрезке [0, 1] лишь одну внутреннюю точку экстремума Хр Следовательно, две из точек чебышевского альтернанса совпадают с концами отрезка: х0 = 0, х2 = 1. В точке Xj функция ф(х) удовлетворяет необходимому условию экстремума <p'(*i) = 0, что эквивалентно урав- нению -Ц=-а=0. (11.119) С учетом равенств ф(х0) = -Ь, <р(х,) = Ух] - ах} - b, ф(х2) = 1 - а - b условие перемены знака <р(х0) = -ф(х,) = ф(х2) эквивалентно двум урав- нениям —b — — Ух] + ах j + b, -b = 1 - а - Ь. (11.120) (11.121) 1 От латинского слова alternare — «чередоваться». 416
§11.14. Равномерное приближение функций Из (11.121) сразу находим, что а = 1. Затем из (11.119) определяем, что х, = 0.25. Наконец, из (11.120) получаем b = 1/8. Таким образом, Q}(x) = х + 1/8 — многочлен наилучшего равно- мерного приближения первой степени, аппроксимирующий функцию Ух с погрешностью Л(0]) = 1/8. ▲ 2. Задача о понижении степени многочлена. Пусть Рт(х) = а^хш + + ат _ jxm “ 1 + ... + а(} — многочлен степени т > 1, значения которого вычисляются на стандартном отрезке [-1, 1] (напомним, что к стан- дартному отрезку можно перейти от произвольного отрезка [а, 6] линейной заменой переменных). Поставим следующую задачу о пони- жении степени многочлена', аппроксимировать Рт(х) на отрезке [-1, 1] многочленом Qm _ ,(х) наилучшего равномерного приближения на единицу меньшей степени. Заметим, что Rm(x) = Рт(х) - Qm _ ,(х) — многочлен степени т со старшим коэффициентом, равным старшему коэффициенту ат много- члена Рт(х). Поставленную задачу можно иначе сформулировать так: среди всех многочленов степени т с фиксированным старшим коэффи- циентом ат найти многочлен Rm, для которого величина max | Rm(x) | [-1.1] минимальна. Как известно (см. § 11.6), решение этой задачи дает мно- ат I। гочлен Р_(х) =----г Тт(х) и для него max |Pm(x)| =-----г. Таким т z т [-1 1) т образом, решением поставленной задачи является многочлен = (11.122) Соответствующая погрешность приближения равна |am|/2m“ *. Замечание. Тривиальный способ понижения степени много- члена Рт(х) — отбрасывание старшего слагаемого arrtxm дает погрешность, равную |ат|, т.е. в 2т~ 1 раз большую, чем прибли- жение многочленом (11.122). 3. Нахождение многочленов, близких к наилучшим. В боль- шинстве реальных случаев задача о наилучшем равномерном прибли- жении непрерывной функции/является очень трудной. Для ее решения развиты специальные численные методы, реализованные в виде стан- дартных программ. Заметим, однако, что во многих ситуациях доста- 417
Глава 11. Приближение функций и смежные вопросы точно ограничиться нахождением многочлена, близкого к наилучшему, либо просто найти многочлен, равномерно приближающий функцию f с заданной точностью £. Укажем на два случая, когда возможно нахож- дение многочленов, близких к наилучшим. 1°. Пусть производная fl” + ^(х) функции f слабо меняется на отрезке [а, 6]. Тогда интерполяционный многочлен Рп(х) с чебышевскими узлами (11.43) близок к многочлену наилучшего равномерного приближения. 2°. Пусть функция /(х) задана на отрезке [-1, 1] равномерно сходя- щимся степенным рядом (рядом Тейлора): оо /(х)= к=0 (11.123) Требуется найти многочлен минимальной степени, равномерно прибли- жающий функцию f на отрезке [-1, 1] с заданной точностью £. Излагаемый ниже метод решения этой задачи часто называют эконо- мизацией степенных рядов. Сначала берут отрезок ряда Тейлора т Рт(х) = £ а^, аппроксимирующий функцию f С ТОЧНОСТЬЮ £0 < £. Л=0 Далее степень многочлена последовательно понижают. Если погреш- ность £| = |аш|/2ш~ 1 понижения степени такова, что £0 + £j < £, то мно- гочлен Рт заменяют многочленом Рт . = Рт т т - 1 т а т - 1 ,, ч *=0 Если погрешность £2 = , | /1т~2 такова, что £0 + £j + £2 < £, то снова понижают степень многочлена Рт_х по формуле Рт _ 2 = Рт _ j - (D ат~ 1 2^п - 2 т ~ 1 и т.д. Процесс прерывают тогда, когда вычисление очередного Ек дает £0 + £| + ... + £Л > £. В этом случае полагают fix) ~ Рт_к + j(х). Пр и мер 11.20. Найдем многочлен минимальной степени, аппрок- симирующий функцию^ = sinx на отрезке [-1, 1] с точностью £ = 10-3. 00 х2*+1 Ряд sinx = £(-!)* (2Y +"i)~t — знакопеременный, а его слагаемые к 0 убывают по модулю. Поэтому погрешность приближения функции sin х п отрезком ряда Тейлора Pln + ](х) = £ (-1 )к к=0 х2к + 1 (2к + I)! оценивается вели- 1 ЧИНОИ £л = ;----- ° (2л+ 3)! равной максимуму модуля первого отброшенного 418
§11.15. Дробно-рациональные аппроксимации и вычисление элементарных функций слагаемого. Выбор п = 2 дает значение е0 = 1/5040 «2*10 4 < е. Сле- х3 х5 довательно, многочлен РАх) = х - — + — аппроксимирует функцию J О 1ZU у = sinx с точностью е0 « 2 • 10-4. Понижение степени многочлена Р5 будет сопровождаться дополни- | | । тельной погрешностью £| = = 1920 в 5.2‘Ю-4. Следовательно, е0 + £j < е и после понижения степени по формуле 1 г3 г5 1 w - кйо ' - 7 + По - И <16x5 - 2"''+ 5х> получим многочлен дающий приближение к sinx на отрезке [-1, 1] с точностью 7.2 • 10“4. Так как £3 = > 10“3, то дальнейшее понижение степени невоз- можно и решением задачи является многочлен (11.124). ▲ § 11.15. Дробно-рациональные аппроксимации и вычисление элементарных функций При создании стандартных программ вычисления элементарных и специальных функций специалистами по математическому обеспе- чению компьютеров применяются разнообразные приемы, требующие глубоких профессиональных знаний. Используемые вычислительные методы не являются здесь машинно-независимыми, а, наоборот, суще- ственно учитывают разрядность мантиссы, скорость выполнения ариф- метических операций и другие особенности конкретного компьютера. Отметим, что к указанным стандартным программам обычно предъяв- ляется требование обеспечения относительной точности результата порядка машинного эпсилон е . Использование богатой дополнительной информации об аналити- ческих свойствах элементарных и специальных функций позволяет зна- чительно уменьшить объем вычислений. Существенно используется возможность представления вычисляемых функций сходящимися сте- пенными рядами вида оо (11125) i=0 419
Глава 11. Приближение функций и смежные вопросы Здесь z = х - х0; х0 — точка, в которой осуществляется разложение функции в ряд. Отметим, однако, что вопреки распространенному мнению такие ряды непосредственно практически никогда не исполь- зуются для вычисления функций. Широко применяемым в настоящее время способом представления функций является приближение их рациональными дробями вида an + a}z + .. .+ azn R(z) = —---!. (11.126) b^b^+.^+b^ К дробно-рациональным аппроксимациям приходят различными путями. В ряде случаев используется рациональная интерполяция — интерполяция функции рациональной дробью (11.126). Тогда коэффи- циенты Oj (j = 0, 1, ..., и), bk (к = 0, 1, ..., т) находятся из совокупности соотношений R(z{) = у; (0 < i < N, N = п + т + 1), которые можно записать в следующем виде: п • т . Yajxli = ;=о к=о Эти соотношения образуют систему N линейных однородных алгеб- раических уравнений относительно 7V+1 неизвестных — коэффици- ентов а0, ..., ап, bQ, . ., bm. Такие системы всегда имеют нетривиальные решения. И хотя таких решений бесконечно много, найденная с их помощью рациональная дробь определяется однозначно. Чтобы избежать неоднозначности в определении коэффициентов этой дроби достаточно использовать условие нормировки bQ = 1. Можно записать R(z) в явном виде, если использовать аппарат разделенных раз- ностей [9]. Один из возможных путей состоит в использовании теории цепных (или непрерывных) дробей. Например, функция tgx представляется цепной дробью х tgx =------5—. Обрывая такую бесконечную дробь, получают некоторую конечную дробь, аппроксимирующую функцию. 420
§11.15. Дробно-рациональные аппроксимации и вычисление элементарных функций Все более популярным в последние годы способом приближения аналитических функций становится аппроксимация Паде — такая дробно-линейная аппроксимация (11.126), для которой 00 an + axz + .. . + azn у ckzk = -2------!---------— + O(z" + A bn + byz + ..+bmzm л=о 0 1 m (11.127) Равенство (11.127) означает, что коэффициенты а0, ах, bQi Ьх, ..., Ьт дроби (11.126) подбираются так, чтобы в разложении ее вряд Тейлора первые п + т + 1 слагаемых в точности совпадали с соответ- ствующими слагаемыми ряда (11.125). Например, аппроксимация Паде функции е* в случае п = т > 1 задается формулой Л.(х) гае Р(х)=1 + » п 2 2(2и—1)2! 2(2л-1)’...•(«+1) л! с погрешностью ех - Rdx) = (-1)” z ------- х2п + 1 + О(х2п + 2). nV 7 v 7 (2и)!(2и +1)! v 7 При и = /и = 2ии = 7и = 3 имеем: у 12 + 6х + х2 Сх » —----- 12-6х + х2 ’ 12(х2 + 10)+х(х2 + 60) 12(х2 + 10)—х(х2 + 60) (11.128) Отметим, что при |х| < 0.5 1п2 аппроксимация (11.128) обеспе- чивает точность 9 • 10-9. В заключение параграфа рассмотрим, как вычисляется в одной из стандартных программ функция у = 1пх. Аргумент х представляют в виде х = ц • 2Р, где р — двоичный порядок, р — мантисса, 0.5 < ц < 1. Затем используют разложение 1пх=(р-0.5) In2 + 2v V —v2k, /4 2* + 1 k=0 где v= (У2р-1)/(У2ц+1). 421
Глава 11. Приближение функций и смежные вопросы 00 1 Заметим, что |и| < а = (J2 - 1 )/(Jl + 1 )< 0.172. Ряд £ v2k *=о 2к 1 заменяют затем на отрезке [-а, а] многочленом, близким к многочлену четвертой степени наилучшего равномерного приближения. В результате получается формула 1пх « (р - 0.5) 1п2 + v (2.000000815 + 0.666445069и2 + 0.415054254г;4), погрешность которой для всех х не превышает 3 • 10~8. § 11.16. Дополнительные сведения об интерполяции 1. Обратная интерполяция. Пусть функция у = f(x) обратима. Тогда всякую таблицу ее значений у- = /(х;), i = 0, 1, ..., п можно интер- претировать как таблицу значений х; = /-1(У;), i = 0, 1, ..., п обратной функции х = /-1(у). Обратной интерполяцией принято называть построение функции х = р(у), интерполирующей обратную функцию, т.е. удовлетворяющей условию Р(У;) = Х;, / = 0, 1, ..., п. Этот подход часто используется для приближенного решения урав- нения /(х) = 0. Достаточно построить таблицу значений функции f на отрезке локализации, выполнить обратную интерполяцию и положить х « р(0). 2. Интерполяционный многочлен Бесселя. Иногда точность интерполяции можно повысить, если использовать линейные комби- нации интерполяционных многочленов. Пусть, например, функция f задана таблицей своих значений у- = = /(х;), i = 0, ..., п с постоянным шагом h и требуется найти прибли- женное значение функции в точке х е [ху- _ и ху], используя интерпо- ляцию многочленом второй степени. Естественно воспользоваться мно- гочленом Pq _ 2 j _ j 7) (х) с узлами интерполяции х;- _ 2, Xj _ р Xj или многочленом } j j + ^(х) с узлами Xj _ ,, Xj, Xj + j соответственно. Заметим, что каждый из этих многочленов использует узлы, которые расположены асимметрично относительно отрезка [ху _ р х-]. При этом для погрешности интерполяции справедливы оценки М, max I Р{/ - 2J - 1,7)(х) I < -^ Л3 , 422
§ 11.16. Дополнительные сведения об интерполяции М. max | А,- _! • • +1 >(х) -Дх) | < — А3. Iх;-г*/ Как обычно, Мп = max |/(п> (х) |. Построим теперь интерполяционный .многочлен Бесселя второй степени как полусумму В(х) = (Ро-_2,;-1.;)(х)+ро--1,/,/+1)(х))- Строго говоря, этот многочлен не является интерполяционным, так он как совпадает с функцией f лишь в двух точках: Ху _ j и ху. Однако бла- годаря симметричному расположению использованных узлов Ху_2, xj - 1» xyS Ху + j относительно отрезка [ху _ h Ху] точность приближения оказы- вается выше: Л/, ЗМа max |В(х) -Дх)| < —— h3 + — Л4. [х/.рх] 7273 128 Аналогичным образом можно использовать интерполяционные мно- гочлены Бесселя более высоких четных степеней. 3. Многомерная интерполяция. Интерполяция широко приме- няется для приближения функций многих переменных. Дадим понятие о многомерной интерполяции на примере функции двух переменных. Предположим, что функция z = f(x, у) задана на прямоугольнике [а, 6] х [с, d\ таблицей значений zij = f(xi’У})> ОИ<П, 0<j<m. Интерполяционный многочлен Р(х, у), обладающий свойством Р{х„ У}) = z-,j, 0<i<n, 0 <j<m, может быть записан в следующем виде: л т L„.m{x,y)-^ (11.129) /=о ;=о п X — X т у — У, 3„СЬ,,;)=Д_ s*i к* j Как нетрудно видеть, многочлен (11.129) является аналогом много- члена Лагранжа (11.22), причем при фиксированном значении у он является многочленом степени п по переменной х, а при фиксиро- ванном значении х — многочленом степени т по переменной у. А23
Глава 11. Приближение функций и смежные вопросы При п = т = 1 этот многочлен называется билинейным, так как он линеен по каждой из переменных. Приведем явную формулу, соответ- ствующую билинейной интерполяции. L\,Sx’y^ = (x,-x0)(y,-j>0) [z°°(X| -х)(у» + zi.o(x-хо)01 -У) + + z0.i(xi ~Х)(У -Уо) + z\,1 (^-^oXy-Zo)] • Одна из проблем, связанных с использованием интерполяционного многочлена (11.129), состоит в предположении, что функция f задана на прямоугольнике, а узлы интерполяции образуют правильную прямо- угольную сетку. Однако часто область определения функции имеет более сложную геометрическую форму, а узлы, в которых известны значения функции /, расположены по иному закону. В такой ситуации вполне приемлемым способом приближения функции f в точке (х, у) может оказаться линейная интерполяция по значениям в ближайших трех узлах. Пусть значения функции f известны в вершинах А = (хА,уЛ\ В = (хв, ув) и С = (хс, ус) треугольника Д: 2а"ЛхА’Ул^ 2в=КхВ’Ув)> гс = ЯхоУсУ Соответствующий интерполяционный многочлен имеет вид Р](х, у) = гА + а(х - хл) + Р(у - хД (11.130) где а = ~[(zc - 2лХув - УА) - (2в - 2а)(Ус ~ Уа)М, Р = [(*в - *а)(2с " za) ~ (хс " xa)(zb ~ za)VY, Y = (xb~ хлХУс - Ул) - (хс " хаХУв ~ Ул>- Графиком многочлена является плоскость, проходящая через точки с координатами (хл, уА, zA), (хв, ув, zB) и (хс, ус, zc). Из курса ана- литической геометрии известно, что уравнение такой плоскости может быть записано в виде х~ха у-уА z-zA ХВ~ХА У В-У A ZB~ZA ХС~ХА У С-У A ZC~Z4 Как нетрудно видеть, это уравнение эквивалентно формуле (11.30). 424
§ 11.17. Дополнительные замечания § 11.17. Дополнительные замечания 1. Тем, кто интересуется практическим применением сплайнов, рекомендуем книгу [18]. В ней можно найти не только изложение теории и алгоритмов решения задач, но и полезные практические советы и тексты соответствующих программ на языке Фортран. 2. Изложение современных численных методов решения линейных задач метода наименьших квадратов содержится в общепризнанном учебнике-справочнике [64]. Заметим, что в оригинальное издание этой книги были включены и тексты соответствующих программ, которые были к сожалению, опущены при переводе. 3. Исключительно богатый материал по специальным и элемен- тарным функциям содержит справочник [92]. Эта книга пользуется заслуженной популярностью у специалистов, и тот, кто занимается вычислением специальных функций лишь эпизодически, может найти в ней ответы на большинство интересующих его вопросов. Правда, большая часть приведенных в справочнике результатов была получена до 1960 г. Как дополнение к [92] можно рассматривать книгу [65]. 4. Желающим более глубоко ознакомиться с аппроксимациями Паде и непрерывными (цепными) дробями рекомендуем обратиться к специальной литературе [11, 39]. 5. В машинном проектировании широкое распространение получил подход к описанию кривых и поверхностей, заданных графически, с помощью кривых Безье. Этот подход были разработан в 1962 г. для автомобильных фирм Рено и Ситроен с целью упростить дизайнеру интерактивный режим работы. Первоначальное представление о кривых Безье можно получить из [54, 122]. 6. В последние два десятилетия бурное развитие получила теория вэйвлетов (всплесков). Вэйвлет-анализ нашел широкое применение в цифровой обработке информации и изображений, в теории фильтрации и кодирования. Книга [ИЗ] содержит не только основы теории вейв- летов, но и хорошую библиографию по этой теме; см. также [8*, 13*]. 7. Подчеркнем, что в данной главе рассматривались методы при- ближения функций только одной вещественной переменной (за исклю- чением § 11.16). При аппроксимации функций многих переменных можно использовать аналогичные подходы (см., например, [9, 67]). 425
Глава 12 ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ Численное дифференцирование применяется тогда, когда функцию трудно или невозможно продифференцировать аналитически. Напри- мер, необходимость в численном дифференцировании возникает в том случае, когда функция задана таблицей. Кроме того, формулы числен- ного дифференцирования широко используются при разработке вычис- лительных методов решения многих задач (решение дифференциаль- ных уравнений, поиск решений нелинейных уравнений, поиск точек экстремума функций и др.). § 12.1. Простейшие формулы численного дифференцирования 1. Вычисление первой производной. Предположим, что в окрест- ности точки х функция f дифференцируема достаточное число раз Исходя из определения первой производной Л'(х) естественно попытаться использовать для ее вычисления две простей- шие приближенные формулы (121) (12.2) соответствующие выбору фиксированных значений Дх = h и Дх = -Л Здесь h > 0 — малый параметр {шаг). Разностные отношения в правых частях формул (12.1) и (12.2) часто называют правой и левой разност- ными производными [85]. Для оценки погрешностей 426
§ 12.1. Простейшие формулы численного дифференцирования введенных формул численного дифференцирования {погрешностей аппроксимации) воспользуемся формулами Тейлора. Дх ± й) = f(x) ± f'(x)h + у - й2. (12.3) Здесь и ниже и — некоторые точки, расположенные на интерва- лах (х, х + h) и (х - Л, х) соответственно. Подставляя разложения (12.3) в выражения для г±, получаем г+(х, Л) = г-(х» А) = Следовательно, |г+(х,й)| <| Л/2й, Мг= max , (12.4) |г_(х,й)| <}Л/2Й, Л/2= max |/''(^)|. (12.5) z [х-Ах] Таким образом, формулы (12.1), (12.2) имеют первый порядок точ- ности по h. Иначе говоря, правая и левая разностные производные аппроксимируют про извод ну ю/'(х) с первым порядком точности. Приведенные формулы численного дифференцирования имеют про- стую геометрическую интерпретацию (рис. 12.1, а). Пусть NQ, N_h N+ — расположенные на графике функции у = f(x) точки с координатами (х, /(х)), (х - Л, f(x - h)) и (х + Л, /(х + Л)). Напомним, что производная f{x) равна тангенсу угла а наклона к оси Ох касательной, проведенной к графику функции в точке Формула (12.1) соответствует приближен- ной замене производной /'(х) = tga правой разностной производной /(х + А)-/(х) w I» —-----------, равной тангенсу угла а+ наклона к графику функции секущей, проведенной через точки 7V0 и N+ .Формула (12.2) соответствует ~ f{x)—f{x — h) аналогичной замене левой разностной производной ------------, рав- ной тангенсу угла а_ секущей, проведенной через точки No и N_, Естественно предположить (рис. 12.1, а и б), что лучшим по сравне- нию с tga+ и tga_ приближением к /'(х) = tga является тангенс угла наклона а0 секущей к графику, проведенной через точки N_ и N+ .Соот- ветствующая приближенная формула имеет вид . (12 6) Величину в правой части этой формулы часто называют центральной разностной производной. 427
Глава 12. Численное дифференцирование Рис. 12.1 Подставляя в выражение для погрешности r0(x, h) = f’(x) - /(х + Л) -/(х - h) 2h соответствующие разложения по формуле Тейлора Г(х) /(3)(^+) f(x ±h)= fix') ± f(x)h + —h2 ± —-— h3, z о получаем r0(x, h) = /(3)(^+)+/(3)(L) ,, -------12-------h Следовательно, справедлива оценка погрешности Л/, |г0(х,Л)|<-^й2, М3= max И(3)©|. (12.7) Таким образом, центральная разностная производная аппроксимирует производную f'(x) со вторым порядком точности относительно Л. Для вычисления f(x) можно получить формулы любого порядка точности (см. § 12.2). Однако в таких формулах с ростом порядка точ- ности возрастает и число используемых значений функции. В качестве примера приведем формулу f(x - 2h) - Sf(x -h) + Sf(x + h)-f(x + 2h) 12Л имеющую четвертый порядок точности. (12.8) /'(*) 428
§ 12.1. Простейшие формулы численного дифференцирования Пример 12.1. Пусть функция /(х) =ех задана на отрезке [0, 1] таб- лицей значений с шагом h = 0.2 (табл. 12.1). Таблица 12.1 X 0.0 0.2 0.4 06 0.8 1.0 /W 1.000000 1.22140 1.49182 1.82212 2.22554 2.71828 Использовав формулы численного дифференцирования, найдем зна- чения производной f(x) в узлах таблицы. В точках х = 0.0 и х = 1.0 из приведенных в этом параграфе формул можно воспользоваться лишь формулами (12.1) и (12.2). В остальных точках применим формулу (12.6), имеющую более высокий порядок точ- ности. Вычисления дают следующую таблицу производных (табл. 12.2). Таблица 12.2 X 0.0 0.2 0.4 0.6 0.8 1.0 rw 1.10700 1.22955 1.50180 1.83430 2.24040 2.46370 г(х) -0.10700 -0.00815 -0.00998 -0.01218 -0.01486 0.25458 Здесь же приведены значения погрешностей г(х), которые в данном случае легко вычисляются (ведь f(x) = ех = /(х)). Как и следовало ожидать, значения погрешности в крайних точках (здесь использова- лись формулы первого порядка точности) существенно больше, чем во внутренних точках. Заметим, что значения погрешностей можно было оценить и зара- нее, использовав априорные оценки (12.4), (12.5), (12.7). Например, неравенство (12.4) дает в точке х = 0 оценку |г| <} Л/,Л=4 max |e^| 'h=\- 1.22140 • 0.2 = 0.13. 2 2 [0,02] 2 В точке х = 0.2 из неравенства (12.7) следует, что |г|<2ЛЛЛ2=2 max |е^| • h2=\ • 1.49182 • 0.04 «0.01, и т.д. 6 J 6 [0,04] 6 Для вычисления /'(х) при х = 0.4 и х = 0.6 можно также применить фор- мулу (12.8) и получить значения f(x) « 1.49176 и /*(0.6) « 1.82203 с погрешностями, приближенно равными 6 • 10-5 и 9 • 10~5 соответственно. А 429
Глава 12. Численное дифференцирование 2. Вычисление второй производной. Наиболее простой и широко применяемой для приближенного вычисления второй производной является следующая формула: У"(х) « Ах ~ А) ~ 2ЛХ)+ЛХ + Л) (129) Величину в правой части этого приближенного равенства часто назы- вают второй разностной производной [85]. Подставляя в выражение для погрешности r(x, h) = /"(х) - /(х-Л)-2/(х)+/(х + А) h2 соответствующие разложения по формуле Тейлора /(х ± Л) = /(х) ± f(x)h + h2 V Л4, получаем Следовательно, Л/. |г(х,й)| <-4 h2, Л/4= max If'W- (12.10) 12 [x-A,x + AJ Таким образом, формула (12.9) имеет второй порядок точности. Для вычисления f"(x) можно получить формулы любого порядка точности. Например, формула ~ -f(x - 2h) + 16/(х - А) - 30/(х) + 16/(х + h) -f(x + 2h) (12.11) имеет четвертый порядок точности. Пример 12.2. Использовав табл. 12.1 значений функции Дх) = ех, найдем с помощью формул численного дифференцирования значения /"(х) во внутренних узлах таблицы. Вычисление по формуле (12.9) дает значения, приведенные в табл. 12.3. Таблица 12.3 X 02 0.4 0.6 0.8 /"(х) г(х) 1.22550 -0.00410 1.49700 -0.00518 1.82800 -0.00588 2.23300 -0.00746 Применение формулы (12.11) позволяет получить значения/"(0-4) « « 1.49204, /"(0.6) ® 1.82183 с погрешностями, приближенно равными -2-Ю-4, -3 -10 4. ▲ 430
§ 12.2.0 выводе формул численного дифференцирования § 12.2. О выводе формул численного дифференцирования Хотя простейшие формулы численного дифференцирования можно получить сравнительно элементарно, для вывода и анализа таких фор- мул в более сложных случаях необходимо использовать значительно более серьезный математический аппарат. Заметим, что основой для построения различных приближенных формул вычисления производ- ных являются методы теории приближения функций, элементы которой были изложены в предыдущей главе. Предположим, что в окрестности точки х функция аппроксимиру- ется некоторой другой функцией g, причем производная g<*) в точке х легко вычисляется. Естественно в такой ситуации попытаться восполь- зоваться приближенной формулой /(*)(Х) « g(*)(x). (12.12) Наиболее просто этот подход реализуется, когда приближение осущест- вляется с помощью интерполяции. 1. Формулы численного дифференцирования, основанные на интерполяции алгебраическими многочленами. Пусть Рп(х) — интер- поляционный многочлен степени п с узлами интерполяции х0 < Х| < х2 < < ... < хп и х е [х0, хп]. В этом случае формула (12.12) принимает вид fk>(x) « Р<?\х), 0<к<п. (12.13) При этом справедлива следующая оценка погрешности формулы (12.13): [f^(x)-P(nk\x)\<Cnj!M„+,hnm^-t, Q<k<n, (12.14) где Сп к — положительные числа, A/w + , = max \fn+ 1 (х) | . Замечание 1. Порядок точности формулы (12.13) относи- тельно Лтах равен разности между числом узлов интерполяции и порядком вычисляемой производной. Замечание 2. Если формула (12.13) применяется для вычис- ления производной в точке, относительно которой узлы таблицы расположены симметрично, и число п - к четно, то порядок точ- ности формулы повышается на единицу по сравнению с порядком п + 1 - к, гарантируемым оценкой (12.14). Таковы, например фор- мулы (12.6), (12.8), (12.9), (12.11). 431
Глава 12. Численное дифференцирование Заметим, что Р^\х) = и! f(x0; xt; хп) (это следует, в частности, из формулы (11.52)). Таким образом, справедлива приближенная фор- мула (она вытекает и из (11.50)) /<")(х)«Л!/(х0;х,;...,хи), (12.15) имеющая по крайней мере первый порядок точности. Ее частными слу- чаями являются следующие формулы: /(*]) -/(х0) /'(*) «/(х0; X,) = —-------5-, (12.16) Х]-х0 (12.17) При выборе в качестве узлов интерполяции значений х0 = х, Xj = = х+ h формула (12.16) превращается в формулу (12.1). При выборе х0 = х - Л, Х| = х из (12.16) получается формула (12.2), а при х0 = х - Л, Xj = х + Л — формула (12.6). Аналогично из формулы (12.17) получа- ется формула (12.9). 2. Использование таблиц с постоянным шагом. Наиболее про- стой вид принимают формулы численного дифференцирования при использовании таблицу = /(х|) с постоянным шагом. Например, фор- мула (12.15) в этом случае выглядит так: В тех случаях, когда значение производной необходимо вычислять в крайних для таблицы точках х0 и хл, используются односторонние формулы численного дифференцирования /^\х0) « Рл*\х0) и « » Р^\хп). Приведем односторонние формулы (их легко получить диф- ференцированием многочленов Ньютона (11.57) и (11.58)) для вычисле- ния первой производной 1 п (-1V-I (12.18) 7=1 1 п 1 (12.19) >1 имеющие п-й порядок точности. 432
§ 12.3. Обусловленность формул численного дифференцирования При п = 2 из (12.18), (12.19) получаются формулы /'(х0)« (-3/(х0) + 4/(х1)-/(х2)). (12.20) /'(хя)« «(хя_2)-4/(хя_|) + 3/(хп)), (12.21) имеющие второй порядок точности. Пр и мер 12.3. Вычисление значений производной функции /(х) = = ех заданной табл. 12.1, по формулам (12.20), (12.21) дает значения /'(0 0) * 0.98445,/'(1.0) « 2.68700 с погрешностями, равными 0.01555 и 0.03128. Для сравнения напомним, что погрешности значений, най- денных в примере 12.1 по простейшим формулам (12.1), (12.2) соответ- ственно равны — 0.10700 и 0.25458. ▲ 3. Другие подходы. Применение формулы (12.13) для вычисления производной фактически основано на кусочно-полиномиальной интерполяции. Полученная таким образом производная в точке «стыка» двух соседних многочленов может иметь разрыв. Поэтому, если требуется глобально на отрезке [а, 6] аппроксимировать производ- ную гладкой функцией, то целесообразно использовать сплайны. Про- изводная S^\x) сплайна Sm(x) при к < т - г (где г — дефект сплайна) дает гладкую глобальную аппроксимацию для Когда значения функции сильно «зашумлены» случайными ошиб- ками, полезным может оказаться использование метода наименьших квадратов. § 12.3. Обусловленность формул численного дифференцирования Несмотря на внешнюю простоту формул численного дифференци- рования, их применение требует особой осторожности. Отметим, что используемые при численном дифференцировании значения /*(х) функции /(х) непременно содержат погрешности. Поэтому к погрешно- сти аппроксимации формул численного дифференцирования добавля- ется неустранимая погрешность, вызванная погрешностями вычисле- ния функции /. Для того чтобы погрешность аппроксимации была достаточно малой, требуется использование таблиц с малыми шагами h. Однако, к сожалению, при малых шагах формулы численного диффе- ренцирования становятся плохо обусловленными и результат их приме- нения может быть полностью искажен неустранимой погрешностью. Важно понимать, что действительная причина этого явления лежит не 433
Глава 12. Численное дифференцирование в несовершенстве предложенных методов вычисления производных, а в некорректности самой операции дифференцирования приближенно заданной функции (см. гл. 3, пример 3.5). Поясним сказанное на примере использования формулы (12.1). Полная ♦ / г г/ \ /*(* + h)—f*(x) погрешность г (х, h) = f (х)----------— реально вычисляемого зна- ет чения правой разностной производной представляет собой сумму погреш- ности аппроксимации r+(x, h) = f (х)------------- и неустранимой погрешности гн(х, й) = | [(/(х + й) -/‘(х + й)) - »- (Дх) -/‘(х))]. Пусть Д — верхняя граница абсолютной погрешности Д(/*(х)) = = 1/00 -/*001 используемых значений функции. Тогда неустранимая погрешность гн оценивается следующим образом: |гн| < 2Д/Л. (12.22) Оценка (12.22) означает, что чувствительность формулы (12.1) к погрешностям входных данных характеризуется абсолютным числом обусловленности = 2/Л. Так как Уд - оо при h —► 0, то формула (12.1) при малых h становится очень плохо обусловленной. Поэтому несмотря на то, что погрешность аппроксимации стремится к нулю при h -* 0 (см. оценку (12.4)), следует ожидать, что полная погрешность будет неограниченно возрастать при Л —► 0. Во всяком случае так ведет себя верхняя граница полной погрешности г(Л) = ^ M2h + ~ (график функции г (Л) для случая, рассмотренного ниже в примере 12.4, приве- ден на рис. 12.2). Выберем оптимальное значение шага Л, при котором величина г(Л) достигает минимального значения. Приравнивая производную 1 2^ / r'(h) = - М2—, к нулю, получаем значение Лопт = 2^^/M2t кото- Z А2 рому отвечает величина rmin = г(Л0ПТ) = 2д/д Л/2. Таким образом, при использовании формулы (12.1) для вычисления производной функции /, заданной с погрешностью, следует обратить особое внимание на выбор шага h. Однако даже при оптимальном выборе шага полная погрешность окажется величиной, пропорциональ- ной лишь л/Д . 434
§ 12.3. Обусловленность формул численного дифференцирования Формулы для вычисления производных порядка к > 1 обладают еще большей чувствительностью к ошибкам задания функций. Поэтому значения производных высокого порядка, найденные с помощью таких формул, могут быть очень неточными. Пр и мер 12.4. Рассмотрим результаты применения формулы (12.1) с разными значениями шага h для вычисления производной функции /(х) = ех в точке х = 1. В табл. 12.4 приведены значения приближений (/*')* к /'(1) = е * » 2.71828, полученные на 6-разрядном десятичном компьютере и отве- чающие значениям h = 10-1, 10~2, ..., 10-6. Для удобства анализа ука- заны также значения погрешностей г*. Таблица 12.4 h 10 1 10"2 ю-’ ю-* 10“5 ю-6 (Г)' 2.85890 2.73200 2.72000 2.70000 3.00000 0.00000 ♦ г -14- 10“2 -14-10-’ -17-10^ 18- 10-’ -28- 10'2 27-10-’ Из таблицы видно, что погрешность г* с уменьшением h сначала убывает по модулю, а затем начинает резко возрастать. При h = 10-6 значения функции в точках х = 1 + h и х = 1, найденные с шестью зна- ками мантиссы, совпадают, и поэтому вычисление по формуле (12.1) дает приближение к /'(0> равное нулю. Ясно, что при h < 10-6 будет получаться тот же результат. На рис. 12.2 точками помечены значения модуля погрешности г*, отвечающие различным h из диапазона 10-4 < h < 10-2. Сплошной 435
Глава 12. Численное дифференцирование линией изображен график функции г (Л) = 1 4Л + 10 5/Л, являющейся верхней оценкой для |г*(Л)| (в данном случае М2 = ^тах^ 1е*1 - 2.8 и Д = 5 • 10"6). Отметим, что хотя реальное значение погрешности г* и оказывается меньше получаемого с помощью оценки г, все же функция г(Л) правильно отражает основные особенности поведения погрешности. ▲ § 12.4. Дополнительные замечания 1. Формулы численного дифференцирования применяются и для приближенного вычисления частных производных функций многих переменных. Для их построения используются различные приемы. Среди них последовательное применение одномерных формул числен- ного дифференцирования и дифференцирование интерполяционных формул. Распространенным является и метод неопределенных коэффи- циентов [9] (иногда он используется и в одномерном случае). 2. При наличии в значениях функции случайных ошибок нередко применяют некоторые процедуры предварительного сглаживания. В последнее время получила распространение группа методов числен- ного дифференцирования, в которых используются идеи регуляриза- ции (см [97]). 3. Дополнительную информацию о методах численного дифферен- цирования можно найти, например в [51]. 436
Глава 13 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ § 13.1. Простейшие квадратурные формулы 1. Постановка задачи. В прикладных исследованиях часто возни- кает необходимость вычисления значения определенного интеграла ь 1= J/(x)dx. (13.1) а Этот интеграл может выражать площадь, объем, работу переменной силы и т.д. Если функция /(х) непрерывна на отрезке [а, £] и ее первообразную F(x) удается выразить через известные функции, то для вычисления интеграла (13.1) можно воспользоваться формулой Ньютона~Лейбницах\ ь J/(x)dx = F(b)-F(a), (13.2) а К сожалению, в подавляющем большинстве случаев получить значение определенного интеграла с помощью формулы (13.2) или других ана- литических методов не удается. Пример 13.1. Интеграл je-'2 dr широко используется при исследо- о вании процессов теплообмена и диффузии, в статистической физике и теории вероятностей. Однако его значение не может быть выражено в виде конечной комбинации элементарных функций. А Заметим, что даже тогда, когда удается получить первообразную функцию F(x) в аналитической форме, значительные усилия, затрачен- ные на это, часто оказываются чрезмерно высокой платой за оконча- тельный результат. Добавим еще, что вычисления интеграла в этих слу- чаях по формуле (13 2), как правило, приводят к громоздким (а часто — и приближенным) вычислениям. Следует отметить также, что часто 1 Готфрид Вильгельм Лейбниц (1646—1716) — немецкий математик, физик и фило- соф. Один из создателей дифференциального и интегрального исчислений. 437
Глава 13. Численное интегрирование найти точное значение интеграла (13.1) просто невозможно. Например, это имеет место, когда функция f(x) задается таблицей своих значений. Обычно для вычисления значения определенного интеграла приме- няют специальные численные методы. Наиболее широко используют на практике квадратурные формулы — приближенные равенства вида * Л' J/(x) dx » £л,/(х;). (13.3) а Здесь х; — некоторые точки из отрезка [а, £] — узлы квадратурной формулы', А; — числовые коэффициенты, называемые весами квадра- N турной формулы; 2V> О — целое число. Сумма £Л;/(х,), которая при- i=0 нимается за приближенное значение интеграла, называется квадратур- bt N - ной суммой. Величина R = j/(x) dx-£Л,/(х,) называется a i=0 погрешностью (или остаточным членом) квадратурной формулы. Будем говорить, что квадратурная формула (13.3) точна для много- членов степени т, если для любого многочлена степени не выше т эта формула дает точное значение интеграла, т.е. * * Jpm(x) dx=^^;Pm(x;). a i=0 При оценке эффективности квадратурных формул часто исходят из того, что наиболее трудоемкой операцией при вычислении по формуле (13.3) является нахождение значения функции f Поэтому среди двух формул, позволяющих вычислить интеграл с заданной точностью е, более эффективной считается та, в которой используется меньшее число узлов. Выведем простейшие квадратурные формулы, использовав наглядные геометрические соображения. Будем интерпретировать интеграл (13.1) как площадь криволинейной трапеции, ограниченной графиком функции у = f(x) (при /(х) > 0), осью абсцисс и прямыми х = а, х = b (рис. 13.1, а). Разобьем отрезок [а, £] на элементарные отрезки [х- р х;] точками а = х0 < Xj < ... < хп = Ь. Интеграл I разобьется при этом на сумму эле- ментарных интегралов: п (13.4) i=l 438
§ 13.1. Простейшие квадратурные формулы где /. = J /(х) dx, что соответствует разбиению площади исходной xi-i криволинейной трапеции на сумму площадей элементарных криволи- нейных трапеций (рис. 13.1, б). Введем обозначения: _ 1/2 = /(х; _ 1/2), где х; _ 1/2 = = (xj_ j +xf)/2 — середина элементарного отрезка. Для простоты шаг h = X; - X; _ । будем считать постоянным. 2. Формула прямоугольников. Заменим приближенно площадь элементарной криволинейной трапеции площадью прямоугольника, основанием которого является отрезок [xf _ р xj, а высота равна значе- нию f; _ 1/2 (на рис. 13.2, а через N- _ ш обозначена точка с координа- в) Рис. 13.2 439
Глава 13. Численное интегрирование тами (х;_ 1/2))- Так мы приходим к элементарной квадратурной формуле прямоугольников'. (13.5) Производя такую замену для всех элементарных криволинейных тра- пеций, получаем составную квадратурную формулу прямоугольников'. ь п I=4 = f>(fm +Лп + -+/п-т) = ^ f;-1/2 - (13.6) ;=i Эта формула соответствует приближенной замене площади исходной криволинейной трапеции площадью ступенчатой фигуры, изображен- ной на рис. 13.2, б. Замечание. Иногда используют формулы п -1 i=0 (13.7) (13-8) п 1=1 называемые соответственно составными квадратурными форму- лами левых и правых прямоугольников Геометрические иллюстра- ции приведены на рис 13.3, а и б В соответствии с этим формулу (13.6) иногда называют составной квадратурной формулой цен- тральных прямоугольников. 3. Формула трапеций. Соединив отрезком точки N-t _ j(x._ j) и Ni(xlff^) на графике функции у = /(х), получим трапецию (рис. 13.4, а). 440
§ 13.1. Простейшие квадратурные формулы б) Рис. 13.4 Заменим теперь приближенно площадь элементарной криволинейной трапеции площадью построенной фигуры. Тогда получим элементар- ную квадратурную формулу трапеций'. А « ^(4-i+Z)- (13.9) Пользуясь этой формулой при I = 1, ..., п, выводим составную квад- ратурную формулу трапеций'. (13.10) Эта формула соответствует приближенной замене площади исход- ной криволинейной трапеции площадью фигуры, ограниченной лома- ной линией, проходящей через точки No, N}, ..., Nn (рис. 13.4, б). 4. Формула Симпсона1. Если площадь элементарной криволиней- ной трапеции заменить площадью фигуры, расположенной под парабо- лой, проходящей через точки 7VZ_ р 7VZ_ 1/2 и N; (рис. 13.5, а), то получим приближенное равенство /;« J Р2(х) dx. Здесь Р2(х) — интерполяци- xi- 1 онный многочлен второй степени с узлами xz_ и xz_ 1/2, xz.KaK нетрудно убедиться2, верна формула Pl(x)=fi- 1/2 +/' f 1 (*- 1/2) + ~-f‘ 1 (х ~Xi- 1/2)2 • 1 Томас Симпсон (1710—1761) — английский математик. 2 Проверку того, что P2(xi-|) ~fi-1» ^xi-1/2) ~fi-1/2* P£xd =fi* рекомендуем провести самостоятельно. 441
Глава 13. Численное интегрирование Рис. 13.5 Ее интегрирование приводит к равенству xi у. _ г Xi J Р2(х) dx = |Д + ' J (х-х,_1/2) dx + х/-1 х/-1 х/-1 h h = 1Д +| (4- Vi- т +/;-.) = -6tfi->+ V- !/2 +Л). Таким образом, выведена элементарная квадратурная формула Симпсона1; I^tfi-^V-m+fi). (13.Н) Применяя эту формулу на каждом элементарном отрезке, выводим составную квадратурную формулу Симпсона’. h h k: = 6 (4 + VI/2 + 2/, + 4/3/2 + 2/2 + ...+ 2/л _, + 4/„_ |/2 +/„) = (13-12) Замечание 1. Учитывая геометрическую интерпретацию фор- мулы Симпсона, ее иногда называют формулой парабол. 1 Формула Симпсона впервые была получена Кавальери в 1639 г. Затем в 1668 г. она была переоткрыта Джеймсом Грегори .Томас Симпсон вывел ее в 1743 г. 442
§ 13.1. Простейшие квадратурные формулы Замечание 2. Когда число элементарных отрезков разбиения четно (п = 2/и), в формуле Симпсона можно использовать лишь узлы с целыми индексами: к / т т - 1 \ ^Ц/о+/2и + 4Х/2;_| + 2Х /2;} /=1 /=| При выводе этой формулы роль элементарного отрезка играет отрезок [х2;_2, x2il Длины 2Л. 5. Оценка погрешности. Оценим погрешность выведенных квад- ратурных формул в предположении, что подынтегральная функция f достаточно гладкая. Как и в предыдущих главах, будем использовать обозначение А/* = тах |/W(x)|. Kft] Теорема 13.1. Пусть функция f дважды непрерывно дифференци- руема на отрезке [а, Ь]. Тогда для составных квадратурных формул пря- моугольников и трапеций справедливы следующие оценки погрешности'. Aipl - 24 (13.13) , M2(b-a) |7-/*|<---— V. (13.14) Доказательство. Выведем сначала оценку (13.13). Представим погрешность R = I - /„р формулы прямоугольников в виде R= f/(x)dx-^Z._I/2 = ^ j (/(х)-/(х,_ 1/2)) dx. а /=1 /=1 x.-j Используя формулу Тейлора fM =/(Х,_|/2) +/'(х,-_ 1/2)(х -Х;_ 1/2) (х-Х;_|/2)2 , где X е [х, _ х;], = £(х) е [х; _ ,, х;], имеем х; х; Ri = f (Лх)-/(х;_|/2)) dx = :- J/"(^(x))(x-X;_|/2)2 dx, x;-l x;-l M, X‘ M-. X; M7 |Я;|<— f (x-x;_w)2dx = — 24 hi- 443
Глава 13. Численное интегрирование п п Му М2 Так как R= £ Я,, то | Я | < £ 24 = 24 ' Замечая, чт0 nh = Ь-а, 1=1 i=i приходим к оценке (13.13). Для вывода оценки (13.14) воспользуемся тем, что отрезок, соеди- няющий точки N; _ । и представляет собой график интерполяцион- r xi~x x~xi-\ ного многочлена первой степени Р\(х) । —j—• +j]—j—. Поэтому для элементарной формулы трапеций верно равенство xi R= J f{x)Ax-h- (/;•_,+/;)= J(/(x)-P,(x))dx. x,-i x/-i Используя оценку (11.28) погрешности линейной интерполяции, имеем м7 f — (x-x/_I)(x;-x) dx = — Л3. x/-i Следовательно, для R = 1-1^ справедлива оценка п М, МЛЬ — а) |Л|^^|Л(|<72Ази = ^__ Л2 .и 1=1 Приведем теперь без доказательства теорему об оценке погрешно- сти формулы Симпсона. Теорема 13.2. Пусть функция f имеет на отрезке [а, Ь] непрерыв- ную производную четвертого порядка Тогда для формулы Симп- сона (13.12) справедлива оценка погрешности . МЛЬ-а) |/-/С|*^880-А4" (13.15) Замечание 1. Оценки (13.13)—(13.15) означают, что формулы прямоугольников и трапеций имеют второй порядок точности относительно Л, а формула Симпсона — четвертый порядок точно- сти. Из тех же оценок следует, что формулы прямоугольников и трапеций точны для многочленов первой степени, а формула Симпсона — для многочленов третьей степени. 444
§ 13.1. Простейшие квадратурные формулы Замечание 2. Формулы (13.7) и (13.8) имеют лишь первый порядок точности (абсолютная погрешность каждой из формул не превышает O.5A/j(6 - a)h) и поэтому для вычисления интегралов на практике они используются крайне редко. 1 Пример 13.2. Вычислим значение интеграла |е~*2 dx, использовав о квадратурные формулы прямоугольников, трапеций и Симпсона с шагом h = 0.1. Сначала составим таблицу значений функции у = е *2 (табл. 13.1). Таблица 13.1 X _2 е х X -2 е х 0.00 1.0000000 0.55 0.7389685 0.05 0.9975031 0.60 0.6976763 0.10 0.9900498 0.65 0.6554063 0.15 0.9777512 0.70 0.6126264 0.20 0.9607894 0.75 0.5697828 0.25 0.9394131 0.80 0.5272924 0.30 0.9139312 0.85 0.4855369 0.35 0.8847059 0.90 0.4448581 0.40 0.8521438 0.95 0.4055545 0.45 0.8166865 1.00 0.3678794 0.50 0.7788008 Производя вычисления по формулам (13.6), (13.10), (13.12), полу- чаем /Пр = 0.74713088, 7* = 0.74621079, = 0.74682418. Оценим погрешность каждого из полученных значений, использо- вав неравенства (13.13)—(13.15). Вычислим /<2)(х) = (4х2 - 2)е~*2. Как нетрудно видеть |/<2) | < М2 = 2. Следовательно, |/-4| (0.1 Я«0.84- IO*’, |/-/*| <У (0.1)2® 1.7- Ю-з. Далее /^(х) = (16Х4 - 48х2 + 12)е~*2, |/(4)| <12. Поэтому |/-/сА| (0.1)4*0.42 • 10< Таким образом, из вычислений по формуле прямоугольников с учетом погрешности следует, что I = 0.747 ± 0.001; по формуле трапеций — что I = 0.746 ± 0.002; по формуле Симпсона — что I = 0.7468242 ± ±0.0000005. ▲ 445
Глава 13. Численное интегрирование 6. Случай переменного шага. Приведем составные квадратурные формулы прямоугольников, трапеций и Симпсона с переменным шагом Л; = X; - X; _ ! И Л; + |/2 = (Й; + ( + Й;)/2. ;=i Вывод этих формул и их геометрический смысл остаются теми же, что и для постоянного шага. Теоремы об оценках погрешности также останутся справедливыми, если в неравенствах (13.13)—(13.15) заме- нить h на Amav = max h;. ПША . • I § 13.2. Квадратурные формулы интерполяционного типа Для приближенного вычисления определенных интегралов часто используется следующий естественный для методов приближения функций прием. Подынтегральную функцию f аппроксимируют на отрезке [а, д] некоторой функцией g, интеграл от которой легко вычис- ляется, а затем полагают ь ь |7(х) dx® Jg(x) dx. (13.16) а а Точность формулы (13.16) можно повышать за счет усложнения метода глобальной аппроксимации. Однако чаще используется другой подход. Интеграл I представляют в виде суммы (13.4) интегралов по элементарным отрезкам [х;_ р х;]. На каждом таком i-м отрезке функ- цию f аппроксимируют некоторой легко интегрируемой функцией g.. В результате получается составная формула b п Х* J7(x) dx » £ j g,(x) dx. а ;=| x;-i 446
§ 13.2. Квадратурные формулы интерполяционного типа 1. Вывод квадратурных формул интерполяционного типа. Рас- смотрим более подробно этот подход в случае, когда аппроксимация осуществляется с помощью интерполяционного многочлена. Зафикси- руем некоторые значения Го, tx, g [-1, 1]. Аппроксимируем функ- цию /(х) на z-м элементарном отрезке [х; _ р xf] интерполяционным многочленном Рт -(х) с узлами интерполяции = xf- _ 1/2 + j = = 0, 1, 2, ... т. В случае, когда все значения tj различны, можно восполь- зоваться записью интерполяционного многочлена в форме Лагранжа: (О т Г\ Г\ J’X т X — Zt, = = II • (13 l7) Использовав замену переменной x = x; _ 1/2 + вычислим инте- грал от Pm f на отрезке [x; _ p xz]: Xi m Xi J />„. ,(x) dx = £ /(z}0) J dx = x;-i J'=o x;-i m 1 I m ('-tk) = h1^a}f(xi_m + tjh;/2), аГ1- A-)dr. J~ *’ ktj Приближенная замена интеграла I суммой Ih = V J Pm ;(x) dx ;=l x;-i приводит к следующей составной квадратурной формуле интерполя- ционного типа\ п т ZajAx^ + tjh,-/!). (13.18) 1=1 /=0 Замечание. Квадратурные формулы интерполяционного типа, построенные на основе равноотстоящих значений Го, t}9 ..., tm называют формулами Ньютона—Котеса1. Рассмотренные в § 13.1 простейшие квадратурные формулы явля- ются формулами интерполяционного типа; более того, они относятся к классу формул Ньютона—Котеса. 1 Роджер Котес (1682—1716) — английский математик, друг и ученик И.Ньютона. 447
Глава 13. Численное интегрирование Приведем квадратурные формулы Ньютона—Котеса, отвечающие использованию многочленов степени т = 1, 2, 3, 4, 5, 6 соответственно. п hi 2 (/(х; - |) + ЛХ/))» w = 1 — формула трапеций; ;=1 п h-t S 6 (Л*;_ i) + 1/2) +/(*;)), т = 2 — формула Симпсона; j=i 7 e i ? (?<х- > >+зХх- >+й+з4х-- - й +/М ’ 1=1 т = 3 — правило 3/8; (тЛх^НЗгДх^ +J) + 12/(х;_1/2) + 32/(х;-^ + 7/(х;)) , i=l т = 4— формула Милна (формула Боде); п h- / / Лд / 2Лд / 2Лд 7* 2 гй 119/(х-- >)+W- +iJ+ 50(л- >+т)+5ОЛХ- - т)+ /=| + 75/(х;-^) + 19/(х;)), /и = 5; t (41/(хг_,) + 216/(х;_, + § + 27/(х;_, + ^ + 272/(х;_|/2) + 1=1 + 27/(х; - + 216/(х; - § + 41/(х;)) , т = 6 — формула Вэддла. 2. Оценка погрешности. Приведем теорему об оценке погрешности формулы (13.18). Теорема 13.3. Пусть функция f имеет на отрезке [а, д] непрерыв- ную производную порядка т + 1. Тогда для погрешности квадратурной формулы (13.18) справедлива оценка \I-Ih\<CmMm^{b-a)hm„^, (13.19) где 1 1 Г I — — w ~ + QI J 1°™+ 1(01 d/, 1(0 “ * 448
§13.2. Квадратурные формулы интерполяционного типа Доказательство. Представим погрешность R = I - Ih формулы (13.18) в виде R = J/(x) dx - £ j ;(x) dx = f j (Дх) - ,(x)) dx. ° x>-i x;-i Пользуясь оценкой (11.26) погрешности интерполяции, в данном случае принимающей вид Л/ . , т ... L/(x)-Pm>,.(x)|<^-^ . и производя замену переменной х = х. _ 1/2 + thJ2, получаем цепочку неравенств п L п * т z.v |Л|<^ f |/(x)-Pm ;(х)| dx<£ J Шх-х*0) dx = i-1 x. , i= 1 x. . W "... _ fl»—- n m+2 m+l” m+1 Учитывая, что ^hi ± Сах' 2?, = Cax (b-a), приходим к оценке ;= i ;= i (13.19). Замечание 1. Теорема остается справедливой и в случае, когда для построения квадратурной формулы используется интер- поляция с кратными узлами (т.е. когда некоторые из значений Го, ..., tm совпадают). Замечание 2. Как следует из оценки (13.19), квадратурные формулы интерполяционного типа (13.18) точны для многочленов степени т. Отметим, что для некоторых симметричных квадратурных формул оценка погрешности (13.19) является грубой и не отражает истинный порядок их точности. Например, согласно этой оценке формулы пря- моугольников и Симпсона должны иметь лишь первый и третий поря- док точности соответственно, а в действительности они имеют на еди- ницу больший порядок точности (см. теоремы 13.1, 13.2 и замечание 1 на с. 426). Поясним причину этого явления на примере формулы пря- моугольников. 449
Глава 13. Численное интегрирование Аппроксимируем функцию f на отрезке [х; _ j, xj интерполяцион- ным многочленом Рх }(х) = /(х; _ 1/2) + /'(х,- _ 1/2)(х - х- _ 1/2) с кратным узлом xf _ 1/2. Интегрирование многочлена Рх -t(x) дает значение » х; ~ J dx = /»,/•_ j/2, совпадающее со значением, получаемым по x;-i элементарной формуле прямоугольников (13.5). Геометрическая иллю- страция, приведенная на рис. 13.6, показывает, что формулу (централь- ных) прямоугольников с равным основанием можно было бы назвать и формулой трапеций. Действительно, площадь f._ x/2*ht элементарного прямоугольника ABCD совпадает с площадью трапеции AEFD, одна из сторон EF которой является касательной к кривой у = /(х), проведенной в точке N- _ 1/2 (ведь площади треугольников EBNj _ 1/2 и Nj_ 1/2 FC равны). Таким образом, можно считать, что формула прямоугольников построена на основе интерполяции функции f многочленом первой сте- пени с кратным узлом. Теперь из теоремы 13.3 с учетом замечания 1 следует, что эта формула действительно имеет второй порядок точно- сти. Формула Симпсона может быть получена (аналогично) на основе интерполяции многочленом третьей степени с узлами х- _ р xf-_ 1/2, xz, центральный из которых является кратным. Следовательно, эту фор- мулу с достаточным основанием можно было бы называть и формулой кубических парабол. Закономерно, что формула Симпсона имеет чет- вертый порядок точности. Приведем оценки погрешности формул Ньютона—Котеса. Л/2(5-я) 2 \I-Ih| <--------Лтах, т = 1 — формула трапеций; 450
§ 13.2. Квадратурные формулы интерполяционного типа 1 1 “ 2880 тах’ ч М4(Ь-а) 4 । ~ 6480 ^тах’ „-,.1 1 1 - 1 935 360 тах’ т = 2 — формула Симпсона; т = 3 — правило 3/8; т = 4 — формула Милна (формула Боде); “ 37 800 000 Лтах’ т = 5; M^(b-a) g 17 “ /АI - I 567 641 600 Атах > w = 6 — формула Вэддла. 3. Обусловленность квадратурных формул интерполяционного типа. При вычислении интегралов, как правило, приходится использовать не точные значения /(х) подынтегральной функции, а приближенные зна- чения /*(х). Напомним (см. § 3.1), что задача вычисления определен- ного интеграла от приближенно заданной функции является устойчи- вой. В предположении, что |/(х) - /*(х)| < Д(/*) для всех х е[а, ft], справедлива оценка Д(7‘)= |7-7‘| = ь ь J/(x) dx - J/‘(x) dx a a указывающая на то, что абсолютное число обусловленности этой задачи равно ft - а, т.е. длине отрезка интегрирования. Какова же чувствительность квадратурной формулы (13.3) к погрешностям задания функции /? Заметим, что Таким образом, квадратурная формула устойчива к погрешностям зада- чу ния функции и ее число обусловленности vA равно £ |Л;| . i=0 Заметим, что все квадратурные формулы интерполяционного типа ь точны для многочленов нулевой степени и поэтому ft - а = |1 • dx = а N = Следовательно, если все веса А; квадратурной формулы i=0 451
Глава 13. Численное интегрирование интерполяционного типа положительны, то ее число обусловленности vA совпадает с b - а. Чувствительность такой формулы к погрешностям адекватна чувствительности вычисляемого интеграла. Если же среди весов А- имеются отрицательные, то vA = £ |Л;| > = Ь-а. /=0 i=0 Известно, что при больших значениях т среди весов квадратурной формулы (13.18) появляются отрицательные и значение числа обуслов- ленности vA становится большим. Например, для формул Ньютона— Котеса уд » 3.1 (Ь - а) при т = 10, уд » 8.3(£ - а) при т = 20, уд « 560(£ - а) при т = 30. В силу плохой обусловленности эти формулы уже при т > 10 используются весьма редко. § 13.3. Квадратурные формулы Гаусса 1. Построение квадратурных формул Гаусса. Из результатов А N §13.2 следует, что квадратурная формула J/(x) dx«£Л;/(х,), а '=0 построенная интегрированием интерполяционного многочлена степени N с фиксированными узлами х0, хи ..., xN, точна для всех многочленов степени N. Однако, если имеется свобода в выборе узлов, то можно распорядиться ею так, чтобы получить формулу, точную для всех мно- гочленов некоторой степени, превышающей N. Поставим следующую задачу: при заданном числе N + 1 узлов построить квадратурную формулу, точную для многочленов наиболее высокой степени. Формулы, удовлетворяющие этому условию, принято называть квадратурными формулами Гаусса. Как правило, сначала строят формулы Гаусса 1 N f/(Г) <к , = £<!,/(',) (13.20) -1 1=0 для стандартного отрезка [-1, 1]. Затем с помощью замены переменной а + b b — а , х = —у + —у t осуществляют переход к формулам интегрирования на произвольном отрезке: г г/ ч . Ь — а № J~a + b b — a “I J/(x)dx»—у Yaif — + — 0 • (13.21) а >=0 Заметим, что формула (13.20) точна для многочленов степени т тогда и только тогда, когда она точна для функций f(t) = 1, /, t2, ..., tm. 452
§ 13.3. Квадратурные формулы Гаусса Это эквивалентно тому, что узлы t; и веса а} формулы (13.20) должны удовлетворять системе нелинейных уравнений N I i - (- 1V+1 £«,'*= f(13.22) ;=o -i Можно показать, что система (13.22) имеет единственное решение а0, ..., aN, Го, tl9 ..., tN (причем, Г- g [-1, 1]) тогда и только тогда, когда число уравнений системы совпадает с числом неизвестных, т.е. при т = 2N + 1. Пример 13.3. Построим квадратурную формулу Гаусса (13.20) с двумя узлами. В этом случае, т.е. при N = 1, т = 3, система (13.22) примет вид I I а0 + Д| = j 1 dr = 2, aQtQ + altl = р dr = 0, i i aozo + aizi = P2dz=5’ ao'o + ai'i = p3dr = O. -i -i Решая ее, находим значения а0 = at = 1, Го = -1/Уз , = 1/Уз . Таким образом, получаем квадратурную формулу Гаусса 1 f Z(0 аг~у(-1/Уз)+/Ч1/Уз), -1 точную для многочленов третьей степени. ▲ Для квадратурной формулы Гаусса (13.20) справедлива следующая оценка погрешности: \R\ <aNM2N + 2(b-a)2N + 3. [(TV + I)!]4 Входящий в нее коэффициент aN = 2 дг + 3) [ + 2)! р очень быстро убывает с ростом N. Приведем, например несколько первых его значений: а0 «4 • 10-2, а, « 2 • 10’4, 04 ~ 5 • 1СГ7, а3 « 6 • 10"10, а4 « 4 • 10-13. Можно было бы разбить отрезок интегрирования на частичные отрезки и, исходя из формулы Гаусса, построить составную формулу, имеющую порядок точности, равный 2N + 2. Однако при интегрирова- нии достаточно гладких функций в этом нет необходимости, так как уже при небольшом числе узлов (4 N £ 10) формула Гаусса обеспе- чивает очень высокую точность. На практике используются и формулы с десятками и сотнями узлов. 453
Глава 13. Численное интегрирование 2. Узлы и веса квадратурной формулы Гаусса. Приведем значения узлов и весов квадратурной формулы Гаусса с числом узлов от 1 до 6 (табл. 13.2). Таблица 13.2 Узлы и веса Число узлов 1 2 3 zo 0.00000000000 -0.5773502692 -0.7745966692 а0 2.00000000000 1.0000000000 0.5555555556 t, — 0.5773502692 0.0000000000 а\ — 1.0000000000 0.8888888888 Z2 — — 0.7745966692 а2 — — 0.5555555556 Продолжение табл. 13.2 Узлы и веса Число узлов 4 5 6 zo -0.8611363115 -0.9061798459 -0.9324695142 "о 0.3478548451 0.2369268851 0.1713244924 '1 -0.3399810436 -0.5384693101 -0.6612093864 а\ 0.6521451549 0.4786286705 0.3607615730 Z2 0.3399810436 0.0000000000 -0.2386191861 а2 0.6521451549 0.5688888888 0.4679139346 *3 0.8611363115 0.5384693101 0.2386191861 а3 0.3478548451 0.4786286705 0.4679139346 Z4 — 0.9061798459 0.6612093864 а4 — 0.2369268851 0.3607615730 Z5 — — 0.9324695142 а5 — — 0.1713244924 Численные значения узлов и весов квадратурных формул Гаусса для значений N до 95 можно найти в справочнике [92]. Пример 13.4. Найдем значение интеграла Je-x2dx, использовав о квадратурную формулу Гаусса с двумя, тремя и четырьмя узлами. В дан- ном случае а = 0, b = 1, f(x) = е-*2 и формула (13.21) принимает вид J \ -Л Л Т 1Д -(0.5 + 0.5М2 7= Je * dx*IN=- £а,е 1 . о »‘=о 454
§ 13.4. Апостериорные оценки погрешности Взяв из табл. 13.2 значения узлов tt и весов at при N = 1, 2, 3, полу- чим следующие приближения: 1 (е-(0 211324865)2 + е~(0 788675135)2) я 0.7465946885; 12 = (0.5555555556 • е~<01127011665,2 + 0.8888888888 • е~°25 + + 0.5555555556 • е-<°887298335,2) = 0.7468145842; 3 .3478548451 • е-»0069431844’2 + 0.6521451549 • еч°330009478,2 + 2 <° + 0.6521451549 • е~<0 669990522,2 + 0.3478548451 • е-<° 930568156,2)« = 0.7468244681. Эти значения содержат такие абсолютные погрешности: Д(/|)~ « 2 • 10 4, Д(/2) » 10 5, Д(/3) ~ 3 • 10 7. Для сравнения укажем, что зна- чение того же интеграла, полученное в примере 13.2 по формуле пря- моугольников с 10 узлами, имеет абсолютную погрешность примерно 3 • 10~4, а по формуле Симпсона с 21 узлом — абсолютную погреш- ность примерно 5 • 108. ▲ Замечание. Хорошо известно, что узлы квадратурных формул Гаусса GN совпадают с корнями многочленов Лежандра PN(x), поэтому эти квадратурные формулы иногда называют формулами Гаусса—Лежандра. О связи формул Гаусса с ортогональными мно- гочленами см., например в [9]. 3. Обусловленность квадратурных формул Гаусса. Квадратурные формулы Гаусса обладают еще одним замечательным свойством: их весовые коэффициенты всегда положительны. Это свойство (как сле- дует из рассуждений § 13.3) гарантирует хорошую обусловленность квадратурной формулы. Более того, число обусловленности равно b - а и не зависит от числа узлов. Это позволяет применять на практике квадратурные формулы Гаусса с числом узлов, достигающим сотен. § 13.4. Апостериорные оценки погрешности. Понятие об адаптивных процедурах численного интегрирования Применение неравенств типа (13.13)—(13.15), (13.19) для априор- ной оценки погрешности квадратурных формул в большинстве случаев оказывается неэффективным или вообще невозможным. Это связано как с трудностями оценивания производных подынтегральной функции /, 455
Глава 13. Численное интегрирование так и с тем, что получаемые оценки, как правило, бывают сильно завы- шенными. На практике обычно используются иные подходы к оценке погрешности, позволяющие строить процедуры численного интегриро- вания с автоматическим выбором шага. 1. Главный член погрешности. Пусть Ih — приближенное значе- ь ние интеграла J/(x) dx, вычисленное по некоторой квадратурной фор- а муле и использующее разбиение отрезка [а, 6] на элементарные отрезки длины Л. Предположим, что для погрешности этой формулы справедливо представление1 = СЛ* + о(М), (13.23) где С Ф 0 и к> 0 — величины, не зависящие от h. Тогда величина Chk называется главным членом погрешности квадратурной формулы. Заметим, что из неравенства (13.23) следует справедливость оценки |/-Ih| < Chk с некоторой постоянной С > |С|; поэтому число к пред- ставляет собой не что иное как порядок точности соответствующей квадратурной формулы. Если подынтегральная функция f достаточно гладкая, то для каждой из составных квадратурных формул п т I*Ih = ±h ^^/(х;_1/2 + Г//2) (13.24) /=о ;=о существует главный член погрешности. Приведем без доказательства соответствующий результат. т Теорема 13.4. Пусть = 1 и к — минимальное среди Нату- га ральных чисел, для которых величина 1 । т , о* = 2 -1 7=0 1 Напомним, что запись <р(Л) = о(Л*) (читается <«р(Л) есть о малое от М») означает, что <p(h)!hk —*• 0 при h —* 0. 456
§ 13.4. Апостериорные оценки погрешности отлична от нуля. Если функция f непрерывно дифференцируема к раз на отрезке [а, Ь], то для погрешности квадратурной формулы (13.24) справедливо представление (13.23), в котором а Следствие 1. Если функция f дважды непрерывно дифференци- руема на отрезке [а, ft], то для погрешностей составных квадратур- ных формул прямоугольников и трапеций справедливы следующие пред- ставления'. ь ^-4 = CnpAI 2 * + o(A2), Спр = 1 J/"(x)dx; (13.25) а b I - 4 = , ^ = -1 J/"(x)dx. (13.26) а Следствие 2. Если функция f четырежды непрерывно дифферен- цируема на отрезке [а, ft], то для погрешности составной квадратур- ной формулы Симпсона справедливо представление ь 7-/с = Ссй4 + о(Л4), Cc = -^j: f/W(x)dx. (13.27) а В силу предположения (13.23) для погрешности квадратурной фор- мулы при достаточно малом h справедливо приближенное равенство I-Ih*Chk. (13.28) Несмотря на элементарный характер формулы (13.28), она позволяет сделать ряд важных выводов. Первый из них состоит в том, что уменьше- ние шага h в М раз приводит к уменьшению погрешности квадратурной формулы примерно в Мк раз. Действительно, при hx = ft/Л/имеем I -Ch\ = : Chk& — (I-Ih). 1 мк мк В частности, уменьшение шага ft в 2 раза приводит к уменьшению погрешности примерно в 2к раз: У-/*/2в2.СЛ*я1. (/_;/.) (13.29) 457
Глава 13. Численное интегрирование 2. Правило Рунге практической оценки погрешности. Как сле- дует из теоремы 13.4, главный член погрешности квадратурной фор- мулы интерполяционного типа имеет вид -gj JfW(x) dx • Л* = -^ (Л*-'>(*)_/(*-1)(а))А*. Ал г\ • X • а Непосредственное использование этой формулы для оценки погреш- ности I - Ih неудобно, так как требует вычисления производных функ- ции / В более сложных ситуациях выражение для главного члена погрешности может оказаться существенно более громоздким. Поэтому в вычислительной практике часто применяются методы оценки погрешности, не использующие явное выражение для главного члена. Вычитая из равенства (13.28) равенство (13.29), получаем [h/2_IhtaL СЛ*(2‘ - 1). Учитывая приближенное равенство (13.29), приходим к следующей приближенной формуле: /А/2 _ jh У. (13.30) 2*-1 Использование этой формулы для апостериорной оценки погрешно- сти значения Ih!2 принято называть правилом Рунге (или правилом двойного пересчета). Замечание 1. Так как I- Ih~ 2k(I- Ih/2), то из (13.30) следует 2А77А/2 - ]h) формула /-/А~———j , которую можно было бы использо- вать для приближенной оценки погрешности значения Ih. Как пра- вило, этого не делают, поскольку среди двух вычисляемых значе- ний интеграла Ih и /Л/2 второе является более точным и имеет смысл оценивать именно его погрешность. Замечание 2. Заменой h на 2h формула (13.30) приводится к следующему виду: (13.31) Для формул прямоугольников и трапеций к = 2 (см. (13.25) и (13.26)), а для формулы Симпсона к = 4 (см. (13.27)); поэтому для этих квадратурных формул равенство (13.31) принимает следующий вид: .А ~ 1 zjh пр ~ j V пр — пр / (13.32) 458
§ 13.4. Апостериорные оценки погрешности (13.33) '-'с«н('с-'сА)- (13 34) Пр и мер 13.5. Применив правило Рунге, оценим погрешность при- ближенных значений = 0.74713088, /А = 0.74621079, Iq = = 0.74628418, полученных в примере 13.2 при вычислении интеграла 1 /= je-*2 dx и использующих формулы прямоугольников, трапеций о и Симпсона с шагом h = 0.1. Вычислим приближенные значения интеграла по указанным квадра- турным формулам с удвоенным значением шага. В результате получим = 0.74805326, I™ = 0.74436832, = 0.74682495. Применяя теперь формулы (13.32)—(13.34), находим (0.74713088-0.74805326) » -3 • 10’4, (0.74621079-0.74436832) ® 6-10~4, /-/* ® Л (0.74682418-0.74682495) «-5-10*8. ▲ Естественно, что кроме правила Рунге существуют и другие спо- собы апостериорной оценки погрешности. Например, можно использо- вать значения /пАр и , вычисленные по формулам прямоугольников и трапеций с одним и тем же шагом, для практической оценки погрешно- сти каждого из этих значений. Действительно, в равенствах (13.25), (13.26) Стр = -2Спр, поэтому 4-4 = (Спр - Стр)Л2 + о(Л2) « ЗСпрй2. Откуда следует, что '-44(4-4)’ <13-35) -<)• (13-36) 459
Глава 13. Численное интегрирование Пример 13.6. Применив формулы (13.35), (13.36), оценим погреш- ности значений /пр = 0.74713088, = 0.74621079, являющихся при- 1 ближениями к значению интеграла 1= je*2 dx (см. пример 13.2). о Имеем /-1 (0.74621079 - 0.74713088) « -3 • 1(Н, 1-1^ » « -2(-3 • 10-4) = 6- 10-4. Отметим, что полученные оценки совпадают с соответствующими оценками из примера 13.5. ▲ Наличие некоторого правила получения апостериорной оценки погрешности позволяет строить процедуры вычисления интеграла I с заданной точностью е, достигаемой последовательным дроблением шага интегрирования. Простейшая процедура такого типа состоит в последовательном вычислении значении I 1 и соответствующих апо- стериорных оценок погрешности £; (например, по правилу Рунге) для = h$l2\ где Ло — начальное значение шага, i = 1,2, .... Вычисления прекращаются тогда, когда при некотором i оказывается |е;| < е (тре- буемая точность достигнута) либо тогда, когда величина | £/| начинает возрастать (точность не может быть достигнута из-за влияния вычисли- тельной погрешности). 1 Пример 13.7. Найдем значение интегралаI = |е~*2 dx с точностью о е = 10"4, использовав формулу трапеций и применив процедуру после- довательного дробления шага интегрирования, описанную выше. Возьмем Ло = 0.2. Значения Ih° = 0.74436832, У*1 = 0.74621079 (где hx = - hQ/2 = 0.1) и 8j = 6* 10-4 были уже получены (см. пример 13.5). Так как | £j | > е, то уменьшаем шаг вдвое: h2 = h}/2 = 0.05 и вычисляем Ihl = = 0.74667084, е2 = (Л-/') = ^ (0.74667084 - 0.74621079) » 1.5- 10’4. Так как | е21 > е, то снова дробим шаг: Л3 = h^l = 0.025, вычисляем Г3 = = 0.74678581, £3 = ^(Л-/2^ ^(0.74678581-0.74667084) » 4 - 10 5. Поскольку | £31 < £, требуемая точность достигнута и с учетом округле- ния получаем I = 0.7468 + 0.0001. ▲ 460
§ 13.4. Апостериорные оценки погрешности 3. Экстраполяция Ричардсона. Приближенное равенство (13.30) позволяет получить уточненное значение интеграла Таким образом, квадратурная формула Ih порождает новую квадра- турную формулу (13.37), имеющую более высокий порядок точности. Если этот порядок известен, то процесс уточнения можно продолжить. Предположим, например, что для погрешности квадратурной фор- мулы справедливо представление I-Ih= с^к' + c2hk2 + ... + CN hkN + o(hkN) (13.38) при всех W = 1, 2, ..., причем 0 < кх < к2< ... <kN< .... В этом случае формула (13.37) приводит к следующему методу уточнения, который называют также методом экстраполяции Ричардсона'. Сначала пола- гают Iq = Ih. Для вычисления всех последующих приближений исполь- зуют рекуррентное соотношение j-h тh/2. . 1 / г А/2 rh х »т . л к W-1,2,... 2*"-1 Для погрешности составной формулы трапеций с постоянным шагом h представление (13.38) действительно имеет место, причем к{ = 2, к2 = 4, ..., kN = 2N. Приведем соответствующий результат. Теорема 13.5. Пусть функция/является 2N + 1 раз непрерывно дифференцируемой на отрезке [а, Ь]. Тогда справедлива формула Эйлера— Маклорена h В4 /-4 = -^ [/'(А)-/'(а)]Л2-^ [Г(3)((>)-/(3)(а)]й4-... B2N (2?V)! [/(2^- D(Z>)-f(2N-')(a)]h2N + O(h2N + 1). 00 2 Здесь B2j = (-\)J~'(2J)l£ ±1 (2nk) J .,N) — числа Бернулли. Таким образом, к формуле трапеции можно применить экстраполя- цию Ричардсона. В результате получается так называемый метод Ром- берга. Существуют стандартные программы вычисления интегралов методом Ромберга. Правда, следует отметить, что эффективность этого метода не слишком велика. Как правило, лучший результат дает приме- 1 Арчибалд Рид Ричардсон (1881 —1954) — английский математик. 461
Глава 13. Численное интегрирование нение квадратурных формул Гаусса или рассматриваемых ниже адап- тивных процедур численного интегрирования. Замечание. Первый же шаг метода Ромберга приводит к уточнению квадратурной формулы трапеций, совпадающему с формулой Симпсона. Действительно, 4. Адаптивные процедуры численного интегрирования. До сих пор нам было удобнее рассматривать методы численного интегрирова- ния с постоянным шагом. Однако они обладают значительно меньшей эффективностью и используются в вычислительной практике сущест- венно реже, чем методы с переменным шагом. Объясняется это тем, что, равномерно распределяя узлы по отрезку интегрирования, мы пол- ностью игнорируем особенности поведения подынтегральной функ- ции. В то же время интуитивно ясно, что на участках плавного измене- ния функции достаточно поместить сравнительно небольшое число узлов, разместив значительно большее их число на участках резкого изменения функции. Распределение узлов интегрирования в соответст- вии с характером поведения подынтегральной функции часто позво- ляет при том же общем числе узлов получить значительно более высо- кую точность. Тем не менее выбор соответствующего неравномерного распределения узлов интегрирования является очень сложной задачей и вряд ли мог быть широко использован на практике, если бы для реше- ния этой задачи не удалось привлечь компьютер. Современные процедуры численного интегрирования (адаптивные квадратурные программы) используют некоторый алгоритм автомати- ческого распределения узлов интегрирования. Пользователь такой про- граммы задает отрезок [a, Z>], правило вычисления функции f и требуе- мую точность е > 0. Программа стремится, используя по возможности минимальное число узлов интегрирования, распределять их так, чтобы п h. найденное значение Ih = £/. ‘ удовлетворяло неравенству ;=i ь |/*-J/(x)dx| <£. (13.39) 462
§ 13.4. Апостериорные оценки погрешности Здесь I*1 — приближенное значение интеграла I- = J /(х) dx, вычис- x/-i ляемое по некоторой формуле. Типичная программа разбивает исходный отрезок [а, Ь] на элемен- тарные отрезки [х; _ j, xj так, чтобы для погрешностей R- = I- — 1-^* выполнялось неравенство п £|Я;| < е. (13.40) ;=! При этом каждый из элементарных отрезков получается, как правило, делением пополам одного из отрезков, найденных на более раннем шаге алгоритма. Заметим, что неравенство (13.40) выполняется, если каждая из погрешностей Rt удовлетворяет условию < hfJ(b - а). Действи- П h п F п тельно, тогда \I-Ih\ = < £ |Я;| <_£_ £А.= е. /=1 /’=! Г=1 Рассмотрим, например, одну из простейших адаптивных процедур, основанную на формуле трапеций h. (13-41) и использующую для контроля точности составную формулу трапеций с шагом Л;/2: h (13.42) Заметим, что если значение ;, уже найдено, то для нахождения значения /z' требуется лишь одно дополнительное вычисление функ- ции f в точке X; _ 1/2. Можно показать, что для оценки погрешностей квадратурных фор- мул интерполяционного типа на элементарных отрезках правило Рунге сохраняет силу, поэтому погрешность приближенного значения I- ’ можно оценить по формуле Л;«е,.= i (/;*'•-4;;). (13.43) 463
Глава 13. Численное интегрирование В рассматриваемой адаптивной процедуре последовательно выби- рают точки х; и вычисляют значения J/(x)dx (i=l,2,..., л), 7=1 a последнее из которых Sn совпадает с Ih и принимается за приближенное значение интеграла I. Перед началом работы полагают 50 = 0, х0 = а и задают некоторое начальное значение шага Ар Опишем z-й шаг процедуры в предположении, что значение £;_| уже найдено и очередное значение шага h- определено. 1°. По формулам (13.41)—(13.43) вычисляют значения 7^'., /*', е;. 2°. Если |Б;| > h}£,l(b - а), то шаг h- уменьшают в 2 раза и повторя- ются вычисления п. 1°. 3°. После того как очередное дробление шага приводит к выполне- нию условия | е-1 < hp/(b - а), вычисляют значения х- = х,- _ । + Л;, = 4°. Если X; + Л,- > Ь, то полагают А- + j = b - х;. В противном случае полагают Af- + j = А; На этом /-й шаг завершается. Замечание 1. В некоторых адаптивных процедурах при выполнении условия типа |ej h-z!(b - а) очередное значение шага удваивается: hl + । = 2h-. Таким образом, шаг интегрирования в зависимости от характера поведения подынтегральной функции может не только измельчаться, но и укрупняться. Замечание 2. Известно [9], что при оптимальном распределе- нии узлов интегрирования модули погрешностей, приходящихся на элементарные отрезки интегрирования, должны быть примерно одинаковыми. Распределение узлов, полученное с помощью адап- тивных процедур, как правило, не является таковым Однако для большинства функций оно является вполне удовлетворительным. 5. Квадратурные формулы Гаусса—Кронрода. Известно, что квадратурные формулы Гаусса с разным числом узлов не имеют общих узлов, поэтому попытка использовать для апостериорной оценки погрешности формулы Гаусса GN+ х с N + 1 узлами формулу GN с N узлами приводит к необходимости вычисления 2N + 1 значений подын- тегральной функции. 464
§ 13.5. Вычисление интегралов в нерегулярных случаях В 1965 г. советский математик А.С. Кронрод предложил в дополне- ние формулы Гаусса (7Л использовать специальную квадратурную фор- мулу K2N + । с 2N + 1 узлами, которая использует только N + 1 новый узел. Таким образом, вычисление пары Гаусса—Кронрода K1N + |) требует такой же вычислительной работы, как и вычисление пары ((7Л, Gn + j). Однако формула K1N + j точна для многочленов степени 3W + 1, а формула (7Л + j — лишь для многочленов степени 2N + 1. Использование пары Гаусса—Кронрода (GN, K1N + j) в сочетании с оценкой погрешности вида |/-^2ЛГ+ ,| » (200|<7Л,-ЛГ2Л + ,1)3/2 приводит к одной из самых эффективных в настоящее время адаптив- ных процедур численного интегрирования. Результаты А.С. Кронрода опубликованы в книге [59]. Подробнее о квадратурных формулах Гаусса—Кронрода см. в [54]. § 13.5. Вычисление интегралов в нерегулярных случаях Нередко приходится вычислять интегралы ь jF(x) dx (13.44) а от функций, имеющих те или иные особенности. Например, сама функ- ция F (или ее производная некоторого порядка) имеет участки резкого изменения, точки разрыва или является неограниченной. Такие функ- ции плохо аппроксимируются многочленами и поэтому для вычисле- ния соответствующих интегралов может оказаться неэффективным непосредственное применение стандартных квадратурных формул, рас- считанных на возможность кусочно-многочленной аппроксимации функции F. Случай, когда в интеграле (13.44) промежуток интегрирова- ния бесконечен, также требует специального рассмотрения. Пр и мер 13.8. Функция е-т2 имеет особенность в точке х = 0. л/ Г Попробуем применить для вычисления интеграла 1 I = J -у е~*2 dx » 1.689677 (13.45) о х 465
Глава 13. Численное интегрирование формулу прямоугольников с постоянным шагом h П 1 -г2 = £ (13.46) ;=1 Vх;-1/2 Результаты вычислений для нескольких значений шага h приведены в табл. 13.3. Заметим, что значения /пЛр сходятся к / очень медленно. Таблица 13.3 h Ih пр I-Ih 1 пр 0.200 1.420 2.7- 10'1 0.100 1.499 1.9-10"* 0.050 1.555 1.4- 10-' 0.025 1.594 9.6- IO'2 Теоретический анализ погрешности показывает, что она убывает про- порционально лишь Л1/2, а не Л2 как в регулярном случае. ▲ Укажем на некоторые подходы к вычислению интегралов в нерегу- лярных случаях, позволяющие учесть особенности поведения функции F и благодаря этому значительно сократить затраты машинного вре- мени или достигнуть большей точности. 1. Разбиение промежутка интегрирования на части. Пусть подын- тегральная функция F является кусочно-гладкой и С| < с2 < •.. < ср — известные точки разрыва функции F либо ее производных. В этом слу- чае имеет смысл представить интеграл (13.44) в виде суммы ; Ь С1 с2 b jF(x) dx = jF(x) dx + jF(x) dx + ...+ jF(x) dx. (13 47) a a cp Вычисление каждого из входящих в сумму (13.47) интегралов пред- ставляет собой стандартную задачу, так как на каждом из частичных отрезков [a, cj, [q, с2],..[ср, Z>] подынтегральная функция является гладкой. Разбиение промежутка интегрирования на части может оказаться полезным приемом и в других ситуациях, например тогда, когда имеет смысл на разных частях применять различные квадратурные формулы. Другой пример дает стандартный прием вычисления несобственных 466
§ 13.5. Вычисление интегралов в нерегулярных случаях оо интегралов вида jF(x) dx. Если требуется вычислить такой интеграл с а точностью £ > 0, то его представляют в виде суммы; jF(x) dx = jF(x) dx + |F(x)dx. a a b Затем благодаря выбору достаточно большого значения b добиваются оо выполнения неравенства | jF(x) dx | < е/2 и вычисляют интеграл ь ь |F(x) dx с точностью е/2 . а 2. Выделение веса. В некоторых случаях подынтегральная функ- ция допускает разложение на два сомножителя F(x) = р(х)-/(х), где функция р(х) является достаточно простой и имеет те же особенности, что и F(x), а/(х) — гладкая функция. Тогда имеет смысл рассматривать интеграл (13.44) в виде ь 1 = fp(*)/(*)d*- (13.48) а Здесь функция р(х) называется весовой функцией (или весом). При построении численных методов вычисления интеграла (13 48) весовая функция считается фиксированной. В то же время /(х) может быть про- извольной достаточно гладкой функцией. Примерами весовых функций могут служить постоянный вес р(х) = 1, весовые функции Якоби р(х) = (х - а)а(Ь - х)Р (а < х < 6, -1 < а, -1 < Р), Лагерра1 р(х) = хае т (0 < х < °°) и Эрмита р(х) = е-*2 (-°° < х < °°), ь ь соответствующие интегралам вида J/(x)dx, J(x-a)a(6-x)0/(x) dx, а а jxa е-х/(х) dx, J е-х2/(х) dx. О —сю Методы приближенного вычисления интегралов, рассмотренные в предыдущих параграфах, применимы и к задаче вычисления интегра- лов с весом. 1 Эдмунд Никола Лагерр (1834—1886) — французский математик. 467
Глава 13. Численное интегрирование Пусть Рт,; — интерполяционные многочлены (13.17). Приближен- ная замена интеграла (13.48) суммой: я ' /* = £ J dx '=' х, _( приводит к следующей квадратурной формуле интерполяционного типа п т i=l ;=0 Здесь коэффициенты вычисляются по формуле (13.49) а<г\ fP(Xi-l/2 -1 т t-t, ™ -dr Л- -1 Если функция /имеет на отрезке [а, £] непрерывную производную порядка т 4- 1, то для погрешности формулы (13.49) верна оценка b \I-Ih\ <СтМт+х f|p(x)| dx-Сх’- a Пример 13.9. Выведем аналог формулы прямоугольников с посто- янным шагом для вычисления интеграла о N Заменяя функцию / на элементарном отрезке [xz-. h xz] постоянной Л- 1/2 и учитывая, что i/2 dx 2h r-i ;-i v получаем следующую квадратурную формулу: 1 2 n (13.51) о i=i Vх;-1 Пример 13.10. Применим квадратурную формулу (13.51) для вычис- ления интеграла (13.45) при тех же значениях шага, что и в примере 13.9. 468
§ 13.5. Вычисление интегралов в нерегулярных случаях В рассматриваемом случае формула (13.51) принимает вид Г 1 7 п 2 г2 [ -р е-' dx « h У —— е 1-1/2. (13.52) о Jx <=1 Jxi-1 + JX1 Полученные с ее помощью результаты приведены в табл. 13.4. Таблица 13.4 h 4 /-/* 0.200 1.686276 3.4- 1О'Э 0.100 1.688958 7.2 • IO'4 0.050 1.689521 1.6- 10-4 0.025 1.689642 3.5- 10“5 Сравнение с результатами примера 13.9 показывает, что для вычисле- ния интеграла (13.45) формула (13.52) имеет безусловное преимуще- ство перед формулой прямоугольников (13.46). ▲ Для вычисления интегралов (13.48) применяют и квадратурные фор- ь мулы Гаусса Jp(x)/(x) dx~ ^Л;/(х;), точные для многочленов наибо- а , = 1 лее высокой степени. Они строятся аналогично тому, как это было сде- лано для постоянного веса р(х) = 1 (см. § 13.4). Пример 13.11. Для вычисления интеграла (13.50) построим квад- ратурную формулу Гаусса с одним узлом 1 [-у: f(x)dxaC{f(x{). (13 53) о *х Потребуем, чтобы формула (13.53) была точна для многочленов пер- 1 ~ Л Г 1 J вой степени. Это эквивалентно выполнению равенств 2 = | — ах - q, о х 2 г х - = J — dx = qxp Таким образом q = 2, Xj = 1/3 и формула (13.53) о принимает вид J-L/(x)dx»2/Q). (13.54) 0 чХ 469
Глава 13. Численное интегрирование Хотя формула (13.54) и кажется примитивной, применяя ее для вычисления интеграла (13.45), получаем значение I » 1.789679, абсо- лютная погрешность которого равна 0.1 и практически совпадает с погрешностью значения, найденного в примере 13.9 по формуле прямо- угольников с шагом h = 0.025. Замечательно то, что формула Гаусса (13.54) достигает точности е = 0.1 при использовании только одного вычисления значения функции /(х) = е-*2. В то же время формула (13.46) для достижения той же точности требует вычисления 40 значений функции. ▲ _ _ _ __ г /(х) , 3. Формула Эрмита. Для вычисления интегралов вида dx, т.е. при р(х) = 1 /71 -х2, а = -1, b = 1, используют квадратурную фор- мулу Гаусса -I VI -х2 ;=i называемую формулой Эрмита. Узлами этой формулы являются нули __ _ _ z ч (2/ — 1)п , многочлена Чебышева Тп(х), т.е. числа X; = cos ———, 1 < i < п. 4. Интегрирование быстро осциллирующих функций. В задачах радиотехники часто встречается проблема вычисления интегралов вида1 b b ь j/(x) e'wr dx = J/(x) coscox dx + i J/(x) sincox dx. (13.55) a a a Здесь (&(b - a) >> 1, /(x) — некоторая достаточно гладкая функция, a i — мнимая единица. Функции /(х) coscox и /(х) sincox являются быстро меняющимися и имеют на отрезке [a, порядка (Ь - а)со/л нулей. Если попытаться вычислить интеграл (13.55) с помощью стандартных квад- ратурных формул, то для обеспечения приемлемой точности на каждый «полупериод» колебаний подынтегральной функции потребуется помес- тить хотя бы несколько (например, порядка десяти) точек. Так как на отрезок [a, Z>] приходится примерно (Ь - а)со/л таких «полупериодов», то необходимо по меньшей мере порядка co(Z> - а) » 1 узлов интегрирова- 1 Например, F(x) = f(x) е'ых отвечает несущему высокочастотному колебанию е,(ог с модулированной амплитудой /(х). 470
§ 13.5. Вычисление интегралов в нерегулярных случаях ния. Следовательно, стандартный подход к вычислению интегралов вида (13.55) потребует слишком больших затрат машинного времени. Для существенного уменьшения объема вычислений в равенстве (13.55) полезно рассматривать функцию р(х) = е/шх как весовую. Тогда кусочно-полиномиальная интерполяция функции /(х) приводит к квад- ратурным формулам интерполяционного типа, которые принято назы- вать формулами Филона. Выведем одну из таких формул, основанную на интерполяции функ- ции f(x) на каждом из элементарных отрезков [хк _ и xj линейной функцией Р} *(х) = fk_ j + (4 ~fk- ])(х ~ хк- и являющуюся ана- логом составной квадратурной формулы трапеций. Положим хк хк h= J f(x) dx » Z* ‘ = j Р| к(х) ei<s>x dx. хк - i хк - 1 Вычислив интеграл 1кк, получим формулу Здесь sin рк рк cosрк~ sinрк Ак =---- ‘ ’ Рк 2 Рк sin рк рк cos рк — sin рк (&hk Вк=--------z, Рь= ~г- • рк J к z 2 Рк В результате приходим к составной формуле вида Ь л Л J/(X) е'- dx « (ЛЛ л_, + 5* А) е’шх*- . а к=] 5. Аддитивное выделение особенности. Иногда подынтегральную функцию удается представить в виде суммы F(x) = ф(х) + ф(х), где функция ф(х) содержит особенность, но интегрируется аналитически, а функция ф(х) является достаточно гладкой. Тогда интеграл от функ- ции F представляют в виде суммы двух интегралов: b b ь |F(x) dx = |ф(х) dx + |ф(х) dx = 1 > + /(2>. а а а Первый из них вычисляется аналитически, а значение второго можно найти с помощью той или иной квадратурной формулы. 471
Глава 13. Численное интегрирование Пример 13.12. Указанный прием можно использовать для вычис- ления интеграла (13.45). Представим интеграл в виде Интеграл /(1) вычисляется аналитически: = 1.6. В то же время функция (е-*2 - 1 + х2)/ J~x трижды непрерывно дифференцируема на отрезке [0, 1]. Поэтому интеграл Л2^ можно вычислить по формуле пря- моугольников. В результате приходим к формуле Найденные по ней приближенные значения интеграла приведены в табл. 13.5. ▲ Таблица 13.5 h /* !-Ih 0.200 1.687874 1.8 • 10~3 0.100 1.689227 4.5 • 10~* 0.050 1.689565 1.1 • 10-4 0.025 1.689649 2.8- IO’5 6. Замена переменой н сгущение сетки. Конечно, отмеченные при- емы представляют лишь небольшую часть тех средств, которые приме- няются при вычислении интегралов в нерегулярных случаях. Иногда, например, оказывается полезной замена переменной х = <р(Г), приводя- щая интеграл к виду ь 3 jF(x)dx=jF((p(O)<p'(r)dr. а а Если функция g(f) = F(q>(r))(p'(r) достаточно гладкая, то интеграл может уже быть вычислен стандартными методами Пример 13.13. Сделаем в интеграле (13.45) замену х = г2. Тогда 1 dx= 2 je dr. о 472
§ 13.6. Дополнительные замечания Для вычисления полученного интеграла можно уже использовать одну из стандартных квадратурных формул, например, — составную фор- мулу прямоугольников с узлами г • = i /п, 0 < i < п и шагом h = 1 / п 1 4 П -t* /=2je dr«2A£e О i=l Здесь ~ (i ~ 1/2)/п, 1 < i < п. А Близкий прием состоит в сгущении сетки узлов х- вблизи особен- ности. Пример 13.14. Например, для вычисления интеграла (13.45) можно использовать составную квадратурную формулу прямоугольников с узлами х{ = (г/w)2, 0 < / < л, сгущающимися вблизи точки х = 0. Здесь х1-\/2 = (х;-1 + х;)/2> Л, = х|-х;-1> 1 »<и. А Иногда заменой переменной х = <р(0 удается свести проблему вычис- ления несобственного интеграла по бесконечном интервалу к интегралу по конечному отрезку с подынтегральной функцией, не имеющей осо- бенностей. оо / у t J I + X Пример 13.5. Заменой переменной х = Mt интеграл 1 — —• dr 1 N 1 + X преобразуется в равный ему интеграл J dr, для вычисления о J'6 +1 которого можно использовать стандартные квадратурные формулы. ▲ § 13.6. Дополнительные замечания 1. Мы не рассматриваем проблему вычисления кратного интеграла 1= If • f/(Xl’X2’ • >xm)dxl dx2-•• dxm> (13.56) G поскольку это потребовало бы привлечения достаточно сложного мате- матического аппарата. Ограничимся указанием на то, что в принципе вычисление интегралов (13.56) можно проводить методами, аналогич- 473
Глава 13. Численное интегрирование ними рассмотренным в этой главе. Соответствующие кубатурные фор- мулы 1 для вычисления кратных интегралов имеют вид N ... /=^Л;/(х^,х^,...х^) (13.57) Среди формул (13.57) есть кубатурные формулы интерполяцион- ного типа и кубатурные формулы Гаусса. Иногда для вычисления кратного интеграла оказывается целесообразным сведение его к повторному вычислению однократных интегралов. Для первоначаль- ного знакомства с методами вычисления кратных интегралов можно рекомендовать книги [9, 51]. 2. Вычисление кратных интегралов уже при не очень больших значе- ниях т > 6 является очень сложной задачей. Применение для вычисления таких интегралов кубатурных формул типа (13.57) требует (даже при очень скромных запросах к точности) такого большого числа N вычисле- ний значений функции /, что решение задачи даже при использовании самых современных компьютеров становится нереальным. Привлека- тельной альтернативой в такой ситуации становится использование метода Монте-Карло. Простейшее представление об этом методе (на примере вычисления однократного интеграла) можно получить из учеб- ника [25]. Мы все же рекомендуем обратиться и к весьма содержатель- ному обсуждению метода Монте-Карло, проведенному в книге [9]. 3. Иногда возникает необходимость по известной функции /(х), заданной на отрезке [a, Z>], восстановить ее первообразную X УМ= a<x<b. (13.58) а При каждом фиксированном х функцию (13.58) можно рассматри- вать как определенный интеграл вида (13.1) и вычислять с помощью одного из известных методов. Однако если требуется находить значе- ния Xх) в большом числе различных точек, то такой подход становится нецелесообразным. Оказывается более выгодным разбить отрезок [a, Z>] на элементарные отрезки точками а = х0 < Xj < х2 < .. .< хп = Ь, а затем составить таблицу значений^- «у(х;), 0 < i < п. Значения^, можно найти, например по формуле у; = у+ /*', 1 < i < п. Здесь yQ = 0, а /*' — при- 1 Впрочем формулы (13.57) называют также и квадратурными . 474
§ 13.6. Дополнительные замечания ближение к интегралу J /(x)dx, полученное с помощью одной из x;-i квадратурных формул. Значение у(х) в любой из промежуточных точек можно затем приближенно восстановить, использовав интерполяцию. Так как значения У(х,) = /(х«) фактически также известны, то весьма под- ходящим для интерполяции на каждом элементарном отрезке [х; _ j, xj является кубический многочлен Эрмита (см. § 11.5). Использование этого способа интерполяции позволяет находить значения у (х) с довольно высокой точностью по сравнительно редкой таблице значений. 4. В данной главе в основном обсуждались не вычислительные алго- ритмы, а методы дискретизации, т.е. методы замены определенных инте- гралов соответствующими квадратурными суммами. Как бы ни был орга- низован алгоритм, он все же предполагает вычисление квадратурной суммы. С увеличением числа слагаемых возрастает влияние вычисли- тельной погрешности на результат суммирования. При очень больших значениях N даже для хорошо обусловленных квадратурных формул соответствующий вычислительный алгоритм может стать плохо обуслов- ленным. Тем не менее при умеренном значении числа узлов влияние погрешностей округления невелико и им часто можно пренебречь. 475
Глава 14 ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ КОШИ ДЛЯ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ Часто приходится иметь дело с процессами, характеристики которых непрерывным образом меняются со временем11. Соответствующие явле- ния, как правило, подчиняются физическим законам, которые формули- руются в виде дифференциальных уравнений. Одной из основных мате- матических задач, которые приходится решать для таких уравнений, является задача Коши (или начальная задача). Чаще всего к ней прихо- дят тогда, когда начальное состояние некоторой физической системы в момент времени Го считается известным, и требуется предсказать ее пове- дение при t > tQ. Понимание того, что задача Коши описывает развитие тех или иных процессов во времени, значительно упрощает восприятие как подходов к ее решению, так и критериев оценки качества получае- мых приближений. Подавляющее большинство возникающих на практике начальных задач невозможно решить без использования вычислительной техники. Поэтому в прикладных расчетах численные методы решения задачи Коши играют особую роль. Моделирование самых разнообразных процессов приводит к необ- ходимости решать системы дифференциальных уравнений (иногда довольно высокого порядка). Тем не менее большая часть этой главы (§ 14.1—14.9) посвящена рассмотрению методов решения задачи Коши для одного дифференциального уравнения первого порядка. Это тради- ционный подход, упрощающий как изложение методов, так и понима- ние их существа. Переход от решения одного уравнения к решению систем дифференциальных уравнений не вызывает затем серьезных затруднений (по крайней мере формального характера). Некоторые осо- бенности решения задачи Коши для систем уравнений изложены в § 14.10 и 14.11. При этом значительное внимание уделяется проблеме устойчивости численных методов и так называемым жестким задачам. 1 В роли / может выступать и другая (например, пространственная) переменная. Тем не менее в этой главе переменную t будем называть временем. 476
§ 14.1. Задача Коши для дифференциального уравнения первого порядка § 14.1. Задача Коши для дифференциального уравнения первого порядка 1. Постановка задачи. Напомним, что решением обыкновенного дифференциального уравнения первого порядка (14.1) называется дифференцируемая функция y(t), которая при подстановке в уравнение (14.1) обращает его в тождество. График решения диффе- ренциального уравнения называют интегральной кривой. Процесс нахождения решений дифференциального уравнения принято называть интегрированием этого уравнения. Исходя из геометрического смысла производной у' заметим, что уравнение (14.1) задает в каждой точке (г, у) плоскости переменных I, у значение f(t, у) тангенса угла а наклона (к оси Or) касательной к гра- фику решения, проходящего через эту точку. Величину k = tga = f(t, у) далее будем называть угювым коэффициентов (рис. 14.1). Если теперь в каждой точке (Г, у) задать с помощью некоторого вектора направление касательной, определяемое значением f(t, у), то получится так называе- мое поле направлений (рис. 14.2, а). Таким образом, геометрически задача интегрирования дифференциальных уравнений состоит в нахож- дении в интегральных кривых, которые в каждой своей точке имеют заданное направление касательной (рис. 14.2, б). Для того, чтобы выде- лить из семейства решений дифференциального уравнения (14.1) одно конкретное решение, задают начальное условие (14.2) где tQ — некоторое фиксированное значение аргумента /, yQ — вели- чина, называемая начальным значением. 477
Глава 14. Численные методы решения задачи Коши Геометрическая интерпретация использования начального условия состоит в выборе из семейства интегральных кривых той кривой, кото- рая проходит через фиксированную точку (г0, у0). Задачу нахождения при t > tQ решения y(t) дифференциального урав- нения (14.1), удовлетворяющего начальному условию (14.2), будем называть задачей Коши. В некоторых случаях представляет интерес поведение решения при всех t > tQ. Однако чаще ограничиваются опре- делением решения на конечном отрезке [70, Г]. 2. Разрешимость задачи Коши. Пусть Пг — множество точек (г, у), удовлетворяющих условию Го < t < Т, - оо < у < оо; это множество будем называть полосой. Приведем одну из теорем о разрешимости задачи Коши. Теорема 14.1. Пусть функция f(t, у) определена и непрерывна в полосе Пг. Предположим также, что она удовлетворяет условию Липшица1 1/(Л/,)-/(ЛУ2)1 (143) для всех t0 < t < Т и произвольных у р у2, где L — некоторая постоянная (постоянная Липшица). Тогда для каждого начальною значения у0 существует единст- венное решение y(f) задачи Коши (14.1), (14.2), определенное на отрезке [Го, 7]. И 1 Рудольф Липшиц (1832—1903) — немецкий математик. 478
§ 14.1. Задача Коши для дифференциального уравнения первого порядка Замечание 1. Для дифференцируемых по у функций/условие (14.3) выполняется тогда и только тогда, когда для всех (г, у) е Пг, справедливо неравенство 1/;(Л>')1 ±L. (14.4) Поэтому условие (14.4) можно также называть условием Липшица. Замечание 2. Теорема 14.1 остается справедливой, если в ее формулировке условие Липшица (14.3) заменить менее ограничи- тельным односторонним условием Липшица (/V,У|) -Уг* «О’! ->92- (,4-5) Подчеркнем, что входящая в это условие постоянная а может иметь произвольный знак. Для дифференцируемых по у функций / условие (14.5) выполняется тогда и только тогда, когда для всех (г, у) е Пг справедливо неравенство <а. (14.6) Ясно, что для функций, удовлетворяющих условию Липшица с постоянной L, одностороннее условие заведомо выполнено с посто- янной а < L. Пример 14.1. Функция f(t) = cos(t + у) удовлетворяет условию Липшица с постоянной L = 1, так как f' = -sin(f + у) и |/^| < 1. Отсюда следует, что решение задачи Коши у' = cos(f + у), у(г0) = у0 существует и единственно на любом отрезке [г0, 7]. А Пример 14.2. Функция f(t, у) = t - у3 не удовлетворяет условию Липшица, поскольку fy = -Зу2 и модуль этой величины не ограничен. В то же время одностороннее условие (14.6) выполняется с постоянной а = 0. Следовательно, можно утверждать, что решение задачи Коши у' = = t -у3, у(1ц) = yQ существует и единственно на любом отрезке [г0, Г]. А Пример 14.3. Функция /(t, у) = t + у3 не удовлетворяет односто- роннему условию (14.6), так как частная производная /' = Зу2 не огра- ничена сверху. Поэтому вопрос о разрешимости задачи Коши у' = t + у3, y(tQ) = у0 требует дополнительного исследования. А Отметим следующий полезный результат, указывающий на зависи- мость степени гладкости решения задачи Коши от степени гладкости правой части дифференциального уравнения. 479
Глава 14. Численные методы решения задачи Коши Теорема 14.2. Пусть функция f непрерывно дифференцируема т раз в полосе Пг. Тогда если функция у является на отрезке [/0, 7] реше- нием задачи Коши (14.1), (14.2), то она непрерывно дифференцируема т + 1 раз на этом отрезке. Это утверждение непосредственно вытекает из возможности диффе- ренцирования тождества y\t) = f(t, y(t)) не менее чем т раз. В дальнейшем функции f и у будем предполагать дифференцируе- мыми столько раз, сколько потребуется при рассмотрении соответст- вующих численных методов. 3. Устойчивость решения задачи Коши на конечном отрезке. Этот вопрос весьма важен для понимания особенностей методов численного интегрирования дифференциальных уравнений. Рассмотрим сначала про- цесс распространения погрешностей, внесенных в начальные значения. Пусть уц — возмущенное начальное значение, е0 = у$ - Уц — его погрешность, a y\t) — решение соответствующей задачи Коши О*)'(0 =У(Л У*(0), (14.7) y(J0) = Уо. Вычтем из уравнения (14.1) уравнение (14.7) и воспользуемся фор- мулой конечных приращений Лагранжа: fit, y(t)) -f(t, y\t)) = X(/)W0 - /(0), W = f'yitJ(0), где y(t) — некоторое промежуточное между y(t) ny*(f) значение. В результате получим, что погрешность е(/) = y(t) - y*(t) удовлетво- ряет дифференциальному уравнению вЧО =Х(0е(0 (14.8) и начальному условию е(г0) = е0. Решение задачи (14.8), (14.9) выражается формулой (14.9) е(/) = е0 ехр< |Х(х) dx ►. 'о Таким образом, величина ► = ехр< С(г) = ехр< |Х(х) dx ^0 ' '‘о играет в задаче Коши роль коэффициента роста погрешности. 480
§ 14.1. Задача Коши для дифференциального уравнения первого порядка Заметим, что знак производной fy оказывает существенное влияние на поведение погрешности е(г). Если fy > 0, то величина С(Г), а вместе с ней и модуль погрешности монотонно возрастают. При этом соответ- ствующие интегральные кривые расходятся. Иллюстрацией такого поведения погрешности может служить рис. 14.3, а. Иначе ведет себя погрешность при fy < 0. Здесь C(t) и | е (г) | с ростом t монотонно убы- вают, а соответствующие интегральные кривые сближаются. Погреш- ность, внесенная в начальное значение, имеет тенденцию к затуханию (рис. 14.3,6). Когда производная fy незнакопостоянна, поведение погрешности может быть более сложным. Важно отметить, что в любом случае выполнение одностороннего условия Липшица (14.5) гарантирует, что коэффициент C(t) роста погрешности окажется ограниченным, если задача решается на конеч- ном отрезке [Го, 7]. В самом деле, в этой ситуации t t f<1т< Jct dT = o(r-t0) *0 и поэтому C(t) < K(T) для всех tQ < t < T, где AT(T) = Je ПРИ CT>0’ (14.10) [1 при a<0. Таким образом, при выполнении условия f'y <<з справедлива оценка max |y(r)-/(0| <К(Т)|у0-/I , (14.11) /0 s t £ Т выражающая устойчивость на конечном отрезке [r0, Т] решения задачи Коши по начальным значениям. 481
Глава 14. Численные методы решения задачи Коши 4. Модельное уравнение. Наиболее простым образом ведет себя погрешность, когда решается линейное уравнение У(0 = М0+Я0 с постоянным коэффициентом X. В этом случае погрешность е удовле- творяет уравнению e'(f) = Хе(t) и выражается формулой е(Г) = е0еХ('-'о). (14.12) Поскольку функция f(t) не влияет на характер распространения погрешности, при изучении устойчивости по начальным значениям естественно ограничиться случаем f(t) = 0 и рассматривать уравнение У(0 = W (14.13) Уравнение (14.13) часто называют модельным уравнением. Оно играет важную роль при исследовании свойств численных методов задачи Коши. Как следует из формулы (14.12), модуль погрешности уравнения (14.13) изменяется в е раз за интервал времени решения решения т = йг п 1 - Поэтому величину т = -г-т иногда называют временной постоянной I М или постоянной времени модельного уравнения (14.13). Если же пара- метр X является комплексным числом, то временной постоянной назы- 1 вают величину т = • Когда рассматривается распространение малого возмущения, внесен- ного в решение y(t) уравнения у' = f(t, у) в малой окрестности точки t , значение коэффициента Х(Г) в уравнении (14.8) оказывается близко к постоянной k=fy(t,y(t)). Поэтому при t » t справедливо прибли- женное равенство e'(t) » Xe(t). Это означает, что поведение погрешно- сти для уравнения у' = ку моделирует локальное распространение погрешности для общего уравнения (14.1). Роль временной постоянной играет здесь локальная временная постоянная ти) = -z- = ч—~—yz—г, |Х| |/;(',:и(7))| значение которой меняется с изменением точки t . Для функции/, кото- рая может принимать комплексные значения, формула для т имеет вид ~ 1 482
§14.1. Задача Коши для дифференциального уравнения первого порядка 5. Устойчивость по правой части. Будет ли решение задачи Коши устойчивым не только по отношению к погрешности £0 задания началь- ного значения, но и к погрешностям \|/(t) задания правой части уравне- ния? Положительный ответ на этот вопрос дает следующая теорема. Теорема 14.3. Пусть выполнены условия теоремы 14.1. Далее, пусть у (t) — решение задачи (14.1), (14.2), аХ(0 —решение задачи (/)'(0=/(Л/(0)+Ш (14.14) /('oW- (1415) Тогда справедлива оценка max |/(0-/(01 |/о-/1 + Jlv(Ol d* , (14.16) 'os,sr \ ) 'о выражающая устойчивость на конечном отрезке [t0, 7] решения задачи Коши по начальным значениям и правой части. Здесь К(Т) = Замечание. Величина К(Т) играет в задаче Коши роль оценки числа обусловленности1. Если в теореме 14.1 условие Липшица (14.3) заменить односторонним условием (14.5), то оценка (14.16) будет выполнена с постоянной К(Т), определенной формулой (14.10). 6. Устойчивость решения на неограниченном промежутке. При решении самых разнообразных прикладных задач особый интерес пред- ставляет изучение описываемых дифференциальными уравнениями про- цессов на больших временных отрезках. В такой ситуации недостаточно наличие у задачи Коши свойства устойчивости на конечном отрезке. Если входящая в неравенство (14.16) величина К(Т) может неограниченно расти с ростом Т, то это означает, что допускается неограниченный при Т—► оо рост погрешностей. Как следствие, при достаточно больших Т такая задача является плохо обусловленной и найти ее решение на отрезке [г0, 7] с приемлемой точностью оказывается невозможно. Пример 14.4. Рассмотрим задачу Коши y’(t) = y(t) - sin г + cos г, ХО) = 0. Ее решением, как нетрудно проверить, является функция ХО = sin t. 1 Напомним, что общее понятие о числе обусловленности вычислительной задачи содержится в гл. 3. 483
Глава 14. Численные методы решения задачи Коши Внесем в начальное значение погрешность, заменив условие ХО) = О условием ХО) = £- Решением соответствующей задачи служит уже функция ХО = sin t + ее'. Погрешность ее' с ростом t быстро увеличи- вается и, как видно из рис. 14.4, уже при не очень больших t ее значе- ние становится неприемлемо большим. А Для того чтобы обусловленность задачи Коши не ухудшалась с рос- том Г, в силу замечания 1 к теореме 14.3 достаточно потребовать, чтобы правая часть уравнения удовлетворяла неравенству f'v(t,y) < О для всех t > Го и произвольных у. Более того, можно доказать, что при выполнении условия fy(t,y) < а < 0 справедлива следующая оценка: k(O-/(Ol ^е°('-'о)|/о-уо| +-Дт max |\|/(Г')1 • (14.17) |о| Предположим, что на каждом отрезке [t0, 7] (f0 < Т — произвольное) неравенство (14.6) выполнено с некоторой постоянной и = а(Т). Тогда решение ХО определено для всех 'о * t < оо. Пусть y\t) — решение уравнения (14.7), отвечающее произвольному начальному значению yj. Назовем решение задачи Коши (14.1), (14.2) устойчивым по Ляпунову1, если справедлива оценка max |у(Г)-У \t)\<K\y0 —Уо | , где постоян- '0^'<Т ная К не зависит от Г. Если дополнительно известно, чтоу*(0 -у(0 О при t —► оо, то решение ХО называется асимптотически устойчивым. 1 Александр Михайлович Ляпунов (1857—1918) — русский математик и механик. Приведенное здесь определение устойчивости по Ляпунову является более грубым, чем классическое определение [115]. 484
§ 14.2. Численные методы решения задачи Коши. Основные понятия Замечание 1. Решения модельного уравнения (14.13) с веще- ственным параметром X устойчивы по Ляпунову тогда и только тогда, когда X < 0, и асимптотически устойчивы тогда и только тогда, когда X < 0. Этот вывод легко следует из формулы (14.12). Если же параметр X — комплексное число, то из той же формулы следует, что | е (/) | = |е0| eReX(7 Г()). Поэтому решения модельного уравнения устойчивы по Ляпунову тогда и только тогда, когда Re X < 0, и асимптотически устойчивы тогда и только тогда, когда Re X < 0. Замечание 2. Для решения задачи Коши (14.1), (14.2) (как вытекает из неравенства (14.11) и формулы (14.10)) грубым доста- точным условием устойчивости по Ляпунову служит выполнение неравенства f' < 0. Следствием выполнения условия f < и с посто- янной су < 0 является асимптотическая устойчивость решения. § 14.2. Численные методы решения задачи Коши. Основные понятия и определения 1. Сетки и сеточные функции. Первый этап на пути построения численного метода решения задачи Коши состоит в замене отрезка [r0, Т] — области непрерывного изменения аргумента t — множеством соА, которое состоит из конечного числа точек tQ < < ... < tN = Т и называется сеткой. Сами точки tn называются узлами сетки, а величина hn = tn - tn _ j — шагом сетки (рис. 14.5). Для того чтобы упростить изложение, будем рассматривать, как правило, равномерные сетки, т.е. такие сетки, для которых шаг hn постоянен. В этом случае hn = h = = (Т- tQ)/N и tn = t0 + nh, п = 1, 2, ..., N. Наряду с функциями непрерывного аргумента будем рассматривать и сеточные функции, т.е. такие функции, которые определены лишь в узлах сетки coA. Для того чтобы отличать сеточные функции от функций непре- рывного аргумента, будем помечать их индексом h. Так, например uh — сеточная функция. Для краткости записи значения uh(t^ сеточной функ- ции uh в узлах tn сетки сол будем обозначать через ип. zo Z1 Zn-1 z« lN=T Рис. 14.5 485
Глава 14. Численные методы решения задачи Коши 2. Дискретная задача Коши. Следующий этап в построении числен- ного метода состоит в замене задачи Коши ее дискретным аналогом — системой уравнений, решая которую можно последовательно находить значения у,, у2, сеточной функцииyh, играющие роль приближе- ний к значениям решения задачи Коши в узлах сетки соЛ. В основе построения конкретного численного метода лежит тот или иной способ замены дифференциального уравнения у' = f(t, у) его дис- кретным аналогом — уравнением вида 1 к У <*}УП + 1 - j ~ Ф(^П’Уп (14.18) 7=0 в которое входят значения сеточной функции в к + 1 последователь- ных точках tn + j _к, ..., tn, tn + г Предполагается, что а0 * 0. Во всех рассматриваемых в этой главе методах сумму (аоК+ 1 + d|K,+ - + аку„+!_*), (14.19) стоящую в левой части уравнения (14.18), можно рассматривать как разностную аппроксимацию производной у’ в соответствии с одной из формул численного дифференцирования (см. гл. 12). Правую часть Ф уравнения (14.18) можно рассматривать как специальным образом построенную аппроксимацию функции / Значение уп + j приближенного решения в очередной точке нахо- дится из уравнения (14.18). При этом используются найденные ранее значения сеточной функции у* в к предыдущих точках tn + j _ ..., tn. Поэтому такие методы получили название к-шаговых. Как нетрудно видеть, для того чтобы найти значения сеточной функции yh во всех узлах сетки используя ^-шаговый метод, необходимо задать к начальных значений'. yh(t0)=y^ УА(/1)=У|,-,>'Ч-1)=Л-1- (14.20) Задачу вычисления сеточной функции yh удовлетворяющей уравне- нию (14.18) для всех п > к - 1 и принимающей заданные начальные зна- чения (14.20), будем называть дискретной задачей Коши. Замечание. Принято считать, что уравнением (14.18) задается численный метод решения задачи Коши. Далее мы будем отожде- ствлять свойства численного метода, дискретного уравнения (14.18) и соответствующей дискретной задачи Коши. 486
§ 14.2. Численные методы решения задачи Коши. Основные понятия При к = 1 уравнение (14.18) упрощается и принимает вид •^4^ = Ф(/л,уя,Л+1,Л). (14.21) Соответствующий метод принято называть одношаговым. Вычисление значения уп + j осуществляется здесь с использованием только одного предыдущего значения уп. Поэтому одношаговые методы часто назы- вают самостартующими. Пример 14.5. Простейший дискретный аналог дифференциаль- ного уравнения (14.1) представляет собой уравнение (14.22) приводящее к известному методу Эйлера1. J Пример 14.6. Метод Эйлера является примером одношагового метода. Вычисление очередного значения уп + । осуществляется здесь по формуле Уп + 1 = У„ + у„). ▲ (14.23) При к > 1 численный метод называют многошаговым. Примеры таких методов можно найти в § 14.7 и 14.10. Замечание. Использование многошагового метода предпола- гает преодоление одной специфической трудности, не возникаю- щей при применении одношаговых методов. Как уже отмечалось выше, ^-шаговый метод требует задания к начальных значений (14.20), в то время как в постановке задачи Коши содержится только одно начальное значение у0. Поэтому при к > 1 метод не является самостартующим, и для вычисления дополнительных значений уh у2, ...,ук_х необходимы специальные подходы. 3. Явные н неявные методы. Реализация численного метода на компьютере предполагает построение алгоритма, позволяющего вычислить решение поставленной дискретной задачи Коши. В случае, когда входящая в уравнение (14.18) функция Ф не зависит от уп + и вычисление значения уп + । не вызывает затруднений и осуществляется по явной формуле Уп+\ = ао’ к L 7-1 1 Леонард Эйлер (1707—1783) — математик, физик, механик, астроном. Родился в Швейцарии, с 1726 по 1741 г.и с 1776 по 1783 г.работал в России. 487
Глава 14. Численные методы решения задачи Коши поэтому соответствующие методы называют явными. В противополож- ность им, методы, в которых функция Ф зависит от уп + ,, называют неявными. При реализации неявного метода при каждом п (или, как говорят, на каждом шаге) возникает необходимость решения относи- тельно уп + j нелинейного уравнения (14.18). Пр и мер 14.7. Метод Эйлера, для которого вычисления уп + , произ- водятся по явной формуле (14.23), представляет собой явный метод. А Пример 14.8. Простейшим примером неявного метода является неявный метод Эйлера, соответствующий аппроксимации дифференци- ального уравнения (14.1) дискретным уравнением Уп+\~Уп h + 1’ Уп + 1 ) • (14.24) Другим примером неявного метода может служить правило трапеций . । -у„ 1 -1-Т-2 Ж>Л)+/(/я+1,Ул+1)). (14.25) Как в том, так и в другом методе значение уп + j определяется урав- нением неявно, и для его вычисления приходится использовать один из итерационных методов решения нелинейных уравнений. А 4. Устойчивость. Если решение дискретной задачи Коши не обла- дает устойчивостью по отношению к малым возмущениям начальных значений и правой части уравнения, то соответствующий численный метод нельзя использовать в практических вычислениях. Приведем определение устойчивости, достаточное для понимания основного содержания этого и следующих четырех параграфов. Более подробно обсуждение этой проблемы будет проведено в § 14.8. Внесем в правую часть уравнения (14.18) и в начальные условия (14.20) произвольные малые возмущения хуп и е0, ер е2, ..., zk_ j соот- ветственно. Положим уд =Уо-еО’^* = У\ ~ ер •••> У к-1 Пусть y*h — решение соответствующей возмущенной задачи 1 к h Ха}Уп^-} = ф(1п>Уп^-ь +v„, (14.26) Г*('о)=Уо‘./*('1)=Х. j • (14.27) 488
§ 14.2. Численные методы решения задачи Коши. Основные понятия Будем называть дискретную задачу Коши (14.18), (14.20) и соответ- ствующий численный метод устойчивыми на конечном отрезке (или просто устойчивыми), если при всех h < h0 (где h0 достаточно мало) справедливо неравенство г N- I max <ЛГ(Г) max |e„| + £ |у„|-Л, (14.28) ^n<N 0<n<k-I “ , n=k- 1 где величина К не зависит от h, &п (0 < п < к - 1) и \|/л (к - 1 < п < N - 1). Замечание. Неравенство (14.28) является дискретным анало- гом неравенства (14.16), выражающего устойчивость решения задачи Коши. Для одношаговых методов (т.е. при к = 1) неравен- ство (14.28) принимает вид / N- 1 \ max ^^(Г)(|е01 + L W ’А). О £ п < N 4 „ ' п=0 и аналогия с (14.16) становится еще более очевидной. Действи- 1 тельно, сумму £ | \|/л I ' h можно рассматривать как дискретный л=0 Т аналог интеграла J|\|/(/)| dr, построенный по формуле левых пря- 'о моугольников (см. § 13.1). 5. Аппроксимация. Пусть y(t) — произвольная гладкая функция. Зафиксируем значение t = tn и устремим h к нулю (а п соответственно — к бесконечности). Будем предполагать, что замена в формуле (14.19) значений + j у сеточной функции yh соответствующими значениями y(t - (j - 1) h) функции у дает величину | (а0Я^ +A) + atX0+ ••• +а*>'(/-(А- 1)А)), (14.29) стремящуюся к y'(t) при h —► 0. Аналогично предположим, что Ф(Л У(‘ - (А - 1) А), ..., y(t), y(t + h), h) — f(t, y(t)) при Л — 0. Замечание. Из сделанных предположений следует, что коэф- фициенты а0, ар ..., а* должны удовлетворять условию а0 + ci] + ... + а* = 0. (14.30) 489
Глава 14. Численные методы решения задачи Коши Действительно, для y(t) = 1 величина (14.29) превращается _ _ к _ в alh, где а = ^ау.. По условию, а!h —► y'(t) = 0 при h —► 0. Но ;=о это возможно лишь при а = 0, что эквивалентно равенству (14.30). Пусть Х0 — решение задачи Коши (14.1), (14.2). Назовем сеточную функцию \|/Л, определяемую формулой 1 к = h ZaJy^" + > -/) ~ Ф('"’+ 1)’ А> ’ ;=0 погрешностью аппроксимации дискретного уравнения (14.18) на реше- нии у. Эта формула, записанная в виде 1 к h = • •’Я/я+|)>Л) + \|/я. (14.31) ;=о позволяет заметить, что функция y(t) удовлетворяет уравнению (14.18) с точностью до погрешности аппроксимации уп. Сеточную функцию yh используют для предварительной оценки того, насколько точно аппроксимируется дифференциальное уравне- ние его дискретным аналогом. Говорят, что дискретное уравнение (14.18) аппроксимирует дифференциальное уравнение (14.1), если max | хуп | —> 0 при h —► 0, и аппроксимирует его с р-м порядкам, к - \<п < N если справедлива оценка max k- I <п<N |\|/л| <ChP,p>0. Часто для оценки качества одношаговых методов (14.21) исполь- зуют не погрешность аппроксимации, а другую величину — локальную погрешность. Пусть уп + j — значение, найденное из уравнения +,*), (14.32) т.е. из уравнения (14.21), в которое вместо^ подставлено точное значе- ние решения дифференциального уравнения в точке Г = tn .Тогда разность 1п =У<*п + i) ~Уп + I называется локальной погрешностью метода (или его погрешностью на шаге). Другими словами, 1п — это погрешность, кото- рую допускает за один шаг метод, стартовавший с точного решения. Когда Ф не зависит от уп + । (т.е. метод (14.21) является явным), локальная погрешность и погрешность аппроксимации оказываются связаны простым равенством ln = \|/лЛ, что непосредственно вытекает из данных определений. 490
§ 14.2. Численные методы решения задачи Коши. Основные понятия Пример 14.9. Покажем, что метод Эйлера имеет первый порядок аппроксимации. Известно, что Я'„ + h L + ^"(U> где t„ < < tn+ ! (cm. § 12.1). Учитывая равенство y'(t„) = f(t„, y(tn)), для погрешности аппроксимации получаем следующее выражение: y(t„ + A) ~y(jn) h ------ ~f^y(tn)) = h- у"(Ы • (14.33) Поэтому Л/, max |v|/„|<— h, М2 = max |У'(/)1 > (14.34) 0<»</< 2 (,оГ] т.е. метод действительно имеет первый порядок аппроксимации. ▲ Пример 14.10. Для погрешности аппроксимации неявного метода Эйлера (14.24) также справедлива оценка (14.34) и поэтому он также имеет первый порядок аппроксимации. Простое доказательство этого факта рекомендуем провести в качестве упражнения. ▲ Пример 14.11. Найдем выражение для локальной погрешности метода Эйлера. По определению, 1„ = у(1„ + ,) - у„ + ,, где уп + , = y(t„) + hf(tn, y(tn)). Но в силу равенства (14.33) y(tn + 0 = y(tn) + hf(tn, y(tn)) + hyn=yn+\ + h2 + hyn. Поэтому ln = Л\|/л = — y"(^n). Таким образом, локальная погрешность метода Эйлера имеет второй порядок малости относи- тельно шага h. ▲ 6. Сходимость. Пусть y(t) — решение задачи Коши. Назовем гло- бальной погрешностью (или просто погрешностью) численного метода сеточную функцию еЛ со значениями ел = y(tn) - уп в узлах tn. В качестве меры абсолютной погрешности метода примем величину E(h) = max |у(/„) ~У„ I • 0 < п < N Численный метод решения задачи Коши называют сходящимся, если для него E(h) -* 0 при h —► 0. Принято говорить, что метод сходится с р-м порядкам точности (или имеет р-й порядок точности), если для погрешности справедлива оценка E(h) < ChP, р > 0. 491
Глава 14. Численные методы решения задачи Коши Покажем теперь, что для устойчивого численного метода из наличия аппроксимации с порядком р следует сходимость с тем же порядком. Будем предполагать, что начальные значения •• >Ук-\ заДаны с Р’м порядком точности1, т.е. верна оценка max _.Уя1 - 1 п £ к - 1 Справедлива следующая основная теорема. Теорема 14.4. Пусть численный метод устойчив на конечном отрезке и имеет порядок аппроксимации, равный р. Тогда если началь- ные значения у{, ...,yk_i заданы ср-м порядком точности, то и метод сходится с р-м порядком точности. Доказательство. Пусть \|/л — погрешность аппроксимации. Положим у* =y(tn)- Равенство (14.31) позволяет утверждать, что сеточ- ная функция y*h является решением дискретной задачи Коши (14.26), (14.27). Устойчивость метода означает выполнение неравенства (14.28), которое в силу равенств у* = y(tn) и^(г0) = yQ можно переписать так: тах„ МО-л! ^А'(Т) max J <.п <.k- 1 1у('и)-л1 + £ IvJ ’h п=к - I (14.35) Учитывая, что N-\ L п=к- 1 IvJ -h<(T-t0) max Q<n<N \y„\<(T-t0)ChP, правую часть неравенства (14.35) оцениваем величиной К(Т)(С0 + (T-t0)C)hp = ChP. Итак, max |y(Q-y„l ^ChP. О < п < N 6. Связь с задачей вычисления интеграла. Существует тесная связь между проблемой решения задачи Коши и задачей вычисления интеграла с переменным верхним пределом У(О= J/(T)dT, t0<t<T. (14.36) 'о Действительно, вычисление интеграла (14.36) эквивалентно реше- нию задачи Коши У(0=/(0, W = 0, (14.37) являющейся частным случаем более общей задачи (14.1), (14.2). 1 Для одношаговых методов это предположение излишне. 492
§ 14.2. Численные методы решения задачи Коши. Основные понятия Таким образом, всякий численный метод решения задачи Коши порождает соответствующий метод численного интегрирования. Например, метод Эйлера^ + । = уп + hf(t^ приводит к формуле левых прямоугольников; п - 1 = л I ЛО- (14.38) f=o Неявный метод Эйлера уп + । = уп + hf(tn + j) дает формулу правых прямоугольников: п y{tn)a‘y„ = h £/(',)> /=1 а правило трапеций (14.25) приводит к известной формуле трапеций h п /=1 На примере формулы (14.38) легко увидеть различие между локаль- ной и глобальной погрешностями. Локальная погрешность — это погрешность, допускаемая на одном элементарном отрезке, т.е. /„= J t п а глобальная погрешность — это результирующая погрешность, т.е. а) б) Рис. 14.6 493
Глава 14. Численные методы решения задачи Коши В данном случае в силу линейности задачи (14.36) глобальная п - 1 погрешность есть просто сумма локальных погрешностей: ел = £ I-. 1=0 Для нелинейного уравнения^' = это уже не так. В зависимости от характера поведения интегральных кривых глобальная погрешность может оказаться больше (рис. 14.6, а) или меньше (рис. 14.6, б) суммы соответствующих локальных погрешностей. § 14.3. Использование формулы Тейлора Один из наиболее простых для понимания подходов к решению задачи Коши основан на использовании формулы Тейлора y(t + й) = y(f) + y’(t)h + Л2 + ... + h? + Rp + ,(/, Л). (14.39) уН1)(П . Здесь 7?р+|(Г, А) = — - hP+i — остаточный член формулы Тей- лора, — некоторая точка, принадлежащая отрезку [Г, t + Л]. Отбрасывая остаточный член, получаем приближенное равенство y(t+h)«y(t)+y'(t)h+^~ h2+...+^—^ hP. (14.40) 2 р\ Если значение решения у в точке t известно, то в силу равенства У(0=/(',Х0) (14.41) значение производной у (г) также можно считать известным. Для того чтобы вычислить производные у", У",... более высокого порядка, входящие в фор- мулу (14.40), продифференцируем равенство (14.41) по Г, использовав пра- вило дифференцирования сложной функции. Тогда получим г (14.42) у'" =fu} +f,?y’ + +fyy}y')f+f;(f', +Гуу') = = Л’2) + Vly^f+fyf't + (f'y)2f+fyy}f2 (14-43) и т.д. Как нетрудно заметить, выражения для производных у^ усложня- ются по мере роста порядка к. Использование приближенной формулы (14.40) приводит к следую- щему явному одношаговому методу: у" У^ Уп+ I = Л+ЛЛ + 57 Л2 + -- + ТГ hP- (14.44) Z • р • 494
§ 14.3. Использование формулы Тейлора Здесь у'п = f(tn, уп), значения у” и у- получаются в результате подста- новки в формулы (14.42) и (14.43) значений t = tn и у = уп\ аналогично вычисляются значения уп при к > 3. Локальная погрешность этого метода 1п совпадает с величиной Яр + 1(ГЛ, Л) остаточного члена формулы Тейлора, пропорциональной hP+ 1. Воспользовавшись этим, можно доказать, что метод (14.44) схо- дится и имеет порядок точности, равный р. Несмотря на то, что рассматриваемый метод теоретически дает воз- можность найти решение с любым порядком точности, на практике он применяется довольно редко. Дело в том, что использование формулы (14.44) приводит к необходимости вычисления большого числа част- dl + sf ных производных —•——, что чаще всего является весьма трудоемкой дг ду3 и нередко аналитически невыполнимой операцией. Более существенный аргумент против использования метода (14.44) состоит в том, что к настоящему времени разработаны эффек- тивные численные методы решения задачи Коши (например, методы Рунге—Кутты и Адамса), предполагающие необходимость вычисле- ния значений только функции f и не использующие ее частные произ- водные. Именно этим методам, реализованным в виде стандартных программ и пакетов прикладных программ, мы и уделим основное внимание в дальнейшем. Тем не менее для решения некоторых специальных классов задач приведенный выше метод может быть полезен. В частности, он исполь- зуется при решении некоторых задач небесной механики, в которых вычисление производных не требует существенных дополнитель- ных затрат в силу специальной структуры правых частей. Пример 14.12. Найдем численное решение задачи Коши У = 2гу, Х0)=1 (14.45) на отрезке [0, 1], использовав метод (14.44) при р = 2, обладающий вто- рым порядком точности. Как нетрудно проверить, точным решением этой задачи является функция y(t) = е'2. Дифференцируя уравнение по Г, получаем следующее выражение для второй производной: у" = 2у + 2ty' = 2(1 + 2t2)y, поэтому расчетная формула (14.44) в данном случае примет вид у„. , = y„ + h2t„y„ + V 2(1 + 2t2)y =(1 + 2г„й + (1 +2t2„)h2)y„. J И + 1 •'fl П J И 'J \ П' J П ' И ' П' 'J п 495
Глава 14. Численные методы решения задачи Коши Таблица 14.1 t Метод (14.44) Л -0-1 Точное решение t Метод (14.44) А = 0.1 Точное решение 0.1 1.01000 1.01005 0.6 1.42840 1.43333 0.2 1.04050 1.04081 0.7 1.62438 1.63232 0.3 1.09336 1.09417 0.8 1.88396 1.89648 0.4 1.17186 1.17351 0.9 2.22835 2.24791 0.5 1.28108 1.28403 1.0 2.68783 2.71828 Найденное по этой формуле для h = 0.1 приближенное решение при- ведено в табл. 14.1 Для сравнения в ней же приведены значения точ- ного решения. Как видно из таблицы, решение оказалось найдено с точностью 8 « «3- 10’2. ▲ $ 14.4. Метод Эйлера 1. Геометрическая интерпретация метода Эйлера. Простейшим и исторически первым численным методом решения задачи Коши (14.1), (14.2) является метод Эйлера. Его можно получить, если в при- ближенном равенстве (14.44) оставить только два первых слагаемых (т.е. взятьр = 1). Тогда формула (14.44) примет вид Уп + 1 = У„ + hf(tn, ynY (14 46) Геометрическая интерпретация одного шага метода Эйлера заключа- ется в аппроксимации решения на отрезке [гя, tn + J касательной у = уп + +>>'(/„)(/ - ?л), проведенной в точке (/„, уп} к интегральной кривой, про- ходящей через эту точку (рис. 14.7). 496
§ 14.4. Метод Эйлера Рис. 14.8 Таким образом, после выполнения У шагов неизвестная интеграль- ная кривая заменяется ломаной линией (ломаной Эйлера), для кото- рой угловой коэффициент кп очередного л-го звена равен значению /О»./») (рис. 14.8). Как уже было отмечено в § 14.2, метод Эйлера представляет собой явный одношаговый метод. Для него погрешность аппроксимации имеет вид \ У"(Ы- 2. Устойчивость. Докажем, что метод Эйлера устойчив на конечном отрезке (см определение устойчивости в § 14.2). Предварительно уста- новим справедливость следующего вспомогательного утверждения. Лемма 14.1. Пусть zh — неотрицательная сеточная функция удовлетворяющая для всех п > О неравенству zn+ । < (1 + a)zH + где a > О, > 0. Тогда при всех п > 0 справедлива оценка ( п ~ 1 А z„<ena(z0 + £ pj. (14.47) k=0 Доказательство. Справедливость неравенства (14.47) установим методом индукции. При п = 0 оно превращается в очевидное z0 £ zQ. Пусть теперь неравенство (14.47) выполнено при некотором п = т. Тогда, использовав оценки 1 + a < еа и 1 < e(w + 1)а, получим следую- щую цепочку неравенств z + . < (1 + a)z_ + < eazm + e(w + 3 < 497
Глава 14. Численные методы решения задачи Коши < eaema(z0 + £ Р4) + е(т +1 )aРт = е(т + + £ рХ 4=0 4=0 т.е. неравенство (14.47) верно и при п = т + 1. Итак, оно верно при всех п. Пусть теперь у*h — решение возмущенной дискретной задачи Коши K+l =X+W„K) + V,). (14.48) y'h(to)=y'o. (14.49) Теорема 14.5. Пусть функция f удовлетворяет условию \f'y | < L. Тогда справедливо неравенство max <ei(r''o)f -у0| +h £ IV*l) > (14.50) 0 < n < N v ' k=0 означающее, что метод Эйлера устойчив на конечном отрезке. Доказательство. Вычитая из уравнения (14.48) уравнение (14.46) и пользуясь формулой конечных приращений Лагранжа ) ~~/(?п*Уп) ~ fУ п)(Уп ~ Уп) > получаем равенство Уп+1 -/я+| =(1 +Щ((п>УпУ)(Уп -yn) + f"Vn, откуда следует 1л+| -л+11 ^(1 +hL)\y* -у„| + hIv„| . (14.51) Заметим теперь что для zn = |у* -yn| , а = hL и Pn = h |\|/„| в силу (14.51) справедливо неравенство zn + 1 *0 + a)z„ +р„. Согласно лемме 14.1, имеем / п - 1 \ 1л -/„1 епА^|уо -у0| + £ IvjAj. k=Q Учитывая, что nh <Nh= Т - приходим к неравенству (14.50). 3. Оценка погрешности. Так как метод Эйлера устойчив на конеч- ном отрезке и имеет первый порядок аппроксимации (см. пример 14.9), то из теоремы 14.4 следует, что он сходится с первым порядком точно- сти. Точнее, верна следующая теорема. 498
§ 14.4. Метод Эйлера Теорема 14.6. Пусть функция f удовлетворит условию \f'y | < L. Тогда для метода Эйлера справедлива такая оценка глобальной погрешности'. max О < п <, N \y(tn)-y„\<C(T)h, (14.52) где С(Т) = еЦГ~'°\Т-10)М2/2, Л/2 = тах |У'(')1 • Приведем доказательство теоремы, не использующее теорему 14.4. Доказательство. Пусть — погрешность аппроксимации. Перепишем ее определение (14.33) в виде y(t„+1) =у('„)+h(f(^ у ('»))+ vn)- Полагая у* - y(t„), замечаем, что сеточная функция y*h является решением дискретной задачи Коши (14.48), (14.49), где j/q = у0. Тогда в силу теоремы 14.5 справедлива оценка max LKU-yJ <е£(Г’'о) £ |у„|Л. О < п < N п=0 N- 1 Учитывая, что V | | h < max | | (Т- tQ), и используя оценку О <, п < N п=0 (14.34) для погрешности аппроксимации, получаем неравенство (14.52). Пр и мер 14.13. Найдем численное решение задачи Коши у' = 2(у, у(0) = 1 на отрезке [0, 1], использовав метод Эйлера. Заметим, что та же задача другим методом была решена в примере 14.12. В данном случае расчетная формула (14.46) принимает вид Уп + 1 = Уп + К^пУп = (1 + 2Лг„)уп. (14.53) Полученные с помощью этой формулы для значений шагов h = 0.1, h = = 0.01 и h = 0.001 приближенные решения приведены в табл. 14.2. Для сравнения в последнем столбце даны значения точного решения y(f) = = е'2. Нижняя строка таблицы содержит значения абсолютной погреш- ности E(h). Как и следовало ожидать, при уменьшении шага в 10 раз погрешность уменьшается также примерно в 10 раз. ▲ 499
Глава 14. Численные методы решения задачи Коши Таблица 14.2 t Метод Эйлера Точное решение Л = 0.1 h = 0.01 Л = 0.001 0.1 1.00000 1.00903 1.00995 1.01005 0.2 1.02000 1.03868 1.04060 1.04081 0.3 1.06080 1.09071 1.09383 1.09417 0.4 1.12445 1.16835 1.17299 1.17351 0.5 1.21440 1.27659 1.28328 1.28403 0.6 1.33584 1.42277 1.43226 1.43333 0.7 1.49615 1.61733 1.63080 1.63232 0.8 1.70561 1.87513 1.89432 1.89648 0.9 1.97850 2.21724 2.24480 2.24791 1.0 2.33463 2.67379 2.71376 2.71828 ад 3.9-10-’ 4.5 • IO"2 4.6-10-’ — 4. Влияние вычислительной погрешности. Оценивая метод Эйлера необходимо учитывать, что при его реализации на компьютере неизбежно возникнут погрешности округления. В результате фактиче- ски вычисляемые значения у* будут удовлетворять соотношению Z+i =>'» + Л/('п.^) + 8п- Величины учитывают вклад погрешностей округления. Это соотно- шение можно рассматривать как возмущенное уравнение вида (14.48), в котором \|/n = Тогда неравенство (14.50) дает следующую оценку влияния погрешностей округления: max |/„’-^| <е£(Г’'«) "£ |8„| «е£(Г'ЧУ8. (14.54) 0 < п <,N л=0 Здесь 5 — некоторое среднее значение величины |5Л|, a N = (Т - tQ)/h. Таким образом, с учетом неравенств (14.52) и (14.54) получается сле- дующая оценка погрешности фактически вычисляемых значений у*: Схематически график функции ET(h) приведен на рис. 14.9. Оказывается, что полная погрешность убывает только лишь при уменьшении шага h др некоторого значения Аопг Достижимая точность 500
§ 14.5. Модификации метода Эйлера второго порядка точности метода ограничена снизу значением £’min и попытка увеличить точ- ность за счет уменьшения шага h при h < Аопт приводит лишь к рез- кому росту погрешности. Значение Аопт, как правило, бывает очень трудно определить заранее. Однако если очень высокая точность не нужна, то необходимый для ее достижения шаг h обычно бывает много больше йопт. Если же требуется высокая точность решения, то достигнуть ее с помощью метода Эйлера нельзя, даже если пойти на значительные затраты машинного времени (неизбежные при расчете с малым значе- нием шага Л). Необходимо иметь в своем распоряжении методы, имею- щие более высокий порядок точности и позволяющие вести расчет со сравнительно крупным шагом h. § 14.5. Модификации метода Эйлера второго порядка точности Медленная сходимость метода Эйлера (его погрешность убывает пропорционально лишь первой степени А) является серьезным препят- ствием для использования его на практике. Из рис. 14.7 видно, что уже один шаг по касательной к интегральной кривой приводит к значитель- ной величине локальной погрешности 1п. Можно ли так подправить рас- четную формулу метода, чтобы существенно уменьшить значение /п? Пусть у (/) — решение дифференциального уравнения У(0=/(лХ0Х удовлетворяющее условию y(tn) = уп. Далее, пусть (14.55) (14.56) 501
Глава 14. Численные методы решения задачи Коши Рис. 14.10 — угловой коэффициент секущей, проходящей через точки (tn, y(tn)) и 0п+ |.у0„+ ,)) графика функции y(t) (рис. 14.10). Ясно, что «метод», состоящий в вычислении по формуле Л+1 =yn + hkn’ (14.57) имеет нулевую локальную погрешность. Для того чтобы воспользо- ваться этой формулой, нужно лишь «научиться вычислять значение кп». Интегрируя обе части уравнения (14.55) по t от tn до tn + j и исполь- *п+ I зуя формулу Ньютона—Лейбница ( У(0 dt=y(t„+})-y(t„), прихо- t п дим к равенству ‘п + 1 y(/„+1)-y(Q= $f(t,y(t»dt. (14.58) / п Из равенств (14.56) и (14.58) следует, что 1 = J \ f(t,y(t))dt. (14.59) Заметим теперь, что применение для приближенного вычисления интеграла, стоящего в правой части выражения (14.59), формулы левых прямоугольников J d/® hf\tn,y(tn)) немедленно приводит t п от (14.57) к методу Эйлера (14.46). 502
§ 14.5. Модификации метода Эйлера второго порядка точности Известно (см. гл. 13), что больший порядок точности имеет формула трапеций 'л+1 h t п Непосредственное ее применение к вычислению кп приводит к пра- вилу трапеций: У„ +1 = Уп + -2 Уп) +f(‘n +1. Уп +1)) (14.60) (ср. с (14.25)). Этот метод имеет второй порядок точности, но является неявным, поэтому его реализация связана с необходимостью решения относительно уп + 1 нелинейного уравнения (14.60). Построим на основе правила трапеций явный метод. Для этого под- ставим в правую часть формулы (14.60) значение уп± р «предсказывае- мое» методом Эйлера. В результате получается метод Уп+\=Уп + 2 </<‘п>Уп)+/({п+иУп + ^({п>Уп)))^ (14.61) который называют методом Эйлера—Коши (или методом Хьюна). Геометрическая иллюстрация этого метода представлена на рис 14 11. Вычисления разбивают на два этапа. На первом этапе (этапе прогноза) в соответствии с методом Эйлера Уп+\ Уп ™П j кп Зх^грУп) вычисляют грубое приближение к значениюу(/п + Д В точке (tn + ,, j) определяют угловой коэффициент к^ =f(tn+},у^_}). На втором этапе Рис. 14.11 503
Глава 14. Численные методы решения задачи Коши (этапе коррекции) вычисляют усредненное значение углового коэффици- ента кп = (к^ + к^)/2. Уточненное значение уп + j находят по формуле уп + 1 = уп + hkn> что соответствует шагу по прямой, проходящей через точку (/п, уи) и имеющей угловой коэффициент, равный кп. Замечание. Метод Эйлера—Коши относится к классу мето- дов прогноза и коррекции (иначе говоря, методов типа предик- тор—корректор1). Метод (14.61), который можно рассматривать как модификацию метода Эйлера, имеет второй порядок точности. Еще одну модифика- цию второго порядка точности можно получить с помощью формулы (центральных) прямоугольников 'л+ I J + tn+m = t„ + h/2, если для приближенного вычисления значения y(tn + 1/2) применить метод Эйлера. В результате получим расчетные формулы усовершенст- вованного метода Эйлера v = v 4- - k^ = f(t v У Уп + 1/2 Уп э Кп » Кп 1{*п’Уп)’ Z1 . 2 (14.62) Уп + 1 — Уп + kn ~f(!n+ 1/2» Уп + !/?)• Геометрическая иллюстрация этого метода приведена на рис. 14.12. Рис. 14.12 1 От английских слов to predict — «предсказывать», «прогнозировать»; to correct — «исправлять», «корректировать». 504
§ 14.5. Модификации метода Эйлера второго порядка точности Пример 14.14. Применим рассмотренные в этом параграфе методы для численного решения задачи (14.45) с шагом h - 0.1. Расчетная формула метода Эйлера—Коши принимает вид Уп + 1 = Уп + | (2(пУп + 2(п+\(Уп + ^пУпУ) = = yn\\^h{t^t^^2htntn„>i\. (14.63) Вычисления усовершенствованного метода Эйлера производим по формуле Уп + , = Уп + 2Л(/П + | 2/пЛ) =у„[ 1 + h(2t„ + Л)(1 + Лг„)]. (14.64) Правило трапеций (14.60) приводит к уравнению Уп + 1 ~ Уп 2 (^пУп + 1 Уп + 1) ’ которое в данном случае линейно и легко разрешается относительно уп + j: + а4-65) Результаты вычислений по формулам (14.63)—(14.65) приведены в табл. 14.3. Там же для сравнения представлены значения решения^/) = = е'2. Нижняя строка таблицы содержит значения абсолютной погреш- ности E(h). Как видно из сравнения табл. 14.3 с табл. 14.2, проведенные в этом параграфе модификации метода Эйлера действительно привели к повышению точности. ▲ Таблица 14.3 ‘п Метод Эйлера—Коши; Л = 0.1 Усовершенствован н ы й метод Эйлера; h = 0.1 Правило трапеций; Л = 0.1 Точное решение 0.1 1.01000 1.01000 1.01010 1.01005 0.2 1.04070 1.04060 1.04102 1.04081 0.3 1.09399 1.09367 1.09468 1.09417 0.4 1.17319 1.17253 1.17450 1.17351 0.5 1.28347 1.28228 1.28577 1.28403 0.6 1.43236 1.43038 1.43624 1.43333 0.7 0.63059 1.62749 1.63700 1.63232 0.8 1.89345 1.88870 1.90390 1.89648 0.9 2.24260 223546 2.25958 2.24791 1.0 2.70906 2.69843 2.73660 2.71828 £(Л) 0.93 • 10~2 2.0-10-2 1.9-10-2 — 505
Глава 14. Численные методы решения задачи Коши § 14.6. Методы Рунге—Кутты Наиболее популярными среди классических явных одношаговых методов являются методы Рунге—Кутты12. Методы Эйлера, Эйлера— Коши и усовершенствованный метод Эйлера можно рассматривать как простейших представителей этого класса методов. 1. Вывод расчетных формул. Поясним вывод расчетных формул метода Рунге—Кутты. Пусть (как и в § 14.5) y(t) — решение дифферен- циального уравнения у' = f(t, у), удовлетворяющее условию y(tn) = уп. Запишем равенство (14.58) в следующем виде: 'и+1 Я'я + 1)=Я'„) + (14.66) t п Если бы входящий в это равенство интеграл можно было вычислить точно, то получилась бы простая формула, позволяющая последова- тельно вычислить значения решения в узлах сетки. Поскольку в дейст- вительности это невозможно, попробуем получить приближенную фор- мулу, заменив интеграл квадратурной суммой (см. гл. 13). На отрезке (7Я, tn + J введем т вспомогательных узлов = tn + a}h, ?я1 2) = tn + а2Л, ..., t(nm) = tn + amh, где 0 = а, < а2 < ... < ат < 1. Заметим, что = tn, < tn + р Заменяя входящий в равенство (14.66) инте- грал квадратурной суммой с узлами ..., получаем приближен- ное равенство У(‘п+ 1) - XQ + Л (14.67) /=1 Однако воспользоваться равенством (14.67) для вычисления y(tn + 0 нельзя, так как значения функции^ в точках для i = 2, 3, ..., т неиз- вестны. Чтобы найти эти значения, запишем равенства п y(t^)=y(t„)+ \f(t,y{t))dt (/=2,3,...,m), (14.68) 1 Мартин Вильгельм Кутта (1867—1944) — немецкий математик. 2 Первые методы этого типа Рунге предложил в 1895 г. Позже и независимо в 1901 г. Кутта дал общую схему вывода этих методов. 506
§ 14.6. Методы Рунге-Купы аналогичные равенству (14.66). Заменив для каждого / входящий в фор- мулу (14.68) интеграл соответствующей ему квадратурной формулой с узлами t^\ придем к приближенным равенствам у«У> *y(t„) + л(₽31 \ я/'”)) + р32/(62),и<2)))) , У«У) *У«п) + h £ , *y(J„) + h "е P./tfM’’)), J=1 позволяющим последовательно вычислять приближения к значениям Обозначим теперь через вспомогательные величины, имеющие смысл приближений к значениям y(t^); пусть к\? =f(t^\y^) — при- ближение к значению углового коэффициента к в точке $. Тогда рас- четные формулы примут вид: у„ . . = у„ + hk, кп - У с;к^; ' И + I J п п ’ п I П ’ /=1 кУ=А<У,уУ), + к(У =^У,уУ) , уУ ~у„ + А(₽31*<'’ + Р32*<2)); z.(w) — — v + h R lr^ Kn ~j(Jn >Уп )> Уп -Ул*" 2^Pmjkn * J=1 Часто из этих формул исключают вспомогательные величины у^ и записывают формулы так: у„ + । = у„ + hkn, к=\ с;к^; Л т I •' П Л’ Л 1И7 507
Глава 14. Численные методы решения задачи Коши =/('в.уп). *‘2)=/(/я + а2й(Л + Лр21<1)), *п3) =/('„ + + й(₽31 + МЛ), *nm) =/('„ + атй,у„ + h у • п J к п т ’ J п ~ mj и j J=1 Заметим, что выведенные формулы задают явный одношаговый метод видауп+ । = ул +ЛФ(ГЛ, уп, h), где для вычисления значений функ- ции Ф(/„. уп, h) = ^с^ используются значения правой части f в т /=1 вспомогательных точках. Поэтому этот метод называют явным т-этап- ным методом Рунге—Кутты. Выбор конкретных значений параметров q, а-, Р- осуществляется, исходя из различных соображений. Естественно, что одним из основ- ных является желание сделать порядок аппроксимации р максимально возможным. 2. Устойчивость и сходимость. Следующая теорема позволяет в дальнейшем называть методы Рунге—Кутты, имеющие р-й порядок аппроксимации, методами р-го порядка точности. Теорема 14.7. Пусть правая часть дифференциального уравнения удовлетворяет условию |/^|<£. Тогда всякий явный т-этапный метод Рунге—Кутты устойчив на конечном отрезке. В Следствие. Пусть выполнено условие \f?| <L . Тогда если явный т-этапный метод Рунге—Кутты имеет р-й порядок аппроксимации, то он сходится с р-м порядком точности. Справедливость следствия вытекает из теоремы 14.4. 3. Семейство явных двухэтапных методов. Выведем расчетные формулы семейства явных двухэтапных методов Рунге—Кутты второго порядка точности. Запишем формулы явного двухэтапного метода Уп+\= Уп + КсУ^ + с2к^), =/('„. Л). =f(J„ + ah,y„ + ЛРЛ!0) 508
§ 14.6. Методы Рунге-Купы в виде Уп+~-Уп = Cxf(t,yn) + c2f(t„ + ah,y„ + fbhf(t„,y„)). Параметрами этого метода являются величины q, с2, а, р. Представим погрешность аппроксимации y(t + Л) + v(/) V = П----_ с 1 /(Лу) - с2/(/ + ah,у + АР/(Г,у)) (где t = tn, у = y(tn), y(tn) — решение дифференциального уравнения У =/(Л У)) в виде разложения по степеням h. Формула Тейлора y(t + Л) = y(t) +y'(t)h й2 + О(й3) с учетом равенств у' = /, у" = /; + fyf (см. (14.42)) дает формулу + =f+ > +f,f)h + 0(А2) (аргументы t, у у функции /и ее частных производных f't, f'y опускаем). Представим значение функции f в точке (/ + ah, у + hfyf), использовав формулу Тейлора для функции двух переменных с центром в точке (/, у): /(' + ah, у + ЛР/) = f(t, у) + f\ah +f'yh$f+ O(h2). Таким образом, V = (1 - - с2)/+ [(1/2 - с2а)/; + (1/2 - с2Р)/;/]Л + О(А2). Если потребовать, чтобы выполнялись условия с1 + с2 = 1, с2а = 1/2, с2Р = 1/2 (что эквивалентно выбору Cj = 1 — 1/(2сх), с2 = 1/(2а), Р = а), то первые два слагаемых в формуле для \|/ обратятся в нуль, и поэтому метод будет иметь второй порядок аппроксимации. Итак (с учетом следствия из теоремы 14.7), можно утверждать, что при любом а е (0, 1] метод Уп+\=Уп + Ь (1-2^)/(?п>Уя) + 2^/(?п + аЛ.Л + аЛ/(гп.>'п)) (14.69) имеет второй порядок точности. Заметим, что при а = 1 формула (14.69) дает метод Эйлера—Коши, а при а = 1/2 — усовершенствованный метод Эйлера (см. § 14.5). 4. Метод Рунге—Кутты четвертого порядка точности. Наиболее известным из методов Рунге—Кутты является классический четырех- этапный метод четвертого порядка точности: 509
Глава 14. Численные методы решения задачи Коши К +1 =У„ + hkn, кп = 1 (*<1 > + 2к1„2) + 2<3) + О; к<2} =f(t„ + ^,у„ + kty, (14.70) к^ =А!П + Ч> Уп + 5 =f(fn + к,У„ + ккУ). Л j \ Л 2’-'Л 2 я/ П J ' И ’ -У Л ПУ Этот метод весьма прост и, как показывает практика, довольно эффективен в обычных расчетах, когда отрезок [/0, 7] не очень велик и нужна сравнительно невысокая точность. Замечание. Применение метода (14.70) к решению задачи о вычислении интеграла (14.36) порождает формулу Симпсона Уп + ! = Уп + I (Л'„) + W 1/2) +f(Jn+ !»• Таким образом, классический метод Рунге—Кутты четвертого порядка точности (14 70) можно рассматривать как аналог фор- мулы Симпсона, отвечающий решению задачи Коши. Пример! 4.15. Продемонстрируем работу метода Рунге—Кутты чет- вертого порядка точности применительно к решению задачи Коши (14.45). В этом случае расчетные формулы принимают вид Уп+. =Уп + hkn, кп = \ (к^ + 2к? + 2*'3) + *<4)); k['} = 2t„y„, кУ = 2(‘п + %п + $кп'А Л П-У Л ’ Л к Л 27 V п 2 я J * = 2('п + (уп + 5 Й > *п4) = 2<‘п + Ь)(Уп + hknb • л \ л 27 V п 2Я7’ п v п у^-уп п у Найденные с шагом h = 0 1 приближенные значения решения Уп и их погрешности ея приведены в табл. 14.4. ▲ Таблица 14.4 'п Уп ел Уп ел 0.1 1.010050167 10-’ 0.6 1.433328994 5- КГ7 0.2 1.040810770 4-10-’ 0.7 1.632315187 2-10-* 0.3 1.094174265 2-Ю-8 0.8 1.896478467 3- КГ6 0.4 1.173510814 6- 1СГ8 0.9 2.247902590 6- ю-6 0.5 1.284025256 2-Ю'7 1.0 2.718270175 2-10-5 510
§ 14.6. Методы Рунге-Кутты Есть и другие методы Рунге—Кутты четвертого порядка точности. В качестве примера приведем расчетные формулы одного из таких методов Л + I = Уп + hkn, к„ = 1 (к(„' ’ + 4к(„3) + к^), к\'' у„), к(„2) =/(/„ +1 h,y„ + h- к"’), k(n^Rtn + h,yn + h(-k^ + 2k^Y 5. Метод Рунге—Кутты—Фельберга. Для построения методов Рунге—Кутты пятого порядка точности необходимо уже т = 6 вспомо- гательных точек. Приведем один из таких методов, предложенный в 1970 г. Фельбергом 6 г\ уп + I = у„ + hkn, кп = 'Ус;к„ , ✓ Л + I ' П ft? п / in* 16 _ _ 6656 _ 28561 9 2 С| 135’ Сг ’ Сз 12825 ’ С* 56430’ С$ 50’ С(> 55’ к(? =f(tn + J h,yn + h J A*1’) , =/('»+ § ЬУп + h Й ’ + *"2)B ’ = f(t +l2h v + f/1932 fr(D _ 7200 (2) 7296 (зМ k„ f[tn + 13 ">Уп J\2197 kn 2197 kn + 2197 kn JJ , A<5) =f( tn + h,yn + h№k^- 8A<2> + A<3) - *B5)T) - П j n Un <216 n n 513 n 4104 n JJ9 k^ = f(t +‘лу +h(-^k('} + 2k(2}-—k^ + — A(4)--Al5)Yl Kn j\jn 2 'Уп n\ 21 Kn £Kn 2565*" 4104 *n 40*”))' Фельберг обнаружил также, что вычисленные значения угловых коэффициентов можно скомбинировать иначе, получив метод четвер- того порядка точности у*. 1 = у + кк*, к* = V с*. к„ , у П т 1 ✓л п * п /» in7 511
Глава 14. Численные методы решения задачи Коши . 25 . Л . 1408 . 2197 . 1 Л С| 216’ Сг °’ Сз 2565 ’ С* 4104’ Cj 5’ Сб °' 6 При этом разность у* + j -уп + j = - с^к„ дает оценку л окал ь- /=1 ной погрешности для метода четвертого порядка точности и находится практически без дополнительных вычислительных затрат. Таким обра- зом, метод Рунге—Кутты—Фельберга дает не только приближенные значения решения с пятым порядком точности, но и оценки локальных погрешностей. 6. Метод Дормана—Принса. Несмотря на то, что метод Рунге— Кутты—Фельберга широко и успешно используется на практике, у него есть один существенный недостаток. Локальная погрешность, которую оценивает метод, относится не к основному методу, имеющему пятый порядок точности, а к вспомогательному методу четвертого порядка точности. В 1980 году Дорманом и Принсом был построен метод пятого порядка точности, лишенный этого недостатка. Приведем расчетные формулы метода Дормана—Принса 6 (/) у„ . 1 = у + hk„, = с-, к„ ; •' Л + 1 у п Л’ п I п ’ (=1 35 _ _ _ 500 _ 125 _ 2187 _ 11 . С1 384’ Сг ’ Сз 1113’ 192’ С5 6784’ С(> 84’ П J X Л’ J П' ’ W =/(/„ + j h,yn + h \к\,’>), =4'” + h’ Ух + h *” ’+ Ь ’ *(5> = f(t +*hv + к{' > - кт - *<5)Yl kW = f(t +h v +h(— k(')-—k(2', + ^^k0} + — к^- — к™4\ K” /\Jn п’Уп Я\3168 *” 33*” 5247 *” 176*” 18656*” 77’ 512
§ 14.6. Методы Рунге-Кутты Вычисленные значения угловых коэффициентов можно скомбинировать иначе, получив метод 4-го порядка точности ♦ ♦ 7 ♦ (/) Уп + 1 — Уп hkn » кп ~ кп » /=| • _ 5179 * ♦ _ 7571 ♦ _ 393 »_ 92097 С’ 57600’ С2 °’ Сз 16695’ Сд 640’ С* 339200’ . _ 187 1 Сб 2100’ С? 40' При этом разность у*+1-ул+1 дает оценку локальной погрешности метода. Заметим, что к^+ j =к^\ поэтому на каждом шаге метода требуется лишь шесть новых вычислений значений функции f Таким образом, метод Дормана—Принса дает не только приближен- ные значения решения с пятым порядком точности, но и оценки локаль- ных погрешностей этого метода. При решении прикладных задач этот метод оказался очень эффективным и постепенно вытесняет метод Рунге—Кутты—Фельберга из практики вычислений. Методы Рунге—Кутты—Фельберга и Дормана—Принса являются представителями семейства вложенных методов Рунге—Кутты. В это семейство также входит весьма популярный метод Дормана—Принса восьмого порядка точности, в котором для контроля погрешности используется метод седьмого порядка точности. Дополнительную информацию о вложенных методах Рунге—Кутты можно найти, напри- мер, в [109]. 7. Обсуждение методов Рунге—Кутты. Методы Рунге—Кутты имеют несколько достоинств, определивших их популярность среди значительного числа исследователей. Эти методы легко программиру- ются1. Они обладают достаточными для широкого круга задач свойст- вами точности и устойчивости. Эти методы (как и все одношаговые методы) являются самостартующими и позволяют на любом этапе вычислений легко изменять шаг интегрирования. Увеличивая число т вспомогательных точек, можно построить методы Рунге—Кутты любого порядка точности р. Однако уже при р > 5 эти методы используются довольно редко. Это объясняется как чрез- 1 Это очень важно, если отсутствуют или по каким-либо причинам недоступны соот- ветствующие стандартные программы. Если же используются развитые пакеты приклад- ных программ, то сложность про1раммирования метода не интересует пользователя, поскольку он обращает внимание на другие свойства метода. 513
Глава 14. Численные методы решения задачи Коши мерной громоздкостью получающихся вычислительных формул, так и тем, что преимущества методов высокого порядка точности р над методами, в которых р = 4 и р = 5, проявляются либо в тех задачах, где нужна очень высокая точность и используются компьютеры высокой разрядности, либо в тех задачах, где решение очень гладкое. Кроме того, методы Рунге—Кутты высокого порядка точности р часто оказы- ваются менее эффективными по сравнению с методами Адамса того же порядка точности (см. § 14.7). Замечание. Кроме описанных выше классических явных методов Рунге—Кутты используются и более сложные в реализа- ции неявные т-этапные методы Рунге—Кутты'. Уп+ 1 — УП + hkn ’ ’ »=1 =f(tn + аД у„ + h £ ₽i; , i = 1,2,..т. ;=i Эти методы имеют ряд преимуществ перед явными методами, однако это достигается за счет существенного усложнения вычис- лительного алгоритма, так как на каждом шаге необходимо решать систему т нелинейных уравнений. В настоящее время неявные методы Рунге—Кутты применяются в основном для решения так называемых жестких задач (см. § 14.11). 8. Автоматический выбор шага. Отметим, что в современных программах, реализующих методы Рунге—Кутты, обязательно исполь- зуется некоторый алгоритм автоматического изменения шага интегри- рования hn + , = tn + , - tn. Интуитивно ясно, что на участках плавного изменения решения счет можно вести с достаточно крупным шагом. В то же время на тех участ- ках, где происходят резкие изменения поведения решения, необходимо выбирать мелкий шаг интегрирования. Обычно начальное значение шага hx задает пользователь. Далее шаг интегрирования меняется в соответст- вии со значением получаемой в ходе вычислений оценки локальной погрешности. Само по себе изменение шага hn для методов Рунге— Кутты (впрочем, как и для всех других одношаговых методов) не пред- ставляет сложности. Действительная проблема состоит в том, как оце- нить локальную погрешность и выбрать очередной шаг интегрирования. Один из распространенных подходов состоит в использовании пра- вила Рунге (правила двойного пересчета). Пусть значение уп в точке tn 514
§ 14.6. Методы Рунге-Кутты уже найдено и y(t) — решение уравнения y'(t) = f(t, у), удовлетворяю- щее условию у(1п) = уп. Обозначим через у*п +1 приближение уп + । к значению y(tn+ 0, найденное с помощью одношагового метода который имеет порядок точности, равный р. Можно показать, что для методов Рунге—Кутты локальная погрешность ln - y(tn + j) - уАл + 1 допускает представление 1п = г({п’Уп^п++1+0(НР„++}), где г (t, у) — непрерывная функция. Следовательно, при достаточно малых hn + ] справедливо приближенное равенство y(t„ +!)-у" +1» r(/„, у„) hp++'}. (14.72) Уменьшим теперь шаг интегрирования вдвое, положив hn + 1/2 = = hn+ j/2, и вычислим приближение к значению решения в точке /л+ । с помощью того же одношагового метода. Для этого потребуется выполнить уже два элементарных шага по формулам Уп + 1/2 = Уп + *п + Уп’ Уп + 1/2’ *п + 1/2)» Уп + 1 = Уп + 1/2 + *п + i/2^n + 1/2» Уп + 1/2» Уп + 1» К + 1/2)- Полученное таким образом значение у*”+1/2 = уп + j будет, конечно, отличаться от значения, найденного по формуле (14.71). Достаточно ясно, что два шага длины hn + 1/2 приведут здесь к локальной погрешности + ) -/" +1/2« Wn,yn)hp++'m. (14.73) Вычитая из равенства (14.72) равенство (14.73), получаем формулу Л + .72 ! я {2Р - 1 )2r(tn,ynyC'm Сравнение ее с (14.73) приводит к приближенному равенству ,)-/"*1/2 --- (14.74) Использование этой формулы для апостериорной оценки локальной погрешности значения yhn + }/2 (которое в дальнейшем принимается за приближенное значение решения задачи Коши в точке tn + j) и назы- 515
Глава 14. Численные методы решения задачи Коши вают правилом Рунге'. Заметим, что этот способ контроля точности приводит к увеличению времени счета примерно на 50 %. Существуют более экономичные методы оценки локальной погреш- ности, основанные на использовании для контроля точности двух раз- личных методов Рунге—Кутты. В настоящее время одним из самых эффективных методов такого типа является метод Дормана—Принса (см. п. 6). В этом методе для оценки погрешности метода пятого порядка точности используются формулы метода четвертого порядка точности, причем на одном шаге требуется всего лишь шесть вычисле- ний значений правой части1 2/ После того как тем или иным способом оценена локальная погреш- ность, программа принимает решение о том, оставить ли шаг интегриро- вания прежним, уменьшить его в 2 раза или увеличить в 2 раза. Это про- исходит примерно по той же схеме, что и в адаптивных программах, предназначенных для вычисления определенных интегралов (см. § 13.5). Известно, что при оптимальном выборе шагов интегрирования абсо- лютные погрешности, приходящиеся на каждый из шагов, должны быть примерно равны (см. [9]). Этот результат учитывается при созда- нии стандартных программ с автоматическим выбором шага. 9. Влияние вычислительной погрешности. Влияние погрешно- стей на результат вычислений с помощью явных методов Рунге—Кутты примерно таково же, как и для метода Эйлера (см. § 14.4). Однако для них = С(Г)^Мр + xhP + . Кроме того, высокая точность методов позволяет вести интегрирование со сравнительно большим шагом h » » Лопт и поэтому влияние вычислительной погрешности обычно бывает несущественным. § 14.7. Линейные многошаговые методы. Методы Адамса 1. Методы Адамса. В одношаговых методах после того как найдено очередное значение уп в точке /я, значение уп _ t отбрасывают и уже не используют в последующих вычислениях. Естественно все же попы- таться извлечь определенную пользу из информации о значениях реше- ния уп_к + J, ...,уп_ не в одной, а в А: предыдущих точках tn_k+ р ... ..., tn_ ,, tn, т.е. применить многошаговый метод. 1 Отметим, что использование правила Рунге требует определенной осторожности, так как равенство (14.72) имеет место, вообще говоря, лишь при достаточно малом значе- нии шага + |. 2 Более подробное описание этого метода можно найти в [54, 106]. 516
§ 14.7. Линейные многошаговые методы. Методы Адамса Среди многошаговых методов наибольшее распространение в прак- тике вычислений получили методы Адамса1 * * <14-75> ;=0 здесь 0О, 0(,..., 0* — числовые коэффициенты,/, +! =f(tn +1 _j,y„ +1 _у). Уравнение (14.75) позволяет найти новое значение уп + р использо- вав найденные ранее значения уп, уп _ h ..., уп _ к + г Поэтому предвари- тельно требуется задание к начальных значений у0, у19 ..., ук_ г При ро = 0 метод Адамса является явным, так как значение уп + i выражается через найденные ранее значения по явной формуле к yn+i=yn + h'£fyf’’+'-j- (1476) ;=1 Если же Ро * 0, то для нахождения уп + j приходится решать нели- нейное уравнение Уи+1 =АРо/('П+1>>'п+1)+&.> <1477) к где gn = уп + h -j — известное значение. Поэтому при Ро * О /=| метод Адамса (14.75) является неявным. Существуют различные способы вывода формул (14.75). Приведем два из них. Воспользуемся, как и в §14.6, равенством 'и+ 1 Я'» + i) = Я'„) + J f(t,y(t))dt. (14.78) t п Заменим приближенно функцию F(t) = f(t, y(t)) интерполяционным мно- гочленом (^-1)-й степени Рк_}(1), принимающим значения fn + j _к, ... \ >fn В тех Узлах *п + 1 - к’ где значения сеточной функ- ции У7 уже найдены. Интегрирование этого многочлена дает прибли- женное равенство + 1 + 1 к J f(J,y(t))dt* J Pt_1(Odr = A^0;/n+1_;. (14.79) 1 Джон Кауч Адамс (1819—1892) — английский астроном и математик. Метод типа (14.75) был разработан им в 1855 г. по просьбе известного английского специалиста по внешней баллистике Башфорта. 517
Глава 14. Численные методы решения задачи Коши В результате от (14.78) приходим к формуле (14.76), соответствую- щей явному ^-шаговому методу Адамса—Башфорта. Замечание. Так как многочлен Рк_ , используется для прибли- жения функции F вне отрезка, на котором известны ее значения, то в действительности равенство (14.79) основано на экстраполяции, поэтому соответствующий метод называют еще экстраполяцион- ным, методом Адамса. Если же в интеграле, входящем в равенство (14.78), заменить под- ынтегральную функцию интерполяционным многочленом k-и сте- пени Qk(t), совпадающим со значениями^ + ] _*, • ••,/„,/„ + 1 в узлах t„+ ! _к, ...»t„, tn + „ то получится формула Л+ 1 =y„ + h + (14-8°) /=0 соответствующая ^-шаговому методу Адамса—Моултона. Заметим, что этот метод — неявный. Замечание. Метод (14.80) принято называть также интерпо- ляционным методом Адамса. Выведем формулы двухшагового метода Адамса—Башфорта и одношагового метода Адамса—Моултона. Интерполяционные многочлены Px(t) и Qx(t) таковы: /*1(0 =f„ _ 1(/и - t)/h +fn(t - t„ _ Q\{t) =fn{tn +\-t)lh +fn + ,(r - tn)/h. Их интегрирование no t дает следующие выражения: + 1 f л + I t t n n Таким образом, двухшаговая формула Адамса—Башфорта имеет вид а одношаговая формула Адамса—Моултона — вид Пр едложение 14.1. Пусть решение задачи Коши y(t) непрерывно дифференцируемо к раз на отрезке [/0, 7]. Тогда к-шаговый метод 518
§ 14.7. Линейные многошаговые методы. Методы Адамса Адамса—Башфорта и (к - \)-шаговый метод Адамса—Моултона имеют порядок аппроксимации, равный к. Следующая теорема дает основание называть методы Адамса, имею- щие р-й порядок аппроксимации, методами р-го порядка точности. Теорема 14.8. Пусть выполнено условие |/^| < L. Тогда явные методы Адамса устойчивы на конечном отрезке. Кроме того, при , . 1 выполнении условия п<п^= —j—j— устойчивыми на конечном отрезке 2 I Pol являются и неявные методы Адамса. В Замечание. Если выполнено условие f < 0, то неявные методы Адамса устойчивы при любых h. Следствие. Пусть выполнено условие \f'y | < L. Тогда если к-шаго- вый метод Адамса имеет р-й порядок аппроксимации, а начальные значения ylf у2, yk _ j определяются с р-м порядком точности, то метод сходится также с р-м порядком точности. Следствие верно в силу теоремы 14.4. Приведем расчетные формулы методов Адамса—Башфорта р-го порядка точности при р = 2, 3, 4: L уп +1 = у« + 2 <3Л-Л-i). р = 2; уп +1 = Уп+ £ (23Л- 16Л-1+ 5Л-2). р = 3; Уп + 1 = Уп + £ (55/л- 59/я_( + 37/я_2 -9/я_3), р = 4. Приведем также расчетные формулы методов Адамса—Моултона р-го порядка точности при р = 2, 3, 4: Уп +1 Уп + 2 + 1 ’ Р 2) Уп + 1 Уп + 12 » + 1 ^fn ~fn - 1 ) > Р ~ ’ L У„+1 =^ + 24 (9Л+1 + 19Л-5/я-1+Л-2). р = 4- 2. Методы прогноза и коррекции. Может показаться, что при наличии явных формул Адамса высокого порядка точности нет необхо- димости в использовании неявных формул. Однако в вычислительной 519
Глава 14. Численные методы решения задачи Коши практике явные методы Адамса используются очень редко. Одна из основных причин этого состоит в том, что в представляющих наиболь- ший интерес для приложений задачах неявные методы обладают луч- шими свойствами устойчивости и позволяют вести расчет с сущест- венно большими шагами, нежели явные методы. Сложность использования неявных методов Адамса заключается в необходимости решать уравнение (14.77) относительно уп + г Значе- ние уп + j можно найти, использовав, например метод простой итерации ZV10 = УС/Д i). -s 0; W) = ЛР</('„ + ,,у) +g„- (14.81) Так как = ЛРо/ДС, + |,У), то ПРИ достаточно малых h условие сходимости |у'| < q < 1 выполнено (см. § 4.4) и метод (14.81) сходится. Часто за начальное приближение у*0* 1 принимают значение, получае- мое по явной формуле Адамса, и выполняют только одну итерацию метода (14.81). В результате приходят к методу прогноза и коррекции. Один из широко используемых методов прогноза и коррекции получается при совместном использовании методов Адамса—Башфорта и Адамса—Моултона четвертого порядка точности: Прогноз: Х=Уп + ^(^/п~ $9fn - 1 + 37/„_2 - 9/„_3), z(0) =f(f (0) . /л+1 /Vn+l’Zn+J- Коррекция: Уп + ! = Уп + £ (9Л*0?! + 19/п-5/я_ , +Л-2)• Следует подчеркнуть, что результирующий метод оказался явным. Пример 14.16. Применим описанный выше метод Адамса—Баш- форта—Моултона четвертого порядка точности для решения задачи Коши (14.45) с шагом h = 0.1. В качестве начальных значений у,, у2, Уз необходимых для начала вычислений, примем значения, полученные методом Рунге—Кутты четвертого порядка точности и приведенные в табл. 14.4. Затем вос- пользуемся формулами Уп°’ 1 =Уп + Y2 ^55,пУп - ^п-I Уп- 1 + ^(п-2Уп-2 - 9(п-зУп-з) > Уп+ I =Уп + и 1^»°+ 1 + 19/пУп~5'п-1Уп-1 +‘п-2Уп-2>- 520
§ 14.7. Линейные многошаговые методы. Методы Адамса Таблица 14.5 'л п (°) Прогноз у„ Погрешность прогноза eJ,0) Коррекция уп Погрешность метода е„ 0.4 1.173420048 9.1 • 10-5 1.173518429 -7.6- 10-6 0.5 1.283880725 1.5- I0-* 1.284044297 -1.9-10-5 0.6 1.433111448 2.2- 10-4 1.433364614 -3.5 • 10-5 0.7 1.631994012 3.3-10-4 1.632374743 -5.9-10-5 0.8 1.896003688 4.8- 1 О’4 1.896572568 -9.2 • IO'5 0.9 2.247194327 7.2- 10-4 2.248046603 -1.4-10^ 1.0 2.717200091 1.1 • ю-3 2.718486351 -2.1 • 10^ Найденные значения и соответствующие погрешности приведены в табл. 14.5. ▲ 3. Общие линейные многошаговые методы. Эти методы, вклю- чающие в себя методы Адамса, задаются формулами вида I к к <14-82) ;=о ;=о Предполагается, что а0 * 0, |ал| + |0J * 0. Они называются линей- ными, так как значения yz- и/j (z = и + I - к, и, п + 1) входят в фор- мулу (14.82) линейно. Замечание. Методы (14.82) принято также называть конечно- разностными методами, а дискретную задачу Коши для уравне- ния (14.82) — конечно-разностной схемой (или просто —разност- ной схемой). 4. Методы с переменным шагом и переменным порядком. На основе методов Адамса создан ряд весьма сложных, но и эффективных программ. В них предусматривается не только автоматический выбор шага (подобно тому, как это делается для методов Рунге—Кутты), но и автоматический выбор порядка метода. И шаг метода, и его порядок (в некоторых программах порядок точности может достигать 13) меня- ются в ходе вычислительного процесса, приспосабливаясь к характеру поведения искомого решения. Методы Адамса требуют меньшего числа вычислений правой части дифференциального уравнения по сравнению с методами Рунге— Кутты того же порядка точности. Для них существуют эффективные 521
Глава 14. Численные методы решения задачи Коши методы апостериорной оценки локальной погрешности. Недостатком методов Адамса является нестандартное начало вычислений. Для опре- деления значений yj9 у2, необходимых для работы ^-шагового метода, используются методы Рунге—Кутты либо другие многошаго- вые методы. В разработанных к настоящему времени стандартных про- граммах эта проблема решена. § 14.8. Устойчивость численных методов решения задачи Коши Как в теории численных методов решения задачи Коши, так и в практическом плане вопросы об устойчивости методов к малым погрешностям задания начальных данных и правой части уравнения, а также об устойчивости к погрешностям вычислений являются одними из центральных. Рассмотрим некоторые естественные требования устойчивости, которые накладываются на дискретные методы 1 * У + 1 - j ~ ®(1п>Уп + \ - к 9 " Уп9 Уп + \ > (14.83) ;=о Уделим сначала основное внимание исследованию устойчивости дискретной задачи Коши для уравнения (14.83) к малым погрешностям в начальных данных. Пусть — решение дискретной задачи, соответ- ствующее начальным значениям у0, ylf ..., ук_ h а у*Л — решение той же задачи, соответствующее начальным значениям ,Ук-1 • Если отрезок [/0, Т], на котором ищется решение, и шаг h фиксиро- ваны, то для всякого приемлемого метода решения задачи Коши его решение непрерывным образом зависит от начальных значений. Более того, если погрешности в. = у.- у- (z = 0, 1, ..., к - 1) задания началь- ных данных достаточно малы, то погрешность значений у* можно оценить следующим образом: max 0<л <N 1л-Ул1 ^Kh(T) max О < / < к - 1 |е,1 • (14.84) Величина Kh(T), входящая в правую часть неравенства (14.84), играет роль числа обусловленности метода. Подчеркнем, что в общем случае она зависит как от Г, так и от h. 1. Нуль-устойчивость. Будем стремиться к тому, чтобы при доста- точно малых значениях шага h дискретная задача Коши не только имела близкое к y(t) решение У*, но и обладала другими важными свой- 522
§ 14.8. Устойчивость численных методов решения задачи Коши ствами, аналогичными свойствам исходной задачи В силу неравенства (14.11) погрешность, внесенная в начальное значение задачи Коши, на отрезке [r0, Г] возрастает не более, чем в К(Т) раз (где К(Т), вообще говоря, растет с ростом Г), поэтому в общем случае рост величин Kh(T) с ростом Т также допустим. Однако если коэффициент Kh(T) может неограниченно возрастать при h —► 0, то уменьшение шага h приведет не к уточнению решения, а, наоборот, к неограниченному росту погрешности. Таким образом, следует потребовать, чтобы для дискрет- ной задачи Коши при всех достаточно малых h было выполнено нера- венство max 1л-л1 <к(Т) max О < /’ < к - 1 I £,’1 , (14.85) О < п < где К(Т) не зависит от h. Методы, для которых неравенство (14.85) выполнено в случае, когда решается задача Коши для однородного уравнения у' = 0, будем назы- вать нуль-устой чивыми. Чтобы отбросить те из методов (14.83), которые заведомо не обла- дают свойством нуль-устойчивости, применим метод (14.83) к реше- нию задачи Коши для уравнения у' = 0. Тогда f = 0, Ф = 0 и уравнение (14.83) принимает вид ao-V„ + i +а|Уп+ ••• + «*Ул-*+| =0- (14.86) Будем считать, что а0 0 и ак 0. Такие уравнения называет линей- ными однородными разностными уравнениями к-го порядка с постоян- ными коэффициентами. Пусть — решение того же уравнения, соответствующее возму- щенным начальным значениям --,Ук-\ • Тогда в силу линейно- сти уравнения погрешность ьп = уп - у* также является его решением: ao£n+i + а1еи + ••• + а*ел-*+1 = 0- (14-87) Будем искать частное решение уравнения (14.87) в виде = qn. Подставляя + ] • = qn 4 1 (j = 0, 1, ..., к) в (14.87), и сокращая на общий множитель qn + 1 " *, видим, что величина q должна удовлетво- рять уравнению aQqk + oi| " 1 + ... ак = 0, (14.88) которое называют характеристическим уравнением, соответствующим методу (14.83). Многочлен P(q) = aQqk + a}qk “ 1 + ... + ak называется характеристическим многочленом. 523
Глава 14. Численные методы решения задачи Коши Приведем некоторые факты, известные из теории линейных разно- стных уравнений. Пусть q — корень уравнения (14.88) (вообще говоря, комплексный). Тогда сеточная функция = qn является реше- нием разностного уравнения (14.87). Если же q — кратный корень кратности т > 2, то ему отвечают частные решения qn, nq\ n2qn, ..., nm~xqn. Опишем теперь структуру общего решения разностного уравне- ния. Пусть qx, q2, ..., qr — корни характеристического уравнения, а т}, т2,.....,тг — их кратности (т{ + т2 + ... + тг = к). Тогда всякое реше- ние уравнения (14.87) может быть представлено в виде1 - 1 т2- 1 mr~1 ел= Е с1/л'^1+ Е С21п1Я2 + •••+ 2 Сг1п‘Чг- (14.89) /=0 /=0 7=0 В частности, если все корни q{9 q2, ..., qk — простые, то для всякого решения уравнения (14.87) справедливо представление п . п . . п tn = c\4i+c2q2+ -+скЧк- Оказывается, что наличие или отсутствие у метода (14.83) нуль- устойчивости определяется исключительно расположением корней характеристического уравнения на комплексной плоскости. Будем говорить, что выполнено корневое условие, если все корни qp q2, ..., qr характеристического уравнения лежат внутри или на границе единичного круга комплексной плоскости (т.е. удовлетворяют условию |^| < 1, / = 1, 2, ..., г), причем на границе единичного круга нет крат- ных корней. Заметим, что в силу равенства (14.30) число q = 1 всегда является корнем характеристического уравнения. Теорема 14.9. Для того чтобы метод (14.83) обладал нуль-устой- чивостью, необходимо и достаточно, чтобы выполнялось корневое условие. Доказательство. Ограничимся доказательством необходимости выполнения корневого условия. Предположим, что метод обладает свойством нуль-устойчивости, а корневое условие не выполнено. Тогда характеристическое уравнение имеет либо корень q такой, что |t?| > 1, либо корень q кратности т > 2 такой, что |<?| = 1. В первом случае сеточная функция 8 й со значениями = zqn есть решение разностного уравнения (14.87), соответствующее заданию начальных значений 8; = 1 Если ак = 0 и среди корней характеристического уравнения имеется корень q = 0 кратности 5, то представление (14.89) верно при п > s. 524
§14.8. Устойчивость численных методов решения задачи Коши = 8 </'(/ = О, 1, ..., к~ 1). Во втором случае решением, соответствующим заданию начальных значений е; = е/</' (/ = 0, 1, ..., к - 1), является функция еЛ со значениями en = &nqn. И в том, и в другом случаях бла- годаря выбору е начальные погрешности могут быть сделаны сколь угодно малыми, но в то же время 18П | —► оо при п —► оо. Учитывая, что N = (Г - /0)/й —► 00 при h —► 0, получаем = = |ev| —► оо при h —> 0, т.е. неравенство (14.85) не может выполняться для всех h. Итак, необходимость корневого условия доказана. Теорема 14.10. Методы Рунге—Кутты и Адамса обладают свой- ством нуль-устойчивости. Доказательство. Методам Рунге—Кутты соответствует однород- ное разностное уравнение уп + । -уп = 0, а ему, в свою очередь — харак- теристическое уравнение ^-1=0. Последнее имеет один простой корень q = 1, т.е. корневое условие выполнено. Аналогично, к-шаговому методу Адамса соответствует разностное уравнение у„ + । -у„ + 0-у„ _ । + ... + 0-уп _ к + , = 0, а ему — характе- ристическое уравнение qk - qk ~ 1 =0. Последнее имеет один простой корень qx = 1 и корень q2 = 0 кратности к - 1, т.е. корневое условие здесь также выполняется. Пример 14.17. Рассмотрим метод Уп+х+Уп~Ь„-Х = УЛЛ-!, (14.90) ЗЛ 6 имеющий второй порядок аппроксимации1. Попытаемся применить его для численного решения задачи Коши /(/) = cos t, у(0) = 0. Заметим, что функция y(t) = sin / является ее решением. Возьмем шаг h = 0.1 Положим у0 = 0 и в качестве второго начального значения, необходимого для расчета по методу (14.90), примем уj =0.1. Так каку(01) = 0.099833..., то абсолютная погрешность значения уj не превышает 2 • 10"4. График полученного приближения изображен на рис. 14.13. При t £ 0.7 погрешность уже становится заметной. Далее она быстро развивается и при t » 1.4 потеря точности становится катастрофиче- ской. Попытка увеличить точность решения за счет уменьшения шага вдвое приводит лишь к еще более быстрому нарастанию погрешности. 1 В наличии второго порядка аппроксимации можно убедиться самостоятельно. 525
Глава 14. Численные методы решения задачи Коши Рис. 14.13 Полная потеря точности происходит здесь уже при t « 0.9. Проверим теперь, выполняется ли для метода (14.90) корневое условие. Характе- ристическое уравнение имеет вид q2 + q - 2 = 0. Корнями уравнения являются числа q} = 1, q2 = -2. Так как |^21 = 2 > 1, то корневое усло- вие нарушено. Отсутствие у метода (14.90) нуль-устойчивости и слу- жит причиной наблюдаемого неконтролируемого роста погрешности. Такого рода колебания приближенного решения, вызванные ростом погрешности, иногда называют четно-нечетной болтанкой^. А Таким образом, для того чтобы численный метод можно было использовать на практике, необходимо, чтобы он был нуль-устойчи- вым. Игнорирование этого требования даже для методов, обладающих высоким порядком аппроксимации, приводит к катастрофической потере точности. Оказывается, что для линейных многошаговых методов выполне- ние корневого условия гарантирует не только нуль-устойчивость метода, но и устойчивость метода на конечном отрезке по начальным значениям и правой части в смысле определения устойчивости (14.28), введенного в § 14.2. Конечно, это не математический термин, а жаргон. 526
§ 14.8. Устойчивость численных методов решения задачи Коши Теорема 14.11. Пусть выполнено условие \f'| < L. Предположим, что линейный многошаговый метод (14.82) удовлетворяет корневому условию и при Ро * 0 (т.е. для неявного метода) выполнено дополни- тельное условие на шаг: h<h$ = 1 ао1 2|P0U ’ Тогда метод (14.82) устойчив на конечном отрезке. Доказательство этой теоремы можно найти в [88]. 2. Абсолютная устойчивость. Как уже отмечалось в § 14.1, необ- ходимость решения задачи Коши на больших временных отрезках р0, 7] возникает в самых различных областях науки и техники. Наи- больший интерес при этом представляет изучение устойчивых реше- ний. Отметим, что нуль-устойчивость гарантирует устойчивое развитие погрешностей при h —► 0 только в том случае, когда отрезок интегриро- вания [г0, 7] фиксирован. Однако наличие нуль-устойчивости вовсе не исключает того, что сколь угодно малая погрешность в начальных зна- чениях при неограниченном росте tn (при Т —► оо) может приводить к сколь угодно большой погрешности решения. Значительную часть таких заведомо непригодных для решения задачи Коши на больших временных отрезках методов можно отбросить, если исследовать результат их применения к решению модельной задачи У' = Ъу, У(‘0)=У0- (14.91) Напомним (см. § 14.1), что решение этой задачи устойчиво по Ляпу- нову, если комплексный параметр X удовлетворяет условию ReX < О, и асимптотически устойчиво, если ReX <0. Большинство используемых дискретных методов (в том числе и методы Рунге—Кутты и Адамса) в применении к задаче (14.91) стано- вятся линейными и приобретают вид I к к ; (14.92) ;=о /=о здесь Ру (АХ) — некоторые зависящие от величины z = ХА функции. В силу линейности уравнения (14.92) ошибка ew = уп - у*, возникаю- щая из-за погрешностей в начальных значениях, удовлетворяет тому же уравнению* j=o Л-0 527
Глава 14. Численные методы решения задачи Коши Перепишем это уравнение в виде fY;U)^+i-7 = O, (14.93) ;=о где Yy (z) = olj -zfy(z), z = hX. Заметим, что (14.93) — это линейное однородное разностное уравне- ние. Поэтому для того чтобы при фиксированном z погрешность Еп оста- валась ограниченной при п —► °о, необходимо и достаточно выполнение корневого условия для отвечающего уравнению (14.93) полинома. Назовем метод (14.83) абсолютно устойчивым для данного z = hX, если при этом z все корни полинома устойчивости к P(^z) = ^y7W-7 (14.94) ;=о лежат в комплексной плоскости внутри единичного круга и на границе этого круга нет кратных корней. Множество D точек комплексной плос- кости, состоящее из тех z, для которых метод абсолютно устойчив, называют областью абсолютной устойчивости метода. Пример 14.18. Найдем область абсолютной устойчивости метода Эйлера. Применительно к модельному уравнению у’ = Ху расчетная фор- мула метода Эйлера принимает вид уп + j - уп + hXyn. Запишем соответ- ствующее разностное уравнение для погрешности е„+1-(1+ЛХ)ея = 0 (14.95) и заметим, что полином устойчивости P(q, z) = q - (1 + z) имеет один простой корень q = 1 + z. Область абсолютной устойчивости состоит здесь из тех z = ЛХ, для которых 11 + z | < 1, и представляет собой в комплексной плоскости круг единичного радиуса с центром в точке z0 = “1 (Рис- 1414, а). Тот же результат нетрудно установить, не используя полином устой- чивости и корневое условие. Действительно, из уравнения (14.95) сле- дует, что = (1 + ЛХ)”е0. Поэтому |en| = 11 + ЛХ| ”£0 и еп —► оо при п —* оо, если 11 + ЛХ| > 1. В этом случае метод не является устойчивым. Наоборот, если 11 + hX\ < 1, то |ел| < |е0| и метод устойчив. ▲ Пример 14.19. Найдем области абсолютной устойчивости для неявного метода Эйлера (14.24), правила трапеций (14.25), метода Эйлера—Коши (14.61) и усовершенствованного метода Эйлера (14.62). Применительно к модельному уравнению неявный метод Эйлера принимает вид уп + j = уп + hXyn + j. Соответствующий полином устой- 528
§ 14.8. Устойчивость численных методов решения задачи Коши чивости (1 - z)q - 1 имеет единственный корень q = (1 - z)1. Условие |g| <1 эквивалентно здесь условию |1 - z| > 1. Таким образом, область устойчивости представляет собой внешнюю часть единичного круга с центром в точке z0 = 1 (рис. 14.14, б). Для правила трапеций уп + । = уп + у (уп + уп + |) полином устойчи- вости P(q, z) = (j - ^Jq - (j + имеет корень q = 2 +z 11^1 ---. Условие I q < 1 2 -z эквивалентно здесь неравенству Rez < О, поэтому область устойчиво- сти представляет собой левую полуплоскость (рис. 14.14, в). Применительно к уравнению у' = Ху расчетные формулы методов hX (14.61) и (14.62) совпадают: уп + t = уп + у (2 + hX)yn. Корнем полинома f z1 устойчивости ^-11 + z + } является q = 1 + z + у • Область абсолют- ной устойчивости изображена на рис. 14.14, а Для сравнения на рис. 14.14, д схематично изображена область абсолютной устойчивости метода Рунге—Кутты четвертого порядка точности. ▲ 529
Глава 14. Численные методы решения задачи Коши Предположим, что параметр X, входящий в модельное уравнение (14.91), отрицателен. Тогда условие абсолютной устойчивости метода Эйлера 11 + АХ | < 1 оказывается эквивалентным неравенству 2 = (14.96) Такое же ограничение на шаг возникает при использовании метода Эйлера—Коши и усовершенствованного метода Эйлера. В то же время метод Рунге—Кутты четвертого порядка точности оказывается абсолютно устойчивым при выполнении чуть менее ограничитель- ного условия ? я А<й0«Щ- (14.97) Отметим, что при X < 0 неявный метод Эйлера и правило трапеций оказываются абсолютно устойчивыми при любых h. 3. /(-устойчивость. Для того чтобы исключить ограничение на шаг h при решении устойчивой по Ляпунову модельной задачи (14.91), необходимо потребовать, чтобы область абсолютной устойчивости метода включала в себя полуплоскость Rez < 0. Численный метод, обладающий таким свойством, называют А-устойчивым. Примерами ^-устойчивых методов служат неявный метод Эйлера и правило трапеций. В то же время метод Эйлера и метод Рунге— Кутты четвертого порядка точности не являются ^-устойчивыми. § 14.9. Неявный метод Эйлера Как следует из результатов предыдущего параграфа, простейшим представителем семейства Л-устойчивых методов является неявный метод Эйлера Уп+\ =У„ + hf(tn+t,y„+i)- (14.98) Как нетрудно понять, геометрическая интерпретация одного шага метода (14.98) заключается в том, что решение на отрезке [/n, tn + J аппроксимируется касательной у = уп + j + y\tn + j)(f - tn + ,), проведен- ной в точке (tn + j, уп + j) к интегральной кривой, проходящей через эту точку (рис. 14.15). 2. Устойчивость. Достоинства неявного метода Эйлера проявля- ются при решении дифференциальных уравнений, имеющих устойчи- вые по Ляпунову решения. Как уже отмечалось в § 14.2, достаточным условием такой устойчивости является выполнение одностороннего условия Липшица fy < 0. 530
§ 14.9. Неявный метод Эйлера Пусть yh — решение дискретной задачи Коши для уравнения (14.98), соответствующее начальному условию уА(/0) = у0, а — решение возмущенной задачи Л+1 =Л + Л</('я + ь>'л+1) + Ч'я), (14.99) /А('о)=.Уо- Аналогично теореме 14.5 устанавливается следующий результат. Теорема 14.12. Пусть функция f удовлетворяет условию fy < 0. Тогда справедливо неравенство N- 1 max \у*-у„\< |уо"^о1 +Л £ kJ. (14.100) означающее, что неявный метод Эйлера устойчив на конечном отрезке. Доказательство. Вычитая из равенства (14.98) равенство (14.99), получаем Z+i -л+1 =уя->'я+Л/;(/я+|.>'я+1)0';+| -уя+1)+луя> где уп +, — некоторое промежуточное между у„ + t и у*+ j значение. Откуда [1 -hfy(tn+x,yn^)l k;+l-yn+1| < + h |y„| . (14.101) Поскольку f' < 0, то справедливо неравенство 1^+1-уи+)1 |уя-уя1+а1уя1 - 531
Глава 14. Численные методы решения задачи Коши из которого вытекает оценка п - 1 ko-^ol +Л £ IvJ , к=0 и, как следствие, — неравенство (14.100). Замечание. Неравенство (14.100) является дискретным ана- логом оценки (14.16), справедливой для погрешности решения задачи Коши (при этом Х'(Т) = 1). Следует отметить, что оно верно для метода (14.98) при любых А, в то время как для явного метода Эйлера это неравенство имеет место только если -£</;< 0 и h < Ло = 2/£. Для неявного метода Эйлера справедлив и дискретный аналог оценки (14.17). Теорема 14.13. Пусть функция /удовлетворяет условию f'v < <j < 0. Тогда справедливо неравенство ly.-y.l +4т max |v*l, и> 1,(14.102) lQl 0<к<п где аА = —-— -* с при h -* 0. 1 — <sh Доказательство. Учитывая, что f < с < 0, из неравенства (14.101) выводим 1^+1 -Уп+ 11 гЛ- 1л -Уп1 + гЛ- I v„l • (14.103) 1 — П(У 1 — ПС Докажем теперь оценку (14.102) используя метод математической индукции. При п = 1 эта оценка имеет вид kf-yj <ест*А|>>о->>0| +-|^у |vol и следует из (14.103) с учетом неравенства —-— < е-а/<1+а) с а = -Ла 1 + а Л . 1 и оценки------< т—г. l-Ла |а| 532
§ 14.9. Неявный метод Эйлера Пусть оценка (14.102) верна при и = к. Тогда 1уЛ1-л+11 W-л! IvJ<е0Л:ОА('*’'о)ко-.у0|+ + Г-4~ GtT + A) nma\ ।1 "'о)ко-Уо1 + |~Т nma\ Iv.l • 1 — Ло х | <Т I ✓ 0<i£k I ° I 0 < i £ к Следовательно оценка (14.102) верна и при п = к + 1. 3. Оценка погрешности. Из того, что неявный метод Эйлера устойчив и имеет первый порядок аппроксимации, вытекает (в силу теоремы 14.4) его сходимость с первым порядком. Приведем соответст- вующий результат. Теорема 14.14. Пусть функция /удовлетворяет условию f < 0. Тогда для неявного метода Эйлера справедлива следующая оценка погрешности. т max k(C,)-ynHfk"(')l dt-h. (14.104) 0 £ п < N J 'о Если же функция /удовлетворяет условию f' < с <0, то верна оценка max k(rn)-yn|<—тЛ, (14.105) О < п < N л. | о | где М2 = max |^"(/)| • ['О’7! Доказательство. Для погрешности аппроксимации \|/л имеем + I fn + I / 'л + I \ ln + I j _ f = -h /к'к)-/0и + 1))й5 = -й J J/'(/)drd5 = - J—V(r)dr. 'n Таким образом, значения y*n = y(tn) удовлетворяют уравнениям (14.99), в которых |\|/л| < J |уг(0| d*- Применяя теорему 14.12, приходим 'и к оценке (14.104). 533
Глава 14. Численные методы решения задачи Коши Если же использовать оценку | \|/„| < - M2h и применить теорему 14.13, то результатом будет неравенство (14.105). Замечание. Оценка (14.105) замечательна тем, что ее правая часть не растет с ростом Г, если вторая производная решения ограничена. 4. Влияние погрешности вычислений. Поскольку метод (14.98) — неявный, то при его реализации на компьютере будет использован некоторый итерационный метод и будут найдены приближенные значе- ния решения у* удовлетворяющие соотношениям Z-и =Ул* + /’/('п+1,Лм) + 5я- Величины — это невязки, с которыми найденные значения удовле- творяют уравнениям (14.98). Предположим, что функция f удовлетворяет условию f < <j < 0. Тогда, полагая \|/w = §nl h и используя теорему 14.13, имеем max |у*- у„| < т“тт max 1$„1 • os«<v " " |ст|Л0<„<N л Заметим, что в этой оценке (в отличие от соответствующей оценки (14.54) для метода Эйлера) отсутствует множитель, растущий с ростом Т § 14.10. Решение задачи Коши для систем обыкновенных дифференциальных уравнений и дифференциальных уравнений лт-го порядка 1. Задача Коши для систем дифференциальных уравнений пер- вого порядка. Как правило, возникающие на практике проблемы при- водят к необходимости решать задачу Коши не для одного дифферен- циального уравнения, а для систем дифференциальных уравнений вида У\(1) =/l(/.)'l(0,}'2(0. у!п(1) У1(О,у2(О, ,ут(‘)), где ^,(/), у2(0, • ••> Ут({) — искомые функции, значения которых подле- жат определению при t е [г0, 7]. В момент времени t = /0 задаются начальные условия 534
§ 14.10. Решение задачи Коши для систем обыкновенных дифференциальных уравнений Х('о)=Хо> У2(‘о)=У2О’ ’У'М=Ут0’ (14.107) определяющие начальное состояние физической системы, развитие которой описывается уравнениями (14.106). Введем вектор-функции ХО = О',(О,У2(0, ,ymW)T, f(t, j) = V\(t,у), ЛО’ J’)../т(Л Л))г и вектор j0 = (у10, у20, ym0)r. Тогда задачу Коши (14.106), (14.107) можно записать в компактной форме: y'(‘)=f(t,yW), (14.108) (14.109) Для того чтобы охватить ряд важных для технических областей задач (электротехника, радиотехника и др.), будем считать, что функ- ции yt- ufj (i = 1,2, ..., т) могут принимать комплексные значения. 2. Разрешимость задачи Коши. Пусть Пг — множество таких точек (t9y)9 для которых t е [/0, 7], aylfy2, ---,Ут — произвольные ком- плексные числа. Это множество будем называть слоем. Будем, как и т _ / т \ 1/2 ранее, использовать обозначения (у, 2) = £ y.z; и |[у|| = 1У I Д'/l2) ;=1 ;=1 для скалярного произведения и евклидовой нормы т-мерных ком- плексных векторов. Сформулируем аналог теоремы 14.1 о разрешимости задачи Коши. Теорема 14.15. Пусть вектор-функция f(t, у) определена и непре- рывна в слое Пр Предположил также, что она удовлетворяет усло- вию Липшица Шх)-/(',Х)И (14.110) для всех tQ< t < Т и произвольных у]9 у2, где L> 0 — некоторая посто- янная (постоянная Липшица). Тогда для каждого начального значения yQ существует единствен- ное решение y(t) задачи Коши (14.108), (14.109), определенное на отрезке [/0, 7]. Замечание 1. Можно показать, что если функции/р/ь ...,/ш непрерывно дифференцируемы по ух, у19 ..., ут9 то условие Лип- шица (14.110) выполняется с постоянной L тогда и только тогда, когда матрица Якоби 535
Глава 14. Численные методы решения задачи Коши /;У1(/,л) /|'ъ(лл) (f,y) z 1 z Z z M f'{t,y)= fW'y} W’y> Гту^У) /'ту2({’У) Гтут(‘>У) удовлетворяет неравенству 11/^(Л^)11 ^L. Замечание 2. Теорема 14.15 остается справедливой, если в ее формулировке условие Липшица (14.110) заменить менее ограни- чительным односторонним условием Липшица ^(f^y\)-f{t,y^y\ -Л2)- °llji-ЛгИ2- (14.111) Назовем систему дифференциальных уравнений диссипативной если вектор-функция удовлетворяет неравенству Re (f(t, j]) - f(t, y2), у}-у2)<0 (т.е. если / удовлетворяет одностороннему условию Липшица с посто- янной с = 0). 3. Устойчивость решения задачи Коши. Приведем аналог тео- ремы 14.3. Теорема 14.16. Пусть выполнены условия теоремы 14.15. Далее, пусть y(t) — решение задачи (14.108), (14.109), а.у*(/) — решение задачи (г’)'(0 = f(t, /(0) + V('), (14.112) Г('о) = ^- (14113) Тогда справедлива оценка max 0<г< ‘о выражающая устойчивость на конечном отрезке [/0, Г] решения задачи Коши по начальным значениям и правой части. Здесь К(Т) = Если в теореме 14.15 условие Липшица (14.110) заменить односто- ронним условием (14.111), то оценка (14.114) будет выполнена с посто- янной К(Т) = /()) при с > 0 и с постоянной К(Т) = 1 при с < 0. 536
§ 14.10. Решение задачи Коши для систем обыкновенных дифференциальных уравнений Следствие. Если система (14.108) диссипативна, то справедлива оценка т max 11X0-/(ОН 11л_/11 + flMOll dr (14.115) 'о -' - г t 1о Замечание. Можно показать, что если условие (14.111) выпол- нено с постоянной о < 0, то для всех t е [Го, Г] справедлива оценка 11X0-/(011 е°(/ /о) 11^о-/11 + гт тах ИХ(ОИ • (14.116) По аналогии со случаем одного дифференциального уравнения (см. § 14.1) рассмотрим вопрос об устойчивости решения задачи Коши к возмущениям начальных данных при Т —► °°. Будем считать, что на каждом отрезке [г0, Г] (Го < Т— произвольно) неравенство (14.111) выпол- нено с некоторой постоянной с = <т(7). Тогда решениеХО определено для всех /0 < t < оо. Пусть /(/) — решение задачи (14 112), (14.113), отве- чающее произвольному начальному значению / и у(0 = 0. Будем называть решение задачи Коши (14.108), (14.109) устойчивым по Ляпу- нову, если справедлива оценка max ИХ О -/(ОН ^А'||.у0-/||» где постоянная К не зависит от Т. Если дополнительно известно, что 11X0-/(011 — 0 при t —► оо, то решение называется асимптотически устойчивым. Замечание 1. При у(0 = 0 из неравенства (14.115) следует оценка max 11X0-/(Oil - 1/~/И» поэтому всякое решение /0</<г диссипативной системы является устойчивым по Ляпунову. Замечание 2. Предположим, что одностороннее условие Липшица (14.111) для всех /0 < t < оо выполняется с одной и той же постоянной с < 0. Тогда приу(0 = 0 из неравенства (14.116) получаем оценку 11X0-/(011 <e'’<'''°)||j0-/ll, откуда следует, что 11X0 -/(Oil ~> 0, при t —► оо, т.е. решениеХО асимптотически устойчиво. 537
Глава 14. Численные методы решения задачи Коши 4. Система линейных дифференциальных уравнений с постоян- ными коэффициентами. Рассмотрим систему y'(t) = Ay(f), (14.117) являющуюся простейшим примером системы дифференциальных урав- нений первого порядка; здесь А — квадратная матрица порядка т. В теории численных методов решения систем дифференциальных уравнений система (14.117) играет роль, аналогичную той, которую при исследовании методов численного интегрирования одного уравнения У' = выполняет модельное уравнениеy'(t) = Xy(Z) (см. § 14.1). Напомним структуру решения системы линейных уравнений с постоянными коэффициентами в наиболее простом и важном случае, когда матрица А имеет простую структуру. В этом случае существует набор е2, ..., ет собственных векторов матрицы А, соответствующих собственным значениям Хи Х2, ...» Xw, который образует базис в про- странстве m-мерных векторов. Матрица Р, столбцами которой служат векторы е,, е2, ..., еш, не вырождена и такова, что Xj 0 . .. 0 -'ЛР=Л = 0 Х2 . .. 0 (14.118) 0 0 . • т Обозначим через Zj(/), z2(t), ..., zm(t) координаты вектора y(t} в базисе в], ..., ет. Так как p(0 = ^(0*| + z2(t)e2 + ... +zm(/)em, (14.119) то вектор у (t) связан с вектором z(t) = (zx(t\ z2(Z), ..., zm(t))T равенством y(t) = P2(t). Умножив обе части системы (14.117) слева на Р-1, полу- чим для вектор-функции z (t) систему уравнений z'(0=Az(/). В силу диагональной структуры матрицы Л эта система распадается на т независимых дифференциальных уравнений zX0 = ^z;(0, z = 1, 2, ...,/и. (14.120) Заметим, что уравнение (14.120) для z-й компоненты вектораz есть модельное уравнение с параметром X = Х-. Таким образом, в рассматриваемом случае интегрирование системы линейных дифференциальных уравнений эквивалентно интегрирова- 538
§ 14.10. Решение задачи Коши для систем обыкновенных дифференциальных уравнений нию т модельных уравнений (14.120). Решая каждое из них, получаем zt(f) = ct /()), cz- = и в силу равенства (14.119) находим i=] Здесь с = (с|( с2, .... ст)г = Р~1у0. Пусть e(z) =y(f) -y*(t) — погрешность решения, вызванная погреш- ностью начальных значений е0 = . В силу линейности системы (14.119) погрешность является решением той же системы: е'(/) = А е(/). Следовательно, е(0 = £а,е'' °е;, (14.121) /=1 где а = (а,, а2, .... ат)г= Р-’б0. Формула (14.121) позволяет сделать ряд важных выводов. В частно- сти, из нее следует, что решение системы (14.117) с постоянной матри- цей А простой структуры устойчиво по Ляпунову тогда и только тогда, когда ReX; < 0 для всех i = 1, 2, ..., т и асимптотически устойчиво тогда и только тогда, когда ReX; < 0 для всех i = 1,2, ..., т. Отметим также, что в отличие от случая одного дифференциального уравнения , 1 для систем характерно наличие т временных постоянных » i= 1, 2, ..., т. Наличие в решении задачи физических компонент с существенно различными временными постоянными может привести к серьезным затруднениям при численном решении соответствующих задач. Более подробно этот вопрос рассматривается в § 1411. Пусть теперь .y*(Z) — решение нелинейной системы (F*XW=/a,/WX (14.122) отвечающие возмущенному начальному условию ,y*U0) = .Ко Вычитая из уравнения y'(t) = f(t, y(f)) уравнение (14.122) и используя прибли- женное равенство f(t, У(1)) - f(t, y\t)) « f;(j,y(j))(y(t) -y'W), получаем, что погрешность е(/) = ^(0 -,у*(0 удовлетворяет приближен- ному равенству е'(0 *Ле(0, где Л =//Г,ХО)- 539
Глава 14. Численные методы решения задачи Коши Таким образом, можно предположить, что в малой окрестности точки (/ ,y(t)) эволюция погрешности, е(/) происходит примерно так, как и для системы (14.119), т.е. е(О«£а,еЛ /=1 Здесь и е. (i = 1, ..., т) — собственные значения и собственные век- торы матрицы А = f'y(t ,y(t)). 5. Понятие о численных методах решения задачи Коши для сис- тем уравнений первого порядка. Описанные выше применительно к решению задачи Коши для одного уравнения методы можно использо- вать и для систем уравнений первого порядка, причем форма их записи претерпевает минимальные изменения. Следует лишь заменить в расчет- ных формулах числауп на векторы уп = (у]л, у2„, ут„)г, функцию/— на вектор-функцию f и т.д. В результате дискретное уравнение (14.18) преобразуется в систему дискретных уравнений 1 к У ^Уп + 1 -J Уп + 1 - к9 • • *» Уп9 Уп + 1» ’ /=0 Например, расчетная формула метода Эйлера уп + j = уп + hf(tn, уп) применительно к решению системы (14.108) принимает вид Л+i =yn + hf{t„,yn). Покоординатная запись этого соотношения выглядит так: У 1, „ + I = У1п + АЖ> У1„, У2„< ;Ут„), У г, п + 1 = У1П + ЩК’ У\н> У2П.Ут»)’ Ут, п + 1 Утп hfп№п9 У In’ У1п9 ' "9 У тпУ Аналогично, метод Рунге—Кутты четвертого порядка точности (14.70) порождает для систем дифференциальных уравнений первого порядка следующий метод: Уп + 1 =уп + Ып, к„ = 1 (к™ + 2к(2) + 2А<3) + *<4)); *<')=/(, у) k(1}=f(t +-у +-*(1)1 ЛлЪ лп J \*п 2’У” 2 / Лп3> = f(‘n + ЪУп + 1 > *п4) = + Ь’Уп + АА»3’) • п J \ п ~)9 п 2 я J ’ j \ п ’•'п п ' 540
§ 14.10. Решение задачи Коши для систем обыкновенных дифференциальных уравнений Теория численных методов решения задачи Коши для систем диф- ференциальных уравнений имеет много общего с соответствующей теорией решения задачи Коши для одного дифференциального уравне- ния. В частности, справедливы аналоги всех изложенных выше резуль- татов, касающихся устойчивости и сходимости дискретных методов на конечном отрезке. Однако имеют место и существенно новые явления. Один из таких эффектов — жесткость — будет рассмотрен в § 14.11. Прежде чем переходить к его изложению, выясним, какие изменения появляются при применении дискретных методов к решению задачи Коши для системы уравнений с постоянными коэффициентами (14.117). Рассмотрим линейный многошаговый метод 1 к к ь^Уп^-Г^АУп^-г <14123) j=o ;=о Предположим для упрощения, что матрица А имеет простую структуру. Положим 2п = Р~}уп, где Р — матрица, удовлетворяющая равенству (14.118). Умножая обе части уравнения (14.123) на матрицу Р-1 слева и учитывая, что Уп+\-]~ Р%п+\-р АУп+\-}~Р получаем соотношение । к к h -j~ X+1 _j• /=о 7=0 Так как матрица Л — диагональная, то оно эквивалентно следующей системе уравнений для компонент вектора 2п = (zln, z2w, ..., zmn)T\ i к к -h La;z/.n+i-; = LpA-z»+i-;’ ' = (14.124) 7=0 ло Заметим, что (14.124) есть не что иное, как результат применения линейного многошагового метода к решению уравнений (14.120). Таким образом, если решения системы (14.117) устойчивы по Ляпу- нову, то для того чтобы погрешности оставались ограниченными при м —► оо, необходимо потребовать, чтобы для всех i = 1, ..., т величина h'ki принадлежала области D абсолютной устойчивости применяемого метода. Можно показать, что такой же вывод справедлив и для методов Рунге—Кутты. Требование, чтобы АХ, g D при всех / = 1,2, ..., т, для методов, не обладающих свойством ^-устойчивости, может приводить к существенным ограничениям на длину шага h. Предположим, например, что все собственные значения матрицы А отрицательны. Тогда условие (14.96) абсолютной устойчивости 541
Глава 14. Численные методы решения задачи Коши метода Эйлера приводит к следующему ограничению на длину шага интегрирования: 2 А<А0= min (14.125) Такое же ограничение на шаг возникает при использовании метода Эйлера—Коши и усовершенствованного метода Эйлера. Метод Рунге—Кутты четвертого порядка точности, как следует из неравен- ства (14.97), оказывается абсолютно устойчивым при таком ограниче- нии на длину шага: , , 28 min —г. ° lS,-<m|\.| Следовательно, для явных методов шаг интегрирования должен не превышать значения Ао, пропорционального наименьшей из временных постоянных системы. 6. Сведение задачи Коши для уравнения m-го порядка к задаче Коши для системы уравнений первого порядка. Задача Коши для диф- ференциального уравнения m-го порядка состоит в нахождении функции y(t), удовлетворяющей при t > /0 дифференциальному уравнению ym)W = УО)...........У" - »(/)), (14.126) а при t = t0 — начальным условиям W=y0> У%)=>'20.........’ W = УпЛ- (14.127) Рассмотрим функции yt(/) = y(t), y2(t) = y'(t), ym(t) = У" " ')(/). Заметим, что yk(t) = у'к_ ,(/). Поэтому введенные функции удовлетво- ряют системе дифференциальных уравнений первого порядка У1 =У2> У2=Уз> ................................ (14.128) Ут - 1 — Ут ’ К=/У,У|.У2> -’Ут). Начальные условия (14.127) в новых обозначениях принимают вид У(?о)=Уо> У2<‘о)=У2О’ -’Ут((о)=Уто. (14.129) Пример 14.21. Задача Коши для дифференциального уравнения второго порядка у" = - 25у + sin /, у(0) = у'(0) = 1 введением новых 542
§ 14.11. Жесткие задачи искомых функций у,(/) =y(tYy-£t) = /(/) сводится к эквивалентной задаче Коши для системы дифференциальных уравнении первого порядка У\ =У2’ У2 = -25у, + Sin t, _У](0) = 0, у2(0) = 1. ▲ Для решения задачи Коши (4.126), (14.127), приведенной к виду (14.128), (14.129), можно воспользоваться известными методами или даже готовыми программами. Часто именно так и поступают. Следует все же иметь в виду, что вычисления можно организовать и так, что сведение уравнения (14.126) к системе (14.128) не потребуется. Напри- мер, для решения дифференциального уравнения второго порядка у" = = f(t,y) используется ряд специальных методов [109]. Одним из наибо- лее популярных среди них является метод Нумерова четвертого порядка точности: Ж - !) + • 0/ОЖ +Ж + !, Л + ! )) § 14.11. Жесткие задачи 1. Понятие о жестких задачах. В последние годы при решении задачи Коши явными методами Рунге—Кутты и Адамса значительное число исследователей сталкивается с весьма неожиданным и неприят- ным явлением. Несмотря на медленное изменение искомых функций расчет приходится вести, казалось бы, с неоправданно мелким шагом Л. Все попытки увеличить шаг и тем самым уменьшить время решения задачи приводят лишь к катастрофически большому росту погрешно- сти. Обладающие таким свойством задачи получили название жест- ких. Сразу же подчеркнем, что жесткость является свойством задачи Коши (а не используемых численных методов). Жесткие задачи встречаются в самых различных областях науки и техники. Традиционными источниками появления таких задач явля- ются химическая кинетика, теория ядерных реакторов, теория автома- тического управления, электротехника, электроника и т.д. Жесткие задачи возникают также при аппроксимации начально-краевых задач для уравнений в частных производных с помощью полудискретных методов (методов прямых). Трудности, возникающие при численном решении жестких задач, продемонстрируем на таком примере. Пример 14.22. Вычислим значения приближенного решения задачи Коши y'(t) = -25X0 + cosZ + 25sinZ, ХО) = Ь (14.130) 543
Глава 14. Численные методы решения задачи Коши использовав метод Эйлера. Решением этой задачи является функция y(f) = sin/ + е-25/. Как нетрудно видеть (рис. 14.16), на начальном пере- ходном участке 0 < t 0.2 решение быстро меняется. Однако уже через небольшой интервал времени переходная часть решения е-25/практиче- ски исчезает и решение становится медленно меняющимся. Естественно, что приближенное решение на переходном участке приходится вычислять, используя достаточно мелкий шаг. Однако при t 0.2, когда переходная часть решения, казалось бы, уже практически отсутствует, возникает желание перейти к вычислению со сравни- тельно крупным шагом. Предположим, что при t = 0.2 найдено значение решения « » 0.205 с точностью е = 10-3. Возьмем шаг h = 0.1 и будем вычислять решение при t > 0.2, используя метод Эйлера: У„ + 1 = Уп + Л(-25у„ + cos tn + 25sin tn). Полученные значения приближений и точные значения решения приведены в первых трех столбцах табл. 14.6. Соответствующая лома- ная Эйлера изображена на рис. 14.16. Как нетрудно видеть, метод ведет себя неустойчивым образом и оказывается непригодным для решения рассматриваемой задачи при значении шага h = 0.1. На конкретном при- мере мы убедились в том, что условие абсолютной устойчивости (14.96) нарушать нельзя. В рассматриваемом случае X = -25 и это условие рав- 544
§ 14.11. Жесткие задачи носильно требованию h < 0.08. Взяв удовлетворяющий этому условию шаг h = 0.025, получим вполне приемлемое решение (табл. 14.6). Попробуем теперь воспользоваться для решения задачи (14.130) неявным методом Эйлера: Уп + I = Уп + Л(-25у„ + I + COS t„ + ! + 25sin tn + Д Напомним, что он Л-устойчив и, следовательно, абсолютно устойчив для всех значений h. Используя для нахождения решения формулу уп + Л(со$/я+ ,+ 25sin /п+1) при h = 0.1 получаем значения, совпадающие с соответствующими зна- чениями решения с точностью 2 • 10-3 (табл. 14.6). Если же нас устраи- вает точность е = 6* 10~3, то шаг h можно утроить. Вычисленные с шагом h = 0.3 значения также указаны в табл. 14.6. ▲ Приведенная в примере ситуация типична для жестких задач. При использовании классических явных методов наличие в решении быстро меняющейся жесткой компоненты даже на том участке, где ее значе- ние пренебрежимо мало, заставляет выбирать шаг h из условия абсо- лютной устойчивости. Для жестких задач это ограничение приводит к неприемлемо малому значению шага А, поэтому численное решение Таблица 14.6 t Точное решение Метод Эйлера Неявный метод Эйлера Л = 0.1 h = 0.025 А = 0.1 А = 0.3 0.2 0.205 0.205 0.205 0.205 0.205 0.3 0.296 0.287 0.296 0.304 — 0.4 0.389 0.404 0.390 0.391 — 0.5 0.479 0.460 0.480 0.479 0.478 0.6 0.565 0.597 0.565 0.564 — 0.7 0.644 0.600 0.644 0.643 — 0.8 0.717 0.787 0.718 0.716 0.714 0.9 0.783 0.683 0.784 0.782 — 1.0 0.841 0.996 0.842 0.840 — 1.1 0.891 0.664 0.892 0.890 0.886 1.2 0.932 1.277 0.932 0.930 — 1.3 0.964 0.451 0.964 0.962 — 1.4 0.985 1.759 0.986 0.984 0.980 1.5 0.997 -0.158 0.996 0.996 — 545
Глава 14. Численные методы решения задачи Коши таких задач требует применения специальных неявных методов. Про- стейшим из них является неявный метод Эйлера. На рис. 14.17 и 14.18 проиллюстрировано принципиальное отличие результатов вычислений, осуществляемых с помощью явного и неявного методов Эйлера. Рис. 14.18
§ 14.11. Жесткие задачи 2. Жесткие задачи для систем дифференциальных уравнений. Рассмотрим задачу Коши для системы линейных дифференциальных уравнений с постоянными коэффициентами /(г) = ляо. (14.131) Предположим, что А — матрица простой структуры и все собствен- ные числа этой матрицы имеют отрицательные вещественные части (Re Хш < Re Хш _ , <... < ReXj < 0). Как отмечалось в § 14.10, в этом слу- чае решение задачи асимптотически устойчиво и представляется в виде у(1) = с}е* °е1+с2е2 °е2 + -..+стет °ет. Если среди собственных чисел X, имеются числа с сильно разли- чающимися значениями вещественных частей, то возникает проблема, связанная с наличием в решении у компонент, имеющих существенно различные временные постоянные xf = l/|ReX.|. Через довольно короткий интервал времени поведение решения будет определяться наиболее слабо меняющейся (медленной) компонентой решения. Так, если ReXm < ... < ReХ2 < ReX, <0, то при t - z0 » т2 = l/|ReX2| спра- ведливо приближенное равенство y(t) * е*1(/ В то же время применяемый для решения задачи Коши метод должен обладать свойст- вами устойчивости, позволяющими подавлять наиболее быстро меняю- щуюся (жесткую) компоненту аш еХ/"(/ '°>ет погрешности е(г) = а1е| °е!+а2е2 0 е2 + ... + ат е т ° ет. Отметим, что для медленной компоненты решения временной постоянной является величина ( min |ReXJ )-1, а для жесткой компо- \<>к<п ненты погрешности — величина (max iReX^I)-1. Их отношение 1 <к<п и определяет степень жесткости задачи. Приведем применительно к системе (14.131) одно из определений жесткости. Пусть ReX* < 0 для всех к = 1,... , т. Определим число жесткости системы (14.131) с помощью формулы max |Re X* | s='-kim ------- (14.132) min Re X. 1 < к <, m Систему уравнений (14.129) назовем жесткой, если для нее s » 1. 547
Глава 14. Численные методы решения задачи Коши Пример 14.23. Рассмотрим систему у1 = -7051 у - 2499z, z' = -7497у - 2503z, у(0) = 0, z(0) = 4. Собственные значения матрицы коэффициентов А= -7501 -2499 [-7497 -2503 таковы: X] = -4, Х2 = -Ю ООО. Здесь число жесткости s = |X2|/|^il = = 2500 много больше единицы и поэтому систему можно квалифициро- вать как жесткую. Общее решение системы имеет вид y(f) = + c2e-,0000z, z(t) = + c2e_,OO()Oz. Начальным значениям у(0) = 0, z(0) = 4 отвечает решение y(t) = —e-4z + z(t) = 3e*4z + е Жесткая компонента решения здесь быстро затухает и через очень небольшой интервал времени решение будет практически совпадать с У (О =-еЛ?(0 =Зе-Ч Решение этой задачи с помощью явных методов очень неэффек- тивно. Например, для метода Рунге—Кутты четвертого порядка точно- 2 8 сти условие устойчивости h min •:----г в данном случае приводит к к | Re \к | необходимости использования очень мелкого шага h 2.8 • 10-4. Замечание. В приведенном выше наиболее простом определе- нии жесткости требовалось, чтобы Re <0 для всех к. Более общие современные определения жесткости [9, 33, 108] не исклю- чают наличия собственных чисел 'ki с положительными веществен- ными частями при условии, что для них Re << max | Re Xj . 1 < к < m Когда матрица А зависит от t (т.е. решается система линейных урав- нений с переменными коэффициентами), число жесткости также зави- сит от t и определяется по формуле (14.132), в которой уже = Х^(Г). Так как 5 = $(/), то система^' =A(t)y может оказаться жесткой на одном интервале времени t и нежесткой — на другом. В настоящее время нет общепринятого математически коррект- ного определения жесткости задачи Коши для системы нелинейных уравнений 548
§ 14.11. Жесткие задачи У'= fit, у}. (14.133) Чаще всего эту задачу называют жесткой в окрестности точки (/,/(*)), если жесткой является соответствующая линеаризованная система y'=Ay(t), A=f;(j4y(7)). (14.134) В подтверждение правомерности такого определения жесткости можно сослаться на то, что (см. § 14.10) погрешность e(Z) решения нели- нейной системы удовлетворяет приближенному равенству б'(0 » Ле(/) и поэтому в малой окрестности точки (t,y(t)) погрешности решении линеаризованной системы (14.134) и системы (14.133) должны вести себя примерно одинаковым образом. К счастью, для того чтобы распознать жесткую задачу на практике, часто совсем не обязательно проводить математически строгое ее исследование. Если система уравнений (14.133) правильно моделирует реальное физическое явление, включающее процессы с существенно различными временными постоянными, то соответствующая задача. Коши должна быть жесткой. Как правило, исследователь проявляет интерес к изучению поведения медленно меняющихся характеристик процесса в течение длительного времени. Наличие же быстро меняю- щихся физических компонент при использовании классических явных методов решения задачи Коши заставляет его выбирать шаг h порядка наименьшей из временных постоянных, что делает процесс численного решения чрезвычайно дорогостоящим и неэффективным. Существую- щие в настоящее время методы решения жестких задач позволяют использовать шаг h порядка наибольшей из временных постоянных, подчиняя его выбор только требованию точности. Замечание 1. В последнее время задачу не принято квалифи- цировать как жесткую на переходном участке. Если исследователь проявляет интерес к изучению переходного режима, то для нахож- дения решения на переходном участке могут оказаться вполне при- емлемыми и явные методы Рунге—Кутты и Адамса. Замечание 2. Обычно при определении жесткости делается явное или неявное предположение о том, что среди собственных чисел матрицы А отсутствуют такие, для которых | Im А,.| » 1. Это означает, что предполагается отсутствие быстрых осцилляций в компонентах погрешности. Если же такие осцилляции воз- можны, то необходимо использовать специальные методы подав- ления соответствующих компонент погрешности. 549
Глава 14. Численные методы решения задачи Коши 3. Понятие о методах решения жестких задач. Для решения жест- ких задач было бы желательно использовать Л-устойчивые методы, так как они не накладывают никаких ограничений на шаг h. Однако оказы- вается, что класс таких методов весьма узок Например, среди явных линейных многошаговых методов нет Л-устойчивых. Доказано также, что среди неявных линейных многошаговых методов нет Л-устойчивых методов, имеющих порядок точности выше второго. Многие из возникающих на практике жестких задач таковы, что для них собственные значения матрицы Якоби удовлетворяют неравенству I arg (-Х.) | < a (z = 1,2, ..., /и), где а > 0 — некоторое число. В частности, если все собственные значения вещественны и отрицательны, то указан- ное неравенство выполняется для любого сколь угодно малого а > 0. Для таких задач требование Л-устойчивости методов является чрез- мерным и его можно заменить менее ограничительным требованием наличия у метода Л(а)-устойчивости. Численный метод решения задачи Коши называют А(а)-устойчивым, если область его абсолют- ной устойчивости включает угол |arg(-z)| < а (рис. 14.19). В частно- сти, при а = я/2 определение Л(а)-устойчивости совпадает с опреде- лением Л-устойчивости. Известно, что среди явных линейных многошаговых методов нет Л(а)-устойчивых ни при каком а > 0. Однако среди неявных линейных многошаговых методов имеются Л(а)-устойчивые методы высокого порядка точности. Важный класс таких методов (формул дифференци- рования назад) относится к так называемым чисто неявным методам. 1 п У &}Уп + 1 -j ~ + 1) • /=0 550
§ 14.11. Жесткие задачи Чисто неявные методы получаются в результате замены в системе дифференциальных уравнений (14.133) при t = tn + । производной /(г) ее разностной аппроксимацией, использующей значения функции в точках tn + р tn, ..., tn + ] _ к. Если для этого используется односторон- няя разностная производная (см. § 12.2), то получается формула диф- ференцирования назад. Приведем формулы дифференцирования назад при к = 1, 2, 3, 4, имеющие Л-й порядок точности h =f(tn+byn+x), к=\ (14.135) (это неявный метод Эйлера); 3Л,+ 1 -4+^-1 , „„„п -------—--------=f{tn^\.yn+\). к = 2> (14.136) 1 1 18 у + 9у . — 2 у о 6h + 1’ Уп + 1 ) » 3, (14.137) 25Л, +1 ~4iyn + 3вУ„- 1 ~ 16Л.-2 + ЗУп-з = f(t 12^ J \*n+ \*Уn + i) » k = 4. (14.138) Напомним, что метод (14.135) является ^-устойчивым. Как видно из рис. 14.20, а и б, для формул (14.136) и (14.137) области их абсолютной устойчивости почти целиком содержат левую полуплоскость Rez < 0, поэтому свойства устойчивости1 этих методов вполне достаточны для решения большинства жестких задач. Imz Imz п Рис. 14.20 1 При 1 к 6 формулы дифференцирования назад обладают так называемой жест- кой устойчивостью [82, 91]. 551
Глава 14. Численные методы решения задачи Коши Весьма популярный и широко используемый при решении жестких задач алгоритм Гира] основан на использовании формул дифференци- рования назад порядка точности к = 1,2, ..., 6 и представляет собой метод с автоматическим выбором шага интегрирования и порядка метода. Один из первых вариантов алгоритма реализован в фортранной программе DIFSUB. § 14.12. Дополнительные замечания 1. К настоящему времени разработано большое число различных численных методов решения задачи Коши и работа в этом направлении ведется очень активно. Тем не менее наиболее популярными остаются классические методы Рунге—Кутты и Адамса, а также их современные модификации. Каждый из этих двух классов методов имеет определен- ные достоинства и недостатки, некоторые из них уже обсуждались выше. Не имея перед собой конкретной задачи, вряд ли можно дать рекоменда- ции в пользу того или иного метода, тем более что до сих пор в этом вопросе нет достаточной ясности. Однако ориентируясь на серьезное обсуждение оценки качества методов, приведенное в [91], можно попы- таться грубо описать ситуации, в которых они обладают большей эффективностью. При этом следует иметь в виду, что одним из основ- ных показателей эффективности метода является количество вычисле- ний правых частей дифференциальных уравнений, которое требуется для достижения заданной точности решения. Предположим, что решаемая задача Коши не является жесткой. Предположим также, что вычисление правых частей дифференциаль- ных уравнений не является слишком трудоемкой операцией. Тогда целесообразно применение методов Рунге—Кутты с автоматическим выбором шага, наиболее эффективным среди которых для широкого класса задач являются методы Рунге—Кутты—Фельберга и Дормана— Принса пятого порядка точности. Если же к точности решения не предъявляются слишком высокие требования, то хороший результат следует ожидать и от применения классического метода Рунге—Кутты четвертого порядка точности. В том случае, когда вычисления правых частей трудоемки, имеет смысл предпочесть использование качественной программы, реализую- щей метод Адамса с автоматическим выбором шага и порядка метода. 1 Чарльз Вильям (Билл) Гир (1935) — английский математик. В 1971 г. предложил новый класс методов решения жестких задач, принесший ему заслуженную известность. В 1986 г. Гир был избран президентом Общества промышленной и прикладной матема- тики (Society for Industrial and Applied Mathematics - SIAM). 552
§ 14.12. Дополнительные замечания По-видимому, именно эти методы в будущем станут наиболее употре- бительными. 2. После того как приближенные значения уп решения задачи Коши в узлах tn (и = 0, 1, ..., N) определены, для вычисления значений реше- ния у (г) в промежуточных точках можно использовать интерполяцию. В связи с этим полезно отметить, что наряду со значениями вектор- функции уп фактически оказываются вычисленными значения произ- водной у'п = f(tn,yn)- Поэтому в данном случае для интерполяции есте- ственно использование кубического интерполяционного многочлена Эрмита или локального кубического сплайна (см. гл. 11). Для методов первого или второго порядка точности вполне удовлетворительный результат дает использование линейной интерполяции. 3. В последние десятилетия все большую популярность получают так называемые многозначные методы (методы Нордсика). Как уже отмечалось выше, при реализации многошаговых методов возникают две основные проблемы. Первая из них связана с нестандар- ным определением начальных значений. Вторая проблема возникает при попытке изменить шаг интегрирования. Многозначные методы сво- бодны от этих проблем, так как они являются одношаговыми. Тем не менее их можно рассматривать как особую форму реализации многоша- говых методов. В (k + 1 )-значных методах в каждом из узлов tn вычисляется вектор Yn (который называют вектором Нордсика), содержащий не только приближения к значениям y(tn), но и к значениям дифференциалов ,2 л ^y(tn,h)=y'(tn)h, d2y(t„,/i)=y"(t„)-.... d*y(/n,й) =/*’(/„)—. Таким образом, (к + 1)-значный метод по значению вектора Z ,2 .куТ Yn«(/(и.Ж)Л, у"(1п) 7..... У{4‘„) дает приближение к вектору z ,2 Г Y„+^[y(tn+ily’(t„+l)h,y"(t„+i)h-,...,y{ ’(ГП+1)М Подробнее с многозначными методами (методами Нордсика) можно познакомиться в [109, 15*]. 4. Поиск эффективных методов решения жестких задач еще нахо- дится в начальной стадии. Тем не менее разработан ряд популярных алгоритмов (среди которых наиболее известен алгоритм Тира) и соз- 553
Глава 14. Численные методы решения задачи Коши дано значительное число качественных программ. Вопрос о наиболее эффективном методе решения жестких задач остается открытым и какие-либо рекомендации здесь преждевременны. В последнее время выяснилась достаточная перспективность приме- нения для решения жестких задач некоторых неявных методов Рунге— Кутты [33, 109, 15*]. И, хотя классические явные методы Рунге—Кутты для этой цели совершенно непригодны, разработаны специальные явные методы. Рунге—Кутты с областью абсолютной устойчивости, расширенной вдоль отрицательной части вещественной оси. Обсужде- ние этих методов, наиболее известным среди которых является метод, предложенный в 1989 г. В.И. Лебедевым1, можно найти в [108]. 4. Дополнительную информацию о методах решения задачи Коши (и полезное обсуждение жестких задач) можно найти, например в учеб- никах [9, 16, 51, 73, 84, 88, 106]. Настоятельно советуем обратить внима- ние на весьма содержательные книги [91, 109, 15*]. Вторая из них содер- жит систематическое и доступное широкому кругу читателей изложение численных методов решения нежестких задач. Методам решения жест- ких задач специально посвящены монографии [33, 82, 108]; последние две из них содержат современный взгляд на эту проблему. 1 Вячеслав Иванович Лебедев (1930) — российский математик. 554
Глава 15 РЕШЕНИЕ ДВУХТОЧЕЧНЫХ КРАЕВЫХ ЗАДАЧ Двухточечная краевая задача — это задача отыскания решения обыкновенного дифференциального уравнения или системы обыкно- венных дифференциальных уравнений на отрезке а < х < Ь, в которой дополнительные условия на решение налагаются в двух точках а и b — «краях» отрезка (отсюда — и название задачи). Решить краевую задачу, вообще говоря, значительно труднее, чем задачу Коши и для этого используются разнообразные подходы. Наибо- лее распространены различные методы дискретизации, позволяющие заменить исходную задачу некоторым ее дискретным аналогом. Полу- чающаяся дискретная краевая задача представляет собой систему урав- нений (возможно, нелинейных) с конечным числом неизвестных и может быть решена на компьютере с помощью специальных прямых или итерационных методов. Одним из простейших и весьма популяр- ных подходов к дискретизации является использование метода конеч- ных разностей. В § 15.2 и 15.3 рассматриваются некоторые из основ- ных моментов применения этого метода. В § 15.4 дается представление о другом подходе к дискретизации краевых задач. В нем описываются проекционные методы Ритца и Галерки на и обсуждается один из их современных вариантов, имею- щий большое практическое значение, — метод конечных элементов. В заключение главы рассматривается метод пристрелки. § 15.1. Краевые задачи для одномерного стационарного уравнения теплопроводности 1. Дифференциальное уравнение и краевые условия. Рассмот- рим дифференциальное уравнение второго порядка - Т- + 4(x)u=fW, а < х < b. (15.1) U «Л \ ил/ Оно называется одномерным стационарным уравнением теплопро- водности и возникает при математическом моделировании многих важ- ных процессов. Например, это уравнение описывает установившееся распределение температуры и(х) в теплопроводящем стержне длины / = Ъ - а. В этом случае к(х) — коэффициент теплопроводности; w(x) = 555
Глава 15. Решение двухточечных краевых задач = - к(х) ~ — плотность потока тепла; q(x) — коэффициент теплоотдачи (qu — мощность стоков тепла, пропорциональная температуре w); f (х) — плотность источников тепла (при f < 0 — плотность стоков тепла). Уравнение (15.1) описывает также установившееся распределение плотности нейтронов в реакторе, характеристики которого зависят от одной пространственной переменной х. В такой трактовке м(х) — это полный поток нейтронов, к(х) — коэффициент диффузии, д(х) — сече- ние поглощения, /(х) — плотность источников нейтронов. То же урав- нение описывает и стационарные процессы диффузии газов (раство- ров) в пористых средах, м(х) рассматривается тогда как концентрация диффундирующего вещества. Поэтому уравнение (15.1) часто называют одномерным уравнением диффузии. Рассматриваемое уравнение имеет приложения и в других областях техники и естествознания (деформации струн и стержней, распространение электромагнитных волн и т.д.) Далее будем считать функции к(х), q(x), f(x) заданными и предпола- гать, что выполнены неравенства Л(х) > > 0, ?(х)>0. (15.2) Так как уравнение (15.1) является дифференциальным уравнением второго порядка, то для того чтобы однозначно найти функцию w(x) — распределение температуры в стержне, необходимо задать два допол- нительных условия. Простейшая постановка краевых условий такова: м(а) = иа, и(Ь) = иь. Краевые условия такого типа принято называть краевыми условиями первого рода. Физическая интерпретация этих краевых условий состоит в том, что в рассматриваемой задаче на торцах стержня поддер- живаются фиксированные значения температуры иа и иь. Возможны и другие постановки краевых условий. Так, если известна плотность потока тепла через левый торец стержня, то усло- вие и(а) = иа можно заменить краевым условием второго рода'. -к(а)и\а) = wa. Аналогичное условие для правого торца имеет вид -k(b)u’(b) = wb. Основное внимание в этой главе будет уделено краевой задаче ^М(х)=/(х), а<х<Ь' (15.3) ч(а) = иа, и(Ь) = иь. (15.4) 556
§ 15.1. Краевые задачи для одномерного стационарного уравнения теплопроводности Здесь L — дифференциальный оператор, определяемый следующим образом: A[w](x) = -(А(х)м'(х))' + q(x)u(x). 2. Разрешимость краевой задачи. Будем считать, что коэффици- енты q и f непрерывны на отрезке [а, Ь], коэффициент к непрерывно дифференцируем на [a, Z?] и выполнены условия (15.2). Назовем дважды непрерывно дифференцируемую на отрезке [a, Z>] функцию и(х) решением (классическим решением) краевой задачи (15.3), (15.4), если и(х) является решением дифференциального уравне- ния (15.3) и удовлетворяет краевым условиям (15.4). Приведем без доказательства известные из теории дифференциаль- ных уравнений результаты о разрешимости рассматриваемой краевой задачи и о гладкости ее решения. Теорема 15.1. Решение краевой задачи (15.3), (15.4) существует и единственно. И Теорема 15.2. Пусть коэффициенты q и /являются т раз, а коэф- фициент k-m + I раз непрерывно дифференцируемыми на отрезке [a, Z>] функциями. Тогда решение и краевой задачи (15.3), (15.4) является т +2 раза непрерывно дифференцируемой на отрезке [а, 6] функцией. И 3. Принцип максимума. Важным свойством уравнения (15.3) явля- ется наличие так называемого принципа максимума. Приведем один из вариантов его формулировки. Теорема 15.3. Пусть и(х) —решение задачи (15.3), (15.4). Тогда если f(x) <G,ua< 0, иь < 0, то и(х) < 0. Теорема 15.3 имеет простой физический смысл. Если отсутствуют источники тепла и температура торцов стержня неположительна, то ни в одной из внутренних точек стержня температура не может стать положительной. Заметим, что произвольную дважды непрерывно дифференцируемую функцию и(х) можно рассматривать как решение краевой задачи (15.3), (15.4), если специальным образом выбрать правую часть f и краевые зна- чения иа, иь, а именно положить f(x) = £[м](х), иа = и (a)t ub = u(b). С уче- том этого замечания, сформулируем теорему 15.3 иным образом. Теорема 15.4. Пусть и(х) — дважды непрерывно дифференцируе- мая на отрезке [а, £] функция, удовлетворяющая неравенствам £[«] < 0, и(а) < 0, и(Ь) < 0. Тогда и(х) < 0. 557
Глава 15. Решение двухточечных краевых задач Из теоремы 15.4 вытекает следующее утверждение. Теорема 15.5 (теорема сравнения). Пусть и(х), v(x) — дважды непрерывно дифференцируемые на отрезке [a, £>] функции, удовлетворяю- щие неравенствам L[u] <Z[v], и(а) <v(a\ u(b) <v(b). Тогдаи(х) <и(х). 4. Априорная оценка и устойчивость решения. Использовав тео- рему сравнения, можно вывести оценку максимума модуля решения и(х) через данные краевой задачи. Теорема 15.6. Справедлива следующая оценка решения краевой задачи (15.3), (15.4): max |и(х)| <тах{ |иа|, |ид|} +К-max 1/(х)| . (15.5) [а, Ь] [а, 6) b ЗдесьК= Ц, R = l=b-a. 4 J k(x) Замечание 1. Неравенства типа (15.5) принято называть апри- орными оценками решения. Замечание 2. Если коэффициентах) рассматривать как коэф- , 1 , i фициент теплопроводности, то — это коэффициент теплосопро- ь тивления, a R = f —- — это полное теплосопротивление стержня. Замечание 3. При^(х) = 1 уравнение (15.3) принимает вид -м"(х) + q (х) и(х) = f(x). (15.6) В этом случае R = I и оценку (15.5) можно уточнить следующим образом: max |м(х)| <max{ |wo|, |м6|} + - max |/(х)| . (15.7) [а, 6] о [а, 6] Рассмотрим теперь вопрос о влиянии погрешностей задания крае- вых значений иа, иь и правой части f на решение краевой задачи. Пусть м(х) — решение краевой задачи (15.3), (15.4), а и (х) — реше- ние краевой задачи 1[«*](х) = f(x), a<x<b; и*(а) = «а, »(Ь) = и’ь. 558
§ 15.2. Метод конечных разностей: основные понятия Здесь /*(х) — непрерывная функция, рассматриваемая как прибли- женно заданная (с погрешностью 5/(х) =/(х) -/*(х)) правая часть урав- нения; и'а , и*ь — приближенно заданные (с погрешностями га = иа - и*, гь = иь - иь ) краевые значения. Теорема 15.7. Справедлива оценка max |w(x)-w’(x)| <max{ |ев|, |ел| } +A>max |8/(х)| , (15.8) [о, [о, 6] где К — та же постоянная что и в неравенстве (15.5). Доказательство. Для доказательства достаточно заметить, что функция е(х) = м(х) - и*(х) является решением краевой задачи £[е](х) = 8/(х), а < х < Ь; £(а) = £0, £(Ь) = еь, и воспользоваться для оценки величины max | е(х) | теоремой 15.6. И [а,*] Из оценки (15.8) видно, что когда значение К не очень велико, крае- вая задача (15.3), (15.4) хорошо обусловлена. Если же К » 1, то задача является плохо обусловленной. В этом случае погрешности порядка 5 задания правой части уравнений может отвечать погрешность порядка Кд решения задачи. Ниже при рассмотрении численных методов реше- ния краевой задачи будем предполагать, что она хорошо обусловлена. Замечание. Если рассматривается устойчивость решения краевой задачи для уравнения (15.6), то в оценке (15.8) следует заменить К на P/S. § 15.2. Метод конечных разностей: основные понятия Метод конечных разностей (или метод сеток) является одним из универсальных и широко используемых методов решения краевых задач. Его популярность во многом объясняется относительной просто- той подхода к дискретизации дифференциальных уравнений Суть метода состоит в следующем. Область непрерывного изменения аргу- мента заменяют конечным (дискретным) множеством точек (узлов), называемым сеткой Вместо функций непрерывного аргумента рас- сматривают функции, определенные только в узлах сетки, — сеточные функции. Производные, которые входят в дифференциальное уравнение 559
Глава 15. Решение двухточечных краевых задач и краевые условия, заменяют их разностными аналогами — линейными комбинациями значений сеточных функций в некоторых узлах сетки. В результате краевую задачу заменяют дискретной краевой задачей (разностной схемой), представляющей собой систему конечного числа линейных или нелинейных уравнений. Решение разностной схемы (предполагается, что оно существует) принимают за приближенное решение краевой задачи. Несмотря на кажущуюся простоту метода при его использовании приходится решать ряд проблем. Например, следует иметь в виду, что для одной краевой задачи можно построить большое число различных разностных схем, среди которых далеко не все пригодны для использо- вания на практике. В этом параграфе мы покажем, как применяется разностный метод для решения краевой задачи (15.3), (15.4), ограничившись для про- стоты изложения уравнением с постоянным коэффициентом £(х)=1. В этом случае краевая задача принимает вид ~~и"(х) + q(x)u(x) = /(х), а < х < Ь; (15.9) и(х) = иа, и(Ь) = иь. (15.10) 1. Построение сетки и введение сеточных функций. Произведем дискретизацию области непрерывного изменения аргумента х, заменив отрезок [а, 5] сеткой шА — конечным набором точек а = х0 < х, < ... ... <xN= Ъ (рис. 15.1). Точки xz называются узлами сетки . Для упрощения изложения в этом параграфе будем считать сетку рав- номерной с шагом h = (b- a)/N. Тогда х; — xf _ в = h для всех i = 1,2, ..., N. Заметим, что при N —► оо шаг Л —► 0 (сетка измельчается). Сетка соА естественным образом разбивается здесь на два подмно- жества: соА = соА (J уА. Множество внутренних узлов соА состоит из тех узлов X; (1 < i < N - 1), которые лежат внутри интервала (а, Ь). Множе- ство граничных узлов yh состоит из двух узлов х0 = а и xN = Ъ, лежащих на границе отрезка [а, 5]. Далее будем вычислять решение краевой задачи не в произвольных точках отрезка [а, Ь], а только в узлах сетки соА. Таким образом, иско- • О——0-^-0—О-—О——О -- » a=xQ Xj х2 xN=b х Ряс. 15.1
§ 15.2. Метод конечных разностей: основные понятия мой окажется не функция и, а сеточная функция1 uh. Значения мл(х.) этой функции в узлах х; будем обозначать через и. и рассматривать как приближения к значениям w(xz) решения задачи (15.9), (15.10). Введем также сеточные функции qh и /Л, принимающие в узлах сетки соЛ зна- чения ?z = ?(x.) и/. =/(х.). 2. Построение разностной схемы. Напомним (см. гл. 12), что произ- водную и”(х) можно аппроксимировать второй разностной производной: и"(х) и(х — h) — 2и(х) + и(х + h) (J h2 с погрешностью гЛ(х) = w(4)(^) —, где е [х - Л, х + Л]. Использовав фор- мулу (15.11), заменим теперь в каждом из внутренних узлов х. (1 < i < <TV- 1) дифференциальное уравнение (15.9) приближенным равенством (^|)-2w(x,.) + u(x.+ 1 1 < i <N- 1, (15.12) связывающим неизвестные значения решения в трех последовательных узлах сетки. Потребуем теперь, чтобы значения искомой сеточной функции uh удовлетворяли во всех внутренних узлах сетки уравнениям (15.12), в которых знак приближенного равенства заменен на знак равенства: “А(х;_|)-2иЛ(х.) + иА(х.+ 1) -------------~2-----------+ 9;МЛСЧ) =fi, 1 < i <N - 1. (15.13) В результате дифференциальное уравнение (15.9) оказалось аппроксими- рованным его дискретным аналогом — разностным уравнением (15.13). Естественно потребовать, чтобы в граничных узлах сеточная функ- ция uh удовлетворяла равенствам w*(x0) = wo, w*(xJV) = w6. (15.14) Таким образом, мы пришли к системе линейных алгебраических уравнений (15.13), (15.14), в которой число уравнений совпадает с чис- лом неизвестных ut = uh(xf) (j = 0, 1, ..., TV) и равно N + 1. Решив эту систему (которую мы будем называть системой сеточных уравнений), можно найти сеточную функцию uh. 1 Сеточные функции использовались нами и в предыдущей главе. 561
Глава 15. Решение двухточечных краевых задач Введем линейный разностный оператор Lh с помощью равенства u',(xi_1)-2uh(xi) + uh(x.+ ,) U ](-</) -------------------------+ 9,иа(х,) , X; е <оА и запишем систему сеточных уравнений (15.13), (15.14) в следующем виде: Lh[uh](x) = fh(x\ х е (15.15) wA(x0) = wa, uh(xN)=ub. (15.16) Дискретную задачу (15.15), (15.16), зависящую от параметра Л, при- нято называть разностной схемой для краевой задачи (15.9), (15.10). 3. Вычисление решения разностной схемы с помощью метода прогонки. Приведем систему сеточных уравнений к виду -М._,+(2 + A29;)M.-Mf+I =й2/, \<i<N-\; (15.17) м0 = мО’ uN=ub- (15.18) Как нетрудно видеть, эта система есть частный случай системы линейных алгебраических уравнений вида ^owo + cowi = 4)’ а.и.-у +Ь.и.' +с.и1+\ =d,, 1 < i < N - 1; aNUN- 1 + ^NUN = *^V’ матрица которой трехдиагональна. Здесь а; = -1, b. = 2 + /i2g., q = -l, d.-h1/., \ <i<N\ (15.19) ^o=l’ co = 0’ ^o = wa’ ^y=l> d^ = ub- Напомним, что эффективным методом решения таких систем явля- ется метод прогонки (см. § 5.9), вычисления которого состоят из двух этапов: прямого и обратного хода. Прямой ход метода прогонки заключается в вычислении прогоноч- ных коэффициентов а, и 0, (0 < i < N). При / = 0 коэффициенты вычис- ляют по формулам ао = ~co^Yo’ Ро = 4/Yo» Yo = а при i = 1, 2, ..., N - 1 — по рекуррентным формулам При i = N прямой ход завершают вычислением значения Ру = (4v “ ауРу- I VYy, Yy = fyv + ауау- г 562
§ 15.2. Метод конечных разностей: основные понятия Обратный ход метода прогонки дает значения неизвестных. Сначала полагают uN = Р^, а затем значения остальных неизвестных находят по формуле М) = а;М;+| +Р;. Вычисления ведут в порядке убывания значений индекса i от N - 1 до 0. Применительно к решению системы (15.17), (15.18) расчетные фор- мулы метода прогонки упрощаются. Прогоночные коэффициенты вычисляют по формулам “о = °’ Ро = «а> (15.20) a;=1/Y,-, Р; = (Л2Л+₽;-1)/У;. У,-=2 + й2<7;-а;_1, где i = 1,2, ..., N - 1. Обратный ход дает значения неизвестных и2, ..., uN _ j (напом- ним, что значения м0 = иа^ uN = иь известны). Для этого производят вычисления по формулам (15.21) и. = а.и. + ! + рр i = N- 1.JV-2, ..., 1. (15.22) Замечание. Очевидно, что коэффициенты (15.19) удовлетво- ряют неравенствам а.<0, £. > 0, cz<0, az+Z>z+cz>0, 1 < i < N. (15.23) Отсюда следует, что для системы (15.17), (15.18) выполнены условия диагонального преобладания: |60| > |с0|, > |az| + |cz| > |az| (1 < z<N), |^| > | . Поэтому в силу теоремы 5.4 вычисления по формулам (15.20) могут быть доведены до конца (ни один из зна- менателей у. не обратится в нуль). Кроме того, обратная прогонка устойчива по входным данным. 4. Существование и единственность решения. Согласно послед- нему замечанию, систему сеточных уравнений (15.17), (15.18) с помо- щью эквивалентных преобразований можно привести к системе вида (15.21), (15.22), из которой однозначно находятся неизвестные. Таким образом, справедлива следующая теорема. Теорема 15.8. Решение разностной схемы (15.15), (15.16) сущест- вует и единственно. 563
Глава 15. Решение двухточечных краевых задач Как будет показано ниже, разностная схема (15.15), (15.16) обладает рядом свойств, аналогичных соответствующим свойствам краевой задачи (15.9), (15.10). 5. Принцип максимума. Как уже отмечалось ранее, важным свой- ством задачи (15.9), (15.10) является принцип максимума. Естественно потребовать, чтобы и для разностной схемы был справедлив дискретный аналог этого свойства. Более того, невыполнение для разностной схемы принципа максимума можно рассматривать как серьезный дефект, ставя- щий под сомнение возможность ее использования на практике. Лемма 15.1 (принцип максимума для системы сеточных урав- нений). Пусть сеточная функция uh является решением системы сеточных уравнений aiui-1 + biui+ ciui+ I = <•> 1 ‘ < м (15.24) «0 = «О’ uN=ub’ коэффициенты которой удовлетворяют условиям (15.23). Тогда если иа< 0, иь <0 и d;< 0 для всех i = 1,2, ..., N - 1, то uh < 0. Доказательство. Предположим, что неравенство uh < 0 не выпол- нено. Так как по условию значения uh в граничных узлах неотрицательны (м0 = иа < 0, uN = иь < 0), то максимальное значение функции uh положи- тельно и достигается во внутреннем узле сетки: и = max ц. > 0. 1 <i<N Пусть j — максимальный среди индексов /, для которых и. = мтах. В силу такого выбора J справедливы неравенства и. _ j < Uj = wmax, «/ + I < UJ = «max- TaK KaK aj °’ cj < °> T0 ajuj ajuj - P cjuj < cju} + I- Учи- тывая что a. + b- + Cj > 0, dj < 0, из равенства (15.24), взятого при i = J, получаем следующую цепочку неравенств’ 0 < (а, + bj + Cj)Uj < ajUj _ ! + bjU} CjUj +i=dj<0. Полученное противоречие (0 < 0) доказывает, что uh < 0. В Теорема 15.9 (принцип максимума для разностной схемы). Пусть сеточная функция uh является решением разностной схемы (15.15), (15.16). Тогда если fh < 0, иа < 0, иь < 0, то < 0. Доказательство. Для доказательства достаточно заметить, что коэффициенты соответствующей системы сеточных уравнений (15.17), (15.18) удовлетворяют условиям (15.23), df = h2f\ < 0, и воспользоваться леммой 15.1. В 564
§ 15.2. Метод конечных разностей: основные понятия Заметим, что произвольную сеточную функцию uh можно считать решением разностной схемы (15.15), (15.16), если выбрать правую часть и граничные значения специальным образом, а именно положить fh = Lh[uh], иа = мА(х0), ub = uh(xN). С учетом этого замечания сформу- лируем теорему 15.9 иным образом: Теорема 15.10. Пусть сеточная функция uh удовлетворяет нера- венствам £Л[мЛ] < 0, uh(xQ) < 0, uh(xN) < 0. Тогда uh < 0. Из этой теоремы вытекает следующий важный результат. Теорема 15.11 (теорема сравнения). Пусть сеточные функции uh и vh удовлетворяют неравенствам |Lh [uh] | < Lh [v h], | uh(x0) | < vh(x0), \uh(xN) | <vh(xN). Тогда |мЛ| < vh. Доказательство. Согласно условию, сеточная функция уh -uh -vh удовлетворяет неравенствам Lh[yh]=Lh[uh]-Lh[vh]<0, yh(xo) = wA(x0) - иЛ(х0) < 0, yh(xN) = uh(xN) - vh(xN) < 0. Поэтому в силу теоремы 15.10 у^ < 0, что эквивалентно неравенству uh< vh. Аналогично, zh = -vh - uh удовлетворяет неравенствам Lh[zh] = -Lh[vh]-Lh[uh]<^, zh(xd = -^(*о) - w/,(xo) °’ zh(xN> = ~v/l(xv) - “4XN) 0. Следовательно, zh < 0, что эквивалентно неравенству -vh < uh. Итак, -vh <uh < vh. 6. Априорная оценка решения. Оценим максимум модуля реше- ния uh разностной схемы через данные дискретной задачи (правую часть уравнения и краевые значения). Предварительно установим спра- ведливость двух вспомогательных утверждений. Лемма 15.2. Для решения разностной схемы ZA[yA] = 0, хео)А; (15.25) >A(x0) = wa, yh(xN)=ub (15.26) справедлива оценка max kl ^max{|« |, |wj }. (15.27) 0 < i < N 565
Глава 15. Решение двухточечных краевых задач Доказательство. Введем сеточную функцию vh г М = const, A/=max{|wfl|, }. Заметим, что |Z,A[yA]| = 0<Lh[vh] = qhM, l/,(x0)l = I Ua\ * M = Vh(xQ), |уА(ХЛГ) I = |wft| < M^Vh(XN). Поэтому в силу теоремы сравнения |уА|< Л/, что эквивалентно оценке (15.27). Лемма 15.3. Для решения разностной схемы Lh[zh]=fh, хеш*; (15.28) zA(x0) = 0, zh(xN) =0 (15.29) справедлива оценка (15-ЗО) Доказательство. Введем сеточную функцию где Л = max |/.| . 0 < i < N Заметим, что vh > 0. Непосредственной проверкой нетрудно убе- диться в том, что Lh[vh] = А + qhvh. Таким образом, IW]| = |/А| < A<Lh[vh], |zA(x0)| =0<vA(x0), |zA(xyy)| = 0<vh(xN) и поэтому в силу теоремы сравнения |zA | <vh. Так как максимум квадра- тичной функции (х-а)(Ь-х) достигается при х = 2—^ и равен I2, то vh < - /2 и из неравенства |zA | < vh следует оценка (15.30). О Сформулируем теперь основной результат этого пункта. Теорема 15.12. Для решения разностной схемы (15.15), (15.16) справедлива априорная оценка max |и.| <max{|w |, |и6|} + ^ max |/,| (15.31) 0</<У о 0<i<N Доказательство. Заметим, что сеточную функцию uh можно представить в виде суммы: uh = yh + zh, гдеуА — решение разностной схемы (15.25), (15.26), a zh — решение разностной схемы (15.28), 566
§ 15.2. Метод конечных разностей: основные понятия (15.29). Пользуясь неравенством max lud < max I у, I + max |zJ 0<z<W 0<z<W 0</<W и оценками (15.27), (15.30), приходим к неравенству (15.31). 7. Устойчивость. Рассмотрим вопрос о чувствительности решения, разностной схемы к погрешностям задания правых частей разностных уравнений. Пусть uh — решение разностной схемы (15.15), (15.16), a u*h — решение разностной схемы Lh[uh]=f\ хесоА; (15.32) и*А(х0) = и*, uh(xN) = и*ь, (15.33) где fh=fh- Sfh, иа =иа- га, и'ь =иь- гь. Назовем разностную схему (15.15), (15.16)устойчивой^ если при любых ео, £fc, 5/А справедлива оценка шах <max{|eo|, |е6| } +К max |8/.| , (15.34) u<i<N 0 < / < W где постоянная К не зависит от h. Отметим, что эта оценка является ана- логом оценки (15.8), справедливой для краевой задачи (15.9), (15.10). Теорема 15.13 (об устойчивости разностной схемы). Для разно- стной схемы (15.15), (15.16) справедлива оценка (15.34) с постоянной К = /2/8. Доказательство. Заметим, что сеточная функция £А = uh - u*h является решением разностной схемы £а[£а] = 5/А, х е соА; £а(*о) = £<г £А(хлг) = £/>- Применяя для оценивания £А теорему 15.12, приходим к неравен- ству (15.34). Замечание. Значение Р/8 постоянной К в неравенстве (15.34) для разностной схемы (15.15), (15.16) совпадает в силу замечания 3 с. 558 со значением соответствующей постоянной в неравенстве (15.8). Этот факт говорит о том, что разностная схема обладает такой же чувствительностью к погрешностям задания исходных данных, что и краевая задача. 8. Аппроксимация. Пусть м(х) — решение дифференциального уравнения L[u\ = f Назовем сеточную функцию уА = ZA[w] -fh погреш- ностью аппроксимации разностного уравнения Lh[uh]=f\ xE(ah. (15.35) 567
Глава 15. Решение двухточечных краевых задач Из определения следует, что справедливо равенство Lh[u]=fh+y\ хеоА (15.36) означающее, что функция и удовлетворяет разностному уравнению (15.35) с точностью до погрешности аппроксимации. Сеточную функцию используют для предварительной оценки того, насколько точно аппроксимируется дифференциальное уравнение его раз- ностным аналогом. Говорят, что разностное уравнение (15.35) аппрокси- мирует дифференциальное уравнение L[u\ = f если max | | -* О при 0<i<N 0, и аппроксимирует его с т-м порядкам (при т > 0), если справед- лива оценка max I w, I < Chm. 0<l<N Лемма 15.4. Пусть коэффициенты q и f дважды непрерывно диф- ференцируемы на отрезке [а, 6]. Тогда разностное уравнение (15.15) аппроксимирует дифференциальное уравнение L[u\ = f со вторым порядком, причем справедлива оценка Л/4 max |\|/,| < — Л2, М4 = max |м<4>(х)| . (15.37) Q<l<N [а, А] Доказательство. Прежде всего заметим, что в силу теоремы 15.2 функция и(х) имеет на отрезке [а, 6] непрерывную производную iH4)(x). В силу определения погрешности аппроксимации имеем w(x/_1)-2m(x/) + m(x/+1) V/ -------------3----------+ 4(Xi)u(Xj) -f(x;) = /г = - и"(Х;) + rA(x() + q(xi)u(x!) -f(x,) = rh(xt), где rA(x,) = к*4*(^,-)й2/12 — погрешность аппроксимации производной u"(x) ее разностным аналогом по формуле (15.11). l"(4)(Ul М4 Таким образом, max |ш,| = max -----—-----h2 < — h2. н 0<f<,vIY/ 0</<v 12 12 В общем случае дополнительно возникает проблема изучения погрешности аппроксимации краевых условий. Однако для краевых условий (15.10) эта проблема отсутствует, так как сеточная функция удовлетворяет им точно. 9. Сходимость. Пусть и(х) — решение краевой задачи, a uh — решение соответствующей разностной схемы. Назовем погрешностью 568
§ 15.2. Метод конечных разностей: основные понятия разностной схемы сеточную функцию £А, принимающую значения £; = = £А(х;) = м(х.) - wA(x.) в узлах сетки соА. Будем говорить, что разностная схема сходится при h —► 0, если max |£.| —►0 при h —► 0, и сходится с ди-м порядком точности (при О < 1 < N т > 0), если для погрешности справедлива оценка max | £z| < Chm^ о < / < w где С — некоторая постоянная, не зависящая от h. Покажем, что разностная схема (15.15), (15.16) сходится со вторым порядком точности. Теорема 15.14. Пусть коэффициенты q и /дважды непрерывно дифференцируемы на отрезке [а, 6]. Тогда для погрешности разност- ной схемы (15.15), (15.16) справедлива оценка max | м(х ) - м,| < Ch2, (15.38) 0 < i < N /2 где С = — max | м(4\х) | . 96 [а, Л] Доказательство. Введем сеточную функцию м*А, значения кото- рой в узлах сетки совпадают с точными значениями решения краевой задачи, т.е. м*А(х/) = и(х.). Равенство (15.36) означает, что u*h можно рассматривать как решение разностной схемы (15.32), (15.33), где /*А = = fh + yh, и* =ua,ul = иь. В силу теоремы 15.13 для £А = мА - и*А спра- ведлива оценка /2 max kJ <- max Iw.l . (15.39) 0</<W 8 0</<tf Учитывая теперь неравенство (15.37), из (15.39) получаем оценку (15.38). Замечание. Сходимость разностной схемы (15.15), (15.16) со вторым порядком точности вытекает из того, что схема устойчива и обладает аппроксимацией со вторым порядком относительно h. 10. Оценка погрешности до правилу Рунге. Полученная в тео- реме 15.14 априорная оценка (15.38), как правило, оказывается непри- годной для практической оценки погрешности разностной схемы. На практике чаще применяются апостериорные оценки погрешности, использующие расчеты на сгущающихся сетках. Пусть, например uh и u2h — решения разностной схемы (15.15), (15.16), соответствующие 569
Глава 15. Решение двухточечных краевых задач шагам Л] = h и h2 = 2h. Тогда в соответствии с правилом Рунге при опре- деленных условиях справедлива приближенная формула еа(х) = и(х) - uh(x) «---——, х е со2/7. (15.40) Отметим, что она применима только в узлах сетки со2Л, т.е. там, где определены обе сеточные функции uh и u2h. Пр и мер 15.1. Использовав разностную схему (15.15), (15.16) с шагом h = 1/8, найдем приближенное решение краевой задачи -w"(x)+x2w(x) = ^j+x2) cos ?х, 0<х<1; (15 41) и(0)=1, и(1) = 0 и оценим его погрешность по правилу Рунге. Вычисления будем вести с шестью значащими цифрами. f л2 я В данном случае q(x) = х2, /(х) = +x2J cos - х и система сеточ- ных уравнений (15.17), (15.18) принимает вид w0= Ь -w,-_i+(2 + A2x?)m;-w;+1=(j+x^ cos |х„ (15.42) и№°- При Л) = 1/8 приходим к следующей системе уравнений относи- тельно неизвестных и- » u(ih) (/ = 0, 1, ..., 8): “о = ь - и0 + 2.00024wj - и2 = 0.0380518, - М| + 2.00098м2 - и3 = 0.0365207, - и2 + 2.00220м3 - и4 = 0.0338827, - и3 + 2.0039 Ь4 - и5 = 0.0300233, ~и4 + 2.00610м5 - и6 = 0.0248099, -и5 + 2.00897и6 - м7 = 0.0181171, -иь + 2.01 196w7 - us = 0.0098552, м6 = 0. 570
§ 15.2. Метод конечных разностей: основные понятия Таблица 15.1 Х! л и = cos - X uh',hl = 1/8 е*1 ,ht = 1/8 u\h2 = 1/4 Оценка погрешности по правилу Рунге 0.000 1.000000 1.000000 0 1.000000 0 0.125 0.980785 0.981114 -3• 10-4 — — 0.250 0.923880 0.924413 -5•10-4 0.926080 -6-10 4 0.375 0.831470 0.832097 -6•io-4 — — 0.500 0.707107 0.707733 -6-10”4 0.709703 -7- IO'4 0.625 0.555570 0.556116 -5•IO”4 — — 0.750 0.382683 0.383082 -4- 10~4 0.384324 -4 •10~4 0.875 0.195090 0.195300 -2-10 4 — — 1.000 0.000000 0.000000 0 0.000000 0 Решая ее с помощью метода прогонки, находим значения, представ- ленные в третьем столбце табл. 15.1. Заметим, что в данном случае точ- ное решение задачи известно. и(х) = cos - х. Значения точного реше- ния и вычисленные с их использованием погрешности приведены во втором и четвертом столбцах той же табл. 15.1. Оценим теперь погрешность, использовав правило Рунге. Возьмем шаг h2 = 2Aj = 1/4. Решая соответствующую систему сеточных уравнений: wo= - м0 + 2 00391м, - и2 = 0.146083, - их + 2.01563м2 - м3 = 0.120093, - и2 + 2.03516м3 - иА = 0.0724683, «4 = 0, получаем значения, представленные в пятом столбце табл. 15.1. В последнем столбце этой таблицы даны приближенные значения погрешности, полученные по формуле (15.40). Заметим, что в данном примере правило Рунге дает весьма хорошие результаты. А 11. Влияние вычислительной погрешности. При расчетах с дос- таточно крупными шагами h влиянием вычислительной погрешности на решение часто можно пренебречь. Однако все же следует иметь ввиду, что при решении системы (15.17), (15.18) методом прогонки 571
Глава 15. Решение двухточечных краевых задач происходит накопление вычислительной погрешности. Известно1, что при h —► 0 вычислительная погрешность может возрастать здесь про- порционально £М/Л2, где ем — относительная точность представления чисел в компьютере. Таким образом, при достаточно малых значениях шага h возможна катастрофическая потеря точности. Сделанное выше утверждение перестанет казаться неправдоподоб- ным, если мы убедимся в том, что при малых h вычислительная погрешность может привести к существенному искажению решения уже на этапе составления системы сеточных уравнений. Пусть, например для решения краевой задачи (15.9), (15.10) используется разностная схема с шагом h = 10 3, а вычисления ведутся на 6-разрядном десятич- ном компьютере. Напомним, что для такого компьютера ем = 5 • 10~7. Так как здесь Л2х, < 10-6 = 2ем, то результатом вычисления коэффици- ента Ь.= 2 + Л2х, после округления до шести значащих цифр мантиссы является число Ь* = 2. Следовательно, даже если остальные вычисле- ния будут производиться точно, то фактически окажется найденным не решение системы (15.42), а решение системы "о* = U (2 \ j + xjJcosjXj, liiiAT-l; =0, соответствующей краевой задаче ~и (*) = 1^7 + х J cos -х; и(0)=1, и(1) = 0. Поскольку в результате оказалась решенной «не та задача», найден- ные значения и* будут существенно отличаться от искомых иг В дан- ном конкретном случае погрешность будет достигать примерно 5 %. В общем случае погрешность может оказаться значительно больше. 1 Бахвалов Н.С. О накоплении вычислительной погрешности при численном реше- нии дифференциальных уравнений. Вычислительные методы и программирование. М.: Изд-во МГУ, 1962. С. 47—68. 572
§ 15.3. Метод конечных разностей: аппроксимации специального вида § 15.3. Метод конечных разностей: аппроксимации специального вида 1. Случай переменного коэффициента к(х). Вернемся к проблеме численного решения краевой задачи -(к(х)и\х)У + q(x)u(x) = /(х), а<х<Ь; (15.43) и(а) = иа и(Ь) = иь. (15.44) По сравнению со случаем к = 1, рассмотренным в § 15.2, единствен- ное видимое отличие состоит в необходимости выбора подходящей аппроксимации для выражения1 ~{к(х) и'(х))' = w'(x). Рассмотрим неко- торые из возможных подходов к выбору аппроксимации. Введем обозначения x-t + 1/2 = (х. + х; + j )/2, к. + 1/2 = к(х} + 1/2), 0 < I < N. Аппроксимируем производную w'(x) при х = х} следующим образом: (15.45) Используя далее приближенные формулы w(xi +1/2)=-*;+ 1/2«'(Х/+ 1/2)»Л+1/2 ( , + '\——. (15.46) W(X;)-«(X_1) w(xi- 1/2)=_^/- l/2w'(X/_ 1/2) * 1/2 » (15.47) получаем аппроксимацию ~(kwy\x= ki+ 1/2 w(x.+ j)-w(x.) w(x/)-w(x._1)-| h ki~'12 h В результате приходим к разностной схеме вида (15.15), (15.16), где 1 г ut+ । “ и; Lh[uh](x}) = - - к-+ 1/2 - kj_ 1/2 + (15.48) Отметим, что коэффициенты а. = -к! _ 1/2, Ь- = к- _ I/2 + kt + I/2 + h2qb с; = -к} + 1/2 соответствующей системы сеточных уравнений удовлетво- ряют условиям (15.23). Следовательно, при любом h решение разност- ной схемы существует и единственно. Кроме того, в силу леммы 15.1 для разностной схемы справедлив принцип максимума. Можно пока- зать также, что разностная схема устойчива и сходится со вторым 1 Напомним, что величина w(x) = -£(x)w'(x) имеет физический смысл потока тепла, если уравнение интерпретируется как уравнение теплопроводности. 573
Глава 15. Решение двухточечных краевых задач порядком точности, если коэффициенты Л, q,f являются дважды непре- рывно дифференцируемыми на отрезке [а, Ь] функциями. Формальный подход к выбору аппроксимации дифференциального уравнения может давать разностные схемы, обладающие теми или иными дефектами. Например, кажется удобным предварительно пре- образовать первое слагаемое уравнения (15.43) следующим образом: (kit')’ = ки " + к'и'. После такого преобразования для этого слагаемого естествен выбор аппроксимации + «(*,+ ,) «(х|+1)-и(х,_|) ) U. « *(*,) -----------2---------+ к (Х;) --------------, приводящей к разностной схеме с оператором: М;_ 1 - 2м; 4- М. . . LA[wA](x;) = - k(Xi)--------------k’(xi)----—----+ . Заметим, что коэффициенты соответствующей системы сеточных уравнении h h ai= - klXj) + j к'(х;), b-, = 2k(Xi) + h2qi, c, = - k(x,) - ? k'(x,) удовлетворяют условиям (15.23), гарантирующим наличие принципа максимума, только если I *’(*/)! h- max - - --<2. (15.49) \<i<N k(Xj) k 7 Таким образом, в ситуации, когда коэффициент к может резко меняться на отрезке [а, 6], ограничение (15.49) приводит к необходи- мости выбора очень мелкого шага h для получения приемлемых результатов. 2. Случай неравномерной сетки. Часто возникает необходимость использования неравномерной сетки соА, т.е. сетки, у которой шаг h-t = = X; - X; _ ! зависит от /. Положим h- + 1/2 = х} + 1/2 - х; _ 1/2. Заменив в фор- мулах (15.45), (15.46), (15.47) h на hi + 1/2, + р Лг- соответственно, при- дем к разностной схеме (15.15), (15.16), в которой I Г 1 “ W; W; ~ W; _ i “I 1А[ИА](Х;) = - --- к; + 1/2 —-----к;_ т --------- + q;Ui . "/+1/2 L "/+1 "/• J Нетрудно убедиться в том, что при такой аппроксимации справедлив принцип максимума и разностная схема устойчива. Можно показать, что при некоторых дополнительных предположениях она сходится со вторым порядком точности относительно Атах. 574
§ 15.3. Метод конечных разностей: аппроксимации специального вида 3. Разности «против потока». Как отмечалось выше, уравнение (15.43) описывает установившееся распределение температуры в неподвижной среде. Когда исследуются тепловые процессы в движу- щейся среде (например, рассматривается поток жидкости), уравнение модифицируется следующим образом: -(Л(х)м'(х))' +1>(х)м'(х) + q(x)u(x) = /(х). Здесь р(х) — величина, пропорциональная скорости потока жидкости. При дискретизации этого уравнения возникает новый момент, свя- занный с необходимостью аппроксимации слагаемого p(x)w'(x). Кажется естественным воспользоваться для аппроксимации производной и' центральной разностной производной. В результате к разностному w/+i ~ui-\ оператору (15.48) добавится слагаемое г----—----, где V- = р(х ). Выясним, удовлетворяют ли коэффициенты «,•=-^•-1/2-^;, *; = *; - 1/2 + */+ 1/2 + <•;=-^;+1/2 + ^; соответствующей системы сеточных уравнений условиям (15.23), гаран- тирующим выполнение принципа максимума. Как нетрудно видеть, нера- венства (15.23) выполняются, если h\v:\ < 2 min {к;_ 1/2 , £, + 1/2}- Когда скорость потока велика, это неравенство приводит к весьма жесткому ограничению на шаг h. Его можно избежать, если использо- вать односторонние разностные производные. В задачах динамики жидкостей и газов широко используются аппроксимации вида и(х;) - и(х; _ ,) и(х. + ,) - u(Xj) v(xi)u'(x,.)« Vt----------------+ vr----------7------- (15.50) где v,~ = min{p(xz), 0}, pf = max{p(xz), 0}. Они называются аппроксимациями «против потока» (или «против ветра»). Такой выбор аппроксимации слагаемого v и' приводит к сис- теме сеточных уравнений с коэффициентами ai =-(ki-1/2 + Щ), b; = ki_{/2 +ki+l/2+hvi +h2q;, c- = ~(ki+y2-hvr). Легко убедиться в том, что условия (15.23) здесь всегда выполняются. Таким образом, принцип максимума выполняется при любых шагах h. Правда, при использовании приближения (15.50) порядок аппроксима- ции снижается со второго до первого. 4. Случай разрывных коэффициентов. Одна из специфических особенностей, присущих многим техническим задачам, заключается в том, что среда, в которой изучаются те или иные процессы, как пра- вило, существенно неоднородна и состоит из материалов с разными физическими свойствами. При математической формулировке таких 575
Глава 15. Решение двухточечных краевых задач задач эта особенность проявляется в том, что коэффициенты дифферен- циальных уравнений становятся разрывными. Это существенно услож- няет построение эффективных численных методов. Предположим, например, что коэффициенты к, q, f входящие в уравнение (15.43), могут иметь на отрезке [а, Ь] конечное число М точек разрыва (а < < ^2 < ••• < < &) первого рода. Будем пред- полагать, что всюду за исключением этих точек коэффициенты к, q, f непрерывны и удовлетворяют условиям к(х) > к0 > 0, q(x) > 0. В этом случае решение краевой задачи (15.43), (15.44) уже нельзя понимать в классическом смысле. Уточним постановку задачи для уравнения с разрывными коэффициентами. Назовем функцию и(х) решением задачи (15.43), (15.44), если: 1) функция и(х) непрерывна на отрезке [а, Ь] и удовлетворяет крае- вым условиям и (а) = иа, и(Ь) = иь; 2) поток w(x) = -к(х)и'(х) непрерывен на отрезке [а, 5]; 3) всюду за исключением точек £2, • ••, функция w(x) непре- рывно дифференцируема и удовлетворяет уравнению w'(x) + q(x)u(x) = /(х). (15.51) Для вывода разностных уравнений воспользуемся методом балан- са1. Запишем уравнение теплового баланса для отрезка [х; _ 1/2, х. + 1/2], где 1 < i < N - 1. Для этого проинтегрируем уравнение (15.51) по х от х- 1/2 до xi+ 1/2- В результате получим равенство x;+i/2 xi+\/2 w(jc;+i/2)-w(Jc;-i/2)+ J qudx = J /dx. (15.52) XZ-1/2 1/2 x;+i/2 xi+i/2 Воспользовавшись приближенной формулой j qudx & u(x{) j qdx и x/-l/2 xi- М2 разделив обе части равенства (15.52) на ht + 1/2, получим (w(*; + 1/2)-н’(х;- 1/2)) + 9*м(х/)• (15.53) ni + 1/2 1 xi + 1 2 1 XZ + 1/2 Здесь q>! = --- f q(x) dx, f]h = ----- f /(x) dx — средние значе- hi+ Ml J hi+ 1/2 J xi- 1/2 xi- 1/2 ния функций q и f на отрезке [x. _ 1/2, x/+ 1/2]. 1 Иногда метод баланса называют интегро-интерполяционным методом [85, 86]. 576
§ 15.3. Метод конечных разностей: аппроксимации специального вида Далее заметим, что dx«-W(xi+1/2) J — Таким образом, w(xi +1/2) * “^+1/2 ц(х,.+ 1)-ц(х.) hi + 1 (15.54) 7 где х,+ 1/2 = — эффективное значение коэффициента теплопроводности на отрезке [х-, х; + J. Заметим (это важно!), что усредняется фактически не коэффициент теплопроводности к(х), а обратный к нему коэффициент теплового сопротивления (Цх))-1. Перейдем теперь от приближенных равенств (15.53), (15.54) к разно- стному уравнению 1 th ui+\ иг ui ui-\ . h ,h ,___________w :--- */+i/2-I--------*.-i/2—7----- +4i»i=fi , \<i<N-\. (15.55) 7+1/2 L "/+1 ni J Добавляя к (15.55) уравнения «о = Ua> uN=ub, (15.56) приходим к разностной схеме (15.55), (15.56). Замечание. Разностные уравнения (15.55) записываются еди- нообразно во всех внутренних узлах сетки независимо от того, где расположены точки разрыва коэффициентов дифференциального уравнения. Это означает, что рассматриваемая разностная схема относится к классу однородных разностных схем [86]. 5. Аппроксимация краевых условий. Выше при аппроксимации краевой задачи краевые условия первого рода и(а) = иа, и(Ь) = иь не вызывали каких-либо затруднений и потому основное внимание уде- лялось аппроксимации дифференциального оператора. Однако крае- вые условия могут иметь более сложный вид и тогда возникает про- блема их аппроксимации. Рассмотрим, например краевое условие второго рода -к(а)и'(а) = wa. (15.57) 577
Глава 15. Решение двухточечных краевых задач Простейший подход к его аппроксимации состоит в замене произ- и(а + Л) — м(д) водной м'(а) разностным отношением --------------—. В результате получается разностное краевое условие м. -МО -к(а)= wa. (15.58) Так как u(a + h) — u(a) и" (а) . и^(а) ------f---= и (а) + h + h2+..., п Z о то разностное уравнение (15.58) аппроксимирует краевое условие (15.57) лишь с первым порядком относительно Л, что приводит к пони- жению порядка точности разностной схемы. Порядок аппроксимации краевого условия можно повысить разными способами. Например, можно заметить, что в силу дифференциального уравнения (15.43) при х = а для решения и справедливо равенство Л(а)м"(а) = -к'(а)и'(а) + q(a)и(а) - f(a). Таким образом, ч м(а + Л)-м(а) h Г £'(fl) z ч z ч С -*(«) ------j-----= | - —• wa - q{a)u(a) +f(a) i / \ u^(a) . - k(a) h2+..., О и мы приходим к разностному краевому условию -Л(а) -r- + j9(a)«0 = h к'(а)~ 2 к(а). wa+^f(o), аппроксимирующему краевое условие (15.57) со вторым порядком. Другая аппроксимация второго порядка относительно h получится, если использовать метод баланса. Проинтегрируем уравнение (15.51) по х от х0 до х1/2 = х0 + h/2. В результате, учитывая, что w(x0) = и>о, полу- *1/2 *1/2 чаем равенство w(xJ/2) - + j qu dx = J/dx. Откуда, используя при- *0 x0 ближенное равенство (15.54), приходим к разностному уравнению -kh К\/2 и\ w0 , h h .h —f^ + 240U0 = Wa + 2^ ’ xi/2 xi/2 где $0= £ f fo^-h f/d*- xo xo 578
§ 15.4. Понятие о проекционных и проекционно-разностных методах § 15.4. Понятие о проекционных и проекционно- разностных методах. Методы Ритца и Галеркина. Метод конечных элементов Наряду с методом конечных разностей значительной популярно- стью пользуются проекционные методы Ритца и Галеркина, а точнее — их современные варианты, объединяемые названием «метод конечных элементов» или «проекционно-сеточные методы». 1. Вариационная постановка краевой задачи. Вариационные методы, представляющие собой частный случай проекционных методов, используются для решения самых разнообразных задач на протяжении многих десятков лет. Эти методы применяются для решения тех задач физики и техники, которые могут быть описаны с помощью так называе- мых вариационных принципов. В соответствии с одним из простейших вариационных принципов функция м(х), являющаяся решением задачи, должна быть стационарной точкой вариационного функционала ь J(u') — jF(x, и, и') dx. (15.59) а Вариационный функционал, как правило, имеет определенный физический смысл. Нередко он выражает потенциальную энергию физической системы. Обозначим через U множество функций, на котором определен функционал J(u). Будем считать, что входящие в U функции удовлетво- ряют условиям и(а) = мо, u(b) = uh, (15.60) где значения иа и uh фиксированы. Предположим также, что в множе- ство U входят все непрерывные кусочно-гладкие функции, принимаю- щие на концах отрезка [а, Ь] значения (15.60). Предположим, что непрерывно дифференцируемая функция м(х) является стационарной точкой функционала (15.59). Тогда, как известно из курса вариационного исчисления [115], эта функция должна удовлетворять дифференциальному уравнению - £ F'u.(x, и, и') + F'u(x, и,и') = 0, (15.61) которое принято называть уравнением Эйлера (или уравнением Эйлера—Лагранжа). Таким образом, решение вариационной задачи оказывается решением краевой задачи (15 61), (15.60). Более того, при некоторых условиях эти задачи оказываются эквивалентными и возни- 579
Глава 15. Решение двухточечных краевых задач кает возможность решать определенный класс краевых задач, исполь- зуя методы вариационного исчисления. Рассмотрим теперь функционал b ь J(u)-}^ J(fc(w')2 + qu2) dx- ^fu dx, (15.62) a a где£(х), q(x),f(x) — кусочно-непрерывные функции, удовлетворяющие условиям к(х) > kQ > 0, q(x) > 0. Поставим вариационную задачу о поиске точки минимума функционала (15.62) на множестве U. Как нетрудно видеть, в рассматриваемом случае F(x, и, и') = (k(x)(u')2 + q(x)и2) -f(x)u, и уравнение Эйлера принимает следующий вид: -(киУ + qu=f. (15.63) Можно доказать, что функция и является точкой минимума функ- ционала (15.62), т.е. удовлетворяет условию J(w) = min J(v), (15.64) v е U тогда и только тогда, когда она является решением краевой задачи (15.63), (15.60). Отметим одно достоинство вариационной постановки задачи (15.63), (15.60). Она исключает необходимость требования наличия у рассматриваемых функций второй производной и даже непрерывно- сти первой производной. Это обстоятельство оказывается весьма цен- ным для многих приближенных методов. 2. Метод Ритца. Рассмотрим приближенный метод решения вариа- ционной задачи о поиске точки минимума функционала J(и) на множе- стве U. Будем искать приближенное решение uN в виде следующей линейной комбинации: uN(x) = £ O.J <p;(x). (15.65) ;=о Здесь ф0, ..., фу — некоторые фиксированные функции, которые далее мы будем называть базисными. Предполагается, что система базисных функций линейно независима и линейными комбинациями (15.65) при соответствующем выборе коэффициентов а0, аи ..., o.N можно аппроксимировать решение и с желаемой степенью точности. Обозначим через UN множество всех функций вида (15.65) (при фиксированных ф0, фр ..., фу), удовлетворяющих условиям uN(a) = иа, uN(b) = иь. Предположим далее, что базисные функции удовлетворяют 580
§ 15.4. Понятие о проекционных и проекционно-разностных методах следующим условиям: ф0(а) = 1, Ф7(а) = 0 для всех j > 1; <pN(b) = 1, = 0 для всех j < N. Тогда, как нетрудно видеть, условия (15.60) для и = uN выполняются тогда и только тогда, когда справедливы равенства ао = иа> aN=Ub- (15.66) Согласно методу Ритца!, приближенное решение uN определяется как функция, минимизирующая функционал J на множестве UN. Таким образом, по определению J(uN) = min J(v). (15.67) v е Заметим, что задача (15.67) представляет собой задачу минимизации / n А функции многих переменных. В самом деле, величина J(v) = 7=0 является функцией N - 1 переменных ар а2, ...» aN_ j (значения а0 = = мо, aN = иь фиксированы). Согласно необходимому условию экстре- мума, минимум этой функции достигается при тех значениях парамет- ров (Xj, а2, ..., ау_ j, для которых выполняются равенства д ( N Л — 4£°w=()’ <15-68) °' у=0 Добавляя к этим равенствам условия (15.66), приходим к системе уравнений (15.68), (15.66), из которых можно определить значения коэффициентов ау (/ = 0, 1, ..., N) и тем самым — приближение uN. Применим метод Ритца к решению краевой задачи для уравнения (15.63) с краевыми условиями первого рода. Для функционала (15.62) имеем 1 Вальтер Ритц (1878—1909) — швейцарский физик и математик. 581
Глава 15. Решение двухточечных краевых задач Система (15.68), (15.66) в данном случае превращается в систему линейных алгебраических уравнений N / = 1, 2,.... TV-1; (15.69) 7=0 ао = “а. aN = ub’ (15.70) b ь где = J(£ <p',<pj + йх, b,= J/<p, dx. a a Исключив переменные а0 и ау, систему (15.69), (15.70) можно све- сти к эквивалентной системе уравнений А а = d. Здесь а = (oij, а2, ..., aN_ t)r, А — матрица порядка N- 1 с элементами Oij (i,J = 1,2, ...,Л7- 1), d = (d{, d2,..., dN _ ,)г, где dt = Ь,-al0ua- aiNub, /= 1,2, — 1. Отметим, что матрица А — симметричная и положительно опреде- ленная. 3. Проекционная постановка краевой задачи. Краевая задача £[«]=/ xe[a,b]; (15.71) и(а) = иа, и(Ь) = иь (15.72) допускает вариационную постановку тогда и только тогда, когда диф- ференциальное уравнение (15.71) является уравнением Эйлера для некоторого функционала J. Таким образом, этим свойством обладают далеко не все задачи. Например, краевая задача для уравнения -(ки'У + vu' + qu-f (15.73) при г?(х) 0 не допускает классической вариационной постановки. Приведем проекционную постановку краевой задачи, которая имеет место и в том случае, когда задача не может быть сформулирована как вариационная. Будем называть пробной функцией всякую непрерывную на отрезке [а, 6] кусочно-дифференцируемую функцию <р(х), обращающуюся в нуль при х = а, х = Ь. Множество всех пробных функций обозначим через Ф. Умножив уравнение (15.71) на произвольную функцию ф е Ф и проинтегрировав полученное равенство по х от а до Ь, получим инте- гральное тождество1 ь ь |Z[«]<pdx= J/<pdx. (15.74) а а 1 Равенство (15.74) называют интегральным тождеством, подчеркивая тем самым, что оно выполняется для любой пробной функции ф. 582
§ 15.4. Понятие о проекционных и проекционно-разностных методах Итак, если функция и является решением дифференциального урав- нения (15.71), то она удовлетворяет интегральному тождеству (15.74). В то же время, как следует из основной леммы вариационного исчисле- ния [115], если интегральное тождество (15.74) выполняется для любой пробной функции ф, то L[u\ = f Таким образом, краевую задачу (15.71), (15.72) можно сформулиро- вать в следующей проекционной постановке. Требуется найти такую функцию и, которая удовлетворяет интегральному тождеству (15.74) для произвольной пробной функции ф е Ф и для которой выполнены краевые условия (15.72). Приведем в качестве примера интегральное тождество ь ь j (- (ки'У + vu' + qu) ф dx = j/ф dx, (15.75) а а соответствующее дифференциальному уравнению (15.73). Придадим тождеству (15.75) несколько иную форму. Используя формулу интегри- рования по частям, с учетом равенств ф(а) = 0, ф(6) = 0 получаем ь ь ь -j(ки’Уу dx = -ки'(р\Ь + jku'ip' dx= jku'tp' dx. a a a В результате интегральное тождество примет вид ь ь j (ки'<?' + г?м'ф + qu<?) dx = j/ф dx. (15.76) а а Отметим, что после замены уравнения (15.73) интегральным тожде- ством (15.76) возникает возможность рассматривать функции м(х), обладающие лишь первыми производными. Это обстоятельство играет важную роль при построении и исследовании методов решения рас- сматриваемой задачи, а также ряда других задач. Кроме того, проекци- онная постановка оказывается удобной при рассмотрении уравнений с разрывными коэффициентами. 5. Метод Галеркина. Как и в методе Ритца, в методе Галеркина1 приближенное решение ищется в виде N мл'(х) = ^а7<р7(х). ;=о 1 Борис Григорьевич Галеркин (1871 — 1945) — русский инженер, ученый, специалист в области строительной механики и теории упругости. 583
Глава 15. Решение двухточечных краевых задач Однако в отличие от метода Ритца основой для построения метода является не вариационная, а более общая проекционная постановка задачи. За приближенное решение в методе Галеркина принимается функция uN е UN, которая удовлетворяет интегральному тождеству b ь J Z,[iA|(p dx = j/ф dx а а для любой пробной функции вида ф = ф., i = 1, 2, ..., N - 1. Для задачи (15.71), (15.72) метод Галеркина с использованием инте- грального тождества (15.76) приводит к следующей системе уравнений: f г / \ ( N \ ( N А а 7=0 /=0 7=0 dx ь = J/ф; dx, i= 1, 2, 1; а a0 = Ua^ aN=Ub‘ Заметим, что эта система при г?(х) = 0 в точности совпадает с систе- мой (15.69), (15.70), полученной методом Ритца. Таким образом, при- менительно к решению краевой задачи (15.63), (15.60) методы Ритца и Галеркина оказываются эквивалентными. Замечание. Приближенное решение uh определяемое мето- дом конечных разностей, задается только в узлах сетки , поэтому для получения значения решения в произвольной точке х е [а, 6] приходится производить интерполяцию. В то же время проекцион- ные методы дают в качестве приближенного решения функцию (15.65), вычисляемую в произвольной точке х. Как мы отмечали в предыдущих параграфах, системы сеточных уравнений, получаемые методом конечных разностей, обладают тем важным свойством, что матрицы коэффициентов этих систем являются разреженными (более того, в рассмотренных примерах матрицы были трехдиагональными). Для решения таких систем разработаны эффек- тивные методы. В общем случае применение методов Ритца и Галеркина к решению краевых задач приводит к необходимости вычислять решения систем уравнений вида А а = d с заполненными (и часто плохо обусловлен- ными) матрицами А. Современные варианты проекционных методов, 584
§ 15.4. Понятие о проекционных и проекцией но-разностных методах объединяемые термином «метод конечных элементов», свободны от указанного недостатка. Перейдем к их рассмотрению. 6. Метод конечных элементов. Метод конечных элементов пред- ставляет собой разновидность проекционных методов, основанную на специальном выборе базисных функций. История метода весьма поучительна. Метод конечных элементов впервые был предложен Р. Курантом1 в 1943 г., но тогда его важная работа опередила потребности практики и фактически осталась неза- меченной. Затем в начале 50-х годов XX в. инженерами — специали- стами по строительной механике был разработан новый подход к реше- нию задач теории упругости. В тех случаях когда расчетная область имела сложную геометрию, она разбивалась на подобласти простой геометрии, в каждой из которых решение могло быть найдено аналити- чески. Эти подобласти были названы конечными элементами, а сам подход — методом конечных элементов. Только в начале 60-х годов математиками были осознаны практическое значение и математическая природа метода. В 60-х и 70-х годах шло бурное развитие теории метода, он завоевывал все более широкие области применения. К настоящему времени метод конечных элементов получил самое широ- кое распространение в вычислительной практике. На его основе разра- ботано большое число пакетов прикладных программ для решения раз- нообразных инженерных и научных задач. Отметим характерные черты метода конечных элементов, выделяю- щие его среди других проекционных методов. 1) Расчетная область (множество изменения независимой перемен- ной) разбивается на конечное число элементарных подмножеств стан- дартной формы (которые и называют конечными элементами). 2) Используемые базисные функции фу. таковы, что они: на каждом элементе имеют простой вид (чаще всего — многочлены); отличны от нуля лишь на нескольких соседних элементах. Покажем, как применяется метод конечных элементов к решению краевой задачи (15.63), (15.60). Разобьем отрезок [а, 6] точками а = = х0 < X] < ... < xN = b на N элементарных отрезков [xf _ р х;] длины hr Таким образом, здесь в роли конечного элемента выступает элемен- тарный отрезок [х, _ и х,]. 1 Рихард Курант (1888—1972) — немецкий математик. 585
Глава 15. Решение двухточечных краевых задач Введем базисные функции ф7(х) для j = 1, 2, ..., N - 1 следующим образом '(х-х7_1)/Л/ при X€[X._J,X.], ф7(х) = < (Xy+I-х)/Л7+1 при хе[х7,х7+1], О при X £ [Xj-bXj+j]. (15.77) График такой базисной функции («шапочки») изображен на рис. 15.2, а Подчеркнем, что функция фу отлична от нуля только лишь на двух соседних конечных элементах (отрезках [ху. р х.] и [ху., ху.+ J) и является кусочно-линейной. Введем также функции ф7(х) для j = 0 и j = N (рис. 15.2, б, в): (xj -x)/Aj при х е [xo,xj, О при х £ [х0, Xj ]; (15.78) О при х £ [ху_ьху], (x-xN_\)/hN при Х€ [Xtf-i.XtfJ. (15.79) Будем искать приближенное решение задачи в виде N ^(х) = £а7фу(х) (15.80) ;=о Заметим, что базисные функции обладают тем свойством, что Ф7(х7) = 1 и ф7(хг) = 0 при / В силу этого ау. = uN(x.), т.е. коэффици- енты линейной комбинации (15.80) представляют собой значения функ- У =<₽;(*) У = <РО(Х) y=<?N(x) 0 Xq X xN-\ XN х в) Рис. 15.2 586
§ 15.4. Понятие о проекционных и проекционно-разностных методах ции uN в узлах Xj. После введения обозначения и! = uN(xj) функцию (15.80) можно записать так N к un(x) = ^u.(Pj(x). 7=0 Величины иj = aj(f = 0, 1, ..., N) удовлетворяют системе уравнений (15.69), (15 70), которую в данном случае можно получить как методом Ритца, так и методом Галеркина. Заметим, что базисные функции ф.(х) и Фу.(х) одновременно могут быть отличны от нуля только, если |/ - j| < 1, ь поэтому при |z -у| > 1 элементы аГ] = |(Аф';ф^ + ^ф,фу) dx равны а нулю. Таким образом, для определения неизвестных и? получаем сле- дующую систему уравнений с трехдиагональной матрицей. +ai,i«* + a;,;+i«?+i !</£#-!; (15.81) M0 = Ma> »N = ub- (15.82) Так как 1/йу при хе(х/_1,х/), <р.(х) = М/Л)+1 при х е (х7,х7+1), 0 при X t [Xy.pXy+i], ТО а ait-\ ~ h, ki-\/2 +hi+\/24i-\/2’ ai, i+\=~^i+\^i+\/2 + + l/2^f M/2 » i k-i _ М2 + hj + j + 1/2 + Az + 1/2^; , bf = A; + 1/2 fl (15.83) (15.84) где *;-1/2 = Г J A(x)dx, qi+M2 = l----------- f ?(*)<Р/(*)ф< + iO) , (15.85) ni J "i+\/2 J xi-l xi-\ xi +1 xi +1 = 7----- / <7(х)ф-(хНх, f^ = 7^— f /(х)ф/(х) dx. (15.86) ni+\/2 J ni+\/2 J xi-\ xi-\ 587
Глава 15. Решение двухточечных краевых задач Систему уравнений (15.81), (15.82) принято называть системой метода конечных элементов или проекционно-разностной схемой'. Можно показать, что проекционно-разностная схема имеет единст- венное решение uN(x) и при выполнении некоторых условий на сетку соЛ и коэффициенты k, q, f она имеет второй порядок точности. Существует весьма тесная связь между теорией разностных схем и теорией проекционно-разностных схем. В подтверждение сказанного ограничимся тем, что преобразуем систему (15.81), (15.82) так, чтобы она обрела внешнее сходство с соответствующей разностной схемой. Разделив каждое уравнение (15.81) на hi + 1/2 и воспользовавшись равенствами (15.83)—(15.87), получим систему уравнений г h h Л Л п 1 th ui+\~ui ,h , h Ki+\/2 h + "i+1/2 |_ "/+1 n> + 4,i-mu'i-i+^u>i + 4ll+\i2^+i=fih (15.87) мо = и<>> (15.88) В такой форме записи она действительно оказывается похожа на разно- стную схему (15.55), (15.56). Замечание. При построении системы уравнений метода конечных элементов, как правило, возникает необходимость вычисления некоторых интегралов2. Для проекционно-разностной схемы (15.87), (15.88) в случае, когда коэффициенты к, q,f — глад- кие, эта проблема легко решается применением квадратурных фор- мул. Например, можно положить xi xi J k(x) dx « Л,.Л(х,._ 1/2), J ?(x)<p,(x)<p;_ i(x) dx « x/-i x/-i (*-*;_!) (x;-*) Л,- ® 1/2) J ---~h------— dx = g ?(*/- 1/2) ’ x/-l ‘ ' 1 Используется также термин проекционно-сеточный метод. Та же система уравне- ний может называться вариационно-разностной схемой, если она получена с помощью метода Ритца. 2 Аналогичная проблема возникает и при реализации некоторых разностных схем, например однородной разностной схемы (15.55), (15.56). 588
§ 15.4. Понятие о проекционных и проекционно-разностных методах J 9(х)ф-(х) dx«^(x,_1/2) / -----j---dx + x/-i x;-i Л/ Х'г‘(х, + 1 -х)2 л, h.+ l + 4(xi+ 1/2) J ---г----dx = - q(x._ |/2) + — q(xi + 1/2); Xf Ai+I X. , . г А/+1 J ?(х)ф,(х)ф,+ |(х) dx®—q(xi+l/2), J /(х)фг(х) dx »/(xf_ 1/2) j —1 dx + -1 xi-\ X. I При этом второй порядок точности сохраняется. 7. Специальная проекционно-разностная схема. Предположим, что коэффициенты к, q,f, входящие в одномерное уравнение диффузии (15.63), могут быть разрывными. В этом случае можно, как и ранее, использовать кусочно-линейные базисные функции (15.77), (15.78), (15.79). Полученная таким образом проекционно-разностная схема схо- дится, однако по скорости сходимости она существенно уступает одно- родной разностной схеме (15.55), (15.56). Чтобы получить качественную проекционно-разностную схему для уравнения диффузии с разрывными коэффициентами, воспользу- емся специальными базисными функциями (ру.(х). Эти функции для j = 1, 2, ..., N - 1 имеют следующий вид: 4>j(x) = О При X g [X/.pX^J. (15.89) 589
Глава 15. Решение двухточечных краевых задач х) ХЛ1 Здесь Д,= f 4^,Д;+|= f 77^ • Кроме того, J 3 к(у) J 3 к(у) Фо(х) = 1 Д1 dy к(у) при X е [xo,xj, (15.90) Ю при х £ [х0,х,]; (0 при X £ [Xyv.pX/J, 4>n(x) = i 1 г Д/v •> XN-i — при X е [Хд,_ ^Хд,]. (15.91) Выбранные базисные функции ф; интересны тем, что всюду за исключением узлов сетки они удовлетворяют дифференциальному уравнению (к^У = 0. Применение этих базисных функций приводит к проекционно-раз- ностной схеме вида (15.87), (15.88), где все коэффициенты находятся по формулам (15.85), (15.86) за исключением коэффициентов к^_}/2^ > А 1 к, +1/2, которые вычисляются по формулам л _ 1 f dx Л, J *w Х1 -1 1+1 А = 1 г dx , + |/2" л, + | J *00 X I т.е. так же, как и в разностной схеме (15.55), (15.56). Эта проекционно-разностная схема имеет второй порядок точности и решается методом прогонки. Отметим одно замечательное свойство указанной схемы. Если q(x) = 0, то полученные с ее помощью значе- А ния и{ совпадают с истинными значениями решения краевой задачи и(х1) в узлах сетки (схема точна в узлах сетки). Отметим, что базисные функции (15.89), (15.90), (15.91) и в случае, когда коэффициенты урав- нения диффузии являются гладкими, но сильно меняющимися, дают большую точность по сравнению с простейшими кусочно-линейными базисными функциями. 590
§ 15.5. Метод пристрелки § 15.5. Метод пристрелки Метод пристрелки (он называется также методом стрельбы или баллистическим методом) позволяет свести решение краевой задачи к решению системы нелинейных уравнений относительно так называе- мых пристрелочных параметров, а также к решению (вообще говоря, многократному) задачи Коши. Сначала рассмотрим этот метод на примере решения следующей краевой задачи для системы двух дифференциальных уравнений пер- вого порядка: /(x)=/(x,X*Vto), (15.92) z'(x)=g(x,y(x),z(x)), (15.93) у(а)=уа, z(b) = zb. (15.94) Наряду с этой задачей рассмотрим задачу Коши у'(X, а) = /(х, у(х, а), z(x, а)), (15.95) z'(x, а) = g(x, у(х, а), z(x, а)), (15.96) у(а, а) = уа, z(a, а) = а. (15.97) Решение задачи (15.95)—(15.97), т.е. пара функций у(х, a),z(x, а), зави- сит не только от переменной х, но и от пристрелочного параметра а. Подобрав значение параметра а, при котором z(Z>, а) = zA, получим решение задачи Коши, совпадающее с решением краевой задачи (15.92)—(15.94). Таким образом, для того чтобы найти решение краевой задачи (15.92)—(15.94) методом пристрелки, нужно решить нелинейное урав- нение у(а) = 0, (15.98) где у (a) = z(6, а) - zb. Отметим, что функция у (а) не задана какой-либо явной формулой и вычисление каждого ее значения предполагает вычис- ление решения задачи Коши (15.95)—(15.97). Как правило, для решения задачи Коши приходится использовать тот или иной численный метод. Уравнение (15.98) можно решать, используя один из известных методов решения нелинейных уравнений. Довольно часто успешным оказывается применение метода бисекции, метода секущих или метода Ньютона (см. гл. 4). Применение метода Ньютона а*+ 1 = а* - V(a*)/Y'(a*) (15.99) сопряжено с необходимостью вычисления значений не только функции \|/(а), но и ее производной у'(а). Покажем, как можно вычислить \|/'(°t) = z(6, ci) в рассматриваемом случае. 591
Глава 15. Решение двухточечных краевых задач Дифференцируя по параметру а уравнения (15.95), (15.96) и начальные условия (15.97), замечаем, что функции м(х, а) = у(х, а), v(x, а) = z(x, а), удовлетворяют следующим уравнениям и началь- ным условиям: и' =fy(x,y(x, a), z(x, а))м +Гг(х,у(х, а), z(x, а))г>, (15.100) v’=gy(x,y(x, а), z(x, а))м +g’z(x,y(x, а), z(x, а))и, (15.101) и(а, а) = 0, и(а, а)=1. (15.102) Решив теперь относительно функций у, z, и, v задачу Коши для сис- темы уравнений (15.95), (15.96), (15.100), (15.101) с начальными усло- виями (15.97), (15.102), можно определить у (а) = z(6, а) -zb и у'(а) = = г?(6, а). Пример 15.2. Применим метод пристрелки к решению краевой задачи У(х) = -^-, Z'(x) = -y- 0<х<1, (15.103) z(x) у(х) у(0)=1, z(l)=l. (15.104) Положим i|/(a) =z(l, а) - 1, гдеу(х, а), z(x, а) — решение задачи Коши /(х, а) = 44, z'(x, а) = - -4-, (15.105) z(x, а) у(х, а) _у(0, а)=1, z(0, а) = а. (15.106) Для решения уравнения у (а) = 0 воспользуемся методом секущих: а, +1 = а, - v(а.) * ; . • (15.107) vCap-vCa*-]) Возьмем а0 = 0.5, а1 = 1 и будем вести итерации по формуле (15.107) до тех пор, пока не выполнится условие | ц/(ар| < 10-6. Результаты вычислений приведены в табл. 15.2. Таблица 15.2 к ак V(a*) 0 0.500000 -0.816060 1 1.000000 -0.393469 2 1.46554 0.419069-10-' 3 1.42073 -0.760640 • 10-3 4 1.42153 0.6098 • 10-7 592
§ 15.5. Метод пристрелки Заметим, что в общем случае вычисление значения <р(а) произво- дится с помощью численного решения задачи Коши. Однако в рас- сматриваемом случае задача (15.105), (15.106) допускает аналитиче- ское решение у(х, а) = е2а, z(x,a) = ae 2а. (15.108) Поэтому можно воспользоваться явной формулой у(а) = а е 2а - 1. В результате применения метода пристрелки для задачи (15.103), (15.104) получаем решение (15.108), где a « 1.42153. ▲ Замечание. Своим названием метод пристрелки обязан оче- видной аналогии между процессом его реализации при решении краевой задачи и процессом пристрелки при артиллерийской стрельбе по цели. После выбора очередного значения ак пристре- лочного параметра (выбора угла стрельбы) решается задача Коши (производится «выстрел»). Если z(b, ак) совпадает с zb заданной точностью, то «цель считается пораженной», а краевая задача — решенной. В противном случае производится корректировка значе- ния пристрелочного параметра и процесс продолжается дальше. Использование для решения уравнения (15.98) метода бисекции еще более усиливает эту аналогию. Здесь результат того «выстрела», при котором \|/(а*) > 0, может восприниматься как «перелет снаряда», а того, при котором (а*) <0, — как «недолет». Покажем теперь схематично, как применяется метод пристрелки для решения общей двухточечной краевой задачи для системы дифферен- циальных уравнений первого порядка У1(х) У1(х), ...,у„(х)), X(x) = /n(x^i(x)> •••.ynW), ‘PiO'l(a). •••,>'„(<’)>У1(*), •••.Уп(Ь)) = 0, Ч>п(У\(а), ...,>'я(а),У|((>), ...,у„(Ь)) = 0. Запишем эту задачу в векторной форме: у'(х) = f(x, у(х)), (15.109) <p(y(a),y(ft)) = 0. (15.110) 593
Глава 15. Решение двухточечных краевых задач Рассмотрим также задачу Коши у'(х, а) =/(х, j(x, а)), (15.111) у(а, а) = а. (15.112) Здесь а = (аи а2, ..., ая)г— вектор пристрелочных параметров. Решив задачу Коши (15.111), (15.112) при фиксированном значении вектора а, получим решениеу(х, а). Далее взяву(а) = а и^(6) =у(Ь, а) и подставив эти значения в систему (15.110), придем к системе уравнений V(a) = 0, (15.113) гдеу(а) =ф(а,^(6, а)). Наконец, решив систему (15.113), получим набор a = (аи а2, ..., ал)г значений пристрелочных параметров, при которых решение задачи Коши (15.111), (15.112) совпадает с решением краевой задачи (15.109), (15.110). Практическая реализация метода пристрелки при большом числе уравнений (часто уже при п > 3) оказывается довольно сложным делом. Действительно, даже сама по себе проблема решения системы нелиней- ных уравнений (15.113) является весьма трудной. Серьезные затрудне- ния могут возникнуть здесь уже на этапе выбора хорошего начального приближения а0. Необходимо также учесть, что каждое вычисление вектор-функции \|/(а) является здесь весьма трудоемкой операцией: оно предполагает (численное) решение задачи Коши (15.111), (15.112). Метод пристрелки достаточно эффективен в том случае, когда задача Коши (15.111), (15.112) является хорошо обусловленной. Однако если задача Коши плохо обусловлена, метод оказывается практически непригодным. Дело в том, что при решении системы (15.113) значения пристрелочных параметров а обязательно будут найдены с некоторой погрешностью, (относительное значение которой не может иметь поря- док, меньший чем машинное эпсилон см). Соответствующее решение задачи Коши (в случае плохой обусловленности) в результате этой погрешности окажется полностью искаженным. Однако даже в том идеализированном случае, когда вектор а найден абсолютно точно, при численном решении задачи (15.111), (15.112) на компьютере в прибли- женное решение будут внесены погрешности, которые сделают его непригодным. Для некоторых систем эти погрешности могут приводить даже к аварийному останову вычислительного процесса. Пр и мер 15.3. Рассмотрим плохо обусловленную краевую задачу y'(x)=z(x), z'(x) = 100у(х) + ех, 0<х<2; (15.114) у(0) = 0, z(2) = 0. (15.115) 594
§ 15.5. Метод пристрелки Как нетрудно проверить, ее решением является пара функций y(x) = Cj е10х + с2 е-10х-~, z(x) = 10С| е10х- 10с2 е 10х- где = _1_ 990 Юе-40 + е-18 1 4-е-40 « 1.53838- 10-11, 1 Ю-е-18 <2 = 990 0 0,01010 • Попробуем решить задачу (15.114), (15.115) методом пристрелки, использовав 6-разрядный десятичный компьютер. Соответствующая задача Коши имеет вид: у'(х, a) = z(x, а), z*(x, а) = 100у(х, а) 4- ех, у(0, а) = 0, z(0, а) = а. Ее решением являются функции Xх’а)= Q + а) е'Ох + й (п-а) е’10х_^еХ> О5116) z(x, а) = Q + а) eIOjt-i Qj-a) е-,0*-±е*. (15.117) Уравнение у (а) = 0 (где у (a) =z(2, а)) для определения пристрелоч- ного параметра а является линейным, поэтому для определения а дос- таточно сделать одну итерацию метода секущих: M>(«|)(ai -а0) °' Ч'(«1)~Ч'(«р) ’ (15.118) Возьмем a0 = 0, о^ = -1. Тогда вычисления по формуле (15.117) на 6-разрядном десятичном компьютере дают значения \g(a0) = z(2, 0) « ® 2.69536 • 107, y(aj) =z(2, -1) ~ -2.15629 • 108. В соответствии с форму- лой (15.118) получается следующее значение пристрелочного параметра: —2 15629» 108(- 1 -0) — 2.15629* 108-2.69536 • 107 «а* = - 1 +0.888888 = -0.111112. 595
Глава 15. Решение двухточечных краевых задач Подстановка в формулы (15.116), (15.117) значения а = а* приводит к приближенному решению /(г) = с‘е10х + cje"101 - ± ех, z‘(x)= 10с‘е|0х- lOcje ,Ox_Sj е* Здесь с2 = 575 (тт - а*) ® (0 0909091 4- 0.111112) = 0.0101011 Тогда с, - с* ® 5 • 10"®, с2 - с2 ® -10“7 Это означает, что у(х) -у*(х) « 5 • 10~8eIQx - Ю“7е“10х, z(x) — z*(x) « 5 • 10“7e,Qx + Ю“6е“,0х Наличие в погрешности компоненты, пропорциональной е10х, при- водит к тому, что при х = 2 погрешности решения достигают следую- щих значений у(2) - у*(2) » 24 3, z(2) - z*(2) « 243. ▲ § 15.6. Дополнительные замечания 1. В этой главе метод конечных разностей и метод конечных эле- ментов рассматривались только лишь применительно к решению двух- точечных краевых задач для обыкновенных дифференциальных урав- нений второго порядка. Значительно более широкую область применения этих методов представляют собой различные задачи для дифференциальных уравнений в частных производных. Ограничен- ный объем книги не позволяет отразить здесь богатство существую- щих подходов и разнообразие используемых приемов. Тем, кто инте- ресуется решением уравнений в частных производных с помощью метода конечных разностей, рекомендуем первоначально обратиться к учебникам [9, 10*, 51, 73, 88], а затем — к книгам [67, 85, 86]. Как доступное введение в метод конечных элементов, можно реко- мендовать книги [2, 34, 70, 93]. В дальнейшем следует обратиться к [43, 44, 68, 90, 105]. 2. Так как мы рассматривали краевые задачи только для обыкновен- ных дифференциальных уравнений, то тем самым фактически лишили себя возможности обсуждать достоинства и недостатки метода конечных 596
§ 15.6. Дополнительные замечания разностей и метода конечных элементов в их сравнении между собой. Ограничимся лишь констатацией того, что для решения дифференци- альных уравнений существуют два мощных метода, каждый из которых не обладает, вообще говоря, безусловным преимуществом над другим. Тем не менее отметим, что нередко наиболее эффективными оказыва- ются именно те приближенные методы, которые сочетают в себе дос- тоинства обоих методов. 3. При математическом моделировании различных физических явлений часто приходится решать краевые задачи, в которых диффе- ренциальные уравнения или краевые условия являются нелинейными. Примером может служить дифференциальное уравнение. - 7Z (*(*’ и> тО =/(х,У), dx к ах/ описывающее установившееся распределение тепла в стержне, теплофи- зические характеристики которого зависят от температуры и. Для реше- ния таких задач широко используются метод конечных разностей и метод конечных элементов. Возникающие здесь дискретные краевые задачи нелинейны и требуют для вычисления решений использования специальных итерационных методов. 4. В последние десятилетия было осознано, что решение проблемы численного решения дифференциальных уравнений основано на использовании специальных методов теории приближения функций. Однако глубокая связь между проблемой аппроксимации функций и проблемой решения дифференциальных уравнений осталась за рам- ками данной книги. Отметим лишь, что приближенное решение uN(x), полученное с помощью проекционно-разностной схемы (15.81), (15.82), представляет собой линейный сплайн. 597
Глава 16 ЧИСЛЕННОЕ РЕШЕНИЕ ИНТЕГРАЛЬНЫХ УРАВНЕНИЙ Интегральные уравнения часто возникают в различных приложе- ниях. В терминах интегральных уравнений формулируются многие задачи астрофизики, геологии, теплотехники, теории упругости, теории пластичности, гидродинамики, ядерной физики, биомеханики, меди- цины и др. Нередко к решению интегральных уравнений сводят другие математические задачи, например некоторые задачи математической физики. § 16.1. Понятие об интегральных уравнениях Уравнения, в которых искомая функция входит под знак интеграла, принято называть интегральными уравнениями. Наиболее часто встречаются интегральные уравнения Фредгольма1 первого рода ь jK(x,s)u(s) d5=/(x), х € [а, b], (16.1) а интегральные уравнения Фредгольма второго рода ь и(х) = |К(х, s)u(s) ds +/(х), х е [а, 6], (16.2) а а также интегральные уравнения Вольтерра23 первого рода X fax, s)u(s) di =/(х), х е [a, ft] (16.3) 1 Фредгольм Эрик Ивар (1866—1927) — шведский математик. Является одним из создателей теории линейных интегральных уравнений. 2 Вольтерра Вито (1860— 1940) — итальянский математик один из основоположников те- ории интегральных уравнений. Создатель математической теории биологических сообществ, аппаратом которой служат дифференциальные и интегро-дифференциальные уравнения. 3 По правилам русского языка следовало бы писать «интегральное уравнение Вольтерры». Мы пишем «интегральное уравнение Вольтерра», сзедуя традиции, принятой в русскоязыч- ной литературе по теории интегральных уравнений, в ущерб правописанию. 598
§ 16.1. Понятие об интегральных уравнениях и интегральные уравнения Вольтерра второго рода и(х) = |К(х, s)u(s) d5 + f(x), х е [а, 6] (16.4) а Функции К(х, s) (ядро интегрального уравнения) и f(x) (правая часть интегрального уравнения) считаются заданными. Под решением интегрального уравнения понимается функция и(х), подстановка кото- рой в уравнение обращает его в тождество. При исследовании интегральных уравнений делаются различные предположения о свойствах ядра К и правой части /. Мы в основном ограничимся рассмотрением наиболее простого случая, когда обе эти функции непрерывны, хотя во многих прикладных задачах возникает необходимость решать уравнения с разрывными ядрами и правыми час- тями. Кроме того, будем считать эти функции вещественнозначными, хотя нередко встречаются задачи, в которых ядра и правые части явля- ются комплекснозначными. Решение и также будем искать в классе непрерывных вещественнозначных функций. Обратим внимание на то, что искомая функция и входит в уравнения (16.1)—(16.4) линейным образом. Такие интегральные уравнения при- нято называть линейными. При решении многих задач приходится иметь дело и с нелинейными интегральными уравнениями — анало- гами уравнений (16.1)—(16.4). Это нелинейные интегральные уравне- ния Фредгольма первого рода ь $К(х, s,u(s)) ds =f(x), х е [а, b] а и второго рода ь w(x) = jk(x, s, u(s)) d5 +/(х), X е [а, 5], а а также нелинейные интегральные уравнения Вольтерра первого рода X ]АГ(х, s, u(s)) di =/(х), х е [а, 5] а и второго рода и(х) = jtf(x, 5, u(s)) d5 + f(x), x e [a, b]. a 599
Глава 16. Численное решение интегральных уравнений § 16.2. Примеры задач, приводящих к интегральным уравнениям Приведем несколько примеров задач, приводящих к интегральным уравнениям. Первые три из них — это примеры интегральных уравне- ний, возникающих при решении научных и технических задач. Послед- ние три показывают, как к интегральным уравнениям могут быть све- дены некоторые математические задачи. 1. Интегральное уравнение Абеля. В 1823 году Н. Абель, рассматривая задачу о движении материальной точки в вертикальной плоскости Oxz под действием силы тяжести, пришел к интегральному уравнению J-^Ld5=/(z). (16.5) Здесь неизвестная функция и описывает кривую х = w(z), по которой должна скатываться материальная точка так, чтобы начав свое движение без начальной скорости, она опускалась на расстояние z по вертикали за заданное время t =f(z). Эта задача была исторически первой задачей, оформленной как интегральное уравнение1. Уравнение Абеля (16.5) является интеграль- ным уравнением Вольтерра первого рода и возникает при решении ряда других задач, например при определении потенциальной энергии по периоду колебаний или при восстановлении рассеивающего поля по эффективному сечению. 2. Интегральное уравнение переноса излучения. При описании распространения светового излучения в атмосферах звезд и планет широко используется интегральное уравнение Фредгольма второго рода * т 5(т) = у |Е,(|т'-т|)5(т')<1т'+Ят), (16.6) О которое в астрофизике называется интегральным уравнением переноса излучения. Искомой здесь является функция источника 5(т), аргумент т имеет смысл оптической глубины, т* — полная оптическая глубина атмосферы, функция /(т) характеризует плотность источников излучения. Постоянная со называется показателем альбедо (по физическому смыслу 0< со < 1). 1 Сам термин «интегральное уравнение» был введен значительно позднее (в 1888 году) немецким математиком Дюбуа-Реймоном. 600
§ 16.2. Примеры задач, приводящих к интегральным уравнениям 1 -tx Функция = I — dx — это специальная функция, называемая интег- о ральной показательной функцией первого порядка. 3. Задача вычисления входного сигнала. Действие многих прибо- ров, региструюших физические поля, может быть описано с помощью интегрального уравнения Вольтерра первого рода рФ,5)«(5)<15 =/(0- 'о Здесь t — время; u(t) — сигнал, поступающий на вход прибора; f(t) — выходной сигнал; K(t, s) — известная функция, определяемая устрой- ством прибора. Требуется восстановить входной сигнал u(t) по регистрируемому на выходе из прибора выходному сигналу f(t) . 4. Связь задачи Коши с нелинейным интегральным уравнением Вольтерра. Обратим внимание на то, что функция y(t) является реше- нием задачи Коши /(')=/Uy(')), (16.7) у(‘о)=Уо (168) тогда и только тогда, когда она является решением нелинейного интегрального уравнения Вольтерра второго рода / У(0= J/(5,y(s))d5+y0. (16.9) 'о Действительно, интегрируя уравнение (16.7) от /0 до t и учитывая начальное условие (16.8), мы убеждаемся в том, что каждое решение задачи Коши одновременно является решением интегрального уравне- ния (16.9). Обратно, дифференцируя (16.9), мы приходим к (16.7), а подстановка t = в уравнение (16.9) дает (16.8). Таким образом, всякое решение интегрального уравнения (16.9) одновременно является реше- нием задачи Коши (16.7), (16.8). 5. Связь краевой задачи с интегральным уравнением Фред- гольма. Рассмотрим краевую задачу +?(*>=/(*). а<х<Ь, (16.10) и(а) = иа, и(Ь) = иь. (16.11) 601
Глава 16. Численное решение интегральных уравнений ь = |• Дважды интегрируя уравнение а краевые условия (16.11), приходим к Здесь к(х), q(x), f(x) — непрерывные функции, заданные на отрезке [a, 6], причем к(х) > kQ > О X Положим г(х) = Г-— , R 1 к(у) а (16.10) по х и учитывая интегральному уравнению Фредгольма второго рода h и(х) =-jG(x,s)q(s)u(s) ds + F(x), а < х < b, (16.12) а где ' (R - г($)) г(х) , *---R ПРИ Я < X < 5 < О, (7(х, 5) = < r(x)(R - r(s)) , —при а < 5 < х < я, . R ь F(x) = jG(x, 5) f(s) ds + ua + ^ub. a Так что всякое решение краевой задачи (16.10), (16.11) одновременно является и и решением интегрального уравнения (16.12). В свою очередь, дважды дифференцируя интегральное уравнение (16.12), мы приходим к уравнению (16.10). Кроме того, подстановка в уравнение (16.12) значений х = а и х = b дает (16.11). Следовательно, всякое решение интегрального уравнения (16.12) одновременно явля- ется решением задачи (16.10), (16.11). Таким образом, краевая задача (16.10), (16.11) и интегральное урав- нение (16.12) эквивалентны. 6. Связь с задачей дифференцирования. Пусть/(х) — непрерывно дифференцируемая функция, заданная на отрезке [а, 6]. Требуется найти ее производную м(х) =/'(х), а<х<Ь. (16.13) Интегрируя равенство (16.13) от а до х, мы приходим к равенству х jw(-s) ds=f(x)-f(a), a<x<b. (16.14) а Обратно, дифференцирование равенства (16.14) дает (16.13). Таким образом, задача вычисления производной функции f эквивалентна 602
§ 16.3. Интегральные уравнения Фредгольма второго рода. Введение в теорию задаче решения интегрального уравнения Вольтерра первого рода (16.14). Аналогично, если функция f является п раз непрерывно дифференцируемой, то задача вычисления ее производной порядка п м(х) a<x<b эквивалентна задаче решения интегрального уравнения * z _ .п 1 п 1 Лк) X Г* u(s)ds=f(x)~ у a<x<b. (16.15) § 16.3. Интегральные уравнения Фредгольма второго рода. Введение в теорию 1. Обозначения и определения. Прежде чем перейти к изложению некоторых результатов из теории интегральных уравнений Фредгольма второго рода ь и(х) = JA7(x, s)u(s) d5 +/(х), х е [а, Ь] (16.16) а и методов их численного решения, дадим некоторые определения и введем ряд обозначений. Будем считать, что ядро К является непрерывной функцией, задан- ной на квадрате П = {(х, 5) \а < х < 6, а < s < b}. Правую часть уравнения f будем также предполагать непрерывной функцией, заданной на отрезке [а, Ь]. Под решением уравнения (16.16) будем понимать непре- рывную на отрезке [а, Ь] функцию м(х), подстановка которой в уравне- ние обращает его в тождество. Определим скалярное произведение функций f и g формулой ь (f,g)= jf(x)g(x)dx. а Будем говорить, что функции f и g ортогональны, если (fg)= 0. Определим нормы J~b [|/(x)|2 dx а и заметим, что 1/1=Жп. 603
Глава 16. Численное решение интегральных уравнений Положим ПГь ||К’||Г= max |Л7(х, s)| и|ЛГ|- I f f| К(х, s)|2 dx ds (x,5)en J J J “ a a Для частных производных функции К по переменным х и s будем использовать обозначения 2 2 гл1 _ д y V V у* ____ Y If ~ ’ *^хх ~ 2 ~ fa ’ &ss ~ 2 ’ °х дх ds ds Введем интегральный оператор X и сопряженный к нему операторХ*: ь Хи(х) = jk(x. s)u(s) ds; а b ЭС*и(х) = jA7*(x, s)u(s) ds, a где K*(x,s) = K(s,x). В приложениях часто встречаются интегральные операторы с сим- метричными ядрами, то есть с ядрами, удовлетворяющими условию К(х, s) = K(s, х). (16.17) В этом случае X* = X, то есть оператор X является самосопряжен- ным. Самосопряженные интегральные операторы обладают рядом заме- чательных свойств. Интегральные уравнения с такими операторами исследованы значительно более глубоко по сравнению с интегральными уравнениями общего вида, и они проще для численного решения. Далее наряду с развернутой формой записи интегрального уравнения (16.16) будем использовать его краткую операторную форму записи и = Хм + / 2. Теория Фредгольма. Если правая часть /(х) = 0, то уравнение (16.16) принимает вид ь и(х) = Ja^(x, s)u(s) ds, х е [а, b] (16.18) а и называется основным однородным уравнением. Интегральное уравнение ь м(х) = jA^*(x, s)m(s) ds, х е [а, b] (16.19) а называется сопряженным однородным уравнением. 604
§ 16.3. Интегральные уравнения Фредгольма второго рода. Введение в теорию Ясно, что решением каждого из уравнений (16.18) и (16.19) является функция и(х) = 0, называемая тривиальным решением. Однако эти урав- нения могут иметь и нетривиальные решения и(х) 0. Основу теории интегрального уравнения (16.16) составляют следую- щие три теоремы. Теорема 16.1 (первая теорема Фредгольма). Для того, чтобы при любой правой части /уравнение (16.16) имело единственное реше- ние, необходимо и достаточно, чтобы основное однородное уравнение (16.18) имело лишь тривиальное решение. Теорема 16.2 (вторая теорема Фредгольма). Основное однород- ное уравнение (16.18) и сопряженное однородное уравнение (16.19) имеют одинаковое и конечное число линейно независимых решений. Теорема 16.3 (третья теорема Фредгольма). Для того, чтобы при заданной правой части /уравнение (16.16) было разрешимо, необ- ходимо и достаточно, чтобы функция /была ортогональна всем реше- ниям сопряженного однородного уравнения (16.19). 3. Корректность задачи. В случае, когда при любой правой части / уравнение и = Хи + / (16.20) имеет единственное решение и, справедливы оценки IIWH С [а, 6] - QH/llc[o, 6] ’ (16.21) hll < С2||/|| (16.22) с некоторыми постоянными и С2. В рассматриваемом случае задача решения интегрального уравнения Фредгольма второго рода (16.20) является корректной1. Действительно, пусть и — решение уравнения й = Хй+/ (16.23) с правой частью / ® / Вычитая друг из друга уравнения (16.20) и (16.23), убеждаемся, что погрешность и- и удовлетворяет уравнению и - и = Х(и - и) + /-/ 1 Напомним (см. § 3.1), что вычислительная задача называется корректной, если ее решение существует, единственно и устойчиво к малым погрешностям в данных. 605
Глава 16. Численное решение интегральных уравнений Из неравенств (16.21), (16.22) немедленно следуют оценки IIи ~ “ИС (а, &] - И/ “/ИС (а, &] » il«-«ll <c2ii/-/l которые говорят о непрерывной зависимости решения и от правой части f Постоянные Cj и С2 играют здесь роль чисел обусловленности. Приведем простые достаточные условия на ядро К, гарантирующие существование решения, его единственность и справедливость оценок (16.21), (16.22). Теорема 16.4. Пусть ядро К удовлетворяет условию ь q= max f|A^(x, 5)| d5 < 1. х е (а, &] J а (16.24) Тогда при любой правой части /уравнение (16.20) имеет единственное решение и, причем справедлива оценка (16.21) с постоянной Сх = 1 -я' Доказательство. Пусть и — решение уравнения (16.20). Тогда |w(x)| = ь |К(х, s)u(s) di +/(х) а b < f|^(x, 5)1 d5|| l/ЦсJ,] + ll/llffa, £>] - а ^llMllc[a,*] +ll/llCIO]’ х е *]• Отсюда И м11с[а, *] - ?11 м11с[а, *] + И/11с[а, Ь) • Как следствие, верна оценка (16.21) с постоянной Сх = -— Пусть теперь и — решение уравнения (16.18), то есть решение урав- нения (16.20) с правой частью/(х) = 0. Тогда из оценки (16.21) следует, что и(х) = 0. Поскольку основное однородное уравнение (16.18) имеет лишь тривиальное решение, то в силу теоремы 16.1 при любой правой части/уравнение (16.20) имеет единственное решение. Аналогичным образом доказывается следующий результат. Теорема 16.5. Пусть ядро К удовлетворяет условию Гьь ш= I Jf|^(x,x)|2dxdi <1. т а а (16.25) 606
§ 16.3. Интегральные уравнения Фредгольма второго рода. Введение в теорию Тогда при любой правой части f уравнение (16.20) имеет единственное решение, причем справедлива оценка (16.22) с . 1 постоянной С2 = ;—йттй • 1 ~ 11^11 4. Связь невязки и погрешности. Пусть теперь и — точное реше- ние интегрального уравнения (16.20), а й — некоторое приближенное решение того же уравнения. Определим невязку г[й]=й - Хй -f, (16.26) отвечающую этому приближенному решению. В развернутой форме записи невязка задается формулой ь г[и](х) = и(х)- jK(x,5)w(i) ds-Дх), хе [a, ft], а Заметим, что точному решению и отвечает нулевая невязка: r[u] = u-Xu-f=0. (16.27) Вычитая из равенства (16.27) равенство (16.26), убеждаемся в том, что погрешность и - и является решением уравнения того же вида, что и (16.20), но с невязкой г[м] в роли правой части/: и - и = Х(и - и) + г[й ]. Если справедливы неравенства (16.21) и (16.22), то погрешность и-и можно оценить через невязку следующим образом: II и ~ wllc[a, 6] - CJI IIС [а, b] » (16.28) h-211 < с2||г[й]||. (16.29) Таким образом, если невязка, отвечающая приближенному решению и , достаточно мала, то малой будет и погрешность и - и . 5. Интегральное уравнение с приближенно заданным ядром. Пред- положим, что вместо ядра К интегрального уравнения ь и(х) = ]А^(х, s)u(s) d5 +/(х), хе[а, ft] (16.30) 607
Глава 16. Численное решение интегральных уравнений дано его приближение К , причем оба ядра заданы и непрерывны на квадрате П. Пусть ядро К удовлетворяет условию (16.24), а погрешность К-К, с которой задано ядро, такова, что max (х е [о, 6]) b J|K(x,5)-£ (х, 5)| d5 < е , а где величина е > 0 мала настолько, что q + £ < q <1. В этом случае ядро К обладает свойством ь max fl^(x, 5)| d5 < q <1. [a,*] J a Поэтому в силу теоремы 16.4 решение и интегрального уравнения ь и(х)= j£(x,s)u(s) d5 +/(х), х е [а, 6] (16.31) а с приближенно заданным ядром существует и единственно. Вычитая из уравнения (16.30) уравнение (16.31), имеем ь ь и(х) -и(х)= J[£(x, 5)-£ (х, 5)]м(5) d5 + jk(x, 5)[м(5) - U (5)] d5 . а а Отсюда ь |u(x)-w(x)| < J|/f(x,5)-К(х,5)1 d5- ||w||C[a 6] + a b + J|K(x,5)| d5 • ||w — w||c[o>i]. a Как следствие, IIU ~ “И C [a, b] - ell“H C [a, b] + ^11u ~ “ИC [a, b] • В результате получаем неравенство llw ~ wll с [a bl "Kir • -с'е- (,632) Оно говорит о том, что если ядро задано с достаточно малой погреш- ностью, то малой будет и относительная погрешность решения и . 608
§ 16.3. Интегральные уравнения Фредгольма второго рода. Введение в теорию Аналогичным образом обстоит дело тогда, когда выполнено условие (16.25), а погрешность К - К, с которой задано ядро, такова, что J J|£(x, 5) - К(х, 5)12 dx di <Е, а а где величина е > 0 мала настолько, что ||К|| + е < 1 . В этом случае решение уравнения (16.31) существует, единственно и справедлив аналог оценки (16.32) — оценка n~n — • (16.33) 6. Гладкость решений. Обратим сначала внимание на следующее сглаживающее свойство оператора ЭС. Лемма 16.1. Пусть ядро К непрерывно на квадрате П и имеет дК д2К дпК непрерывные на П частные производные —, —-, ..., —. Если функ- дх дх2 дхп ция и интегрируема по Риману на отрезке [a, ft], то функция h z(x) = (%м)(х) = |К(х, s)u(s) d5 a является n раз непрерывно дифференцируемой на [a, ft], причем II Z(k) IIС [а, 6]^ Mk sup |и(х)|, (16.34) дкК ь где Mk= max ( X е [а, &] J а Доказательство. Как нетрудно видеть, справедливо равенство z(*\x) = (х, s)i/(5)d5, \<к<п, а из которого следует оценка (16.34). Степень гладкости решения интегрального уравнения (16.30) опре- деляется гладкостью ядра К и правой части / Теорема 16.6. Пусть ядро К удовлетворяет условиям леммы 16.1, а правая часть f является п раз непрерывно дифференцируемой на отрезке [а, Ь] функцией. Тогда решение интегрального уравнения 609
Глава 16. Численное решение интегральных уравнений (16.30) также является п раз непрерывно дифференцируемой на отрезке [а, Ь] функцией, причем II [«,*)< ЛГА||м||СГо >6] +ll/^llcta.i), \<k<n, (16.35) где постоянные Мк — те же, что и в лемме 16.1 Доказательство. В силу структуры уравнения (16.30) его реше- ние представляется в виде суммы и = z + f, (16.36) где z = (Ки. Поэтому и(к) = z(k) + уЧ*), | <к<П. Как следствие, II UW lie [a, ft) < II lie [a, 4] + || ||c [a. i] , 1 < к < П. Для доказательства оценки (16.35) осталось воспользоваться нера- венством (16.34) и тем, что для непрерывной на [а, Ь] функции и верно равенство sup |w(x)| = Ыс[а 61. Как мы увидим ниже, точность численных методов решения интег- рального уравнения существенно зависит от степени гладкости реше- ния и. Чем более гладким является решение, тем с более высокой точ- ностью его можно вычислить. Если ядро К и правая часть f достаточно гладкие, то в силу теоремы 16.6 достаточно гладким будет и решение. Однако на практике часто встречаются задачи, в которых ядро является гладким, а правая часть f не является гладкой и может даже быть разрывной функцией. Рассмотрим ситуацию, когда ядро К удовлетворяет условиям леммы 16.1, а про правую часть f известно, что она лишь интегрируема по Риману на [а, Ь]. Тогда решение уравнения в силу формулы (16.36) будет лишь интегрируемым по Риману и не будет гладким. Более того, каждая точка разрыва функции/будет и точкой разрыва функции и. В этой ситуации возможен следующий выход из положения. Подста- вив формулу и = z +/в уравнение и = ЭСи + / убеждаемся, что слагае- мое z = ЭСи является решением интегрального уравнения того же вида, что и исходное: z = JCz + F, (16.37) но с правой частью F = JCf в роли / Решение этого уравнения уже явля- ется п раз непрерывно дифференцируемой функцией. Вычислив при- ближение z к z с погрешностью £ = z - z, мы можем затем найти при- ближение и =z +f ки. Оно будет иметь ту же погрешность и - и = £, поскольку и - и = z — z . 610
§ 16.4. Интегральные уравнения Фредгольма второго рода. Метод квадратур Конечно, следует иметь в виду, что платой за такой выход из поло- жения является необходимость в соответствующих методах вычислять ь значения функции F(x) = |К(х, 5) f(s) d5 вместо значений функции f а $ 16.4. Интегральные уравнения Фредгольма второго рода. Метод квадратур 1. Метод квадратур. Одним из наиболее простых и распространенных методов решения интегрального уравнения Фредгольма второго рода ь и(х)= j£(x, s)u(s) d5+/(x), хе [а, b] (16.38) а с гладкими ядрами является метод квадратур, основанный на аппрок- симации значений ЭСи интегрального оператора (т.е. на приближенной замене интеграла, входящего в уравнение (16.38)) с использованием одной из квадратурных формул (см. гл. 13). Пусть за основу взята квадратурная формула * N 1^(5) d5 « ^CjgiXj) (16.39) a J=0 с узлами х- (где а < х0 < Xj < ... < xN < b) и весами Cj > 0. Используя формулу (16.39) с g($) = К(х, s)u(s) для приближенного вычисления значения интегрального оператора, имеем jK(x, S)u(s) di ~ ^CjK(x, Xj)u(Xj) , a j=® и от уравнения (16.38) мы приходим к приближенному равенству N w(x) = x/)w(x/) +/(*), х е [а, Ь]. /=о Функцию UN, удовлетворяющую уравнению A*) = х}) uN(xj) +f(x), x e [a, b] (16.40) ;=o примем за приближенное решение уравнения (16.38). 611
Глава 16. Численное решение интегральных уравнений Если уравнение (16.40) имеет решение, то его можно найти следую- щим образом. Подставляя в (16.40) значения х = xf для i = 0, ..., N, при- ходим к системе линейных алгебраических уравнений N ui=YcJKvuj+fi' 1 = °’ N (16-41) относительно вектора неизвестных uN = (м0, их, ..., uN)T, где Uj = uN(Xj). Здесь и ниже используются обозначения К~ = K(xt, Xj) и = f(xf). Замечание. Обратим внимание на то, что решение уравнения (16.40) однозначно определяется своими значениями Uj = t^(x^ в узлах 0 <j < N. Поэтому уравнение (16.40) однозначно разрешимо тогда и только тогда, когда однозначно разрешима система (16.41). Если ввести матрицу BN с элементами by = CjKy, 0 < i,j < N и вектор систему (16.41) можно записать в матричном виде: un= Bnun+/n- (16.42) Эту же систему можно записать в виде UN= (16.43) где An = En - BN, a EN — единичная матрица. При умеренном числе N неизвестных решение системы уравнений (16.43) можно найти с помощью одного из прямых методов (см. гл. 5). При очень большом числе неизвестных следует использовать один из итерационных методов (см. гл. 6), например, — метод простой итерации 4+,) = Bw4*)+/v> k>Q. (16.44) Заметим, что у * d5- /=0 а Поэтому, если выполнено предположение (16.24), то можно рассчиты- вать на выполнение условия N II Moo = max < 1, 0 <> I <,N j=q гарантирующего не только существование и единственность решения сис- темы (16.42), но и сходимость метода простой итерации (16.44) (см. § 6.1). Как мы видели раньше, системы уравнений с симметричными мат- рицами предпочтительнее для численного решения, чем системы 612
§ 16.4. Интегральные уравнения Фредгольма второго рода. Метод квадратур с несимметричными матрицами. Обратим внимание на то, что даже если решается интегральное уравнение с симметричным ядром К, мат- рица системы (16.43) не обязана быть симметричной. Она будет сим- метричной, если Cj = с2 = ... = cN. Если ядро симметрично, то систему (16.41) можно симметризовать, умножив /-е уравнение системы на сг В результате мы получим систему w ciui = £ ciKijcjuj + cifr ‘ = °’ 1 ’ • • • ’ N ;=o с симметричной матрицей. Другой способ симметризации состоит в умножении /-го уравнения системы (16.41) на J~Cj. Сделав замену vf = J~c] мы приходим к сис- теме уравнений у vi = Y^Ku^JvJ+ l = 0> ->N ;=0 с симметричной матрицей. Тем или иным образом решив систему (16.43), мы затем можем вычислить приближенное решение uN во всех точках отрезка [а, 6] по формуле (16.40). Замечание. Приближенные значения решения в точках отрезка [а, Ь], отличных от узловых, можно восстановить и с помо- щью одного из методов интерполяции (см. гл. И). Тем не менее формула (16.40) выглядит предпочтительнее. Покажем, как для аппроксимации интегрального уравнения (16.38) могут быть использованы простейшие квадратурные формулы. 2. Применение формулы прямоугольников. Пусть a = xQ<x{ < ... < < XN = 6, Xj _ J /2 = (Xj _ J + Xj ) / 2, hj = Xj - Xj _ J, 1 < j < N. Напомним, что составная квадратурная формула прямоугольников имеет вид * N Jg(x) dx = i/2)hj. (16.45) a J=1 Применяя эту формулу для аппроксимации значений интегрального оператора, приходим к уравнению ^(х) = ^ЛуА:(х,х7_1/2)мУ(ху_1/2)+/(х), х е [а, Ь] (16.46) 7=1 613
Глава 16. Численное решение интегральных уравнений для приближенного решения uN. Подставляя в это уравнение значения х = Х/_ j/? для i = 1,2, ..., N, выводим систему линейных алгебраических уравнений относительно значений м._ 1/2 = wN(x;_ 1/2), 1 < i < N' N U!-\/2 = ^hjKl-\/2< J-\/2UJ-\/2+f i-\/2> * = 1, 2, ..., М (16.47) Здесь X/-J/2, j_ 1/2 = ^(Х/_ 1/2 , Ху_ 1/2); i/2 =/(xz_ 1/2). Систему (16.47) можно записать в матричном виде UN = &N UN +/n • Здесь uN = (и}/2, и3/2, •••, 1/г)Г— вектор неизвестных; — квад- ратная матрица с элементами by = h^Ki _ 1/2 j _ 1/2, 1 < /, j < N, a fN = = (/1/2’Л/2’ •••’Zv-i/г)7- После того, как эта система решена, приближенное решение может быть найдено во всех точках отрезка [а, Ь] подстановкой найденных значений и{ 1/2 = uN(xt_ 1/2) в правую часть формулы (16.46). Приведем две теоремы, дающие теоретическое обоснование метода квадратур с использованием формулы прямоугольников (16 45). Теорема 16.7. Пусть ядро К непрерывно на квадрате П и имеет непрерывную на П частную производную Ks' Пусть также выполнены условие (16.24) и условие ^тах^’ (16.49) ь где М = max (|Л7/(х, 5) d$. a<x<bJ' 1 а Тогда решение уравнения (16.46) существует, единственно и для него справедлива оценка II UNIIС (а. Ь] <^4- 11/11 с (а, Ь]. (16.50) 1 ч Доказательство. Покажем сначала, что справедливо неравенство N 1 +п ж £йу|Дх,х7_1/2)| <iy2< 1. (16.51) ° х 7=1 Положим * N £(*)= f|K(x,.s)| d5-^/iy|A:(x,xy_1/2)| a 614
§ 16.4. Интегральные уравнения Фредгольма второго рода. Метод квадратур и заметим, что |е(х)| = х) J [ |^(x,i)-K(x,X,_I/2)|]di XJ-1 \K(x,s)-K(x,Xj_i/2)\ ds . £ Пользуясь для 5 e [x-_ p Xj] неравенством |^(x,i)-^(x,x;_1/2)| = XJ < J |a:s'(x, s)| di x7-l и предположением (16.49), приходим к неравенству /V J 1 |e(*)I j К'(х, 5)| d shj < /|<(х, i)| d shmM < Mhmn < J=i x7_, a Таким образом, TV £fy|K(x, Xj_ i/2)| < J|K’(x/, i)| di + |s(x)| < q + < 1. 7=1 a Неравенство (16.51) доказано. Из него следует, что /V /V | ||ВХ = пш £|й„| = max £hj\K(xt_ 1/2,ху_ 1/2)| < < 1. j=\ N j=\ Поскольку ||ВЛГ||ОО<1, то решение системы (16.48) существует и единственно, а следовательно существует и единственно решение гЛ уравнения (16.46). Заметим, что из (16.46) следует неравенство N | /(x)l < ^hj\K(x,X}_ I/2)| II / lie [a. b] + 11/11 с [а,ь]. 7=1 Откуда, используя неравенство (16.51), выводим II и1 IIС [a, i] < II UNIС [а. i] + ll/ll с [a, i] • 615
Глава 16. Численное решение интегральных уравнений Таким образом, II U ||с[а,£>] < । +q)/2 = И/И С [а. &] • Я Замечание. Поскольку при выполнении условия (16.49) справед- ливо неравенство < 1, то для решения системы (16.48) можно использовать метод простой итерации и(к+Х} = В и(к} + f к>Ъ UN °N UN JN' К U с произвольным начальным приближением uff. Теорема 16.8. Пусть ядро К дважды непрерывно дифференцируемо на квадрате П, а функция /дважды непрерывно дифференцируема на отрезке [а, Ь]. Пусть также выполнены условия (16.24) и (16.49). Тогда справедлива оценка погрешности II и - ЫЛ,||с[а, 4] < Ch2mix , где С = \ птах — (K(x,s)u(s)) . 12(1 ~Я) (х,5) е П ds2 Доказательство. В силу теоремы 16.6 функция и дважды непрерывно дифференцируемой на отрезке [а, Ь]. Пусть RN(x) = |К(х, s)u(s) ds - ^hjK(x, х}_1/2)и(х;_1/2). а /=1 В силу теоремы об оценке погрешности составной прямоугольников справедливо неравенство (16.52) является формулы |яЛ'(х)|<^ max 24 a<s<b Г*2 ? ^Щх,ф(5))4. (16.53) Вычитая из уравнения (16.38) уравнение (16.46), имеем w(x) - uN(x) = £ hjK(x, Xj _! /2)[ u(Xj _ j /2) - uN(Xj _ j /2)1 + Rn(x) ;=1 Таким образом, погрешность и - uN является решением уравнения вида (16.46) с RN к роли/ Используя неравенства (16.50) и (16.53), приходим к оценке 2 b-a ---— max л2 ---- —AK(x,s)u(s))h 1-9 24 (x..,)e П dS2 2 = Ch2 max ^ max • 616
§ 16.4. Интегральные уравнения Фредгольма второго рода. Метод квадратур 3. Применение формулы трапеций. Возьмем за основу составную квадратурную формулу трапеций * Л. ЛГ-1 hN Jg(x) dx = g(x0) у + £ g(x})hJ+1/2 + g(xN) — , a 7=1 где hj + j/2 = (hj + hj + 0/2. Применяя эту формулу для аппроксимации значений интегрального оператора, приходим к уравнению N N ~ N « (х) = Дх,х0)м (х0) у + £/Г(х,ху)м (х7)Л7+1/2 + ;=1 N ^N + К(х, xN)u (xN) — +Дх), х е [a, b] (16.54) для приближенного решения Подставляя в это уравнения значения х = х, для / = 0, 1, ..., N, выводим систему линейных алгебраических уравнений относительно значений ut = l/az(x/): N-\ hN u$+ ^K'ijhj+\/2uj +&IN ~ uN+fi> 0 - 1 - W. (16.55) 7=1 Решив эту систему, мы можем затем найти приближенное решение во всех точках отрезка [а, 6], используя формулу (16.54). Следующие две теоремы доказываются аналогично теоремам 16.7 и 16.8. Теорема 16.9. Пусть ядро К непрерывно на квадрате П и имеет непрерывную на П частную производную K’s. Пусть также выполнены условия (16.24) и (16.49). Тогда решение уравнения (16.54) существует, единственно и для него справедлива оценка (16.50). Теорема 16.10. Пусть ядро К дважды непрерывно дифференцируемо на квадрате П, а функция f дважды непрерывно дифференцируема на отрезке [а, Ь]. Пусть также выполнены условия (16.24) и (16.49). Тогда справедлива оценка погрешности II и - И VIIС [а, 4| 2СЛ^,ах , (16.56) где постоянная С та же, что и в (16.52). Замечание. При выполнении условия (16.49) решение системы (16.55) может быть найдено с помощью метода простой итерации 617
Глава 16. Численное решение интегральных уравнений «<*+,) = К/от4*) + NY.Kt)hJ+x/2u(p+KtN^ 0Si<N ./=1 С cz (0) z (0) (0) (OkT при любом начальном приближении uN = (uQ ,и\ , ...,uN ) . 4. Погрешность метода квадратур. Обратим внимание на то, что сделанные в теоремах 16.8 и 16.10 предположения о гладкости ядра К и правой части /были нужны лишь для доказательства оценок (16.52) и (16.56), говорящих о том, что метод квадратур с использованием фор- мул прямоугольников и трапеций имеет второй порядок точности. Можно показать, что и в случае, когда ядро К и правая часть /являются только непрерывными, при выполнении условия (16.24) метод квадра- тур является сходящимся: II и - Z||c[a, 6] -► о при ^-+0. Приведенные в теоремах 16.8 и 16.10 оценки погрешностей явля- ются априорными. Они указывают на то, что рассматриваемые методы обладают вторым порядком точности. Однако они непригодны для практической оценки погрешностей полученных приближений. Для того чтобы оценить погрешность, нужно использовать какие-либо апостериорные оценки. Аналогично тому, как это делалось для оценки погрешности числен- ного интегрирования, можно применять правило Рунге. Пусть исполь- зуются методы на основе формул прямоугольников или трапеций с пос- тоянным шагом h = (b - a)/N, где N— четное число. Тогда, вычислив приближенные решения uN с шагом h и uN/2 с шагом 2Л, можно оценить погрешность приближения uN по формуле N, X ^/2/ X /X N, X и (х)-и (х) и(х)-и (х)~------—------ Распространенным приемом, применяемым для оценки качества приближенного решения является вычисление невязки г ЛГ, N N Г г[м ] = и - Хм -/. Оценки (16.28) и (16.29), примененные к и = uN, дают неравенства II и - «Л IIС [а, *] < С( II г[«Л| IIС [а, ft) , I и - г/'ll < С2|| г[г/] II, N позволяющие судить о величине погрешности и - и по величине невязки г[гЛ]. 618
§ 16.5. Интегральные уравнения Фредгольма второго рода. Проекционные методы получать методы, формально обладающие более высоким порядком точности. Например, формула Симпсона и формула Милна (Боде) (см. § 13.2) приведут к методам, обладающим четвертым и шестым поряд- ком точности соответственно. Популярным подходом к построению методов решения интегральных уравнений является использование квадратурных формул Гаусса (см. § 13.3). Однако следует иметь в виду, что высокая точность этих формул предполагает, что решение и и ядро К являются достаточно гладкими функциями. Если это не так, то пере- ход к использованию формул высокого порядка точности, скорее всего, не даст желаемого результата. В случае, когда ядро К интегрального уравнения является доста- точно гладким, а правая часть /не является гладкой или даже разрывна, можно использовать описанный в п. 6 § 16.2 прием перехода к представ- лению решения и в виде u = z+f, где z является решением интегрального уравнения z = Xz + F с гладкой правой частью F = Хм. Вычислив мето- дом квадратур приближение zN к решению этого уравнения, мы можем затем вычислить приближение uN = zN + f к решению и. § 16.5. Интегральные уравнения Фредгольма второго рода. Проекционные методы Современной альтернативой методу квадратур численного решения интегрального уравнения Фредгольма второго рода и = Хи+/ (16.57) является класс методов, которые принято называть проекционными. Опишем некоторые их этих методов и начнем с классического варианта метода Галеркина (в теории интегральных уравнений этот метод часто называют методом моментов). 1. Метод Галеркина. Будем искать приближенное решение уравне- ния (16.57) в виде линейной комбинации заданных линейно независи- мых базисных функций ф^х), ф2(х), ..., фу(х): N N и (Х) = ^а/Ф/(Х)> (16.58) где коэффициенты ар а2, aN неизвестны и подлежат определению. 619
Глава 16. Численное решение интегральных уравнений Заметим, что невязка, соответствующая приближенному решению 1Л, имеет вид N Ы N N N r[u ] = u -Ku -/= ^ауХфу-/. (16.59) 7=1 7=1 Потребуем, чтобы невязка была ортогональна всем базисным функ- циям: Ф/) = О, (16.60) Подставляя в эти соотношения выражение (16.59), приходим к системе линейных алгебраических уравнений относительно вектора неизвест- ных а = (ар ар ..., ау)г: N N £(<РГ Ф,)а = £(^фу> Ф,)а7 + (f Ф,) > l<i<N 7=1 7=1 или, с использованием матричной формы записи, к системе вида DNa = KNa+fN. (16.61) Здесь DN,KN— квадратные матрицы с элементами ь dij = (фу > Ф1) = /фу(х)ф,(х) dx, 1 < i,J < N, а b b Ki) = (*Фу, ф() = J $K(x, i)(p7(i)<p((x) dx di , 1 < i,j < N, a a ' ^fN^T— вектор-столбец с элементами b fi = (fv,)= J/(x)<p((x) dx, 1 < i < N. (16.62) a Замечание. Обратим внимание на то, что матрица DN явля- ется симмметричной. Если ядро интегрального оператора сим- метрично (т.е. если К(х, s) = K(s, х)), то матрица KN также явля- ется симметричной. 2. Метод Канторовича. Часто в методе Галеркина приближенное решение ищется не в виде (16.58), а в виде Z(x) = £ay<p7(x)+/(x). (16.63) 7=1 620
§ 16.5. Интегральные уравнения Фредгольма второго рода. Проекционные методы В этом случае невязка имеет вид r[/] = UN -XuN-f= '£aj4>j - - Xf- (16.64) ;=1 /-1 Она отличается от невязки (16.59) тем, что в ней правая часть /заме- нена на F = OCf. Поэтому система уравнений (16.60) принимает вид = KN а + Fn с теми же матрицами DN и KN, что и в (16.61), но с FN = (F{ > F2, ...» Fn)t вместо fN, где b b b Ft = (F, (pz) = jF(x)(p/(x)dx = j J/C(x, s)/(s)(p,(x) dxds, 1 < i < N. (16.65) a a a Описанную модификацию метода Галеркина иногда называют мето- дом Канторовича'. Соображения, приводящие к тому, что приближенное решение имеет смысл искать в виде (16.63), были приведены в п. 6 § 16.2. Напомним, что этот подход имеет смысл, если ядро интегрального уравнения явля- ется гладким, а правая часть не является достаточно гладкой функцией. Тогда, представляя решение и в виде и = z + /, мы можем найти слагае- мое z, решая интегральное уравнение z = Xz + F (16.66) с гладкой правой частью F = X/ Метод Канторовича можно рассмат- ривать как классический метод Галеркина, примененный к решению уравнения (16.66). Следует подчеркнуть, что цена, которую мы платим за возможность повышения точности приближения состоит в усложнении формулы (16.65) вычисления правой части системы по сравнению с формулой (16.62). 3. Итерированные методы Галеркина и Канторовича. После того, как методом Галеркина найдено приближенное решение uN9 можно найти уточненное приближение uN, подставив в правую часть интегрального уравнения: uN’‘XuN+f. (16.67) Этот метод принято называть итерированным методом Галеркина или методом Слоана. Аналогично, после того как методом Канторовича найдено прибли- женное решение uN, можно найти уточненное приближение по формуле (16.67). В этом состоит итерированный метод Канторовича. 1 Леонид Витальевич Канторович (1912—1986) — советский математик и экономист, лау- реат Нобелевской премии по экономике, один из создателей линейного программирования. 621
Глава 16. Численное решение интегральных уравнений 4. Проекционные методы с использованием кусочно-постоянных базисных функций. Наиболее просто описанные выше проекционные методы реализуются при использовании в качестве базисных функций кусочно-постоянных функций. Введем на отрезке [a, Z>] сетку с узлами а = х0 < хх < ... < xN = b и шагами hj= Xj- Xj _ 1. В качестве базисных функций используем функ- ции фу = Ху, где х/*) = 1 для хе[х,|,х,), 1 1 \<i<N, О ДЛЯ X g [Xy_j,Xy). 1 для хе[ху_ьХу], О ДЛЯ X^tXy.pXy]. В этом случае приближение (16.58) будет кусочно-постоянной функ- цией, принимающей значения а;. на промежутках [Ху _ р Ху), 1 < i < N. Имеет смысл обозначить эти значения через i/y _ 1/2, приближенное решение обозначить через uh и записать его в виде uA(x) = f «,_1/2х/х). (16.68) 7=1 При таком выборе базисных функций система уравнений метода Галеркина (16.59) принимает вид dx'Mj-i/2+ J/Wdx, l<i<N. х;-\ Делением z-го уравнения системы на ht ее можно преобразовать к виду Иуу BN uN +fN, (16.69) где itN= (м1/2, xl2)T— вектор неизвестных; BN— матрица с элемен- , 1 f тами bn = — V hf J Х;-Л XJ $K(x,s)ds xj-t dx,1 < i,j < N, afN (f\/2, вектор с элементами r 1-1/2 й 622
§ 16.5. Интегральные уравнения Фредгольма второго рода. Проекционные методы Заметим, что = max I </<w xi г b ,5)| d5 4-lLfl Таким образом, если выполнено условие (16.24), то ЦЛ^Цоо - Я < 1 и поэтому система (16.69) однозначно разрешима. Кроме того, ее реше- ние может быть найдено методом простой итерации u(k+[)=R u(k) + f k>(} UN "NUN к > V при произвольном начальном приближении и(0). После того как галеркинское приближение (16.68) найдено, итериро- ванным методом Галеркина (16.67) можно вычислить приближение мА(х) = £ d* “j-i/2+/(*). xe[a,i]. »5--> В методе Канторовича с использованием кусочно-постоянных базис- ных функций приближенное решение ищется в виде «*(х) = f z,_ 1/2 x/х) +/(х), (16.70) /=1 Соответствующая система уравнений для определения вектора неизвестных zN = (z]/2, zN_ 1/2)г имеет вид = + F'n » (16.71) где BN — та же матрица, что и в (16.69), a FN = (F1/2, FN_ 1/2)г, где х/ jF'/-1/2 = X7 / х>-1 - ь $K(x,s)f(s)ds dx, 1 < i < N. L а Как мы уже видели, если выполнено условие (16.24), то РХ - Я< 1 > и поэтому система уравнений (16.71) однозначно разре- шима, а ее решение может быть найдено методом простой итерации + 1) _ п (к) 4- F 1г > Л ZN "N ZN + - (°) при произвольном начальном приближении zN . 623
Глава 16. Численное решение интегральных уравнений Если приближение (16.70) по методу Канторовича найдено, можно воспользоваться итерированным методом Канторовича (16.67) и найти уточненное приближение . N Х/ b “(Х) = £ ‘2/-1/2+ JK(x, s)/(s) ds+f(x). ;=1 xJ_i a 5. Обоснование проекционных методов в случае использования кусочно-постоянных базисных функций. Приведем без доказатель- ства две теоремы, дающие обоснование рассмотренных в п. 4 проекци- онных методов. Положим b ь L= max f|/Cx(x,s)| ds, M= max f|/C/(x, s)|ds. a<x<xb J a<xX<b a a Теорема 16.11. Пусть ядро К непрерывно наТУи выполнено условие (16.24), а функция / интегрируема по Риману на [а, Ъ]. Тогда система уравнений метода Галеркина (16.69) имеет и притом единственное решение. Кроме того, метод Галеркина сходится: ||и-«*!!-► о, при >>„^->0. Если же ядро К непрерывно дифференцируемо на П, а функция f непрерывно дифференцируема на [а, Ь], то для метода Галеркина верна оценка погрешности sup |М(х)-«*(х)1 S А (14; И/11с(в,4] + 11/'11с[в.4])Лт„ . aixib 1 Ч 41 Ч ' а для итерированного метода Галеркина верна оценка погрешности 1«-И*1с[а.4]5у7-(~; 11/Ис(а, Ы + IIZ'lc (а. *1) *т«х • 1 If X 1 If z Теорема 16.12. Пусть ядро К непрерывно на П и выполнено усло- вие (16.24), а функция f интегрируема по Риману на [а, Ь]. Тогда сис- тема уравнений метода Канторовича (16.70) имеет и притом единс- твенное решение. Кроме того, метод Канторовича сходится: II и - UA||c(a,6] -► 0 при Йтах->0. 624
§ 16.6. Интегральные уравнения Фредгольма второго рода. Методы наименьших квадратов Если же ядро К непрерывно дифференцируемо на П, то для метода Канторовича верна оценка погрешности II и - М*||с(а, Ь] 2 sup |/(х)|Йтах, (1-?) а<х<Ь для интерированного метода Канторовича верна оценка погрешности II И - И* lie [а, А) ML , sup |/(х)|Й^их . (1 -?) а"^ь § 16.6. Интегральные уравнения Фредгольма второго рода. Методы наименьших квадратов и коллокации Рассмотрим кратко метод наименьших квадратов и метод коллока- ции, которые также используются для численного решения уравнений Фредгольма второго рода 1. Метод наименьших квадратов. Из неравенств (16.28) и (16.29) следует, что чем меньше будет невязка приближенного решения, тем больше оснований ожидать, что малой будет и величина погрешности. Напомним еще, что равенство нулю невязки означает, что найденное приближение является точным решением интегрального уравнения. В методе наименьших квадратов предлагается искать приближен- ное решение в виде (16.58) или в виде (16.63) и определять вектор коэффициентов aN = (ар а2, .aN)T из условия минимума квадрата нормы невязки ||г[иЛ/]||. В первом случае невязка имеет вид (см. (16.59)): „ N г[и ] = £«;%-/, ;=| где\|/у“фу-Хфу, и минимизируется величина 2 к/]||2 = Za^-/ J-1 (16.72) Во втором случае невязка имеет вид (см. (16.64)): N N r[/]= J=i 625
Глава 16. Численное решение интегральных уравнений и минимизируется величина (16.73) Заметим, что величина (16.72) представляет собой квадратичную функцию переменных а,, а2, ...» ау: N N N ? Ф(а|,а2, ...,ау) = £ у7)а*а.-2 уу)а7 + ||/|| . *=!/=! /=1 Необходимое условие экстремума Д ФСарССг, ...,а„) = 0, \<i<N приводит к системе линейных алгебраических уравнений = (16.74) где An — квадратная матрица с элементами = (\|/р \|/у), 1 < i,J < N, а bN — вектор-столбец с элементами = (f, \|/.), 1 < i < N. Замечание. Обратим внимание на то, что матрица А — сим- метричная. Аналогичным образом задача минимизации величины (16.73) сво- дится к системе вида (16.74) с той же матрицей AN, но с другим век- тором bN, элементы которого вычисляются по формулам b-t = (JCf \|/.), 1 < i < N. Для вычисления коэффициентов а1? а2,.аЛ- можно воспользоваться одним из методов решения системы (16.74) либо одним из численных методов минимизации соответствующей квадратичной функции. 2. Метод коллокации. Согласно методу коллокации приближенное решение ищется в виде (16.58) или в виде (16.63). Коэффициенты линейной комбинации определятся так, чтобы невязка r[uv] обратилась в нуль в N выбранных на отрезке {а, 6] точках а <х{ < х2 < ... <xN<b, которые называются точками коллокации. Поскольку для приближения (16.58) невязка имеет вид N N b r[i/](x) = £ф7(х)ау-£ J^(x,s)<py(s) ds • arf(x), ;=1 /=! a 626
§ 16.7. Интегральные уравнения Фредгольма второго рода. Метод замены ядра на вырожденное то метод коллокации приводит к системе линейных алгебраических уравнений N N b = JXXxj,5)ф;(5) ds • ay+/(xz), /= 1,2, ...,М 7=1 ;=1 а Если же используется приближение (16.63), то N N N Ье ЬГ r[« ](x) = £ J/f(x, 5)<py(s) d5 • ay - j/C(x,5)/(s) ds, 7=1 7=1 a a и метод приводит к системе N N b b ^<р/(х,)а/=^ J£(xp5)vy(5)d5-ay+j£(xz,s)/(s)ds, /=1,2, 7=1 7=1 а а § 16.7. Интегральные уравнения Фредгольма второго рода. Метод замены ядра на вырожденное 1. Интегральные уравнения с вырожденным ядром. Ядро интег- рального уравнения ь и(х) = jK(x, s)u(s) ds +Дх), х е [a, 6] (16.75) а называется вырожденным, если оно может быть представлено в виде конечной суммы вида ^(х,5)=£ф/(х)ф/(5). (16.76) 1=1 Предполагается, что функции фр ф2, ...» Ф^ линейно независимы на [а, 6]; функции фр ф2, • ••» Wn также линейно независимы на [а, 6]. Уравнения с вырожденными ядрами решаются достаточно просто. После подстановки формулы (16.76) в уравнение (16.75) оно прини- мает вид N b и(х)= £ф/(х) ds +Я*) > хе [а, 5]. (16.77) /=1 а Следовательно, его решение имеет вид U (X) = £ С,ф,(х) +Дх), (16.78) /=1 627
Глава 16. Численное решение интегральных уравнений ь где Cf= |ф|(з)и(з) ds, 1</<N а Подставляя выражение (16.78) в (16.77), получаем N N N b £с,<р,(х) = £<р,(х) Jy/s) '£cJq>J(s)+fts) ds, х е [a, ft]. /=| /=1 а L;=i J Вследствие линейной независимости функций фр ф2, ...» Фдг эти равен- ства верны тогда и только тогда, когда N b b ci = Y /чъСОф/5) d s • с;+ ds, i = 1, 2...N. /= 1 a a Таким образом, для вычисления вектора неизвестных cN = (ср с2, ...,ст)т следует решить систему линейных алгебраических уравнений CN ~ cn + b где BN — матрица с элементами by = Jy/s^^s) d s, 1 £ ij a dN — a b вектор-столбец с элементами = JwiC*VCO 1 £ i £ N. a После того как коэффициенты c]t с2, ...» cm вычислены, решение и может быть найдено по формуле (16.78). 2. Метод замены ядра на вырожденное. Пусть ядро К интеграль- ного уравнения ь и(х) = jk(x, s)u(s) ds +/(х), х € [а, 6] (16.79) а может быть заменено на вырожденное ядро К вида (16.76), причем погрешность К - К приближения достаточно мала. Тогда изложенным в п. 1 методом можно найти решение и интегрального уравнения (16.75) с вырожденным ядром К и рассматривать его как приближение к решению уравнения (16.79). 628
§ 16.8. Интегральные уравнения Вольтерра второго рода Как следует из неравенств (16.32) и (16 33), если погрешность К - К замены ядра на вырожденное достаточно мала, то погрешность и - и также будет мала. Конечно, метод замены ядра на вырожденное может быть применен только тогда, когда приближение ядра вырожденным не является слож- ной задачей. Если ядро достаточно гладкое, а отрезок [а, Ь] достаточно мал, то можно использовать конечный отрезок ряда Тейлора: - N (x-xQ)n К(Х, 5) « К(Х, 5) = У -2- — К(х0, 5), „=0 ”! где х е [а, 4]. Для построения вырожденного ядра можно попробовать использо- вать конечный отрезок двойного ряда Тейлора К(х,5)«К(х,5)-^ L и=0 /и=0 где х0, s0 е [а, Ь]. Иногда используют конечный отрезок разложения ядра по перемен- ной х в ряд Фурье по тригонометрической системе функций или конеч- ный отрезок двойного ряда Фурье. Можно заменять ядро вырожден- ным, используя методы интерполяции. Существуют и другие подходы. Использование метода, основанного на приближении ядра вырож- денным может оказаться значительно более трудоемким, чем численное решение интегрального уравнения методом квадратур или проекцион- ными методами. В большинстве реальных задач, скорее всего, так оно и будет. Как правило, этот метод применяют тогда, когда решение нужно получить с невысокой точностью. § 16.8. Интегральные уравнения Вольтерра второго рода 1. Введение. Рассмотрим интегральное уравнение Вольтерра вто- рого рода и(х) = jk(x, s)u(s) ds +/(х), х g [a, 5] (16.80) а Будем предполагать, что ядро К является непрерывной функцией, заданной на треугольнике Д = {(х, s) | а < х < 6, а < s < х}, а функция f задана и непрерывна на отрезке [а, 6]. Под решением интегрального уравнения (16.80) будем понимать непрерывную на отрезке [а, £] функ- цию, удовлетворяющую уравнению для всех х е [а, £]. 629
Глава 16. Численное решение интегральных уравнений Формально уравнения Вольтерра можно рассматривать как частный случай уравнений Фредгольма. Достаточно доопределить ядро значе- нием К(х, s) = 0 при s > х, чтобы можно было записать уравнение (16.80) в виде (16.79)1. Но в действительности уравнения Фредгольма и Вольтерра обладают принципиально разными свойствами. Уравнения типа Вольтерра обладают свойством эволюционности: значение реше- ния и в точке х полностью определяется его значениями в пред- шествующих точках (т.е. значениями в точках из промежутка [а, х) — «предысторией» процесса); значения же в последующих точках (то есть в точках из промежутка (х, £]) никак не влияют на значение решения в точке х. В тех прикладных задачах, где появляются уравнения типа Вольтерра, переменная х, как правило, имеет смысл времени. Напомним (см. § 16.2), что функция y(t) является решением задачи Коши У(‘о)=Уо тогда и только тогда, когда она является решением нелинейного интеграль- ного уравнения Вольтерра второго рода t y(t)= f/(s,y(s)) ds+y0. 'о Неудивительно, что теория уравнений Вольтерра второго рода во мно- гом схожа с теорией задачи Коши для дифференциальных уравнений первого порядка. Есть значительное сходство и в численных методах решения. 2. Введение в теорию. Справедлива следующая теорема. Теорема 16.13. Пусть ядро К непрерывно на множестве Д, а функ- ция /непрерывна на отрезке [а, Ь]. Тогда решение уравнения (16.80) существует, единственно и удовлетворяет оценке 11“11с(а.Ь]^С0||ЛС(а.А] (16.81) ь М е с постоянной Со = е °, где MQ = max |ЛГ(х,s)| ds« J хе [5, Ь] 1 Обратим внимание на то, что так доопределенное ядро перестает быть непрерывным. 630
§ 16.8. Интегральные уравнения Вольтерра второго рода Таким образом, задача решения интегрального уравнения Вольтерра второго рода корректна. Постоянная Со, входящая в оценку (16.81), играет в этой задаче роль числа обусловленности. Гладкость решения уравнения (16.81) определяется гладкостью ядра К по переменной х, а также гладкостью правой части / Важную роль играют также свойства «диагональной части» ядра — функции А А К0(х) = К(х,х) и функций Кт(х) = — £(x,5)|f=x. дх Теорема 16.14. Пусть ядро К непрерывно на множестве \ и имеет . , дК д2К дпК п , непрерывные на Д частные производные —, —..., — . Пусть функ- дх дх2 дхп ции Кт (0 < т < п) являются п - т - 1 раз непрерывно дифференциру- емыми на отрезке [а, Ь], а правая часть f— п раз непрерывно диффе- ренцируема на [а, Ь]. Тогда решение и уравнения (16.80) является п раз непрерывно дифференцируемой на отрезке [а, Ь] функцией. 3. Метод квадратур. Для решения уравнения (16.80) можно исполь- зовать метод квадратур. Выберем на отрезке [а, Ь] узлы а = х0 < Xj < < ... < xN = b. Введем шаги hn = хп - хп _ р 1 < п < N и положим ^шах = . max hn- Подставляя в уравнение (16.80) значения х = хп для п = 0, 1, ..., N, приходим к системе равенств и(х0) =f(x0), п и(хп)= jK(x„,s)u(s) ds + f(x„), n=\,2,...,N. a Возьмем за основу квадратурные формулы вида п п а /_0 с узлами х0, хр ..., хп и весами cnj- > 0, которые могут зависеть от п. Используя эти квадратурные формулы для аппроксимации интегра- хп лов pf(x„, s)u(s) ds, приходим к системе приближенных равенств 631
Глава 16. Численное решение интегральных уравнений “(*о) =/(хо)> и(х„) ® XC”JK"JU('X^ + ^’1’ П = 1’ 2’ • N' j=0 Здесь KnJ = К(хп, х^, 0<J^n<N nfn =f(xn), 0<n<N. Потребуем теперь, чтобы приближения un = uN(xn) к значениям u(xn) в точках хп удовлетворяли системе линейных алгебраических уравнений w0 =/о’ п Un ~ jKnjUj + fп"» ~ 1» 2, ..Af. /=0 Если cnnKnn* 1 для всех п, то значения неизвестных м0, ..., uN могут быть последовательно найдены по формулам “о _/о» 1 гл-1 Un ~ 1 -с К X CnjKnjuJ +fn > nn nn Ly_Q J Приближенное решение можно вычислить и в произвольной проме- жуточной точке из отрезка [а, А]. Если х е (хп _ р хп), то для аппроксимации х интеграла ]Л?(х, s)u(s) ds в этом случае следует ИСПОЛЬЗОВаТЬ Квадратур- fl ную формулу Jg(5) ds = £ cXJg(Xj) + cx„g(x) a 7=0 с узлами x0, X], xn _ ।, x. Веса c^, cxX,cxn при этом, естественно, могут зависеть от х. Формула для вычисления uN(x) примет в этом слу- чае вид и (х) =------------ \-схпК(х,х) ^exfK^Xjyuj+f^x) , 4=о J X е (хл_ Конечно, для вычисления решения в промежуточных точках, можно воспользоваться и одним из методов интерполяции. 4. Применение формулы трапеций. Покажем, как для вычисления приближенного решения uN уравнения (16.80) может быть использована составная формула трапеций 632
§ 16.8. Интегральные уравнения Вольтерра второго рода t h\ Jg(j) d5 ag(x0)y + £ g{Xj)hj+1/2 a 7=1 Л + g&n)— > гае Л7 + 1/2 = (Л7 + Л;+|)/2. Используя ее для аппроксимации интеграла ]£(хл,s)u(s) ds,при- а ходим к системе уравнений uo~fo> K\0h\ , K\}h\ , z Ml = ~2_ «0+-2-«1+/р «о + Z М/ +1 /2 "/ + -Г" «„ +/„, « = 2, з.N 7=1 относительно значений ип = uN(xn) ® и(хп), 0 < п < N. Если Knnhn * 2 для всех п, то значения м0, щ,..., uN могут бытьпосле- довательно найдены по формулам wo_/o» W1 -Т“ мо (16.82) 2 М0 + Д KnjhJ+ 1/2 UJ +fn U„ ---------------h--------, п = 2,3...N. (16.83) 1-^лТ Для того чтобы найти значения приближения uN(xn) в промежуточ- ных точках х е (хп _ р хп), используем составную квадратурную фор- мулу трапеций с узлами х0, х1?..., хп _ j, х: х Aj(x) Л,(х) Jg(s) ds ® g(x0) — + g(x) — при n = 1, x h} n-2 hn(x) Jg(s) ds « g(x0) у + £ g(x;)hj +!/2 + g(xn_!) hn _,/2 (x) + g(x) — a 7=1 633
Глава 16. Численное решение интегральных уравнений при 2 < п < к. Здесь й„(х) = х - хп _ р hn _ |/2(х) = (йи _, + hn(x))IZ. В результате мы придем к формулам Л|(х) n К(х,х0)—u0+J и (х) ---------------- Л,(х) 1 -К(х,х) -j- ДЛЯ х е (х0,х,), (16.84) Л| П-2 К(х, Хо)у ИО + £ К(х, x.)h} + ! /2 Uj + К(х, х„ _ ,) Л„ _ ! /2(х) и„ _, N, \ и (х) = Л„(х) 1-К(х,х)-у- /(х) ----------- ДЛЯ Л„(х) \-К(х,х)—~- (16.85) Заметим, что в случае, когда Ко ты = max А?о(х) < 0 (т.е. когда X е [а, г>] А А Ко, max = К(х,х) < 0 для всех х е [а, Ь]), знаменатели в расчетных фор- мулах (16.82)—(16.85) не обращаются в ноль и все вычисления можно А провести до конца. Однако в случае, когда Ко, max > 0, для этого следует потребовать достаточную малость максимального из шагов: Ко, max^max — 1 • (16.86) Приведем без доказательства теорему об оценке погрешности рас- смотренного в этом пункте метода. Теорема 16.15. Пусть ядро К является непрерывной на множестве Д функцией и имеет непрерывные на Д производные Кх, Кхх. Пусть А функция Ко непрерывно дифференцируема на отрезке [а, Ь], а функция /дважды непрерывно дифференцируема на [а, Ь]. Пусть также выпол- нено условие (16.86). Тогда справедлива оценка погрешности ||м-м1|с[а,6]<С^ах, где C = e2(fc-a)A/“~ max ^-z[K(x,s)u(sy\ , М= max |/C(x,j)|.B 12 (x,s)ehdx (x,j)eA 634
§ 16.9. Интегральные уравнения Фредгольма первого рода § 16.9. Интегральные уравнения Фредгольма первого рода Задача решения интегрального уравнения Фредгольма первого рода ь |К(х, s)w(s) ds =/(х), х е [а, 6] (16.87) а относится к классу некорректных задач. Это проявляется в том, что уравнение (16.87) не может быть разрешено при произвольной правой части f. Если же при специальным образом выбранной правой части f уравнение имеет решение, то это решение может и не быть единствен- ным. Более того, сколь угодно малые погрешности задания правой части f могут приводить к сколь угодно большим погрешностям решения. Приведем простой пример, иллюстрирующий проблемы, возникаю- щие при решении уравнения Фредгольма первого рода. Ситуация в общем случае более сложная, но сходная. Пример 16.1. Рассмотрим уравнение (16.87) с ядром К(х, s)= 1, то есть уравнение ь J«(s) ds =/(х), хе[а,Ь]. (16.88) а Заметим, что интегральный оператор, стоящий в левой части уравне- ния (16.88), преобразует всякую функцию и в константу. Это означает, что уравнение заведомо не имеет решений, если /(х) £ const. Если же /(х) s с = const, то решением уравнения является и(х) = . Но решением того же уравнения является и любая функ- ция вида ь м(х) = + ф(х), где Jcp(x) dx = 0. а Таким образом, множество решений уравнения (16.88) бесконечно, и в нем есть решения, сколь угодно сильно отличающиеся друг от друга. Чтобы сделать задачу решения уравнения (2) корректной, нужно ограничить множество правых частей уравнения постоянными и искать решение также в классе постоянных. А 1. Метод регуляризации Тихонова. Для решения некорректных задач разработаны различные подходы. Мы кратко рассмотрим метод регуляризации, разработанный А.Н. Тихоновым, на примере решения интегрального уравнения Фредгольма первого рода. 635
Глава 16. Численное решение интегральных уравнений Пусть требуется найти решение уравнения (16.87), т.е. уравнения Xu=f. (16.89) При этом вместо идеальной правой части f задано ее приближение f , так что фактически приходится решать уравнение Хи = f . (16.90) Предположим для простоты, что интегральный оператор устроен так, что однородное уравнение Хи = 0 имеет только нулевое решение. В этом случае неоднородное уравнение (16.89) при заданной части f имеет решение и оно единственно. Обозначим точное решение уравне- ния (16.89), отвечающее правой части /, через «[/]. Рассматриваемая задача некорректна. Поэтому, как бы не была мала погрешность f -f задания правой части, погрешность решения u[f] - u[f ] может оказаться сколь угодно большой. Таким образом, пытаться искать точное решение интегрального уравнения (16.90) бессмысленно. В методе регуляризации предлагается заменить исходную задачу другой, регуляризованной задачей, решение которой близко к решению исходной задачи. Как правило, регуляризо- ванная задача явлется корректной, но плохо обусловленной. Один из способов построения такой регуляризованной задачи излагается ниже. Обычно известен уровень погрешности задания правой части. Будем предполагать, что II/-/II <8, где 0 < 8 — величина, характеризующая уровень погрешности. Определим невязку, отвечающую приближенному решению и урав- нения (16.89) формулой г\й ] = Хй - f Ясно, что функция и является точным решением интегрального уравнения (16.89) тогда и только тогда, когда г [к] = 0. Поэтому решение уравнения является точкой минимума функционала J(M) = IH«]II2=II^«-/II2 Так что задача минимизации функционала J(u) эквивалентна задаче: решения интегрального уравнения (16.89). 636
§ 16.9. Интегральные уравнения Фредгольма первого рода Положим J (и) = \\JCu-f ||2 и введем в функционал дополнительное слагаемое Qa = a||w||2 (это слагаемое принято называть регуляризаторам), где 0 < a — параметр (параметр регуляризации). Будем теперь рассматри- вать регуляризованную задачу — задачу минимизации функционала Ja(«) = J («) + na(«) = ||Х« -7 II2 + <х||м||2. Известно, что при любой правой части f регуляризованная задача имеет единственное решение, которое мы обозначим через wa[/ ]. Можно также показать, что регуляризованная задача эквивалентна задаче решения интегрального уравнения Фредгольма второго рода ь и(х) = j£a(x, s)u(s) ds + Fa(x), a где b b Ka(x, s) =-cT‘ Jtf(x, s) dt, Fa(x) = a’1 jk(x, s)f{s) • a a Более того, эта задача устойчива, а именно, справедлива оценка | «Л/]-иД/] | <С(а)||/-7И, в которой положительная постоянная С(а) не зависит от f и f . Если величина параметра регуляризации a = a(8) правильно согла- сована с величиной погрешности 8, то за приближенное решение урав- нения (16.89) можно принять решение wa(g)[/] регуляризованной задачи, причем приближенное решение будет сходиться к точному при 8-»0. 8 Теорема 16.16. Пусть a = a(8) > 0, причем а(8)-» О и О при 8->0. Тогда || «а(8)[/ ]-«[/] || -> О Замечание. Метод регуляризации применим и в том случае, когда решение уравнения (16.89) не является единственным. В этом случае сходимость будет иметь место к так называемому нор- мальному решению, т.е. к решению уравнения (16.89) с минималь- ной нормой || ы||. 637
Глава 16. Численное решение интегральных уравнений Для выбора конкретной величины параметра регуляризации а(8), часто используется метод выбора параметра регуляризации по невязке. Параметр а определяется как решение нелинейного уравнения <р(,а) = 82, где <р(а) = ||Хиа[ f ]-f ||2. Часто известно, что решение уравнения (16.89) — гладкое. В этой ситуации используется регуляризатор Оа = а[Ы2 + ||«'И2], и регуляризованной задачей становится задача поиска точки минимума функционала Ja(«) = ||Х« -7 II2 + a[||«II2 + II «'II2]. (16.91) 8 В этом случае, если а(8) -> 0, —> 0 при 8 -> 0, то будет выпол- Му нено не только свойство || -м[/] || -» 0, но и дополнительное СВОЙСТВО || Wa(8)[/]-“'[/] II ^0. 2. Дискретизация. Для того чтобы численно реализовать метод регуляризации, необходимо перейти к его дискретному варианту. Покажем, как это можно сделать, используя метод квадратур. Пусть для аппроксимации интегрального оператора используется формула прямоугольников (16.45) с достаточно малыми шагами hj, а производ- ная и аппроксимируется центральной разностной производной ц;+1/2 ц;-1/2 Л/ + 1/2 О < i < N. Тогда дискретным вариантом функционала J (и) будет функционал г- N -1 2 щскретным аналогом функционала Qa(i/)=a[||н||2+||н'||2] —функционал = a £ г N 2 , , (Ui +1/2 ui Ui-\/2^i + JI Г"- \ «; . i / л 2 ^/+1/2 638
§ 16.10. Интегральные уравнения Вольтерра первого рода а дискретным аналогом функционала (16.91) — функционал -I 2 Отметим, что задача минимизации этого функционала эквивалентна линейной задаче метода наименьших квадратов (см. § 5.12), применен- ной к решению переопределенной системы линейных алгебраических уравнений __ N 7=1 1 < i < N, J~a i/;_ j /2 = 0, 1 < i < M ui+\/2 ui-\/2 J 1/2 1 < i < ЛГ. § 16.10. Интегральные уравнения Вольтерра первого рода Рассмотрим интегральное уравнение Вольтерра первого рода |Х(х, s)u(s) ds =/(х) , х g [а, 6]. (16.92) а Заметим, что при х = а функция, стоящая в левой части уравнения, обращается в нуль. Поэтому для разрешимости уравнения необходимо, чтобы выполнялось условие f (а) = 0. Пусть, как и ранее, Kq(x) = Х(х, х) Предположим, что ядро К имеет непрерывную частную производную К9Х. В этом случае левая часть уравнения является непрерывно дифференцируемой на отрезке [а, 6] функцией, причем X X £ s)u(s) ds = Ко (x)u(x) + рС'(х, s)«(s) ds. а а Поэтому и правая часть f также должна быть непрерывно дифференци- руемой на отрезке [a, ft]. 639
Глава 16. Численное решение интегральных уравнений Дифференцируя уравнение (16.92), получаем х К0(х)и(х) + jk,(x, s)u(s) di =/'(*)• а Если KQ(x)u(x) * 0 на [а, Ь], то полученное уравнение может быть записано в виде уравнения Вольтерра второго рода и(х) = jO(x, s)u(s) ds + F(x), (16.93) где G(x, s) = - т-5— Kx'(x, s), F(x) = 7-!— f '(x). *o(x) K0(x) Из результатов предыдущего параграфа вытекает следующий результат. Теорема 16.17. Пусть ядро К и частная производная ядра Кх непре- рывны на множестве Д. Предположим, что К$(х) * 0 на отрезке [а, Ь]. Если функция / непрерывно дифференцируема на отрезке [а, Ь] и удовлетворяет условию f(a) = 0, то решение интегрального уравнения (16.92) существует, единственно и удовлетворяет оценке max | и(х) | < С max | /'(х) |, [а.Ь] [а, Ь] 2deC=±eM(b-°\ и ц= min Х’о(х) , М= max [а, Ь] (х, s) е Д 1 Kx\x,s) Таким образом, в условиях теоремы 16.16 задача решения интег- рального уравнения Вольтерра первого рода с приближенно заданной правой частью f корректна, если для приближений f к f возможно гарантировать малость погрешности (f )' - f'. Решение уравнения (16.93) может быть найдено с помощью одного из численных методов решения уравнения Вольтерра второго рода, если значения производных Кх nf' могут быть найдены с высокой точностью. 2. Некорректность задачи. Из изложенного в п. 1 материала могло сложиться впечатление, что численное решение интегральных уравне- ний Вольтерра первого рода — простая задача. Однако это не так. 640
§ 16.10. Интегральные уравнения Вольтерра первого рода Как правило, правая часть /уравнения задается приближенно, т.е. вместо уравнения (16.92) приходится решать уравнение X jk(x, s)«(s) ds =/(х), X 6 [a, Z>], (16.94) а где / (х)«f (х). Если / (а) # О или функция / не является непре- рывно дифференцируемой, то уравнение (16.94) не имеет решений. Кроме того, предложенный подход предполагает, что производная (/)' » «/', что весьма маловероятно. Часть возникающих проблем видна из следующего примера. Пр и мер 16.2. В случае, когда /С(х,з) s 1 уравнение (16.92) прини- мает вид х jw(s) ds =/(х). а Ясно, что решением этого уравнения является функция и, являющаяся производной функции /: м(х) =f'(x). Таким образом, решение уравнения сводится к дифференцированию правой части уравнения. Как известно (см. § 3.1, пример 3.5), задача дифференцирования функции / по ее приближенно заданным значеням / (х) является неустойчивой. ▲ Итак, задача вычисления решения интегрального уравнения Воль- терра первого рода с приближенно заданной правой частью некор- ректна. Ее грамотное численное решение предполагает использование специальных методов, например методов регуляризации. Замечание. Обратим внимание на то, что предложенный в п. 1 подход неприменим для уравнений с негладкими ядрами. Например, его нельзя использовать для уравнения Абеля (см. § 16.2) М£^=Дх), J Jx-s а поскольку его ядро К(х, s) = ------ не определено при х = з. JX-S А Кроме того, предположение о том, что К0(х) 0, даже для глад- ких ядер выполняется далеко не всегда. Например, оно не выпол- нено для уравнения (16.15) с ядром К(х, s) = при п > 1. 641
Глава 16. Численное решение интегральных уравнений § 16.11. Нелинейные интегральные уравнения Рассмотренные в данной главе методы могут быть применены и к реше- нию нелинейных интегральных уравнений Фредгольма и Вольтерра. 1. Нелинейное интегральное уравнение Фредгольма второго рода. Метод квадратур. Для численного решения уравнения ь и(х) = jk(x, s, u(s)) ds +/W, е [а, 6] (16.95) а может быть использован метод квадратур. Если за основу взята квадра- турная формула (16.39), то метод квадратур приводит не к системе линейных алгебраических уравнений (16.41), как это было при решении линейного интегрального уравнения (16.38), а к системе нелинейных уравнений N ui=^cjK(xi’xj>uj^fi^ i= ь2’ - (16.96) /=1 относительно неизвестных и2, ...» uN, где W; = ^(хД 1 < i < N. Решив эту систему одним из итерационных методов, мы можем затем вычислить приближенное решение во всех точках отрезка [а, Ь] по формуле N N и W = £с,£(х,ху, uj) +/(*) , х е [а, 6]. (16.97) Если, например, за основу взята квадратурная формула прямоуголь- ников (16.45), то система (16.96) принимает вид N ui-\/2 = ^^(Xi-\/2’Xj-\/2’Uj-\/2^j^f(Xi-\/2^ Ь 2, /=1 где MZ_1/2 =uN(xi_[/2), 1 < i < N. При этом формула (16.97) выглядит так: «"(х)= xj-1/2 > “/-1/2 )Л7 +/(*). х е [а, Ь]. 7=1 2. Нелинейное интегральное уравнение Фредгольма второго рода. Метод Галеркина. Для решения уравнения (16.95) возможно и 642
§ 16.11. Нелинейные интегральные уравнения применение проекционных методов. Классический метод Галеркина приводит к системе нелинейных уравнений n b? £ ]ф;О)Ф,О) dx * = J Jx(x,j,^a;q>;(x)) a a j= 1 Ф;(х) dx ds + b + f/(x)<p,(x)dx, l<i<M (16.98) a В частности, при использовании метода Галеркина с кусочно-постоян- ными базисными функциями система (16.98) принимает вид (ср. с (16.69)): ui-\/2 = V/(wl/ 2 ’ UN- 1/2) +fi- 1/2 ’ 1 - * - М где xg;(«i/2,...,«y_i/2) = r J I xi-\ xi-\ 3. Нелинейное интегральное уравнение Вольтерра второго рода. Для численного решения уравнения х «(х) = /Х(х, з, u(s)) ds +f(x), X € [a, Z>] (16.99) a также может быть использован метод квадратур. Если в случае линей- ного уравнения (16.80) задача сводилась к системе линейных алгебраи- ческих уравнений, то для нелинейного уравнения (16.99) метод квадра- тур дает систему нелинейных уравнений "о =/о» cnlK.(xn, Хр Uj) + fn, п — 1,2,..., N. J-0 Значения неизвестных м0, ..., uN вычисляются последовательно. Если Мр и2, ", ип _ j уже найдены, то для вычисления очередного зна- чения ип нужно решить нелинейное уравнение и„ = с„„К(х„, х„, и„) + F„, п - 1 где Fn — cnjK(xn, Xj, Uj) + fn. ;=o 643
Глава 16. Численное решение интегральных уравнений 4. Нелинейное интегральное уравнение Фредгольма первого рода. Задача вычисления решения уравнения ь jk(x, s, u(s))ds = /(х), х е [а, Л] (16.99) а некорректна. Поэтому для ее решения необходимо использование мето- дов регуляризации. Например, по аналогии с изложенным в § 16.7 подходом эту задачу можно заменить регуляризованной задачей минимизации функционала 2 ь х, s,u(s)) ds -f (х) dx +а[||и||2 +1|«'||2] a L а и для численной реализации использовать ее дискретный вариант — задачу минимизации функционала § 16.12. Дополнительные замечания 1. Мы изложили только методы решения одномерных интегральных уравнений, в которых решением является функция одной переменной, а интегрирование производится по отрезку [а, 6]. Однако на практике часто встречаются многомерные интегральные уравнения Фредгольма первого и второго рода pf(x, s)u(s) ds =f(x), x e G, (16.100) G w(x) = j£(x, s)u(s) ds +f(x), X e G, (16.101) G в которых искомая функция и(х) = u(xp х2, ..., хт) является функцией многих переменных, а интегрирование проводится по области G с Rm. Встречаются и задачи, в которых интегрирование производится по некоторым кривым или поверхностям. 644
§ 16.12. Дополнительные замечания Рассмотренные в данной главе методы могут быть применены (с естественными изменениями) и к численному решению уравнений (16.100), (16.101). 2. Для простоты изложения и понимания мы ограничились в данной главе интегральными уравнениями с вещественнозначными ядрами К и правыми частями f В приложениях нередко встречаются и интеграль- ные уравнения с комплекснозначными ядрами К и правыми частями / Теория и методы решения таких уравнений в основном аналогичны вещественному случаю. Значительная часть отличий при этом носит формальный характер. Так, скалярное произведение комплекснознач- ных функций /ng следует определять формулой ь ______ (f, g) = fa) g(x) dx. а (Как обычно, черта над комплексным числом z = а 4- ib означает взятие операции комплексного сопряжения: ~z = а - ib.) Для уравнений с комплекснозначными ядрами роль сопряженного оператора JC* играет оператор с ядром К\х, s) = K(s, х), а условие (16.17) симметричности ядра заменяется условием К(х, s) = K(s, х). 3. Во многих прикладных задачах ядро К не является гладким. Оно может иметь те или иные особенности. Чаще всего ядро перестает быть гладким на диагонали х = s квадрата П. Например, ядро (7(х, 5) уравне- ния (16.12) непрерывно, но его производные имеют разрыв при х= s. Ядро K(z, у) = - уравнения Абеля (16.5) стремится к бесконеч- Jz-s ности при z-s-»0. Ядро £j(|t-т'|) уравнения переноса излучения (16.6) также стремится к бесконечности при т - т' -» 0. Для решения интегральных уравнений с такими ядрами проекцион- ные методы и метод наименьших квадратов приспособлены значи- тельно лучше, чем метод квадратур. 4. Одной из практически важных задач является задача вычисления собственных значений интегральных операторов. 645
Глава 16. Численное решение интегральных уравнений Напомним, что комплексное число А. называется собственным значе- нием интегрального оператора JC, если существует ненулевая функция и такая, что ь |К(х, s)u(s) ds = ku(s), х g [a, 6]. (16.102) a Эта функция называется собственной функцией интегрального опера- тора, отвечающей собственному значению А.. Известно, что всякий интегральный оператор с ядром, удовлетво- ряющим условию ьь JjW, 5)|2 dscLs < оо, аа имеет конечный или счетный набор собственных значений. Если мно- жество собственных значений счетно, то его можно упорядочить в порядке убывания модулей: |XJ > |Х2| > ... > |ХЛ| >... При этом 0 при п -> сю . Известно также, что все собственные числа самосопряженного опе- ратора являются вещественными, а его собственные функции, отве- чающие различным собственным значениям, ортогональны. Изложенные в данной главе методы могут быть использованы и для решения задачи вычисления собственных значений интегрального опе- ратора JC. Например, аппроксимируя уравнение (16.102) в соответствии с изложенным в п. 1 § 16.3 методом квадратур, мы приходим к алгебра- ической задаче на собственные значения ^NUN = ^UN- Собственные значения k\N\ А.^, ...,А.^ матрицы BN дают приближе- ния к первым собственным значениям Х2, ..., kN интегрального опе- ратора JC. Применяя к уравнению (16.102) метод Галеркина в изложенном в п. 1 § 16.4 варианте, мы приходим к обобщенной алгебраической задаче на собственные значения KN a = M)N а. Собственные значения матрицы D^KN также дают приближения к собственным значениям оператора 5С 646
§ 16.12. Дополнительные замечания Следует иметь в виду, что лишь для первых М (где М значительно меньше N) наибольших по модулю собственных значений оператора ЭС получаются достаточно точные приближения. 5. Начала теории интегральных уравнений можно найти в учебниках [3*, 7*, 19*]. Аналитические методы решения ряда интегральных урав- нений со специальными ядрами содержатся в справочнике [9*]. Разно- образная информация о численных методах решения интегральных уравнений содержится в учебниках [9, 14, 22, 36, 51, 61, Г, 3*, 4*] и монографии [19*]. Более подробно методы решения некорректных интегральных уравнений изложены в [7, 37, 97, 98]. 647
СПИСОК ЛИТЕРАТУРЫ 1. Алберг Дж., Нилсон Э., Уолш Дж. Теория сплайнов и ее приложения. М.: Мир, 1972. 2. Андреев В.Б., Руховец Л.А. Проекционные методы. М.: Знание, 1986. 3. Арушанян О.Б., Залеткин С.В. Численное решение обыкновенных диффе- ренциальных уравнений на Фортране. М.: Изд-во МГУ, 1990. 4 Бабенко К.И. Основы численного анализа. М.: Наука, 1986. 5. Бабушка И., Внтасек Э., Прагер М. Численные процессы решения диффе- ренциальных уравнений. М.: Мир, 1969. 6. Базара М., Шеттн К. Нелинейное программирование. Теория и алгоритмы. М.: Мир, 1982. 7. Бакушииский А.Б., Гончарский А.В. Некорректные задачи. Численные ме- тоды и приложения. М.: Изд-во МГУ, 1989. 8. Бахвалов Н.С. Численные методы. М.: Наука, 1973. 9. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. М.: Нау- ка, 1987. 10. Бахвалов Н.С., Лапин А.В., Чнжонков Е.В. Численные методы в задачах и упражнениях. М.: Высшая школа, 2000. 11. Бейкер Дж., Грейвс-Моррис П. Аппроксимации Паде. М.: Мир, 1986. 12. Беклемишев Д.В. Дополнительные главы линейной алгебры. М.: Наука, 1983. 13. Березин И.С., Жидков Н.П. Методы вычислений. Т. 1. М.: Физматгиз, 1962. 14. Березин И.С., Жидков Н.П. Методы вычислений. Т. 2. М.: Физматгиз, 1962. 15. Блехман Н.Н., Мышкнс А.Д., Пановко Я.Г. Механика и прикладная матема- тика. Логика и особенности приложений математики. М.: Наука, 1983. 16. Боглаев Ю.П. Вычислительная математика и программирование. М.: Выс- шая школа, 1990. 17. Боголюбов А.Н. Математики. Механики: Биографический справочник. Киев: Наукова думка, 1983. 18. Де Бор К. Практическое руководство по сплайнам. М.: Радио и связь, 1985. 19. Бородин А.Н., Бугай А.С. Выдающиеся математики. Киев: Радянська шко- ла, 1987. 20. Васильев Ф.П. Численные методы решения экстремальных задач. М.: Нау- ка, 1980. 21. Вержбицкий В.М. Численные методы. Линейная алгебра и нелинейные урав- нения. М.: Высшая школа, 2000. 22. Вержбицкий В.М. Численные методы. Математический анализ и обыкновен- ные дифференциальные уравнения. М.: Высшая школа, 2001. 648
Список литературы 23. Воеводин В.В. Вычислительные основы линейной алгебры. М.: Наука, 1977. 24. Воеводин В.В., Кузнецов Ю.А. Матрицы и вычисления. М.: Наука, 1984. 25. Волков Е.А. Численные методы. М.: Наука, 1987. 26. Галлагер Р. Метод конечных элементов. Основы. М.: Мир, 1984. 27. Гантмахер Ф.Р. Теория матриц. М.: Наука, 1988. 28. Гилл Ф., Мюррей У., Райт М. Практическая оптимизация. М.: Мир, 1985. 29. Годунов С.К. Современные аспекты линейной алгебры. Новосибирск: Науч- ная книга, 1997. 30. Годунов С.К., Рябенький В.С. Разностные схемы. М.: Наука, 1977. 31. Голуб Дж., Ван Лоун Ч. Матричные вычисления. М.: Мир, 1999. 32. Горннштейн А.М. Практика решения инженерных задач на ЭВМ. М.: Радио и связь, 1984. 33. Деккер К., Вервер Я. Устойчивость методов Рунге—Кутты для жестких не- линейных дифференциальных уравнений. М.: Мир, 1988. 34. Деклу Ж. Метод конечных элементов. М.: Мир, 1976. 35. Демидович Б.П., Марон И.А. Основы вычислительной математики. СПб.: Лань, 2011. 36. Демидович Б.П., Марон И.А., Шувалова Э.З. Численные методы анализа. СПб.: Лань, 2010. 37. Денисов А.М. Введение в теорию обратных задач. М.: Изд-во МГУ, 1994. 38. Джордж А., Лю Дж. Численное решение больших разреженных систем урав- нений. М.: Мир, 1984. 39. Джоунс У., Трон В. Непрерывные дроби. М.: Мир, 1985. 40. Деннис Дж., Шнабель Р. Численные методы безусловной оптимизации и ре- шения нелинейных уравнений. М.: Мир, 1988. 41. Жаблон К., Симон Ж.-К. Применение ЭВМ для численного моделирования в физике. М.: Наука, 1983. 42. Завьялов Ю.С., Квасов Б.И., Мирошниченко В.Л. Методы сплайн-функ- ций. М.: Наука, 1980. 43. Зенкевич О. Метод конечных элементов в технике. М.: Мир, 1975. 44. Зенкевич О., Морган К. Конечные элементы и аппроксимация. М.: Мир, 1986. 45. Иванов В.В. Методы вычислений на ЭВМ: Справочное пособие. Киев: Пау- кова думка, 1986. 46. Икрамов Х.Д. Численные методы линейной алгебры. (Решение линейных уравнений). М.: Знание, 1987. 47. Икрамов Х.Д. Численные методы для симметричных линейных систем. М.: Наука, N88. 48. Икрамов Х.Д. Вычислительные методы линейной алгебры. (Решение боль- ших разреженных систем уравнений прямыми методами). М.: Знание, 1989. 49. Икрамов Х.Д. Несимметричная проблема собственных значений. М.: Нау- ка, 1991. 649
Список литературы 50. Ильин В.П., Кузнецов Ю.И. Трехдиагональные матрицы и их приложения. М.: Наука, 1985. 51. Калнткнн Н.Н. Численные методы. М.: Наука, 1978. 52. Канторович А.В., Акилов ГЛ. Функциональный анализ. М.: Наука, 1977. 53. Карпов В.Я., Корягин Д.А. Пакеты прикладных программ. М.: Знание, 1983. 54. Кахаиер Д., Моулер К., Нэш С. Численные методы и программное обеспе- чение. М.: Мир, 1999. 55. Киреев В.И., Пантелеев А.В. Численные методы в примерах и задачах. М.: Изд-во МАИ, 2000. 56. Копченова Н.В., Марон И.А. Вычислительная математика в примерах и за- дачах. СПб.: Лань, 2009. 57. Косарев В.И. 12 лекций по вычислительной математике. М.: Изд-во МФТИ. Физматкнига, 2000. 58. Краснощеков П.С., Петров А.А. Принципы построения моделей. М.: Изд-во МГУ, 1983. 59. Кронрод А.С. Узлы и веса квадратурных формул. М.: Наука, 1964. 60. Крылов В.И., Бобков В.В., Монастыриый П.Н. Вычислительные методы. Т. I. М.: Наука, 1976. 61. Крылов В.И., Бобков В.В., Монастыриый П.Н. Вычислительные методы. Т. II. М.: Наука, 1977. 62. Лебедев В.И. Функциональный анализ и вычислительная математика. М.: ВИНИТИ, 1994. 63. Локуцневский О.В., Гавриков М.Б. Начала численного анализа. М.: ТОО «Янус», 1995. 64. Лоусон У., Хенсон Р. Численное решение задач метода наименьших квадра- тов. М.: Наука, 1986. 65. Люк Ю. Специальные математические функции и их аппроксимации. М.: Мир, 1980. 66. Люстерннк Л.А., Червоненкис О.А., Янпольский А.Р. Математический анализ. Вычисление элементарных функций. М.: Физматгиз, 1963. 67. Марчук Г.И. Методы вычислительной математики. СПб.: Лань, 2009. 68. Марчук Г.И., Агошков В.И. Введение в проекционно-сеточные методы. М.: Наука, 1981. 69. Марчук Г.И. Шайдуров В.В. Повышение точности решений разностных схем. М.: Наука, 1979. 70. Митчелл Э., Уэйт Р. Метод конечных элементов для уравнений с частными производными. М.: Мир, 1981. 71. Моисеев Н.Н. Математика ставит эксперимент. М.: Наука, 1979. 72. Морозов В.А. Регулярные методы решения некорректно поставленных задач. М.: Наука, 1987. 73. Ортега Дж., Пул У. Введение в численные методы решения дифференциаль- ных уравнений. М.: Наука, 1986. 650
Список литературы 74. Ортега Д., Рейиболдт В. Итерационные методы решения нелинейных систем уравнений со многими неизвестными. М.: Мир, 1975. 75. Парлетт Б. Симметричная проблема собственных значений. М.: Мир, 1983. 76. Пирумов У.Г. Численные методы. М. Изд-во МАИ. 1998. 77. Писсаиецки С. Технология разреженных матриц. М.: Мир, 1988. 78. Поляк Б.Т. Введение в оптимизацию. М.: Наука, 1983. 79. Попов Ю.П., Самарский А.А. Вычислительный эксперимент. М.: Знание, 1983. 80. Пшеничный Б.П., Данилин Ю.М. Численные методы в экстремальных зада- чах. М.: Наука, 1975. 81. Райс Дж. Матричные вычисления и математическое обеспечение. М.: Мир, 1984. 82. Ракнтскнй Ю.В., Устинов С.М., Чериоруцкий М.Г. Численные методы ре- шения жестких систем. М.: Наука, 1979. 83. Рябенький В.С. Введение в вычислительную математику. М.: Наука, 1994. 84. Самарский А.А. Введение в численные методы. СПб.: Лань, 2009. 85. Самарский А.А. Введение в теорию разностных схем. М.: Наука, 1974. 86. Самарский А.А. Теория разностных схем. М.: Наука, 1977. 87. Самарский А.А., Вабищевич П.Н., Самарская Е.А. Задачи и упражнения по численным методам. М.: Эдиториал УРСС, 2000. 88. Самарский А.А., Гулин А.В. Численные методы. М.: Наука, 1989. 89. Самарский А.А., Николаев Е.С. Методы решения сеточных уравнений. М.: Наука, 1978. 90. Сегерлинд Л. Применение метода конечных элементов. М.: Мир, 1979. 91. Современные численные методы решения обыкновенных дифференциаль- ных уравнений / Под. ред. Дж. Холла и Дж. Уатта. М.: Мир, 1979. 92. Справочник по специальным функциям с формулами, графиками и математи- ческими таблицами / Под ред. М. Абрамовица и И. Стиган. М.: Наука, 1979. 93. Стренг Г., Фикс Дж. Теория метода конечных элементов. М.: Мир, 1977. 94. Сухарев А.Г., Тимохов А.В., Федоров В.В. Курс методов оптимизации. М.: Наука, 1986 95. Съярле Ф. Метод конечных элементов для эллиптических задач. М.: Мир, 1980. 96. Тихонов А.Н. Математическая модель. Математическая энциклопедия. Т. 3. М.: Советская энциклопедия, 1982. 97. Тихонов А.Н., Арсенин В.Я. Методы решения некорректных задач. М.: Нау- ка, 1986 98. Тихонов А.Н., Гончарский А.В., Степанов В.В., Ягола Л.Г. Численные ме- тоды решения некорректных задач. М/ Наука, 1990. 99. Тихонов А.Н., Костомаров Д.П. Вводные лекции по прикладной математике. М.: Наука, 1984. 651
Список литературы 100. Тыртышннков Е.Е. Краткий курс численного анализа. М.: ВИНИТИ, 1994. 101. Тыоарсон Р. Разреженные матрицы. М.: Мир, 1977. 102. Уилкинсон Дж.Х. Алгебраическая проблема собственных значений. М.: Нау- ка, 1970. 103. Уилкинсон Дж. X, Райнш К. Справочник алгоритмов на языке Алгол. Ли- нейная алгебра. М.: Машиностроение, 1976. 104. Федоренко Р.П. Введение в вычислительную физику. М.: Изд-во МФТИ, 1994. 105. Флетчер К. Численные методы на основе метода Галеркина. М.: Мир, 1988. 106. Форсайт Дж., Малькольм М., Моулер К. Машинные методы математиче- ских вычислений. М.: Мир, 1980. 107. Форсайт Дж., Молер К. Численное решение систем линейных алгебраиче- ских уравнений. М.: Мир, 1969. 108. Хайрер Э., Ваннер Г. Решение обыкновенных дифференциальных уравне- ний. Жесткие и дифференциально-алгебраические задачи. М.: Мир, 1999. 109. Хайрер Э., Нерсетт С., Ваннер Г. Решение обыкновенных дифференциаль- ных уравнений. Нежесткие задачи. М.: Мир, 1990. ПО. Хейгман Л., Янг Д. Прикладные итерационные методы. М.: Мир, 1986. 111. Хеммннг Р.В. Численные методы для научных работников и инженеров. М.: Наука, 1972. 112. Химмельблау Д. Прикладное нелинейное программирование. М.: Мир, 1975. 113. Чуи К. Введение в вэй влеты. М.: Мир, 2001. 114. Шуп Т. Решение инженерных задач на ЭВМ. М.: Мир, 1982. 115. Эльсгольц Л.Э. Дифференциальные уравнения и вариационное исчисление. М.: Наука, 1969. 116. Эстербю О., Златев 3. Прямые методы для разреженных матриц. М.: Мир, 1987. 117. Allen III М.В., Isaacson E.I. Numerical analysis for applied science. JOHN WI- LEY & SONS INC, 1997. 118. Cheney W., Kincard D. Numerical mathematics and computing. Brooks, Cole Publishing Company, 1999. 119. Gautschi W. Numerical Analysis. An Introduction. Birkhauser, 1997. 120. Kress R. Numerical Analysis. Springer, 1998. 121. Saad Y. Iterative methodes for sparse linear systems. Second Edition. SIAM. Phil- adelphia, 2000. 122. Stoer J., Bulirsch R. Introduction to Numerical Analysis. Springer-Verlag, New York, 2002. 123. BarretR., Berry M., Chan T.F., Demmel J., Donato J., Dongarra J., Eijkhout V., Pozo R., Romine C., Van der Vorst H. Templates for the Solution of Linear Systems: Building Blocks for Iterative Mettods. SIAM, 1994. 652
Список литературы Список литературы, добавленной к 3-му изданию Г. Арушанян И.О. Численное решение интегральных уравнений методом квадратур. М.: Изд-во МГУ, 2002. 2*. Баландин М.Ю., Шурина Э.П. Методы решения СЛАУ большой размерности. Новосибирск: Изд-во НГТУ, 2000. 3*. Васильева А.Б., Тихонов Н.А. Интегральные уравнения. СПб.: Лань, 2009. 4*. Гавурнн М.К. Лекции по методам вычислений. М.: Наука, 1971. 5*. Дем мель Дж. Вычислительная линейная алгебра. Теория и приложения. М.: Мир, 2001. 6*. Костомаров Д.П., Фаворский А.П. Вводные лекции по численным методам. М.: Логос, 2004. Т. Краснов М.Л. Интегральные уравнения. Введение в теорию. М.: Наука, 1975. 8*. Малла С. Вэйвлеты в обработке сигналов. М.: Мир, 2005. 9*. Манжнров А.В., Полянин А.Д. Методы решения интегральных уравнений. Справочник. М.: Факториал, 1999. 10*. Самарский А.А., Гулин А.В. Численные методы математической физики. М.: Научный мир, 2003. 1Г. Самарский А.А., Михайлов В.П. Математическое моделирование. М.: Физматлит, 2002. 12*. Тыртышннков Е.Е. Матричный анализ и линейная алгебра. М.: Физматлит, 2007. 13*. Фрейзер М. Введение в вэйвлеты в свете линейной алгебры. М.: БИНОМ. Лаборатория знаний, 2007. 14*. Atkinson К.Е. An Introduction to Numerical Analysis. John Willey, New York, 1989. 15*. Butcher J.C. Numerical Methods for Ordinary Differential Equations. Wiley, 2003. 16*. Dahlquist G., BjMerck A. Numerical Methods in Scientific Computing. Volume 1. SIAM, Philadelphia, 2008. 17*. Dahlquist G., Bj Merck A. Numerical Methods in Scientific Computing. Volume 2. SIAM, Philadelphia, 2008. 18*. Conte S.D., de Boor C. Elementary numerical analysis. An algorithmic approach. McGraw-Hill Book Company, 1980. 19*. Hackbusch W. Inegral Equations. Theory and Numerical Treatment. Birkhauser Verlag. Basel - Boston - Berlin, 1995. 20*. Heath M.T. Scientific Computing. An Introductory Survey. McGraw-Hill, Boston, MA, 2002. 21*. Higham N.J. Accuracy and Stability of Numerical Algorithms. SIAM. Philadel- phia. PA, 1996. 653
Список литературы 22? Hoffman J.D. Numerical methods for Engineers and Scientists Marcel Dekker, Inc. New York — Bazel, 2001. 23? Kincaid D., Cheney W. Numerical Analysis. Brooks/Cole, Pacific Grove, CA, 2002. 24? Quarteroni A., Sacco R., Salery F. Numerical Mathematics. Springer-Verlag. New York, 2000. 25? Saad Y. Numerical Methods for Large Eigenvalue Problems. Second Edition, SIAM, Philadelphia, 2003. 26? Van der Vorst H.A. Iterative Krylov Methods for Large Linear Systems. Cam- bridge University Press. Cambridge, UK, 2003. 27? Tyrtychnikov E. A Brief Introduction to Numerical Analysis. Birkhauser, Boston, 1997. 654
предметный указатель Абсолютная погрешность 27 -----вектора 133 — устойчивость 527 Абстрактный вычислительный алгоритм 69 Автоматический выбор шага 514 Адаптивные процедуры численного интегрирования 462 Алгоритм бинарный 84 — Грама—Шмидта 192 -----модифицированный 194 — вычислительно устойчивый 71 — вычислительный 69 -----абстрактный 69 — Гира 551 — Краута 200 — неустойчивый 71 — плохо обусловленный 77 — устойчивый 71 — хорошо обусловленный 77 — LR 284 — QR 279 -----основной 279 -----со сдвигами 282 Алгоритмы гибридные 128 310 — регуляризованные 128, 310 Анализ ошибок обратный 79 -----прямой 78 -----статистический 81 Антиградиент 314 Антипереполнение 42 Апостериорные оценки погрешности 68 Аппроксимационная теорема Вейерштрасса 380 Аппроксимация дифференциального уравнения 490, 567 -------с р-м порядком 490, 568 — краевых условий 577 Аппроксимация Паде 421 Априорные оценки погрешности 67 -----решения краевой задачи 558 -----разностной схемы 566 Базис лагранжев 386 — локальный степенной 386 — нормированный степенной 386 — степенной 386 — чебышевский 386 Базисные многочлены 386 — функции 580 -----кусочно линейные 586 ----- специальные 589 Баллистический метод 591 Безье кривые 425 Быстрое дискретное преобразование Фурье 398 Вариационная постановка краевой задачи 579 Вариационно разностная схема 588 Вариационные принципы 579 Вариационный функционал 579 Вековое уравнение 260 Вектор Нордсика 553 Векторы взаимно сопряженные 335 Верная цифра 29 Верхняя граница абсолютной погрешности 28 -----относительной погрешности 28 Вес 467 Весовая функция 467 Веса квадратурной формулы 438 -------Гаусса 454 Временная постоянная 482 -----локальная 482 Входное данное 12 655
Предметный указатель Вычислительная задача 14, 48 -----корректная 48 -----некорректная 49, 53 -----плохо обусловленная 54 -----хорошо обусловленная 54 — погрешность 26 Вычислительный алгоритм 69 -----абстрактный 69 -----корректный 69 -----некорректный 70 -----неустойчивый 71 -----устойчивый 71 — процесс 21 — эксперимент 22 Вычислительные методы 15, 61 Вэйвлеты 425 Гибридные алгоритмы 128, 310 Главный член погрешности квадратурной формулы 456 Глобальная погрешность 491 — полиномиальная интерполяция 380 Градиент 314 Градиентный метод 322 Граница абсолютной погрешности 28 — относительной погрешности 28 Граничные условия 393 Данные входные 12 — выходные 12 — исходные 12 Двоичный порядок 39 Двухточечная краевая задача 555 Денормализованные числа 40 Дефект сплайна 390 Диагональное преобладание строчное 156 -----столбцовое 206 Дискретизация 63 Дискретная задача Коши 486 — краевая задача 555, 560 Дискретное преобразование Фурье 396 -------быстрое 398 -------обратное 397 -------прямое 397 Диссипативная система дифференциальных уравнений 536 Дробление шага 320 Дробь непрерывная 420 — цепная 420 Евклидова норма вектора 132 -----матрицы 135 Естественный кубический сплайн 393 Жесткая задача Коши 543 — система дифференциальных уравнений 547 Жорданова форма матрицы 263 Задача безусловной минимизации 312 — вычислительная 14, 48 -----корректная 48 ----- некорректная 49 -----плохо обусловленная 54 -----хорошо обусловленная 54 — дискретной минимизации 345 — жесткая 543 — идентификации 13 — интерполяции 350 -----обобщенными многочленами 351 — конечномерная 63 — линейного программирования 345 — Коши 478 -----дискретная 486 -----для обыкновенного дифференциального уравнения первого порядка 477 ---------------?и-го порядка 542 -------системы обыкновенных дифференциальных уравнений первого порядка 534 -----жесткая 543 -------для системы дифференциаль- ных уравнений 547 — краевая двухточечная 555 — минимизации оценки погрешности интерполяции 365 — начальная 476 656
Предметный указатель Задача наименьших квадратов линейная 188, 402 -------нелинейная 341 — нелинейного программирования 345 — о наилучшем равномерном приближении 414 — о понижении степени многочлена 417 — обратная 13 — одномерной минимизации 286 — прямая 12 — регуляризованная 636 — условной минимизации 312 Золотое сечение 303 Значащая цифра 28 Интегральная кривая 477 Интегральное тождество 582 Интегральное уравнение Абеля 600 -----переноса излучения 600 Интегральные уравнения 598 -----Вольтерра второго рода 599 -------первого рода 598 -----линейные 599 -----нелинейные 599 -----Фредгольма второго рода 598 -------первого рода 598 Интегрирование дифференциального уравнения 477 Интегро-интерполяционный метод 576 Интервал неопределенности корня нелинейного уравнения 95 -----точки локального минимума 292 Интервальный анализ 47 Интерполирование 350 Интерполяционный массив 381 — многочлен 355 -----Бесселя 422 -----кубический Эрмита 360 -----Лагранжа 356 -----Ньютона с конечными разностями для интерполяции вперед 379 ---------------для интерполяции назад 380 -------с разделенными разностями 376 -----обобщенный 351 Интерполяционный многочлен с кратными узлами 359 -----Эрмита 360 Интерполяция 350 — билинейная 424 — глобальная полиномиальная 380 — квадратичная 357 — кубическая 357 — кусочно-полиномиальная 388 — линейная 357, 424 — многомерная 423 — локальная 387 — обратная 422 — рациональная 420 — тригонометрическая 399 Искомое решение 12 Исчезновение порядка 42 Исчерпывание 275 Итерационная последовательность 66 — функция 100 Итерационное уточнение 185 -----корней нелинейного уравнения 91 Итерационные методы 66 — двухслойные 218 Итерационный метод одношаговый 92 -----к-шаговый 92 Итерационный метод с оптимальным выбором параметра явный стационарный 220 ---------------неявный 224 -----с чебышевским набором пара- метров явный 222 ------------------неявный 226 -----Эйлера 127 — процесс 66 Итерация 66 Катастрофическая потеря точности 33, 75 Квазиньютоновские методы 333, 345 Квазиньютоновское условие 334 Квадратурная сумма 438 — формула 438 -----Гаусса 452 -----Гаусса—Кронрода 465 657
Предметный указатель Квадратурная формула интерполяционного типа 447 -----левых прямоугольников 440 -----Ньютона—Котеса 447 -----правых прямоугольников 440 -----прямоугольников элементарная 440 -----составная 440 -----Симпсона элементарная 442 -----составная 442 -----точная для многочленов степени т 438 -----трапеций элементарная 441 -----составная 441 -----центральных прямоугольников 440 Компьютер 6 разрядный десятичный 45 Конечномерная задача 63 Конечно разностная схема 521 Конечно-разностные методы 521 Конечные разности 367 -----вперед 367 -----назад 372 -----порядка к 367 Конечные элементы 585 Константа Лебега 385 Корень нелинейного уравнения 87 ------- простой 87 -------кратный 87 Корневое условие 524 Корректность вычислительного алгоритма 69 — вычислительной задачи 48 Коэффициент роста 153 Краевая задача двухточечная 555 -----дискретная 560 Краевые условия первого рода 556 -----второго рода 556 Кратность корня нелинейного уравнения 87 — узла интерполяции 360 Критерий окончания итерационного процесса 67 Круги Гершгорина 264 Кубатурные формулы 474 Кусочно-полиномиальная интерполяция 388 Линейная задача наименьших квадратов 188, 402 Линия уровня 313 Локализация корней нелинейного уравнения 90 — собственных значений 264 Локальная интерполяция 387 — погрешность 490 Локальный сплайн 392 Ломаная Эйлера 497 Мантисса 39 Масштабирование 156 Математическая модель 10 -----гипотетическая 11 -----динамическая 12 -----статическая 12 Математическое моделирование 10 Матрица — верхняя треугольная 137 — Гессе 315 — Гильберта 143 — Грама 352 — диагональная 136 — единичная 136 — заполненная 138 — ленточная 139 — нижняя треугольная 137 — ортогональная 176 — отражения 181 — плотная 138 — плохо обусловленная 141 — подобия 262 — положительно определенная 137 — простой структуры 263 — разреженная 138 — симметричная 137 — трехдиагональная 139 — треугольная 137 658
Предметный указатель Матрица Хаусхолдера 181 — Хессенберга 282 — Якоби 240 Матрицы подобные 262 Машинная бесконечность 42 — точность 41 Машинное слово 38 — эпсилон 41 Метод Адамса 517 -----интерполяционный 518 -----экстраполяционный 518 — Адамса—Башфорта 518 — Адамса—Моултона 518 — баланса 576 — баллистический 591 — бисекции 97, 307 — бисекций 284 — Бройдена 254 — вращений 176 -----Якоби 284 — выбора параметра регуляризации по невязке 638 — Галеркина 583, 619 -----итерированный 621 — Галлея 127 — Гаусса 145 -----с выбором главного элемента по всей матрице 154 -----------------столбцу 152 — Гаусса—Зейделя 211 Метод Гаусса—Жордана 200 — Гаусса—Ньютона 342 -----модифицированный 343 — градиентный 322 — Давиденко 258 — Данилевского 261 — деления отрезка пополам 298 — деформируемого многогранника 339 — дифференцирования по параметру 257 — Дормана—Принса 512 — замены ядра на вырожденное 628 — Зейделя 210 ----- нелинейный 248 Метод золотого сечения 303 — интегро-интерполяционный 576 — Канторовича 621 -----итерированный 621 — касательных 113 — квадратных корней 168 — квадратур 611 — коллокации 626 — конечных разностей 559 -----элементов 585 — Крылова 261 — Ланцоша 285 — Левенберга—Маркардта 344 — Леверье 261 — ложного положения 120, 253 — минимальных невязок 227 — минимальных поправок 228 — Монте—Карло 474 — Мюллера 128 — наименьших квадратов 188, 400 — наискорейшего спуска 228, 323 — Нумерова 543 — Ньютона вычисления Ja 66 -----минимизации 308, 330 -----модифицированный 251 -----решения нелинейных уравнений 112 -------систем нелинейных уравнений 248 -----упрощенный 119, 252 — обратной квадратичной интерполяции 127 — обратных итераций 276 -------с использованием отношения Рэлея 278 — отражений 181 — пассивного поиска 296 — покоординатного спуска 320 — последовательного исключения неизвестных 145 — последовательной верхней релаксации 216 -----нижней релаксации 216 — последовательных замещений 211 659
Предметный указатель Метод пристрелки 591 — прогонки 171 — продолжения по параметру 255 — простой итерации решения систем линейных алгебраических уравнений 202 ----------систем нелинейных уравнений 243 ----------нелинейных уравнений 100 — регуляризации Тихонова 635 — релаксации 216 — Ритца 580 — Ричардсона 222 — Ромберга 461 — Рунге—Кутты 506 -------неявный т-этапный 514 -------четвертого порядка точности 509 -------явный /и-этапный 508 — Рунге—Кутты—Фельберга 511 — секущих 121, 253 — сеток 559 — симметричной последовательной верхней релаксации 217 — сопряженных градиентов 230, 336 -------с предобусловливанием 232 -----направлений 335 — Стеффенсена 122, 254 — степенной 269 — стрельбы 591 — установления 258 — Фибоначчи 301 — Холецкого 168 — Хьюна 503 — Эйлера 487, 496 -----неявный 488, 530 -----усовершенствованный 504 — Эйлера—Коши 503 — экстраполяции Ричардсона 461 — Якоби 204 — SOR215 Метода Гаусса ведущий элемент к-го шага 147 -----главный элемент к-го шага 147 -----множители к-го шага 147 Метода Гаусса обратный ход 147 -----прямой ход 146 Методы Адамса 517 — аппроксимации 62 — вычислительные 15 — итерационные 66 — итерирования подпространства 285 — квазиньютоновские 333, 345 — конечно-разностные 521 — линеаризации 63 — линейные многошаговые 521 — многозначные 553 — Монте-Карло 68, 474 — Нордсика 553 — «овражные» 327 — переменной метрики 333 — последовательного поиска 298 — прогноза и коррекции 504, 520 — прямого поиска 296, 338 — прямые 64 — регуляризации 54 — Рунге—Кутты 506 — спуска 318 — статистических испытаний 68 -----предиктор-корректор 504 — точные 65 — численные 15 — чисто неявные 550 — эквивалентных преобразований 61 Минимальное значение функции 286, 312 Многочлен интерполяционный 355 -----кубический Эрмита 360 -----Ньютона 376, 379 -----обобщенный 351 -----с кратными узлами 360 — Лагранжа 356 — наилучшего равномерного приближения 414 -----среднеквадратичного приближения 402 Многочлен обобщенный 349 — характеристический 523 Многочлены наименее уклоняющиеся от нуля 364 — Чебышева 362 660
Предметный указатель Модельное уравнение 482 Множество граничных узлов сетки 560 — внутренних узлов сетки 560 — возможных решений 48 — допустимых входных данных 48 Надежность программы 84 Наименьших квадратов задача линейная 188, 402 -------нелинейная 341, 413 Наклон сплайна 391 Направление ньютоновское 330 — спуска 318 Начальная задача 476 Начальное значение 477 — условие 477 Начальные значения 486 — условия 534 Невязка 131 Некорректная задача 49, 53 Нелинейная задача метода наименьших квадратов 341 Непрерывная дробь 420 Неравенство треугольника 132 Неустранимая погрешность 26 Неявный метод Эйлера 488, 530 Норма вектора 132 -----евклидова 132 — матрицы подчиненная 134 -----евклидова 135 — Фробениуса 135 Нормальная система метода наименьших квадратов 189, 403 Нуль-устойчивость 523 Область абсолютной устойчивости 528 — неопределенности 79, 243 — сходимости метода 66 Обобщенный многочлен 349 Обратная задача 13 — интерполяция 422 — прогонка 173 Обратный анализ ошибок 79 — ход метода Гаусса 147 Обратный ход метода прогонки 173 Обусловленность вычислительного алгоритма 77 — вычислительной задачи 54 Односторонние формулы численного дифференцирования 432 Округление 31 — по дополнению 31 — усечениям 31 Определитель Вандермонда 355 — Грама 353 Оптимальный пассивный поиск 296 Остаточный член квадратурной формулы 438 Относительная погрешность 27 -----вектора 133 — точность 28 Отношение Рэлея 266 Отражение 181 Отрезок локализации корня нелинейного уравнения 90 -----точки локального минимума 287 — наблюдения 351 Оценки погрешности априорные 67 -----апостериорные 68 Ошибка 27 — округления 41 — представления 41 Пакет прикладных программ проблемно-ориентированный 24 Пара Гаусса—Кронрода 465 Параметр пристрелочный 591 — релаксации 216 Параметры модели 13 Переносимость 85 Переобуславливатель 225 Переполнение 42 Пивотирование 152 Плоское вращение 179 Плохо обусловленная вычислительная задача 54 -----матрица 141 661
Предметный указатель Плохо обусловленная система линейных алгебраических уравнений 141 Плохо обусловленный вычислительный алгоритм 77 Погрешность 27 — абсолютная 27 — аппроксимации 62 -----дискретного уравнения 490 -----разностного уравнения 567 -----формулы численного дифференцирования 427 — вычислительная 26 — квадратурной формулы 438 — локальная 490 — метода 26 — на шаге 490 — неустранимая 25 — округления 31 — относительная 27 — разностной схемы 568, 569 — численного метода решения задачи Коши 491 --------------- глобальная 491 ---------------локальная 490 Подобные матрицы 262 Поверхность уровня 313 Поддерживаемость 85 Поле направлений 477 Полином «движущийся» 387 — устойчивости 528 Порог машинного нуля 40 — переполнения 40 Портабельность 85 Порядок двоичный 39 — сходимости итерационного метода 92 — точности численного метода решения задачи Коши 491 Постановка краевой задачи вариационная 579 ------- проекционная 582 Постоянная временная 482 — Липшица 478 Правило Гарвика 97 — двойного пересчета 458 Правило Крамера 83 — Рунге практической оценки погрешности 458, 570 — трапеций 488 Предобусловливатель 225, 235 — неявный 236 — явный 236 Предобусловливание 225, 236 Представимое множество компьютера 41 Преобразование Гивенса 179 — подобия 262 — Фурье дискретное 397 -------быстрое 398 -------обратное 397 -------прямое 397 — Хаусхолдера 181 Приближенное число 27 Приведение к виду, удобному для итераций, системы линейных алгебраических уравнений 203 --------------- нелинейного уравнения 107 Пример Рунге 382 — Уилкинсона 267 Принцип максимума 557 -----для системы сеточных уравнений 564 -----для разностной схемы 564 Пристрелочные параметры 591 Проблема «оврагов» 326 — собственных значений полная 260 -------частичная 260 Пробная функция 582 Пробные точки 296 Прогонка обратная 173 — прямая 172 Прогоночные коэффициенты 172 Проекционная постановка краевой задачи 582 Проекционно-разностная схема 588 ------- специальная 589 Проекционно-сеточный метод 588 Проекционные методы 619 Процесс вычислительный 21 — Либмана 211 662
Предметный указатель 52 — процесс ускорения сходимости 237 Прямая задача 12 — прогонка 171 Прямой анализ ошибок 78 Прямой ход метода Гаусса 146 -------прогонки 172 Прямые методы 64 -----решения проблемы собственных значений 261 Работоспособность 84 Разделенные разности 373 Разложение матрицы на множители — LU 163 — QR 176, 192 — SVD 196 Разности конечные 367 -----вперед 367 -----назад 372 — «против ветра» 575 — «против потока» 575 — разделенные 374 Разностная производная вторая 430 -----левая 426 -----правая 426 -----центральная 427 — схема 521, 562 -----однородная 577 Разностное уравнение 561 -----к-го порядка линейное однородное с постоянными коэффициентами 523 Разрядность мантиссы 39 Рациональная арифметика 47 Регуляризованные алгоритмы 128, 310 Рекуррентная формула 66 Решение краевой задачи для одномерного стационарного уравнения теплопроводности 557 ---------------------с разрывными коэффициентами 576 — нелинейного уравнения 87 Решение обыкновенного дифференциального уравнения первого порядка 477 Робастность 84 Сетка 485, 560 — равномерная 485 — неравномерная 574 Сеточные функции 486, 561 Сдвиги по Рэлею 283 -----Уилкинсону 283 Сингулярное разложение матрицы 196 Сингулярные векторы 198 — числа 196 Система линейных алгебраических уравнений плохо обусловленная 141 — сеточных уравнений 561 — функций линейно зависимая в точках 351 -------независимая в точках 352 -----ортогональная на множестве точек 354 Скалярное произведение векторов 133 Скорость сходимости итерационного метода квадратичная 92 ----------кубическая 92 ---------- линейная 92 ----------сверхлинейная 92 Собственное значение матрицы 259 — число матрицы 135, 259 Собственный вектор матрицы 259 Спектральный радиус матрицы 209 Сплайн 390 — интерполяционный 391 — кубический 390 -----естественный 393 -----фундаментальный 393 — линейный 390 — локальный 392 — степени т 390 Сплайна дефект 390 — наклон 391 Среднеквадратичное уклонение 402 663
Предметный указатель Стандарт IEEE 40 Статистический анализ ошибок 81 Стационарная точка функции 287, 314 Стационарный итерационный метод 218 — явный с оптимальным параметром 220 Степенной метод 269 -----без сдвигов 269 -----со сдвигами 275 Субнормальные числа 40 Схема Горнера 65 — единственного деления 146 — конечно-разностная 521 — разностная 521, 562 — полного выбора 154 Схема частичного выбора 152 — Эйткена 378 Сходимость итерационного метода 66, 92 -------со скоростью геометрической прогрессии 92 — метода аппроксимации 62 -----интерполяции 381 — к треугольной матрице по форме 280 — последовательности векторов по направлению 271 ----------норме 133 -------покоординатная 134 — разностной схемы 569 -------с т-м порядком точности 569 — численного метода решения задачи Коши 491 Таблица конечных разностей 366 — разделенных разностей 374 Теорема Вейерштрасса аппроксимационная 380 — Гершгорина 265 — локализации 264 — сравнения 558, 565 — Фабера 382 — Чебышева 415 Точка минимума глобального 286, 312 -----локального 286, 312 -----строгого локального 286, 312 — стационарная 287, 314 Точки пробные 296 — чебышевского альтернанса 416 Точность 26, 28 — абсолютная 28 — двойная 44 -----расширенная 44 — машинная 41 — относительная 28 — компьютера относительная 41 Точные методы 65 Траектория спуска 319 Угловой коэффициент 477 Узлы интерполяции 350 -----кратные 360 — квадратурной формулы 438 -------Гаусса 454 — равноотстоящие 366 — сетки 560 ----- внутренние 560 -----граничные 560 Уклонение многочлена от нуля 363 — среднеквадратичное 402 Унимодальная функция 289 Упрощенный метод Ньютона 119, 252 Уравнение диффузии одномерное 556 — линейное однородное разностное с постоянными коэффициентами 523 — модельное 482 — теплопроводности одномерное стационарное 555 — характеристическое 523 — Эйлера 579 Уравновешивание 156 Усечение 31 Условие диагонального преобладания 156, 206 — корневое 524 — Липшица 478, 535 -----одностороннее 479, 536 — «отсутствия узла» 393 Условия граничные 393 — краевые второго рода 556 -----первого рода 556 664
Предметный указатель Усовершенствованный метод Эйлера 504 Устойчивость алгоритма -----вычислительная 71 -----по входным данным 70 — разностной схемы 567 — решения вычислительной задачи 50 -----абсолютная 53 -----относительная 53 -----по входным данным 50 — решения задачи Коши асимптотическая 484 -----на конечном отрезке по начальным значениям 481 ----------и правой части 483 ----------по Ляпунову 484 — численного метода решения задачи Коши 488 ---------------абсолютная 528 Форма матрицы жорданова 263 ----Хессенберга 281 Формула Ньютона—Лейбница 437 — парабол 442 — рекуррентная 66 — Шермана—Моррисона 201 — Эрмита 470 Формулы дифференцирования назад 551 — квадратурные 438 — кубатурные 474 — численного дифференцирования 426 -------односторонние 432 — Филона 471 Фредгольма теория 604 Фундаментальный кубический сплайн 393 Функция весовая 467 ----Лагерра 467 ----Эрмита 467 ----Якоби 467 — выпуклая 315 — овражная 327 — пробная 582 — сеточная 485, 561 Функция сильно выпуклая 315 — строго выпуклая 315 — унимодальная 289 — целевая 286, 312 Характеристический многочлен 523 Характеристическое уравнение 260, 523 Хорошо обусловленная вычислительная задача 54 Хорошо обусловленный вычислительный алгоритм 77 Целевая функция 286, 312 Цепная дробь 420 Цифра значащая 28 -----верная 29 Числа Фибоначчи 301 Численные методы 15 Численный метод решения задачи Коши 485 -----абсолютно устойчивый 528 ------------А -устойчивый 530 ------------Л(а)-устойчивый 550 ------------для систем дифференциальных уравнений первого порядка 540 ------------^-шаговый 486 ------------ линейный многошаговый 521 ------------многошаговый 487 ------------неявный 488 ------------нуль-устойчивый 523 ------------одношаговый 487 ------------самостартующий 487 ------------сходящийся 491 ------------устойчивый 489 ------------на конечном отрезке 489 ------------явный 488 Число денормализованное 40 — жесткости 547 — нормализованное 39 665
Предметный указатель Число обусловленности вычислительной задачи 54 -----абсолютное 55 ----------относительное 55 --------------------------вычислительного алгоритма 77 --------------------------задачи вычисления многочлена с приближенно заданными коэффициентами 387 -----матрицы 141 -----естественное 140 -----стандартное 141 — приближенное 27 — субнормальное 40 — NaN 45 Шаг сетки 485 — спуска 319 — таблицы 366 Шаг формулы численного дифференцирования 426 Ширина ленты 139 Экономичность алгоритма 82 Экономизация степенных рядов 418 Экстраполяция 351 — Ричардсона 461 Явный итерационный метод с чебышевским набором параметров 222 Явный стационарный итерационный метод с оптимальным параметром 220 Ядро интегрального уравнения 599 -------вырожденное 627 666
ОГЛАВЛЕНИЕ Предисловие к первому изданию ..................................... 3 Предисловие ко второму изданию..................................... 7 Предисловие к третьему изданию..................................... 8 Глава 1. Математическое моделирование и решение прикладных задач с применением компьютера......................................... 9 1.1. Математическое моделирование и процесс создания математической модели......................................................... 10 1.2. Основные этапы решения прикладной задачи с применением компьютера..................................................... 17 1.3. Вычислительный эксперимент................................ 22 1.4. Дополнительные замечания.................................. 24 Гл а в а 2. Введение в элементарную теорию погрешностей........... 25 2.1. Источники и классификация погрешностей результата численного решения задачи................................................. 25 2.2. Приближенные числа. Абсолютная и относительная погрешности.... 26 2.3. Погрешность арифметических операций над приближенными числами 32 2.4. Погрешность функции....................................... 34 2.5. Особенности машинной арифметики........................... 37 2.6. Дополнительные замечания.................................. 46 Глава 3. Вычислительные задачи, методы и алгоритмы. Основные понятия................................................ 48 3.1. Корректность вычислительной задачи........................ 48 3.2. Обусловленность вычислительной задачи..................... 54 3.3. Вычислительные методы..................................... 61 3.4. Корректность вычислительных алгоритмов.................... 69 3.5. Чувствительность вычислительных алгоритмов к ошибкам округления 73 3.6. Различные подходы к анализу ошибок........................ 78 3.7. Требования, предъявляемые к вычислительным алгоритмам..... 82 3 8. Дополнительные замечания.............................. 86 Глава 4. Методы отыскания решений нелинейных уравнении............ 87 4.1. Постановка задачи. Основные этапы решения................. 87 4.2. Обусловленность задачи вычисления корня................... 93 4.3. Метод бисекции............................................ 97 4.4. Метод простой итерации................................... 100 4.5. Обусловленность метода простой итерации.................. 108 4.6. Метод Ньютона............................................ 112 4.7. Модификации метода Ньютона .............................. 118 4.8. Дополнительные замечания................................. 127 667
Оглавление Глава 5. Прямые методы решения систем линейных алгебраических уравнений....................................................... 130 5.1. Постановка задачи.......................................... 130 5.2. Нормы вектора и матрицы.................................... 131 5.3. Типы используемых матриц................................... 136 5.4. Обусловленность задачи решения системы линейных алгебраических уравнений...................................................... 139 5.5. Метод Гаусса............................................... 145 5.6. Метод Гаусса и решение систем уравнений с несколькими правыми частями, обращение матриц, вычисление определителей............ 157 5.7. Метод Гаусса и разложение матрицы на множители. L{/-разложение.. 160 5.8. Метод Холецкого (метод квадратных корней).................. 168 5.9. Метод прогонки............................................. 171 5.10. ^-разложение матрицы. Методы вращений и отражений......... 176 5.11. Итерационное уточнение.................................... 185 5.12. Линейная задача метода наименьших квадратов............... 188 5.13. Дополнительные замечания.................................. 199 Глава 6. Итерационные методы решения систем линейных алгебраических уравнений.........................................202 6.1. Метод простой итерации......................................202 6.2. Метод Зейделя...............................................210 6.3. Метод последовательной верхней релаксации...................215 6.4. Другие двухслойные итерационные методы......................218 6.5. Метод сопряженных градиентов................................230 6.6. Дополнительные замечания....................................234 Глава 7. Методы отыскания решений систем нелинейных уравнений.......238 7.1. Постановка задачи. Основные этапы решения...................238 7.2. Метод простой итерации......................................243 7 3. Метод Ньютона для решения систем нелинейных уравнений...248 7.4. Модификации метода Ньютона..................................251 7.5. О некоторых подходах к решению задач локализации и отыскания решений систем нелинейных уравнений.............................254 7.6. Дополнительные замечания....................................258 Глава 8. Методы решения проблемы собственных значений...............259 8.1. Постановка задачи. Некоторые вспомогательные сведения.......259 8.2. Степенной метод.............................................269 8.3. Метод обратных итераций.....................................275 8.4. £2/?-алгоритм...............................................279 8.5. Дополнительные замечания....................................284 Глава 9. Методы одномерной минимизации..............................286 9.1. Задача одномерной минимизации...............................286 9.2. Обусловленность задачи минимизации..........................292 668
Оглавление 9.3. Методы прямого поиска. Оптимальный пассивный поиск. Метод деления отрезка пополам. Методы Фибоначчи и золотого сечения.... 296 9.4. Метод Ньютона и другие методы минимизации гладких функций .... 307 9.5. Дополнительные замечания.................................311 Глава 10. Методы многомерной минимизации..........................312 10.1. Задача безусловной минимизации функции многих переменных.312 10.2. Понятие о методах спуска. Покоординатный спуск...........318 10.3. Градиентный метод........................................322 10.4. Метод Ньютона............................................330 10.5. Метод сопряженных градиентов.............................335 10.6. Методы минимизации без вычисления производных............338 10.7. Нелинейная задача метода наименьших квадратов............341 10.8. Дополнительные замечания.................................345 Глава 11. Приближение функций и смежные вопросы...................347 11.1. Постановка задачи приближения функций....................347 11.2. Интерполяция обобщенными многочленами....................350 11.3. Полиномиальная интерполяция. Многочлен Лагранжа..........355 11.4. Погрешность интерполяции.................................357 11.5. Интерполяция с кратными узлами...........................359 11.6. Минимизация оценки погрешности интерполяции. Многочлены Чебышева.................................................361 11.7. Конечные разности........................................366 11.8. Разделенные разности.....................................373 11.9. Интерполяционный многочлен Ньютона. Схема Эйткена........376 11.10. Обсуждение глобальной полиномиальной интерполяции. Понятие о кусочно-полиномиальной интерполяции.........................380 11.11. Интерполяция сплайнами..................................389 11.12. Понятие о дискретном преобразовании Фурье и тригонометрической интерполяции..................................................396 11.13. Метод наименьших квадратов..............................400 11.14. Равномерное приближение функций.........................414 11.15. Дробно-рациональные аппроксимации и вычисление элементарных функций.......................................................419 11.16. Дополнительные сведения об интерполяции.................422 11.17. Дополнительные замечания................................425 Глава 12. Численное дифференцирование.............................426 12.1. Простейшие формулы численного дифференцирования..........426 12.2. О выводе формул численного дифференцирования.............431 12.3. Обусловленность формул численного дифференцирования......433 12.4. Дополнительные замечания.................................436 Глава 13. Численное интегрирование................................437 13.1. Простейшие квадратурные формулы..........................437 13.2. Квадратурные формулы интерполяционного типа..............446 669
Оглавление 13.3. Квадратурные формулы Гаусса..............................452 13.4. Апостериорные оценки погрешности. Понятие об адаптивных процедурах численного интегрирования..........................455 13.5. Вычисление интегралов в нерегулярных случаях.............465 13.6. Дополнительные замечания.................................473 Глава 14. Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений....................................476 14.1. Задача Коши для дифференциального уравнения первого порядка... 477 14.2. Численные методы решения задачи Коши. Основные понятия и определения.................................................485 14.3. Использование формулы Тейлора............................494 14.4. Метод Эйлера.............................................496 14.5. Модификации метода Эйлера второго порядка точности.......501 14.6. Методы Рунге—Кутты.......................................506 14.7. Линейные многошаговые методы. Методы Адамса..............516 14.8. Устойчивость численных методов решения задачи Коши.......522 14.9. Неявный метод Эйлера.....................................530 14.10. Решение задачи Коши для систем обыкновенных дифференциальных уравнений и дифференциальных уравнений ти-го порядка..........534 14.11. Жесткие задачи..........................................543 14.12. Дополнительные замечания................................552 Глава 15. Решение двухточечных краевых задач......................555 15.1. Краевые задачи для одномерного стационарного уравнения теплопроводности..............................................555 15.2. Метод конечных разностей: основные понятия...............559 15.3. Метод конечных разностей: аппроксимации специального вида.573 15.4. Понятие о проекционных и проекционно-разностных методах. Методы Ритца и Галеркина. Метод конечных элементов............579 15.5. Метод пристрелки.........................................591 15.6. Дополнительные замечания.................................596 Глава 16. Численное решение интегральных уравнений................598 16.1. Понятие об интегральных уравнениях.......................598 16.2. Примеры задач, приводящих к интегральным уравнениям......600 16.3. Интегральные уравнения Фредгольма второго рода. Введение в теорию..............................................603 16.4. Интегральные уравнения Фредгольма второго рода. Метод квадратур................................................611 16.5. Интегральные уравнения Фредгольма второго рода. Проекционные методы ...........................................619 16.6. Интегральные уравнения Фредгольма второго рода. Методы наименьших квадратов и коллокации.............................625 16.7. Интегральные уравнения Фредгольма второго рода. Метод замены ядра на вырожденное...........................................627 16.8. Интегральные уравнения Вольтерра второго рода............629 16.9. Интегральные уравнения Фредгольма первого рода...........635 670
Оглавление 16.10. Интегральные уравнения Вольтерра первого рода............639 16.11. Нелинейные интегральные уравнения........................642 16.12. Дополнительные замечания.................................644 Список литературы..................................................648 Предметный указатель...............................................655 671
Андрей Авенирович АМОСОВ, Юлий Андреевич ДУБИНСКИЙ, Наталья Васильевна КОПЧЕНОВА ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ Учебное пособие Издание четвертое, стереотипное Выпускающие Т. С. Симонова, Н. В. Черезова ЛР № 065466 от 21.10.97 Гигиенический сертификат 78.01.07.953.П.007216.04.10 от 21.04.2010 г., выдан ЦГСЭН в СПб Издательство «ЛАНЬ* lan@lanbook.ru; www.lanbook.com 192029, Санкт-Петербург, Общественный пер., 5. Тел./факс: (812) 412-29-35, 412-05-97, 412-92-72. Бесплатный звонок по России: 8-800-700-40-71 ГДЕКУПИТЬ ДЛЯ ОРГАНИЗАЦИЙ: Для того, чтобы заказать необходимые Вам книги, достаточно обратиться в любую из торговых компаний Издательского Дома «ЛАНЬ»: по России и зарубежью «ЛАНЬ-ТРЕЙД». 192029, Санкт-Петербург, ул. Крупской, 13 тел.: (812) 412-85-78, 412-14-45, 412-85-82; тел./факс: (812) 412-54-93 e-mail: trade@lanbook.ru; ICQ: 446-869-967 www. lanpbl. spb. ru/price. htm в Москве и в Московской области «ЛАНЬ-ПРЕСС». 109263, Москва, 7-я ул. Текстильщиков, д. 6/19 тел.: (499) 178-65-85; e-mail: lanpress@lanbook.ru в Краснодаре и в Краснодарском крае «ЛАНЬ-ЮГ». 350072, Краснодар, ул. Жлобы, д. 1/1 тел.: (861) 274-10-35; e-mail: lankrd98@mail.ru ДЛЯ РОЗНИЧНЫХ ПОКУПАТЕЛЕЙ: интернет-магазины: Издательство «Лань»: http://www.lanbook.com «Сова»: http://www.symplex.ru; «Ozon.ru»: http://www.ozon.ru «Библион»: http://www.biblion.ru Подписано в печать 14.11.13. Бумага офсетная. Гарнитура Школьная. Формат 84x108 */а2. Печать офсетная. Усл. п. л. 35,28. Тираж 1000 экз. Заказ №2404. Отпечатано в полном соответствии с качеством предоставленных диапозитивов в ОАО «Издательско-полиграфическое предприятие «Правда Севера». 163002, г. Архангельск, пр. Новгородский, д. 32. Тел./факс (8182) 64-14-54; www.ippps.ru