Методы решения нелинейных уравнений. Общая информация

2. СПЕЦИАЛЬНАЯ ЧАСТЬ

2.1. Методы решения нелинейных уравнений. Общая информация.

Пусть нам дана система уравнений, где  - некоторые нелинейные операторы:

(1.1)

Она может  быть также представлена в матричном  виде:

(1.1)

Где

Её решением называется такое значение , для котрого

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

Обозначим через Х вектор-столбец (х1, х2,..., хn)T и запишем систему уравнений в виде формулы (1.2): F(Х) = 0, где F = (f1, f2,..., fn)T.

Подобные  системы уравнений могут возникать  непосредственно, например, при конструировании  физических систем, или опосредованно. Так, к примеру, при решении задачи минимизации некоторой функции G(х) часто необходимо определить те точки, в которых градиент этой функции равен нулю. Полагая F = grad G, получаем нелинейную систему.

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

Для полноты  представления о методах нахождения решения системы необходимо разъяснить такое понятие, как "скорость сходимости". Если для последовательности xn, сходящейся к пределу х*, верна формула

(k - положительное действительное число), то k называется скоростью сходимости данной последовательности.

 

 

2.2. Различные итерационные методы решения систем нелинейных уравнений

2.2.1 Метод Пикара

Существуют  также итерационные методы решения  систем нелинейных уравнений, которые  учитывают вид конкретной системы.

Так, если в уравнениях системы  можно выделить линейную l(X) и нелинейную g(X)части функций fi(X) = li(X) + gi(x), то удобней применить к ней метод Пикара.

В таком случае систему уравнений  можно записать в виде

li(X) = - gi(X), i=1,2,3...n;

или в векторной форме A X= - G(X);

где A- матрица коэффициентов линейных частей уравнений;

G(X) - вектор-функция нелинейных частей уравнений.

Выберем некоторый начальный вектор X(0) и построим итерационный процесс в виде

A X(k+1)=-G(X(k)).

 

Для выполнения одной итерации таким  методом необходимо решать систему  линейных уравнений, у которой вектором свободных членов будут нелинейные части функций fi(X). Причем поскольку матрица A остается неизменной при всех итерациях, то для решения СЛАУ можно использовать специальные алгоритмы, предусматривающие возможность преобразования только столбца свободных членов.

 

 

2.2.2 Метод градиентного спуска

Пусть имеем  систему уравнений  (А)

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

(В)

Очевидно, что каждое решение системы (А) превращает в ноль функцию U(x); наоборот, числа , для которых функция U(x) равняется нулю, является корнем системы (А).

Предположим, что система имеет лишь изолированное  решение, которое представляет собой  точку строго минимума функции U(x) в n-мерном пространстве .

Пусть x - вектор системы (А) и x0 - его нулевое приближение. Через точку x0 проведем поверхность уровня функции U(x). Если точка x0 довольно близка к корню x, то при наших предположениях поверхность уровня

U(x)= U(x0)

будет похожа на эллипсоид.

Из точки x0 движемся по нормали к поверхности U(x)= U(x0) до тех пор, пока эта нормаль не затронет в некоторой точке x1 какой-то другой поверхности уровня U(x)= U(x1).

Потом, отправляясь  от точки x1, снова движемся по нормали к поверхности уровня U(x)= U(x1) до тех пор, пока эта нормаль не затронет в некоторой точке x2 новой поверхности уровня U(x)= U(x2), и т.д.

Поскольку U(x0)>U(x1)>U(x2)>..., то, двигаясь таким путем, мы быстро приближаемся к точке с наименьшим значением U ("дно ямы"), что отвечает искомому решению исходной системы. Обозначим через

градиент  функции U(x).

Находить  нужное решение будем по формуле:

Остается  определить множители  . Для этого рассмотрим скалярную функцию

Функция F(l) дает изменение уровня функции U вдоль соответствующей нормали к поверхности уровня в точке xp. Множитель надо выбрать таким образом, чтобы F(l) имела минимум. Беря производную по l и приравнивая ее нулю, получаем уравнение

