1 Материалы к установочной лекции Вопрос №37. Итеративные методы решения уравнений. Метод Ньютона. 1. Решение скалярных уравнений. Метод Чебышева Рассмотрим уравнение f (x) = 0, x ∈ [a, b], и пусть на указанном интервале функция f (·) имеет обратную: F (·) = f −1 (·). Очевидно, что тогда решение x̄ уравнения f (x) = 0 находится тривиально: x̄ = F (0). Следовательно, достаточно указать способ построения обратной функции или её приближения. В методе Чебышева функция F̃ (x) ≈ F (x) строится в виде отрезка ряда Тейлора. Итак, будем считать, что f (·) ∈ C m+1 [a, b], f (x) = 0 на всём интервале [a, b]. Следовательно, для f (·) существует обратная функция F (·) = f −1 (·) ввиду монотонности f (·) на [a, b] : F f (x) ≡ x. Для определённости будем считать, что f (x) > 0 на [a, b], что обеспечивает монотонное возрастание функции f (·). Обозначим c = f (a), d = f (b), c < d, и пусть x̂ ∈ [a, b] – некоторое приближение искомого корня x̄ и ŷ = f (x̂). Из анализа известно, что при таких предположениях обратная функция обладает той же гладкостью, что и сама функция: F (·) ∈ C m+1 [c, d]. Следовательно, можем записать: F (y) = m F (k) (ŷ) k! k=0 где Rm (ŷ, y) = (y − ŷ)k + Rm (ŷ, y), ŷ ∈ (c, d), F m+1 (z) (y − ŷ)m+1 , (m + 1)! (1) z ∈ (c, d). (2) Положим, далее F̃ (y) = m F (k) (ŷ) k! k=0 (y − ŷ)k (3) и в соответствии с высказанными выше соображениями, положим x̄ ≈ x̃ = F̃ (0) = m F (k) (ŷ) k! k=1 (0 − ŷ)k (4) где x̂ – начальное приближение к искомому корню. Получим такое представление для x̃ : x̃ = m F (k) (ŷ) k=0 k! k − f (x̂) ≡ Hm (x̂). (5) Теперь можно построить итеративный процесс, полагая xk+1 = Hm (xk ). (6) Остаётся указать способ вычисления F (k) (ŷ) : F f (x) ≡ x, =⇒ Fy · fx ≡ 1, =⇒ Fy (ŷ) = Fy2 (fx )2 + Fy fx2 = 0, =⇒ Fy2 (ŷ) = − 1 ; f (x̂) (7) Fy (ŷ)fx2 (x̂) fx2 (x̂) = − и т.д. [fx (x̂)]2 [fx (x̂)]3 (8) Перейдём к оценке величины ∆x = |x̄ − xk+1 |. Имеем: x̄ − xk+1 = x̄ − x̃ = F (0) − F̃ (0) = F (m+1) (zk ) [−f (xk )]m+1 . (m + 1)! (9) 2 Пусть известны оценки: |f (x)| ≤ q1 , |F (m+1) | ≤ Qm+1 , на [a, b] и [c, d] соответственно. Тогда f (xk ) = f (xk ) − f (x̄) = f (ξ)(xk − x̄) |f (xk )| ≤ q1 |x̄ − xk | и подставляя последнее выражение в формулу (9), получим: |x̄ − xk+1 | ≤ Qm+1 m+1 q |x − xk |m+1 ≡ p|x̄ − xk |m+1 . (m + 1)! 1 (10) Применяя последовательно k раз полученную оценку, придём к следующему результату: |x̄ − xk+1 | ≤ p |x̄ − xk |m+1 ≤ p [ p |x̄ − xk−1 |m+1 ]m+1 = 2 2 3 = p1+(m+1) |x̄ − xk−1 |(m+1) ≤ p1+(m+1)+(m+1) |x̄ − xk−2 |(m+1) ≤ k ≤ pt |x̄ − x1 |(m+1) , где t = 1 + (m + 1) + . . . + (m + 1)k−1 = (m+1)k −1 . m Или: (m+1)k p̄ |x̄ − x1 | , |x̄ − xk+1 | ≤ p̄ где p̄ = √ m p. (11) Таким образом, в предположении p̄ |x̄ − x1 | < 1 (12) имеет место сходимость: xk → x̄ при k → ∞. Необходимо лишь, чтобы все итерации {xk }∞ k=1 оставались в [a, b]. Таким образом, доказана Теорема 1. Пусть f (·) ∈ C (m+1) [a, b], |f (x)| > 0 на [a, b] и ∃ x̄ : f (x̄) = 0. Если x1 удовлетворяет условию (12) и последовательность xk+1 = Hm (xk ) ∈ [a, b], то {xk } сходится к x̄, причём скорость сходимости характеризуется оценкой (11). ♣ Замечание. Рассмотренный метод при m = 1 носит название метода Ньютона: F f (xk ) f (xk ) −f (xk ) = xk − xk+1 = H1 (xk ) = F f (xk ) + 1! f (xk ), причём оценка (10) даёт: |x̄ − xk+1 | ≤ p |x̄ − xk |2 , т.е. порядок сходимости метода Ньютона равен двум (так, если |x − x1 | ≈ 10−1 , то |x − x2 | ≈ 10−2 ). ♣ Выше использована терминология, требующая пояснения. Термины. • Пусть для некоторого метода верна оценка: |xk − x̄| ≤ ωq k , q < 1, ω = const. Тогда говорят, что этот метод сходится со скоростью геометрической прогрессии со знаменателем q. • Пусть существует окрестность корня x̄ такая, что все приближения принадлежат ей и имеет место оценка: |xk+1 − x̄| ≤ ω|xk − x̄|p . Тогда число p называют порядком сходимости метода: – при p = 1 говорят о линейной сходимости; – при p > 1 говорят о сверхлинейной сходимости, в частности при p = 2 о квадратичной. ♣ {Дать геометрическую интерпретацию метода Ньютона.} Для успешного применения метода Ньютона необходимо иметь хорошее начальное приближение. 3 2. Метод итераций Применение метода итераций (а таковым является, в частности, метод Ньютона) требует приведения уравнения к специальному (каноническому) виду x = φ(x), φ [a, b] −→ [a, b]. (1) Точки, удовлетворяющие (1), называются неподвижными точками преобразования φ. Геометрически неподвижная точка есть точка пересечения прямой y = x и кривой y = φ(x): В методе итераций построение членов последовательности {xk } ведётся по формуле xk+1 = φ(xk ), k = 0, 1 . . . (2) Рассмотрим поведение последовательности {xk }, когда её члены находятся вблизи точки x̄. Удобно ввести величину εk = xk − x̄ и учесть малость εk . Связь между εk и εk+1 получим из (2), подставляя xk = x̄ + εk и xk+1 = x̄ + εk+1 : x̄ + εk+1 = φ(x̄) + εk φ (x̄) + o(εk ). Учитывая равенство x̄ = φ(x̄), получаем: εk+1 ≈ φ (x̄)εk , k = 0, 1 . . . (3) Возможны случаи: 1. |φ (x̄)| > 1 =⇒ |εk+1 | > |εk | =⇒ x̄ – точка ”отталкивания”; 2. |φ (x̄)| < 1 – можно ожидать, что если x0 близка к x̄, то последовательность {xk } будет сходиться к x̄ как геометрическая прогрессия со знаменателем q = φ (x̄). Если φ (x̄) < 0, то {xk } сходится к x̄ с разных сторон, что облегчает оценку для x̄: (min{xk , xk+1 }, max{xk , xk+1 }). x̄ ∈ 3. φ (x̄) = 0. Пусть для определённости φ(·) ∈ C (m) (a, b) и φ (x̄) = 0, φ (x̄) = 0, . . . , φ(m−1) (x̄) = 0, φ(m) (x̄) = 0. В этом случае разложение для φ(xk ) = φ(x̄ + εk ) вблизи точки x̄ имеет вид: φ(xk ) = φ(x̄ + εk ) = φ(x̄) + 1 (m) φ (ξ)εm k , m! ξ ∈ [a, b] и подстановка в (2) даёт: εk+1 = Если оценить |φ(m) (ξ)| ≤ M , то |εk+1 | ≤ |εk+1 | ≤ 1 (m) φ (ξ)εm k m! (4) M |εk |m , откуда получаем: m! −1 mk+1 m−1 mk+2 −2mk+1 +1 M m−1 |ε0 | |ε0 | , m! M |ε0 | < 1. что указывает на быструю сходимость {xk } к x̄ при |ε0 | < 1 и m! Теперь сформулируем и докажем теорему: Теорема 1. (достаточное условие сходимости метода итераций) Пусть выполнены условия: 1. функция φ(·) определена на Ω = {x : |x − x0 | ≤ δ}, непрерывна там и удовлетворяет условию Липшица: |φ(x) − φ(x )| ≤ q|x − x |, 0 ≤ q < 1; 2. для начального приближения выполнено условие: |x0 − φ(x0 )| ≤ m; 4 3. числа δ, q, m удовлетворяют соотношению: m ≤ δ. 1−q Тогда: 1. Уравнение (1) имеет в Ω единственное решение x̄; 2. Имеет место сходимость построенной последовательности: {xk } ⊂ Ω, x̄ = lim xk ; k→∞ 3. последовательность {xk } сходится к x̄ со скоростью геометрической прогрессии со знаменаm k телем q т.е. |xk − x̄| ≤ q , k = 1, 2, . . . . ♣ 1−q Доказательство. Покажем, прежде всего, что из условий теоремы следует {xk } ⊂ Ω и |xk+1 − xk | ≤ mq k , k = 0, 1, . . . . (5) Доказательство проведём по индукции. При k = 0 можно построить x1 = φ(x0 ), т.к. x0 ∈ Ω и, кроме того, |x1 − x0 | = |φ(x0 ) − x0 | ≤ m согласно условию 2 теоремы 1. Поэтому утверждение m < δ, т.к. q < 1 (см. условие 1). (5) верно для k = 0, а ввиду условия 3 той же теоремы m ≤ 1−q Следовательно, x1 ∈ Ω. База для индукции создана. Пусть теперь {x0 , x1 , . . . , xn } ⊂ Ω и для членов вышеуказанной последовательности выполняется неравенство |xk+1 − xk | ≤ mq k , k = 0, 1, . . . , n − 1. Поскольку xn ∈ Ω согласно индуктивному предположению, то следующее приближение xn+1 = φ(xn ) может быть построено. Далее, |xn+1 − xn | = |φ(xn ) − φ(xn−1 )| ≤ q|xn − xn−1 | ≤ q · mq n−1 = mq n . Следовательно, неравенство (5) верно. осталось проверить, что xn+1 ∈ Ω : действительно, |xn+1 − x0 | = |(xn+1 − xn ) + (xn − xn−1 ) + . . . + (x1 − x0 )| ≤ ≤ m(q n + q n−1 + · · · + q 0 ) ≤ m ≤ δ, 1−q т.е. xn+1 ∈ Ω. Докажем теперь сходимость построенной последовательности. Проверим выполнение условия Больцано-Коши для неё: |xn+p − xn | = |(xn+p − xn+p−1 ) + (xn+p−1 − xn+p−2 ) + . . . + (xn+1 − xn )| ≤ ≤ m(q n+p−1 + q n+p−2 + · · · + q n ) ≤ m n q < ε, при n > N, ∀p > 0. 1−q (∗) Следовательно, построенная последовательность является фундаментальной (сходящейся в себе), а поскольку множество Ω замкнуто и {xk } ⊂ Ω, то ∃ x∗ ∈ Ω : x∗ = lim xk , и переходя к пределу в (2), получим: x∗ = φ(x∗ ). Если же допустить существование двух точек x∗ и x∗∗ , являющихся решением уравнения (1), то получим: |x∗ − x∗∗ | = |φ(x∗ ) − φ(x∗∗ )| ≤ q|x∗ − x∗∗ |, откуда ввиду q < 1 следует |x∗ −x∗∗ | = 0, т.е. x∗ = x∗∗ . Третье утверждение теоремы доказывается перходом к пределу в оценке (∗) при p → ∞. Теорема доказана полностью. ♣ 5 3. Итерационные методы решения СЛАУ. Метод простой итерации Пусть СЛАУ Ax = b Ax = b (1) x = Bx + c. (2) тем или иным способом записана в виде: Метод простой итерации (МПИ) состоит в следующем: берётся некоторый вектор x0 ∈ Rn и строится последовательность векторов {xk } по формуле xk+1 = Bxk + c. (3) Теорема 1. (достаточное условие сходимости МПИ) Если B < 1, то СЛАУ (2) имеет единственное решение и последовательность (3) сходится к нему со скоростью геометрической прогрессии. ♣ Доказательство. Рассмотрим однородную систему x = Bx (4) и пусть x̂ = 0 – ненулевое решение этой системы. Тогда x̂ ≤ Bx̂ или x̂ · (1 − B) ≤ 0, откуда немедленно x̂ = 0, т.е. x̂ = 0. Поскольку однородная система (4) имеет лишь тривиальное решение, то соответствующая неоднородная система (2) при любом векторе c имеет единственное решение. Далее, пусть x̄ = B x̄ + c, xk+1 = Bxk + c. Тогда x̄ − xk = B(x̄ − xk−1 ) ≤ Bk x̄ − x0 , что и означает сходимость последовательности (3). ♣ Замечание. При выполнении условий теоремы МПИ сходится к решению системы для любого начального вектора. ♣ Более точное условие сходимости содержится в следующей теореме. Теорема 2. МПИ сходится при любом начальном векторе и любом векторе c тогда итолько тогда, когда все собственные значения матрицы B лежат в единичном круге. ♣ Интересно и для практики важно получить оценку уклонения вновь построенного члена последовательности через последние члены этой последовательности. Проделаем это. x̄ = B x̄ + c, xk+1 = Bxk + c, x̄ − xk = B(x̄ − xk−1 ), x̄ − xk−1 = xk − xk−1 + B(x̄ − xk−1 ), x̄ − xk−1 ≤ xk − xk−1 + Bx̄ − xk−1 , xk − xk−1 x̄ − xk−1 ≤ . 1 − B Последнее соотношение уже может быть использовано для оценки уклонения члена xk−1 от искомого решения x̄, однако это можно сделать только после построения следующего члена последовательности xk , хотя, возможно, желаемая точность уже достигнута. Устраним этот недостаток. Используя третье и последнее из выписанных здесь соотношений, получим желаемый результат: x̄ − xk ≤ Bx̄ − xk−1 ≤ B · xk − xk−1 . 1 − B Замечание. Для сходимости построенной последовательности достаточно, чтобы нашлась любая подчинённая норма матрицы, в которой выполнено условие теоремы 2. При этом сходимость {xk } к x̄ будет иметь место в любой норме пространства Rn ввиду эквивалентности норм в конечномерных пространствах. ♣ 6 Определение. Если для системы (2) имеет место сходимость последовательности {xk }, то будем говорить, что система (1) приведена к виду, пригодному для применения МПИ. ♣ Покажем, что любую СЛАУ с неособой матрицей можно привести к виду, пригодному для применения МПИ. Рассмотрим сначала СЛАУ (1), в которой матрица A является симметричной и положительно определённой. Пусть в (2) матрица B и вектор c имеют вид: B = E − µA, c = µb, где µ = 2 , A + ε ε > 0. (5) Очевидно, что система (2) в таком случае эквивалентна системе (1). Отметим здесь же, что матрица B является симметричной (хотя и не положительно определённой). Симметрия её влечёт за собой тот факт, что B2 = max |λB |, где λB – собственное число матрицы B. Поскольку матрица B имеет вид (5), то λB = 1 − µλA . Согласно сделанному предположению о положительной определённости матрицы A верно неравенство: 0 < λA ≤ A, причём здесь под · можно понимать любую (но подчинённую) норму матрицы. Из последнего неравенства последовательно имеем: 0 < µλA < 2, −1 < µλA − 1 < 1, т.е. |λB | < 1, что в соответствии с теоремой 3 означает сходимость МПИ для системы (2) с матрицей (5). Если же в исходной системе A не является симметричной и положительно определённой, то умножая обе части (1) на транспонированную матрицу AT , придём к системе Âx = b̂, Â = AT A, b̂ = AT b, которая эквивалентна исходной системе ввиду предположенной неособости A и в которой матрица Â обладает требуемыми свойствами симметричности и положительной определённости. Тем самым установлено, что любая СЛАУ с неособой матрицей указанным выше способом может быть приведена к виду, пригодному для применения МПИ. Замечание. Взяв µ = ||A||−1 получим 0 ≤ λB < 1. Отметим в заключение, что в МПИ на выполнение одной итерации требуется ≈ n2 арифметических операций, поэтому если число итераций для достижения заданной точности меньше n, то МПИ по числу операций оказывается экономичнее метода Гаусса. 4. Метод Ньютона решения систем нелинейных уравнений Рассмотрим систему нелинейных уравнений F (x) = 0, F (x), x ∈ Rn , (1) и предположим, что существует вектор x̄ ∈ D ⊂ Rn , являющийся решением системы (1). Будем считать, что F (x) = (f1 (x), f2 (x), . . . , fn (x))T , причём fi (·) ∈ C 1 (D) ∀i. Разложим F (x) в окрестности точки x̄: F (x) = F (x0 ) + F (x0 )(x − x0 ) + o(x − x0 ). Здесь ⎡ ⎤ ∂f1 (x) ∂f1 (x) ∂f1 (x) . . . ⎢ ∂x1 ∂x2 ∂xn ⎥ ⎢ ⎥ ∂f2 (x) ∂f2 (x) ∂f2 (x) ⎥ ⎢ ∂F (x) ⎢ ... ⎥ F (x) = = ⎢ ∂x1 ∂x2 ∂xn ⎥ ⎢ ⎥ ∂x ... ... ... ... ⎢ ⎥ ⎣ ∂fn (x) ∂fn (x) ∂fn (x) ⎦ ... ∂x1 ∂x2 ∂xn называется матрицей Якоби, а её определитель – якобианом системы (1). Исходное уравнение заменим следующим: F (x0 ) + F (x0 )(x − x0 ) = 0. Считая матрицу Якоби F (x0 ) неособой, разрешим это уравнение относительно x: x̂ = x0 − [F (x)]−1 F (x0 ). И вообще положим xk+1 = xk − [F (xk )]−1 F (xk ). (2) xk+1 − x̄ = (xk − x̄) − [F (xk )]−1 (F (xk ) − F (x̄)). (3) Оценим уклонение 7 Преобразуем последнюю формулу: 1 Ft (y + t(z − y))dt = F (z) − F (y) = 0 0 1 ∂F dt (z − y) ≡ H(z, y)(z − y). ∂x По теореме о среднем a b f (t)g(t) dt = f (ξ) b g(t) dt, a при g(x) > 0 получим: 0 1 ∂fi (y + t(z − y)) ∂fi (y + νij (z − y)) ∂fi (y) dt = → при z → y. ∂xj ∂xj ∂xj Здесь νij ∈ (0, 1). Теперь формула (3) примет вид: xk+1 − x̄ = E − [F (xk )]−1 H(xk , x̄) (xk − x̄) ≡ U (xk )(xk − x̄). (4) (5) Ввиду (4) имеет место U (xk ) → 0 при xk → x̄, т.е. ∀ε : 0 < ε < 1 ∃ρ : U (xk ) ≤ ε < 1 при xk ∈ Sρ (x̄), где Sρ (x̄) = {x : x − x̄ ≤ ρ}. Таким образом из xk ∈ Sρ (x̄) следует xk+1 − x̄ ≤ U (xk ) · xk − x̄ ≤ εxk − x̄ ≤ ερ < ρ, т.е. xk+1 ∈ Sρ (x̄). Если считать, что x0 ∈ Sρ (x̄), то {xk } ⊂ Sρ (x̄) и имеет место оценка xk − x̄ ≤ εk x0 − x̄ откуда и следует сходимость последовательности {xk }, причём со скоростью геометрической прогрессии. При дополнительном предположении F (·) ∈ C 2 имеет место квадратичная сходимость метода, т.е. xk+1 − x̄ ≤ ωxk − x̄2 . Сформулируем теорему. Теорема. Пусть в некоторой окрестности решения x̄ системы (1) функции fi (·) ∈ C 2 и якобиан системы отличен от нуля в этой окрестности. Тогда существует δ-окрестность точки x̄ такая, что при любом выборе начального приближения x0 из этой окрестности последовательность {xk } не выходит из неё и имеет место квадратичная сходимость этой последовательности. ♣ Замечание 1. В качестве критерия окончания процесса итераций обычно берут условие: xk+1 − xk < ε. ♣ Замечание 2. Сложность метода Ньютона – в обращении матрицы Якоби. Вводя обозначение δxk = xk+1 − xk получаем для вычисления δxk СЛАУ ∂F (xk ) · δxk = −F (xk ), ∂x откуда и находим искомую поправку δxk , а затем и следующее приближение xk+1 = xk + δx к решению x̄. Очевидно, что это значительно сокращает количество арифметических операций для построения очередного приближения. ♣ Замечание 3. Начиная с некоторого шага k0 решают стационарную СЛАУ ∂F (xk0 ) · δxk = −F (xk ). ∂x Данное видоизменение носит название модифицированный метод Ньютона. ♣ 8 Замечание 4. (О выборе начального приближения). Пусть вектор-функция Φ(λ, x) такова, что Φ(1, x) = F (x), а система Φ(0, x) = 0 может быть решена. Тогда разбивая [0, 1] на N частей решают методом Ньютона набор из N систем Φ(i/N, x) = 0, i = 1, N , принимая для каждой следующей системы в качестве начального приближения решение предыдущей системы. ♣ ЛИТЕРАТУРА 1. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М.. Численные методы, издание восьмое.– Физматлит. М.-СПб-2000 2. Мысовских И.П. Лекции по методам вычислений. – СПбГУ, 1998. 3. Березин И.С., Жидков Н.П. Методы вычислений, ч.1.