.

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

Будем считать, что l - малая величина, квадратом и высшими степенями которой можно пренебрегать. Имеем:

 

Раскладывая функции  за степенями l с точностью до линейных членов, получим:

,

где .

Отсюда 

Итак,

, где 

- матрица  Якоби вектор- функции f.

Дальше, имеем:

.

Отсюда 

,

где W'(x) - транспонированная матрица Якоби.

Поэтому окончательно

,

причем 

.

 

 

 

 

 

 

 

 

 

 

 

2.3. Итерационные методы решения систем нелинейных уравнений.

2.3.1 Метод простых итераций

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

fi(x1,x2,...xn) = 0, i=1,2,..n;

Приведём  систему уравнений к специальному виду:

(3.1)

Или в  векторном виде . (3.2)

Причем  переход к этой системе должен быть только при условии, что 

 является сжимающим отображением.

Используя некоторое начальное  приближение X(0)= (x1(0),x2(0),...xn(0))

построим итерационный процесс  X(k+1) = F (X(k)). Расчёты продолжаются до выполнения условия . Тогда решением системы уравнений является неподвижная точка отображения .

Проведём обоснование метода в  некоторой норме  пространства .

Приведём теорему о сходимости, выполнение условий которой приводит к нахождению решения системы.

Теорема (о сходимости). Пусть

1). Вектор-функция Ф(х) определена  в области

;

2). Для  выполняется условие

3). Справедливо неравенство 

Тогда в итерационном процессе:

1.

2. ,

где – решение системы уравнений;

3. ,

Замечание. Неравенство условия 2) есть условие Липшица для вектор -функции Ф(х) в области S с константой (условие сжатия). Оно показывает, что Ф является оператором сжатия в области S, т. е. для уравнения (3.2) действует принцип сжатых отображений. Утверждения теоремы означают, что уравнение (3.2) имеет решение в области S, и последовательные приближения сходятся к этому решению со скоростью геометрической последовательности со знаменателем q.

Доказательство. Поскольку , то для приближения в силу предположения 3) имеем . Это значит, что . Покажем, что , k=2,3,… причём для соседних приближений выполняется неравенство

 

(3.3)

 

Будем рассуждать по индукции. При  утверждение справедливо, т.к. и . Допустим, что приближения принадлежат S, и неравенство (3.3) выполнено для . Поскольку , то для с учётом условия 2) теоремы имеем

.

По индуктивному предположению 

.

Следовательно,

,

т.е. неравенство (2.3) справедливо для  . Покажем, что . Учитывая свойство (2.3) при , получаем

Итак, , и первое утверждение теоремы доказано.

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

По аналогии с предыдущим для любых р=1,2,… имеем

Поскольку , то , поэтому для найдётся такой номер , что для будет

Это означает выполнение признака Коши, что гарантирует  сходимость последовательности . Обозначим . Утверждение 2) теоремы доказано.

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

 

Перейдём  здесь к пределу при  . Учитывая непрерывность функции и тот факт, что , получаем требуемый результат – утверждение 3).

Замечание 2. В условиях теоремы решение  уравнения (3.2) в области S является единственным.

Действительно, пусть имеются два решения  , причём . Тогда

,

Получили  противоречие, что и требовалось  доказать.

Обсудим условие 2) доказанной теоремы. Рассмотрим уравнение (3.2) в покомпонентной записи

 

и предположим, что функции  непрерывно-дифференцируемы в области S (т.е. существуют и непрерывны в S частные производные

).

Теперь  выясним достаточное условие  выполнения неравенства 2) в этом случае.

Образуем  матрицу Якоби системы функций 

.

Далее, будем  использовать обобщенную теорему о  среднем (обобщение на случай вектор- функции формулы конечных приращений Лагранжа)

Здесь матричная  норма согласована с векторной, , – точка отрезка, соединяющего х, у.

Поскольку S – выпуклое множество, то . Предположим, что имеет место оценка

, причём  . (3.4)

Тогда согласно предыдущему выполняется условие 2) теоремы

.

Таким образом, в случае дифференцируемости условие (3.4) на матрицу Якоби гарантирует условие сжатия для вектор- функции

Преобразование Эйткена

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

Идею преобразования Эйткена поясним  на простом примере.

Погрешность найденных значений на каждой итерации равна,. если

найдем предел x через три значения последних приближений xk.

.

т. е.

Построим теперь процесс: , тогда

э

то итерационный процесс для  уравнения:

(А) 

Рассмотрим порядок сходимости этого процесса

 

Теперь из (А).

Мы рассматривали процесс простых  итераций – процесс первого порядка,

а получили процесс 2 –го порядка.



Легко показать, что если процесс  имеет порядок, то схема Эйткена  имеет порядок (2r-1). Более того, если процесс. не сходится, то итерационный процесс при выборе начального приближения так, чтобы,. будет сходиться.

 

 

 

 

 

2.3.2 Метод Ньютона

 

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

Дана система нелинейных уравнений

                                          (3.1)

или

   Необходимо решить  эту систему, т.е. найти вектор  , удовлетворяющий систему (3.1) с точностью .

            Метод Ньютона наиболее распространенный  метод решения систем нелинейных  уравнений. Он обеспечивает более  быструю сходимость по сравнению  с методом итераций.

В основе метода Ньютона  лежит идея линеаризации всех нелинейных уравнений системы (3.1). Сообщим всей системе (3.1) малые приращения   и разложим каждое уравнение системы (3.1) в ряд Тейлора:

    (3.2)

 

где   - приращение по каждой ;

Ri - остаточные нелинейные члены второго и более высоких порядков каждого ряда Тейлора.

Если приращения   таковы, что переменные  принимают значения близкие к корню, то будем считать, что левые части уравнений системы (3.2) обращаются в нули. Тогда отбросив Ri сведем задачу решения системы нелинейных уравнений (3.1) к решению системы линейных уравнений, в которой неизвестными являются приращения ,  , :

                       (3.3)

Система (3.3) – система  линейных уравнений с неизвестными  j= j. Запишем (3.3) в матричной форме

,

где      

матрица коэффициентов системы (3.3),

  - вектор свободных членов,

= - вектор неизвестных системы (3.3).

 

 Матрица А, составленая  из частных производных  ; ;  j= ,  называется матрицей Якоби или Якобианом.

Метод Ньютона состоит  из двух этапов:

На первом этапе реализации метода Ньютона необходимо построить  систему (3.3).

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

       (3.4)

 или           j= j.

Итерационный процесс  прекращается, как только выполнится условие 

 j=                                                     (3.5)

по всем приращениям одновременно.

1.1 Определение матрицы Якоби

В методе Ньютона на каждом шаге итерационного процесса поиска необходимо формировать матрицу  Якоби, при этом каждый элемент матрицы  можно определить:

1) аналитически, как  частную производную ,

2) методом численного  дифференцирования, как отношение  приращения функции   к приращению  аргумента, т.е. 

В результате частная производная  по первой координате  х1 определится как   , а частная производная по  координате  хj определится как        

 

,

где .

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

На рисунке 3.1 представлена укрупнённая схема алгоритма (блок-схема) метода Ньютона. На рисунках 3.2 и 3.3 представлены схемы алгоритмов метода Ньютона  с различными способами определения  матрицы Якоби.

Рис.3.1. Блок-схема алгоритма  метода Ньютона

 

 

Рис.3.2. Схема алгоритма  метода Ньютона

(аналитическое определение  матрицы Якоби)

 

 

 

 

 

 

 

 

 

Рис.3.3. Схема алгоритма  метода Ньютона 

(определение матрицы  Якоби с помощью численного  дифференцирования)

2.3.3 Модификации метода Ньютона

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

2. В ещё одной модификации  итерационную формулу метода  Ньютона вводится параметр  следующим образом

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

(3.6)

Проведём обоснование такой  процедуры в евклидовой норме.

Ведём в рассмотрение функцию-невязку  для уравнения (3.1)

Найдём градиент , используя представление

С этой целью выделим главный  член приращения

Следовательно, по определению 

Обозначим и найдём производную функции в точке по направлению :

если  .

Таким образом, – есть направление спуска для функции в точке для малых . Это значит, что выбор шага согласно условию (3.5) возможен.

 

2.3.4 Квазиньютоновкие методы

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

Рассмотрим  первый из классов, где матрица Вк с размерами п х п аппроксимирует матрицу . Перед началом итераций задают начальную точку а матрицу Во обычно получают, или допуская, что она является единичной, или аппроксимируя конечно-разностными формулами. Потом для k = 0, 1.... вычисляют

 

 

 

Где — n- мерный вектор, который является параметром рассматриваемого класса методовв. Если взять таким, что равняется ,то будем иметь первый метод Бройдена. Выбор соответствует методу Пирсона, а — симметрическому методу первого ранга.

Во втором из рассматриваемых здесь классов  квазиньютоновских методов матрица  с размерами п х п аппроксимирует матрицу . Перед началом итерации задают начальную точку х{0) и матрицу , которая обычно или равна единичной, или является обратной к конечно-разностной аппроксимации . Потом вычисляют

 

 

где — n-мерный вектор, который является параметром рассматриваемого класса методов. Конкретный вид вектора отвечает соответствующему методу: например, — второму методу Бройдена, — методу Мак-Кормика.

Заметим, что если задать то можно вести перерасчет не Вк, а матриц по формуле

(3.11)

эквивалентной (3.27). Это требует порядка 0(п2) арифметических действий вместо 0(п3), необходимых для решения системы линейных уравнений .

Как видно  из (3.11), между формулами (3.8) и (3.10) имеет место определенная связь. Так.если , то при . Таким образом, один и тот же метод может реализоваться двумя разными формулами (3.8) и (3.10), которые эквивалентные теоретически, но их численная реализация может отличаться по эффективности.

Рассмотрим, например, первый метод Бройдена. Его  можно реализовать по формуле (3.8) так, что это потребует в общем 0(n3) арифметических действий. Это оказывается возможным, если подать матрицу Вк в виде произведения , где — ортогональная, а — верхняя треугольная матрица. Действительно, в этом случае решение системы нуждается в только 0(n3) арифметических действий. Имея , на представление матрицы Вк+1, которая удовлетворяет (3.8) в виде , необходимо 0(п2) арифметических действий. Важное преимущество формулы (3.8) перед (3.39) заключается в том, что в (3.8) нет необходимости умножения матрицы на вектор, поскольку

Существуют  квазиньютоновские методы, которые  учитывают симметричность матрицы  Якоби и вырабатывают последовательность симметричных матриц Вк, (или ). Эти методы также можно разделить на два класса. В первом из них матрица Вк аппроксимирует F(х). В отличие от описанного выше класса, который задается формулами (3.7) и (3.8), здесь нужна симметричность матрицы Во, и вместо (3.8) используется формула

где значение параметра  отвечает симметричному варианту Пауелла методу Бройдена, а — методу Давидона - Флечера - Пауелла.

Во втором из рассматриваемых классов квазиньютоновских  методов матрица Нк аппроксимирует матрицу . Здесь матрица Но должна быть симметричной, а вместо (3.10) используется формула

Где соответствует методу Бройдена-Флечера-Голвдфарба-Шенно, что является одним из наилучших (с вычислительной точки зрения), который учитывает симметричность матрицы Якоби.

Описанные выше квазиньютоновские методы сходятся лишь при достаточно хорошом начальном  приближении х(0). Для расширения области их сходимости можно использовать прием, который имеет название одномерного поиска.

Пусть имеем  квазиньютоновское направление  (или ). Используем длину шага = 1 и проверим неравенство

(3.12)

где - евклидовая норма. Если оно выполняется, то заканчиваем одномерный поиск и считаем

(3.13)

т.е. уменьшаем длину шага (устанавливая, например, ), пока не выполнится (3.12). На этом заканчиваем одномерный поиск и переходим к формуле (3.13).

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


Методы решения нелинейных уравнений. Общая информация