Курцева Кира Петровна, Шешуков Евгений Геннадьевич.
Методы вычислений. Часть I. Численные методы алгебры. Конспекты лек...
9 downloads
184 Views
666KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Курцева Кира Петровна, Шешуков Евгений Геннадьевич.
Методы вычислений. Часть I. Численные методы алгебры. Конспекты лекций и задачи.
1
УДК 519.6
Методы вычислений. Часть I. Численные методы алгебры. / ЗФ КГУ; Сост.: Курцева К.П., Шешуков Е.Г.; Зеленодольск, 2007. – 70c. Учебное пособие содержит основные приемы численного решения систем линейных алгебраических уравнений, вычисление определителей, обращение матриц, нахождение собственных чисел и собственных векторов матрицы. Дополнительно рассматриваются и некоторые методы решения нелинейных уравнений и систем нелинейных уравнений. Приводятся примеры решения типовых задач и упражнения для самостоятельной работы.
2
ОГЛАВЛЕНИЕ Введение...............................................................................................................4 I. Численные методы решения систем линейных алгебраических уравнений (СЛАУ) ...................................5 1. Точные (прямые) методы ...............................................................................5 Методы исключения неизвестных.....................................................................5 Методы, основанные на разложении матрицы коэффициентов...................13 2. Приближенные методы.................................................................................20 Метод простой итерации ..................................................................................20 Метод Зейделя ...................................................................................................27 Метод релаксации .............................................................................................31 II. Вычисление определителей, обращение матриц.....................................32 1. Вычисление определителей ........................................................................32 2. Вычисление элементов обратной матрицы. ...............................................34 III. Проблема собственных чисел ....................................................................36 1. Решение полной проблемы собственных чисел. Прямые методы. ..........36 2. Частичная проблема собственных чисел ...................................................46 IV. Методы решения нелинейных алгебраических уравнений ....................49 1. Случай одного уравнения. Исследование уравнения ................................49 2. Итерационные методы вычисления изолированного корня уравнения f ( x) = 0 ..................................................60 3. Метод простой итерации для системы двух уравнений............................62 4. Итерационные методы для системы с n нелинейными уравнениями .....65
3
Введение. Под численным методом понимается такая интерпретация математической модели, которая доступна для реализации на ЭВМ. В настоящее время численные методы являются мощным математическим средством решения многих научнотехнических задач. Это связано как с невозможностью в большинстве случаев получить точное аналитическое решение, так и со стремительным развитием компьютерной техники. Процесс исследования исходного объекта методом математического моделирования и вычислительного эксперимента неизбежно носит приближенный характер, так как на каждом этапе вносятся те или иные погрешности. 1. Источники и классификация погрешностей. Существует четыре источника погрешностей, полученных в результате численного решения: физическая и математическая модели, исходные данные, приближенность метода и ошибки округления. двум источникам называется Погрешность, соответствующая первым неустранимой. Погрешность метода связана со способом решения поставленной математической задачи и появляется в результате подмены исходной математической модели другой или конечной последовательностью других моделей. Погрешность округления возникает в связи с тем, что вычисления проводятся с конечным числом значащих цифр. Все описанные типы погрешностей в сумме дают полную погрешность результата решения задачи. 2. Абсолютная и относительная погрешность приближенных значений.
a∗ – приближенное значение точной величины a . Абсолютной ∗ ∗ погрешностью приближенного значения a называют такое число Δ ( a ) , для Пусть
которого справедливо неравенство
a∗ − a ≤ Δ ( a∗ ) *
Относительной погрешностью приближенного значения a называют такое число δ (a* ) , для которого справедливо неравенство
a∗ − a a∗
≤ δ ( a∗ )
Относительную погрешность часто выражают в процентах. 3. Значащие цифры. Верные цифры (знаки) приближенного числа. Значащими цифрами числа называют все цифры в его записи, начиная с первой ∗
∗
ненулевой слева, например, у чисел a = 0,01023 , a = 0,01023000 значащими цифрами являются подчеркнутые цифры. Первое число имеет четыре значащие цифры , второе – семь значащих цифр. Значащую цифру называют верной, если абсолютная погрешность числа не превосходит единицы разряда, соответствующего этой цифре. Например, при
a∗ = 0,01023 , Δ(a∗ ) = 0,000004 ; a∗ = 0,01023000 , Δ(a∗ ) = 0,0000006 .
Сомнительными называют все цифры приближенного числа, расположенные правее последней верной цифры.
4
I. Численные методы решения систем линейных алгебраических уравнений (СЛАУ). Система m линейных уравнений с n неизвестными имеет вид:
⎧a11x1 + a12 x2 + K + a1n xn = b1, ⎪a x + a x + K + a x = b , ⎪ 21 1 22 2 2n n 2 ⎨ ⎪KKKKKKKKKKKK ⎪⎩am1x1 + am 2 x2 + K + amn xn = bm , где
aij , bi (i = 1,2,..., m; j = 1, 2,..., n)
–
произвольные
(1)
числа,
называемые
соответственно коэффициентами при переменных и свободными членами уравнений. Система уравнений называется совместной, если она имеет хотя бы одно решение, и несовместной, если она не имеет решений. 1. Точные (прямые) методы. Метод называется точным, если при точном выполнении всех требуемых действий мы получаем точное решение системы. При этом имеется в виду, что все коэффициенты – точные числа. Методы исключения неизвестных 1.1 Метод Гаусса. Наиболее распространенным методом решения СЛАУ является метод Гаусса, в основе которого лежит идея последовательного исключения неизвестных. С помощью элементарных преобразований система уравнений приводится к равносильной системе ступенчатого (или треугольного) вида, из которой последовательно, начиная с последних (по номеру) переменных, находятся все остальные переменные. Рассмотрим решение системы (1) m линейных уравнений с n неизвестными в общем виде. Предположим, что в системе (1) a11 ≠ 0 (этого всегда можно добиться перестановкой уравнений или переменных с изменением их номеров). Шаг 1. Умножая первое уравнение на подходящие числа (а именно на −a21 a11 , − a31 a11 ,..., − am1 a11 ) и прибавляя полученные уравнения соответственно ко второму, третьему,…, m -му уравнению системы (1), исключим переменную x1 из всех последующих уравнений, начиная со второго. Получим
⎧a11x1 + a12 x2 + K + a1n xn = b1, ⎪ (1) a22 x2 + K + a2(1)n xn = b2(1) , ⎪ ⎨ ⎪.................................................. (1) ⎪ am(1)2 x2 + K + amn xn = bm(1) , ⎩
(2)
где буквами с верхним индексом (1) обозначены новые коэффициенты, полученные после первого шага. (1)
Шаг 2. Предположим, что a22 ≠ 0 . Умножая второе уравнение из (2) на числа (1) (1) (1) (1) (1) −a32 a22 , −a42 a22 ,..., −am(1)2 a22
и прибавляя полученные уравнения соответственно к третьему, четвертому, …, m -му уравнению системы (2), исключим переменную x2 из всех последующих уравнений, начиная с третьего. Продолжая процесс последовательного исключения переменных x3 , x4 ,K, xr −1 , после ( r − 1 ) шага получим систему 5
⎧a11x1 + a12 x2 + K + a1r xr + a1,r +1xr +1 + ... + a1n xn = b1, ⎪ (1) a22 x2 + K + a2(1)r xr + a2,(1)r +1xr +1 + ... + a2(1)n xn = b2(1) , ⎪ ⎪ ⎪.......................................................................................... ( r −1) ⎪⎪ arr( r −1) xr + ar( r,r−+1)1 xr +1 + ... + arn xn = br( r −1) , ⎨ ⎪.......................................................................................... ⎪ 0 = br(+r 1−1) , ⎪ ⎪ ............ ⎪ 0 = bm( r −1) . ⎪⎩ ( r −1)
(3)
( r −1)
Для любой совместной системы числа br +1 ,…, bm в системе (3) равны нулю, т.е. последние m − r уравнений являются тождествами, и они не влияют на решение системы (1). После отбрасывания “лишних” уравнений возможны два случая: а) число уравнений системы (1) равно числу переменных, т.е. r = n (в этом случае система (3) имеет треугольный вид); б) r < n (в этом случае система (3) имеет ступенчатый вид). Переход системы (1) к равносильной ей системе (3) составляет прямой ход метода Гаусса. Обратный ход заключается в нахождении неизвестных x1, x2 ,K, xn из системы (3) . Рассмотренная вычислительная схема, реализующая этот метод называется схемой единственного деления. Достоинства метода Гаусса: • менее трудоемкий (по сравнению с методом обратной матрицы и расчетами по формулам Крамера); • позволяет однозначно установить, совместна система или нет, а в случае совместности найти ее решения (единственное или бесконечное множество); • дает возможность найти максимальное число линейно независимых уравнений – ранг матрицы системы. Преобразования Гаусса удобно проводить не с самими уравнениями, а с расширенной матрицей системы (1). Пример. Методом Гаусса решить систему уравнений:
⎧ x1 + 2 x2 + 3 x3 − 2 x4 = 6, ⎪2 x + 4 x − 2 x − 3 x = 18, ⎪ 1 2 3 4 ⎨ ⎪3 x1 + 2 x2 − x3 − 2 x4 = 4, ⎪⎩2 x1 − 3 x2 + 2 x3 + x4 = −8 Решение. Расширенная матрица системы имеет вид:
⎛ 1 2 3 −2 6 ⎞ ⎜ ⎟ ⎜ 2 4 −2 −3 18 ⎟ . ⎜ 3 2 −1 2 4 ⎟ ⎜⎜ ⎟⎟ ⎝ 2 −3 2 1 −8 ⎠
6
Шаг 1. Так как a11 ≠ 0 , то ко второй, третьей и четвертой строкам матрицы прибавляем первую строку, умноженную соответственно на числа ( −2), (−3), (−2) и исключаем переменную x1 из всех строк, начиная со второй. В новой матрице (1) a22 = 0 , поменяем местами вторую и третью строки:
⎛1 2 3 ⎜ ⎜ 0 0 −8 ⎜ 0 −4 −10 ⎜⎜ ⎝ 0 −7 −4 (1) Шаг 2. Так как теперь a22
−2
6 ⎞ ⎛1 2 3 −2 6 ⎞ ⎟ ⎜ ⎟ 1 6 ⎟ ⎜ 0 −4 −10 8 −14 ⎟ . 8 −14 ⎟ ⎜ 0 0 −8 1 6 ⎟ ⎟ ⎜ ⎟ 5 20 ⎟⎠ ⎜⎝ 0 −7 −4 5 20 ⎟⎠ = −4 ≠ 0 , то умножая вторую строку на ( −7 4 ) и прибавляя полученную строку к четвертой, исключим переменную x2 из всех строк, начиная с третьей. (2)
Шаг 3. Учитывая, что a33 = −8 ≠ 0 , умножаем третью строку на
13,5 8 = 27 16 , и прибавляя к четвертой строке, исключим из нее переменную x3 . ⎛1 2 −2 6 ⎞ 3 ⎜ ⎟ ⎜ 0 −4 −10 8 −14 ⎟ ⎜0 0 −8 1 6 ⎟ ⎜⎜ ⎟⎟ ⎝ 0 0 13,5 9 4,5 ⎠
⎛1 2 −2 3 6 ⎞ ⎜ ⎟ −14 ⎟ 8 ⎜ 0 −4 −10 ⎜ 0 0 −8 1 6 ⎟. ⎜ ⎟ 117 117 ⎟ ⎜0 0 0 − ⎜ ⎟ 16 8 ⎠ ⎝
Получим систему уравнений
⎧ x1 + 2 x2 + 3 x3 − 2 x4 = 6, ⎪ − 4 x2 − 10 x3 + 8 x4 = −14, ⎪⎪ ⎨ − 8 x3 + x4 = 6, ⎪ 117 117 ⎪ − x4 = , ⎪⎩ 16 8
откуда, используя обратный ход метода Гаусса, найдем решение системы (1; 2; − 1; 2 ) . 3
1.2 Метод Гаусса с выбором главного элемента. ( N = O (n ) ) (i −1)
На каждом шаге при прямом методе Гаусса мы делили на элемент aii ≠0 – этот элемент назывался ведущим. Может получиться так, что элемент близок к 0, следовательно, коэффициенты в уравнении будут большими, что приведет к увеличению арифметической погрешности при обратном ходе. В этом случае удобнее применять метод Гаусса с выбором главного элемента. Основная идея метода состоит в том, что на очередном шаге исключать не следующее по номеру неизвестное, а то неизвестное, коэффициент при котором является наибольшим по модулю. Таким образом, в качестве ведущего элемента здесь выбирается главный, т.е. наибольший по модулю элемент. Например, в системе
⎧a11x1 + a12 x2 = b1, ⎨ ⎩a21x1 + a22 x2 = b2 , 7
a12 > a11 , тогда на первом шаге будем исключать переменную x2 . Такой прием эквивалентен тому, что исходная система перепишется в виде
⎧a12 x2 + a11x1 = b1, ⎨ ⎩a22 x2 + a21x1 = b2 , и к ней применяется первый шаг обычного метода Гаусса. Указанный способ исключения называется методом Гаусса с выбором главного элемента по строке. Он эквивалентен применению обычного метода Гаусса к системе, в которой на каждом шаге исключения проводится соответствующая перенумерация переменных. Применяется также метод Гаусса с выбором главного элемента по столбцу. Предположим, что a21 > a11 . Перепишем систему в виде
⎧a21x1 + a22 x2 = b2 , ⎨ ⎩a11x1 + a12 x2 = b1, и к новой системе применим на первом шаге обычный метод Гаусса. Таким образом, метод Гаусса с выбором главного элемента по столбцу эквивалентен применению обычного метода Гаусса к системе, в которой на каждом шаге исключения проводится соответствующая перенумерация уравнений. Иногда применяется метод Гаусса с выбором главного элемента по всей матрице, когда в качестве ведущего выбирается максимальный по модулю элемент среди всех элементов матрицы системы. Смысл выбора главного элемента состоит в том, чтобы сделать возможно меньшими новые коэффициенты системы и тем самым уменьшить погрешность вычислений. 3
1.3 Метод оптимального исключения ( N = O(n ) ) Прямой и обратный ход совмещены. Рассмотрим систему для случая m = n
⎧a11x1 + a12 x2 + K + a1n xn = b1, ⎪a x + a x + K + a x = b , ⎪ 21 1 22 2 2n n 2 ⎨ ⎪KKKKKKKKKKKK ⎪⎩an1x1 + an 2 x2 + K + ann xn = bn , Положим в 1-ом уравнении a11 ≠ 0 , делим на него: 1 шаг :
(1) (1) x1 + a12 x2 + K + a1(1) n xn = b1 ,
2 шаг: исключаем из второго уравнения системы неизвестную x1 получаем: (1) (1) a22 x2 + a23 x3 K + a2(1)n xn = b2(1) , (1)
Полагаем a22 ≠ 0 , делим на него второе уравнение, получаем (2) (2) x2 + a23 x3 K + a2(2) n xn = b2 ,
Затем с помощью этого уравнения исключаем x2 из первого уравнения, получаем (2) (2) x1 + K + a13 x3 + K + a1(2) n xn = b1 ,
8
3 шаг: в результате аналогичных операций из третьего уравнения получаем:
системы
(3) (3) x3 + a34 x4 + K + a3(3) n xn = y3 ,
Затем с помощью этого уравнения исключаем x3 из преобразованных первого и второго уравнений системы, получаем, что 3 первых уравнения системы имеют вид (3) (3) + a14 x4 + K + a1(3) n xn = y1 ,
x1 x2
(3) + a24 x4 + K + a2(3)n xn = y2(3) , (3) (3) x3 + a34 x4 + K + a3(3) n xn = y3 .
Остальные уравнения в системе преобразуются аналогичным образом. В этом методе экономится память, т.о. можно решать системы с числом неизвестных в два раза больше метода Гаусса. В методе оптимального исключения обратный ход метода Гаусса здесь видоизменен и соединен с прямым ходом. 1.4 Метод прогонки Это частный случай метода Гаусса с ленточной матрицей вида (М1). Применяя к такой системе метод Гаусса мы приходим к системе матрицы (М2) .
⎛× ⎜× ⎜ ⎜0 ⎜ ⎜0 ⎜0 ⎝
× × × 0 0
0 × × × 0
0 0 × × ×
0⎞ 0 ⎟⎟ 0 ⎟ (М1) ⎟ ×⎟ × ⎟⎠
⎛× ⎜0 ⎜ ⎜0 ⎜ ⎜0 ⎜0 ⎝
× × 0 0 0
0 × × 0 0
0 0 × × 0
0⎞ 0 ⎟⎟ 0⎟ ⎟ ×⎟ × ⎟⎠
(М2)
Пусть система имеет вид
⎧⎪ai xi −1 − bi xi + ci xi +1 = di , ⎨ ⎪⎩a1 = cn = 0.
i = 1, n,
(4)
Если к этой системе применить метод Гаусса, то любое уравнение будет связывать xi −1, xi , xi +1 и свободный член. В методе прогонке решение ищется в виде рекуррентного соотношения, которое следует из применимости метода Гаусса
xi = ξi +1xi +1 + ηi +1 ,
(5)
где ξi +1,ηi +1 – коэффициенты прогонки. После несложных преобразований получаем рекуррентные соотношения для коэффициентов прогонки.
ξi +1 =
ci , bi − aiξi
ηi+1 =
di − aiηi . aiξi − bi
(6)
Надо знать начальные значения коэффициентов прогонки и конечное значение xn . Эти неизвестные можно взять из неполных уравнений. Подставим a1 = 0 в (4), получим
9
−b1x1 + c1x2 = d1, c1 d x2 − 1 , b1 b1
x1 =
x1 = ξ 2 x2 + η2 . Пользуясь начальными значениями коэффициентов прогонки последовательность всех коэффициентов прогонки
ξ2 =
можно найти
c1 d , η2 = − 1 . b1 b1
Нахождение коэффициентов прогонки называется прямым ходом метода прогонки.
⎧an xn−1 − bn xn = d n , ⎨ ⎩ xn−1 − ξ n xn = η n . Отсюда найдем xn , тогда из рекуррентного соотношения найдем сами неизвестные. Это обратный ход метода прогонки Достаточным условием для устойчивости метода прогонки к накоплению арифметических ошибок является:
bi > ci + ai Пример. Даны ленточная матрица и столбец свободных членов. Требуется решить методом прогонки систему из пяти ЛАУ.
⎛2 ⎜ ⎜1 ⎜0 ⎜ ⎜0 ⎜0 ⎝
4 4 4 0 0
0 2 1 3 0
0 0 6 2 3
0⎞ 0 ⎟⎟ 0⎟ ⎟ 1⎟ 3 ⎟⎠
⎛ 8⎞ ⎜ ⎟ ⎜ −2 ⎟ ⎜ 14 ⎟ ⎜ ⎟ ⎜ 12 ⎟ ⎜ −3 ⎟ ⎝ ⎠
Решение:
⎧ai xi −1 − bi xi + ci xi +1 = di , i = 1,5 ⎨ ⎩a1 = c5 = 0. Система, согласно условиям будет иметь вид
− 2 x1 + 4 x2
= 8,
x1 − 4 x2 + 2 x3
= −2,
4 x2 − 1x3 + 6 x4
= 14,
3 x3 − 2 x4 + x5 = 12, 3 x4 − 3 x5 = −3. Используем рекуррентные соотношения (5), (6). Из первого уравнения следует
x1 = 2 x2 − 4, ξ 2 = 2, η2 = −4
Далее: 10
ξ3 =
c2 2 = = 1, b2 − a2ξ 2 4 − 1 ⋅ 2
ξ4 =
c3 6 = = −2, b3 − a3ξ3 1 − 4 ⋅ 1
η3 =
d 2 − a2η 2 −2 − 1 ⋅ (−4) = = −1, a2ξ 2 − b2 1⋅ 2 − 4
η4 =
d3 − a3η3 14 − 4 ⋅ (−1) = = 6, a3ξ3 − b3 4 ⋅1 − 1
ξ5 =
c4 1 = , b4 − a4ξ 4 8
ξ6 = 0, η6 =
d −a η 3 η5 = 4 4 4 = , a4ξ 4 − b4 4
d5 − a5η5 = 2. a5ξ5 − b5
Тогда:
x5 = η6 = 2, 1 3 x4 = ξ5 x5 + η5 = ⋅ 2 + = 1, 8 4 x3 = ξ 4 x4 + η4 = −2 ⋅ 1 + 6 = 4, x2 = ξ3 x3 + η3 = 1 ⋅ 4 − 1 = 3, x1 = ξ 2 x2 + η2 = 2 ⋅ 3 − 4 = 2. Ответ: x1 = 2,
x2 = 3, x3 = 4,
x4 = 1, x5 = 2 .
Упражнения Решить системы уравнений методом Гаусса: 1.
⎧2 x1 + 4 x2 + 3 x3 = 4, ⎪ ⎨3 x1 + x2 − 2 x3 = −2, ⎪4 x + 11x + 7 x = 7. 2 3 ⎩ 1 Ответ: ( 1; − 1; 2 ) . 2.
⎧ x1 + 2 x2 + 3 x3 = 6, ⎪ ⎨2 x1 + 3 x2 − x3 = 4, ⎪3 x + x − 4 x = 0. 3 ⎩ 1 2 Ответ:
( 1; 1; 1) .
3.
⎧2 x1 + x2 + 3 x3 − x4 = 10, ⎪ x + 2 x − 5 x + 2 x = 9, ⎪ 1 2 3 4 ⎨ ⎪− x1 − 7 x2 + 4 x3 + 5 x4 = 1, ⎪⎩−2 x1 + 4 x2 + x3 − x4 = − 2. Ответ: ( 4; 2;1; 3) . 4.
11
⎧2 x1 + 3 x2 − x3 + x4 = 5, ⎪3 x − x + 2 x + x = 1, ⎪ 1 2 3 4 ⎨ ⎪ x1 + 2 x2 + 3 x3 + 4 x4 = 6, ⎪⎩6 x1 + 4 x2 + 4 x3 + 6 x4 = 1. Ответ: Несовместна. 5.
⎧ x1 + 2 x2 − x3 = 7, ⎪ ⎨2 x1 − 3 x2 + x3 = 3, ⎪4 x + x − x = 16. 3 ⎩ 1 2 Ответ: Несовместна. 6.
⎧3 x1 − 2 x2 + 3 x3 − 3 x4 = 0, ⎪ ⎨3 x1 − 2 x2 − x3 + x4 = 0, ⎪ x − x + 2 x + 5 x = 0. 2 3 4 ⎩ 1 Ответ: (14c; 21c; c; c ) , где c –любое число. 7.
⎧2 x1 − x2 + x3 − x4 = 5, ⎪ ⎨ x1 + 2 x2 − 2 x3 + 3 x4 = −6, ⎪3 x + x − x + 2 x = −1. 2 3 4 ⎩ 1 ⎛ ⎝
Ответ: ⎜ x1 =
4 1 17 7 ⎞ − c2 ; x2 = − + c1 − c2 ; x3 = c1; x4 = c2 ⎟ , где c1 , c2 – 5 5 5 5 ⎠
любые числа. 8.
⎧2 x1 + x2 + x3 + x4 = 1, ⎪ x2 − x3 + 2 x4 = 2, ⎨ ⎪2 x + 2 x + 5 x4 = 3. 2 ⎩ 1 ⎛ ⎝
Ответ: ⎜ −c1 +
1 1 ⎞ c2 − ; c1 − 2c2 + 2; c1; c2 ⎟ , где c1; c2 – любые числа. 2 2 ⎠
9. Решить систему методом Гаусса с выбором главного элемента с точностью до четырех значащих цифр:
x + 592 y = 437,
592 x + 4308 y = 2251 10. Решить методом прогонки.
⎛ 5 10 0 0 ⎜3 2 7 0 ⎜ ⎜ 0 4 6 −3 ⎜ ⎜ 0 0 −5 4 ⎜ 0 0 0 12 ⎝
0⎞ 0 ⎟⎟ 0⎟ ⎟ 8⎟ 6 ⎟⎠
⎛ −5 ⎞ ⎜ 12 ⎟ ⎜ ⎟ ⎜ −10 ⎟ ⎜ ⎟ 11 ⎜ ⎟ ⎜ 6 ⎟ ⎝ ⎠ 12
Ответ: ( 2,
0.5, 1, 2, 3)
11. Методом прогонки решить систему
⎧2 x1 + x2 ⎪ ⎪⎪2 x1 + 9 x2 + 2 x3 4 x2 + 17 x3 − 4 x4 ⎨ ⎪ 4 x3 + 15 x4 − 8 x5 ⎪ ⎪⎩ 2 x4 + 3 x5 Ответ: ( −4, − 2, 0, 2, 4 )
= − 10, = − 26, = − 16, = − 2, = 16.
Методы, основанные на разложении матрицы коэффициентов. Такие методы основаны на представлении матрицы составленной из коэффициентов СЛАУ в форме произведения треугольных матриц. Это позволяет свести решение заданной системы к последовательному решению двух систем с треугольными матрицами, что является задачей более простой, так как в них неизвестные находятся последовательно. Иногда для придания вычислениям единообразия вводят еще диагональную матрицу. 1.5 Метод квадратного корня (случай эрмитовой матрицы) Итак, рассмотрим систему ЛАУ, где матрица A является эрмитовой
Ax = f .
(7)
Найдем такую правую треугольную матрицу S и диагональную матрицу D , элементы которой равны 1 или –1, чтобы A имела представление
A = S ∗ DS , ∗
где матрица S является cопряженной по отношению к матрице S .
⎛ s11 s12 ⎜ 0 s 22 S =⎜ ⎜K K ⎜⎜ 0 ⎝ 0
K s1n ⎞ K s2 n ⎟⎟ , K K⎟ ⎟ K snn ⎟⎠
⎛ d11 0 ⎜ 0 d 22 D=⎜ ⎜K K ⎜⎜ 0 ⎝ 0
0 ⎞ K 0 ⎟⎟ K K⎟ ⎟ K d nn ⎟⎠
K
Если матрицы S и D найдены, то заданная система (7) может быть решена следующим путем:
(
)
Ax = S * DS x = S *D S x = By = f , *
где S D = B есть нижняя треугольная матрица и y = Sx – вспомогательный вектор. Решение системы (7) равносильно решению двух треугольных систем
By = f
и Sx = y
Общие расчетные формулы. i −1 ⎛ ⎞ 2 dii = sign ⎜ aii − ∑ sli dll ⎟ l =1 ⎝ ⎠
(8) 13
i −1 ⎛ 2 sii = ⎜ aii − ∑ sli dll ⎜ l =1 ⎝
⎞ ⎟⎟ ⎠
1
2
(9)
i −1
sij =
aij − ∑ sli slj dll l =1
sii dii
,
при
i< j
(10)
По формулам (8)–(10) находятся рекуррентно все ненулевые элементы матриц D и S. Условием возможности нахождения sij является неравенство sii ≠ 0 . *
Замечание: Алгоритм S DS – разложения может оказаться численно неустойчивым, гарантировать устойчивость алгоритма можно в двух случаях – для положительно определенных матриц А и матриц с диагональным преобладанием. 1.6 Частный случай метода квадратного корня (случай симметричной матрицы) Рассматриваем область вещественных чисел. Пусть матрица A системы (7) – положительно определенная. Идея метода: Метод основан на разложении матрицы A на множители,
A = T TT ,
(11)
где
⎛ t11 t12 ⎜0 t 22 T =⎜ ⎜K K ⎜⎜ ⎝0 0
K t1m ⎞ K t2 m ⎟⎟ , K K ⎟ ⎟ K tm m ⎟⎠
⎛ t11 ⎜t 12 T T =⎜ ⎜K ⎜⎜ ⎝ t1m
K 0 ⎞ t22 K 0 ⎟⎟ K K K ⎟ ⎟ t2 m K tm m ⎟⎠ 0
Решение системы (7) сводится к решению двух систем с треугольными матрицами:
T T y = f , Tx = y
(12)
Прямой ход: T
Перемножая матрицы T и T , и приравнивая матрице A , из (11) получим следующие формулы для определения tij
14
t11 = a11 , t1 j =
a1 j
( j > 1),
t11
i −1
tii = aii − ∑ tk2 i
(1 < i ≤ m),
k =1
(13)
i −1
tij =
aij − ∑ tk itk j k =1
(i < j ),
tii
tij = 0 при i > j. После того, как матрица T найдена, решаем задачу (12). Обратный ход: Записываем в развернутом виде системы (12):
t11 y1 = f1, t12 y1 + t22 y2 = f 2 , ........................... t1m y1 + t2 m y2 + K + tmm ym = f m, t11x1 + t12 x2 + K + t1m xm = y1, t22 x2 + K + t2 m xm = y2 , ........................................... tmm xm = ym Отсюда последовательно находим i −1
f y1 = 1 , t11
xm =
ym t mm
,
yi =
xi =
fi − ∑ tki yk k =1
tii yi −
(i > 1)
(14)
m
∑ ti k xk
k =i +1
t ii
(i < m)
(15)
Пример 1. Методом квадратных корней решить системы уравнений. Вычисления вести с пятью знаками после запятой.
⎧ x1 + 0, 42 x2 + 0,54 x3 + 0, 66 x4 = 0,3 ⎪ ⎪0, 42 x1 + x2 + 0,32 x3 + 0, 44 x4 = 0,5 ⎨ ⎪0,54 x1 + 0,32 x2 + x3 + 0, 22 x4 = 0, 7 ⎪⎩0, 66 x1 + 0, 44 x2 + 0, 22 x3 + x4 = 0,9 Решение. Прямой ход. 15
Находим tij при n = 4 из формул (13):
t11 = a11 = 1 = 1; t12 =
a12 a a = 0, 42; t13 = 13 = 0,54; t14 = 14 = 0,66; a11 a11 a11
2 = 1 − 0,422 = 0,90752; t22 = a22 − t12
a23 − t12t13 0,32 − 0,42 ⋅ 0,54 = = 0,10270; t22 0,90752 a −t t 0,44 − 0,42 ⋅ 0,66 = 24 12 14 = = 0,17939; t22 0,90752
t23 = t24
2 2 t33 = a33 − t13 − t23 = 0,83537; a −t t −t t t34 = 34 13 14 23 24 = −0,18533; t33 2 2 2 t44 = a44 − t14 − t24 − t34 = 0,70560.
Обратный ход. Находим yi ( i = 1, 2,3,4 ) из формул (14)
y1 = y3 =
f1 0,3 = = 0,30; t11 1
y2 =
f 2 − t12 y1 0,5 − 0,42 ⋅ 0,3 = = 0, 41211; t22 0,90752
f3 − t13 y1 − t23 y2 0,7 − 0,54 ⋅ 0,3 − 0,10270 ⋅ 0,41211 = = 0,59336; t33 0,83537
f 4 − t14 y1 − t24 y2 − t34 y3 = 1,04597. t44 Находим xi ( i = 1,2,3,4 ) из формул (15) y −t x 1,04597 y = 1, 48238; x3 = 3 34 4 = 1,03917; x4 = 4 = t44 0,70560 t33 y4 =
x2 =
y2 − t23 x3 − t24 x4 y −t x −t x −t x = 0,04348; x1 = 1 12 2 13 3 14 4 = −1, 25778. t22 t11 Пример 2.
− 2 x5 = 0,5 ⎧ x1 + 3 x2 − 2 x3 ⎪ ⎪ 3 x1 + 4 x2 − 5 x3 + x4 − 3 x5 = 5, 4 ⎪ ⎨−2 x1 − 5 x2 + 3 x3 − 2 x4 + 2 x5 = 5, 0 ⎪ x2 − 2 x3 + 5 x4 + 3 x5 = 7,5 ⎪ ⎪− ⎩ 2 x1 − 3 x2 + 2 x3 + 3 x4 + 4 x5 = 3,3 Решение. Прямой ход. Находим tij при n = 5 из формул (13), при этом некоторые значения tij оказываются чисто мнимыми:
16
t11 = a11 = 1; t12 =
a12 = 3; t13 = −2; t14 = 0; t15 = −2; a11
2 t22 = a22 − t12 = 4 − 32 = i 5 = 2, 2361 i;
t23 =
a23 − t12t13 −5 − 3(−2) = = −0,4472 i; 2,2361 i t22
t24 =
a24 − t12t14 = −0,4472 i; t22
t25 =
a25 − t12t15 = −1,3416 i; t22
2 2 t33 = a33 − t13 − t23 = 0,8944 i;
t34 =
a34 − t13t14 − t23t24 = 2,0125 i; t33
2 2 2 t44 = a44 − t14 − t24 − t34 = 3,0414;
t35 =
a35 − t13t15 − t23t25 = 1,5653 i; t33
t45 = 2,2194;
t55 = 0,8221 i. Обратный ход. Находим yi
y1 =
( i = 1,5) из формул (14)
f1 = 0,5; t11
y2 =
f 2 − t12 y1 = −1,7471 i; t22
y3 =
f3 − t13 y1 − t23 y2 = −7,5803 i; t33
y4 =
f 4 − t14 y1 − t24 y2 − t34 y3 = −2,2928; t44
y5 = 0,1643 i. Находим xi
( i = 1,5) из формул (15)
x5 =
y5 y −t x = 0,1998; x4 = 4 45 5 = −0,8996; t55 t44
x3 =
y3 − t35 x5 − t34 x4 = −6,8011; t33
x2 = −2,2016; x1 = −6,0978. 1.7 Схема Холецкого (случай матрицы с отличными от 0 главными минорами). Рассматриваем систему уравнений (7), где матрица A размера n × n такая, что ее главные миноры отличны от нуля. Теорема 1. Если главные миноры матрицы A отличны от нуля, то матрицу A можно представить в форме
A = BC , где 17
0 ⎛ b11 0 ⎜b b 0 B = ⎜ 21 22 ⎜K K K ⎜⎜ ⎝ bn1 bn 2 bn3
0 ⎞ K 0 ⎟⎟ , K K⎟ ⎟ K bnn ⎟⎠
⎛ 1 c12 K c1n ⎞ ⎜0 1 K c ⎟ 2n ⎟ C =⎜ . ⎜K K K K ⎟ ⎜ ⎟ ⎝0 0 0 1 ⎠
K
Тогда элементы bij и cij будут определяться по формулам
bi1 = ai1, j −1
bij = aij − ∑ bik ckj
(i ≥ j > 1)
(16)
k =1
и
c1 j =
a1 j b11
,
i −1 ⎞ 1⎛ cij = ⎜ aij − ∑ bik ckj ⎟ (1 < i < j ) bii ⎝ k =1 ⎠
(17)
Отсюда искомый вектор x может быть вычислен из цепи уравнений
By = f ,
Cx = y
(18)
Так как матрицы B и C треугольные, то система (18) легко решается:
y1 = f1 b11, i −1 ⎛ ⎞ yi = ⎜ fi − ∑ bik yk ⎟ bii k =1 ⎝ ⎠
(i > 1)
(19)
xn = yn , xi = yi −
n
∑ cik xk
(i < n).
(20)
k =i +1
Из формулы (19) видно, что числа
yi выгодно вычислять вместе с
коэффициентами cij . Эта схема вычислений называется схемой Холецкого.
Упражнения Методом квадратных корней решить системы уравнений Ax = f . Вычисления вести с пятью знаками после запятой.
⎛ 3,1 1,5 1,0 ⎞ A = ⎜⎜ 1,5 2,5 0,5 ⎟⎟ , ⎜1,0 0,5 4,2 ⎟ ⎝ ⎠
⎛10,83 ⎞ f = ⎜⎜ 9, 20 ⎟⎟ . 1. ⎜ 17,10 ⎟ ⎝ ⎠ Ответ: указаны точные значения x1 = 1,3; x2 = 2,2; x3 = 3,5.
18
1 ⎞ ⎛ 3, 2 1 ⎛ 4 ⎞ ⎜ ⎟ ⎜ 4,5 ⎟ . 3,7 1 , f = 2. A = 1 ⎜ ⎟ ⎜ ⎟ ⎜ 1 ⎟ ⎜ 5 ⎟ 1 4, 2 ⎝ ⎠ ⎝ ⎠ Ответ: x1 = 0,74481; x2 = 0,79206; x3 = 0,82455. ⎛ 2,12 ⎜ 0,42 A=⎜ ⎜ 1,34 ⎜ ⎝ 0,88
0,88 ⎞ ⎛ 11,172 ⎞ ⎟ ⎜ 0,115 ⎟ 3,95 1,87 0,43 ⎟ ⎟. 3. , f =⎜ ⎜ 9,009 ⎟ 1,87 2,98 0,46 ⎟ ⎟ ⎜ ⎟ 0,43 0, 46 4,44 ⎠ ⎝ 9,349 ⎠ Ответ: указаны точные значения x1 = 3,7; x2 = −1,5; x3 = 2,1; x4 = 1,3. 0,42 1,34
6 5,5 ⎞ ⎛ 5,5 7 ⎛ 23 ⎞ ⎜ 7 10,5 8 ⎜ 32 ⎟ 7 ⎟⎟ ⎜ 4. A = , f = ⎜ ⎟. ⎜ 6 ⎜ 33 ⎟ 8 10,5 9 ⎟ ⎜ ⎟ ⎜ ⎟ 9 10,5 ⎠ ⎝ 5,5 7 ⎝ 31 ⎠ Ответ: x1 = 0,2927; x2 = 1,4196; x3 = 1,1799; x4 = 0,89104. ⎛ 16 ⎜ −8 5. A = ⎜ ⎜ −4 ⎜ ⎝ 0
−8 −4
0⎞ 13 −4 −3 ⎟⎟ , −4 9 0 ⎟ ⎟ −3 0 3 ⎠
⎛ −8 ⎞ ⎜7⎟ f = ⎜ ⎟. ⎜6⎟ ⎜ ⎟ ⎝ −3 ⎠
Решить системы уравнений Ax = f , пользуясь схемой Холецкого.
−3 4,6 ⎞ ⎛ 2,5 ⎛ −1,05 ⎞ ⎜ ⎟ ⎜ −14,46 ⎟ . f = 1. A = −3,5 2,6 1,5 , ⎜ ⎟ ⎜ ⎟ ⎜ −6,5 −3,5 7,3 ⎟ ⎜ −17,735 ⎟ ⎝ ⎠ ⎝ ⎠ Ответ: x1 = 1,24; x2 = −2,45; x3 = −2,5. ⎛ 2 −4 −3, 25 1 ⎞ ⎛ 4,84 ⎞ ⎜ 3 −3 −4,3 ⎟ ⎜ 8,89 ⎟ 8 ⎟, ⎟. 2. A = ⎜ f =⎜ ⎜ 1 −5 3,3 −20 ⎟ ⎜ −14,01 ⎟ ⎜ ⎟ ⎜ ⎟ 2 −3 ⎠ ⎝ 2,5 −4 ⎝ −20, 29 ⎠ Ответ: x1 = 2,34; x2 = 4,51; x3 = −6; x4 = −1,3.
19
⎛ 2 −1 4 ⎜ −1 1 2 ⎜ 3. A = ⎜ 4 2 3 ⎜ ⎜ −3 1 3 ⎜ 1 3 −1 ⎝ Ответ: x1 = 1; x2 = 2;
−3
1⎞ ⎛ 11 ⎞ ⎟ ⎜14 ⎟ 1 3⎟ ⎜ ⎟ f =⎜ 4 ⎟. 3 −1 ⎟ , ⎟ ⎜ ⎟ 2 4⎟ ⎜ 16 ⎟ ⎜ 18 ⎟ 4 4 ⎟⎠ ⎝ ⎠ x3 = 1; x4 = −1; x5 = 4.
2. Приближенные методы. Метод называется приближенным, если при точном выполнении всех требуемых действий и при точных коэффициентах мы получаем, как правило, лишь приближенный результат. Впрочем, практически и при применении точного метода результат оказывается также приближенным по двум причинам: во-первых, коэффициенты уравнений обычно бывают приближенными числами; во-вторых, промежуточные вычисления на практике обычно невозможно выполнять с полной точностью. Значит, погрешность окончательного результата складывается из неустранимой погрешности задания исходных данных (коэффициентов) и погрешностей округления. В случае применения приближенного метода на окончательный результат влияет всегда погрешность метода, также на практике обычно имеет место неустранимая погрешность в задании коэффициентов и погрешность округления в промежуточных действиях. В данном разделе рассматриваются следующие приближенные методы: метод простой итерации, метод Зейделя, метод релаксаций. Итерационные методы дают возможность найти решение системы, как предел последовательных приближений, по предыдущим (уже найденным) приближениям к решению строятся следующие более точные приближения. Если в точных методах ошибка в вычислениях ведет к ошибке в результате, то в случае сходящегося итерационного процесса ошибка в каком-то приближении исправляется в последующих вычислениях, и такое исправление требует, как правило, только несколько лишних шагов единообразных вычислений. Итерационный метод, для того чтобы начать по нему вычисления, требует знания одного или нескольких начальных приближений к решению. Условия и скорость сходимости каждого итерационного процесса существенно зависят от свойств уравнений, то есть от свойств матрицы системы, и от выбора начальных приближений. 2.1 Метод простой итерации. Одношаговый линейный стационарный итерационный процесс называется методом простой итерации (МПИ). Пусть дана система ЛАУ Ax = f с неособенной матрицей. В методе простой итерации ее предварительно приводят к виду
x = Bx + c , Предположим, что известно приближение x решению правилом
x* = ( x1* ,K, xn* )
(1) (0)
= ( x1(0) ,K, xn(0) ) к точному
системы. Все следующие приближения определим
20
x ( k +1) = Bx ( k ) + c, k = 0,1, 2,K Если
последовательность
x(k )
приближений
(2)
сходится
к
некоторому
*
предельному вектору x , то он и будет решением системы. Действительно, если в равенстве (2) перейти к пределу k → ∞ , считая, что x
(k )
→ x* , то в пределе получим
x* = Bx* + c . Условия сходимости последовательности x
(k )
: (k )
Теорема 1. Для того чтобы последовательность приближений x сходилась, достаточно, чтобы все собственные значения матрицы В были по модулю меньше 1:
λi < 1 (i = 1,2,K, n)
(3)
Доказательство: Найдем выражение любого приближения x
(k )
0
через x :
x ( k ) = Bx ( k −1) + c = B ⎡⎣ Bx ( k −2) + c ⎤⎦ + c = B 2 x ( k −2) + ( E + B ) c = k (0)
K= B x
(
+ E + B +K+ B
k −1
(*)
)c
Отсюда и из (3) следует с учетом теоремы о сходимости ряда матричной k
геометрической прогрессии 1 сразу следует, что при k → ∞ B → 0 и −1
E + B + K + B k −1 → E + B + B 2 + K = ( E − B ) , откуда x
(k )
−1
→ ( E − B ) c = x*
#
Что касается необходимости условия (3), то ответ на такой вопрос дает Теорема 2. Если требовать, чтобы последовательность x
при любом начальном приближении x Доказательство:
(0)
) (
сходилась к x
(0)
будет x
) (
(k )
→ x* . Имеем
)
(
x* − x ( k ) = Bx* + c − Bx ( k −1) + c = B x* − x ( k −1) = K = B k x* − x (0) *
При k → ∞ разность x − x
*
, то условие (3) является и необходимым.
Пусть для всякого начального приближения x
(
(k )
)
(k )
→ 0 , поэтому последний член цепи равенства * (0) должен стремиться к нулю, каким бы ни был вектор x − x . Отсюда следует, что B k → 0 , последнее же будет лишь в том случае, когда верно неравенство (3) (см. # лемму2). 2
m
Теорема: Для того чтобы ряд E + A + A + K + A + K (матричная геометрическая прогрессия) сходился, необходимо и достаточно, чтобы все собственные значения матрицы А были по модулю меньше единицы. При выполнении этого условия матрица Е-А имеет обратную и верно равенство 1
E = A + A 2 + K + Am + K = ( E − A )
−1
m
Лемма Для стремления A к нулю при m → ∞ , необходимо и достаточно, чтобы все собственные значения матрицы А по модулю были меньше единицы. 2
21
Применение теорем 1 и 2 требует знания границ собственных значений матрицы B , нахождение их часто затруднено. Укажем более простые, но только достаточные признаки сходимости. (k )
Теорема 3. Для того чтобы последовательность приближений x в методе простой итерации сходилась, достаточно, чтобы какая-либо норма матрицы B была меньше единицы. Доказательство: При доказательстве используем лемму: Модули собственных значений матрицы не превосходят любой из ее норм. Если B < 1 , то по лемме все собственные значения матрицы B по модулю (k )
меньше единицы, и по теореме 1 последовательность x сходится. Непосредственным следствием теоремы 3 и равенств n
B I = max ∑ bij ; i
B
j =1
#
n
II
= max ∑ bij , j
i =1
определяющих кубическую и октаэдрическую норму матрицы, является (k )
в м-де простой итерации сходится , если Теорема 4. Последовательность x для матрицы В выполняется одно из неравенств: n
1)
∑ bij
≤α > 1)
= α1e1 + α 2e2 + ... + α r er + μ rk+1er +1 + ... 14243 →0 при k →∞
≈ α1e1 + α 2e2 + ... + α r er – линейная комбинация собственных векторов ( 0)
В качестве начальных x берем r раз независимых вектора, получаем систему линейных независимых уравнений, откуда получаем e1, e2 , e3 в) Пусть λ1 = −λ2 .
xs (2 k ) = α1λ12 k e1s + α 2λ 22 k e2 s + α 3λ32 k e3s + ... (одинаковые знаки при четном номере)
xs (2 k + 2) = α1λ12 k + 2e1s + α 2λ 22 k + 2e2 s + α 3λ32 k + 2e3s + ...
48
xs (2 k + 2) xs (2 k )
=
α1λ12 k + 2e1s + α 2λ12 k + 2e2 s + α 3λ32 k + 2e3s + ... α1λ12 k e1s + α 2λ12 k e2 s + α 3λ32 k e3s + ...
=
14442444 3 λ12 =λ22
α 3λ32 k + 2e3s + + .... α1λ12 k e1s + α 2λ12 k e2 s
λ12 =
1+
α 3λ32 k e3s + ... α1λ12 k e1s + α 2λ12 k e2 s
1 + μ32 k +2γ 3// + ... 1 + μ32 kγ 3// + ...
λi α i eis , γ i// = λ1 α1e1s + α 2e2 s
μi =
xs (2 k + 2) xs
= λ12
(2 k )
= λ12 отсюда получаем два СЗ: λ1 = −λ2
Для СВ:
x (2 k )
λ12 k
= α1e1 + α 2e2 + α 3μ32 k e3 + ... 14243 →0 k →∞ μ3 0 (этого всегда можно достичь, поменяв при отрицательном a0 все знаки в левой части уравнения), то его действительные корни удовлетворяют неравенству Маклорена, определяющему верхнюю границу корней:
x 0 при 0,5 < x < 0, 6 Т. е. точек минимума и максимума и перегиба на этом отрезке нет 2) уточнение корней – можно применить метод деления отрезка пополам. Отделение корня ξ , т.е установление двойного неравенства a < ξ < b уже дает возможность получить его грубое приближенное значение, в качестве которого можно взять центр интервала ( a, b ) :
a+b . 2 При этом абсолютная погрешность будет меньше числа a −b ε< . 2 Подставив найденное ξ1 в уравнение (1) и убедившись, что оно не обеспечивает требуемую точность, принимаем f (ξ1 ) = a1 или f (ξ 2 ) = b1 и в результате приходим к одному из следующих, более точных неравенств: a1 < ξ < b или a < ξ < b1 , так что продолжая этот процесс, можем произвести уточнение корня с любой наперед заданной степенью точности. (Метод деления отрезка пополам).
ξ1 =
54
Искомый корень лежит в интервале: 0,56365 < ξ < 0,56366 2. Итерационные методы вычисления изолированного корня уравнения f ( x) = 0 . Введение Такие методы предполагают указания какой-либо области D , содержащий этот единственный корень. Если f ( x) – непрерывна, то вещественный корень принадлежит любому отрезку, на концах которого, функция имеет значения разных знаков. Деля отрезок пополам получаем универсальный метод вычисления корня (метод бисекции). Этот подход не требует знания хорошего начального приближения. Если оно имеется, то для гладких функций используются более эффективные методы. Пусть отыскивается единственный на [ a, b ] корень z уравнения f ( x) = 0 в
предположении непрерывности функции f ( x ) . Итерационный метод решения порождает последовательность приближений { xn } , которая сходится к корню: lim xn − z = 0 . Величину en = xn − z называют n→∞
абсолютной ошибкой на n -й итерации. Итерационный метод имеет порядок m (или скорость сходимости m ), если m есть наибольшее положительное число, для которого существует такая конечная постоянная q > 0 , что
lim sup
n→∞
Постоянную
en+1 ≤ q < ∞. enm
q называют константой асимптотической ошибки, она обычно
(
оценивается через производные функции f ( x) в точке x = z . При m = 1 q ∈ ( 0,1)
)
сходимость называется линейной (метод сходится со скоростью геометрической прогрессии со знаменателем q ), при 1 < m < 2 – сверхлинейной, при m = 2 – квадратичной и т.д. 2.1 Метод секущих Если имеется хорошее приближение к корню x = z уравнения
f ( x) = 0 ,
(1)
Простейший вариант метода: в процессе итераций фиксируется некоторая точка x0 , приближение xn+1 находится как абсцисса точки пересечения прямой проходящей через точки ( x0 , f ( x0 ) ) и ( xn , f ( xn ) ) с осью x (рис. 1).
Рис. 1.
Рис. 2.
xn+1 принимается абсцисса точки пересечения с осью x прямой, проходящей через точки ( xn−1, f ( xn−1 ) ) и ( xn , f ( xn ) ) . Обычно более эффективен способ, где за
Уравнение этой прямой 55
yn ( x) = f ( xn ) + ( x − xn )
f ( xn ) − f ( xn−1 ) . xn − xn−1
Из условия yn ( xn+1 ) = 0 получаем расчетную формулу
xn+1 = xn −
f ( xn )( xn − xn−1 ) f ( xn ) − f ( xn−1 )
2.2 Метод хорд (метод ложного положения) Пусть f ( a ) f (b) < 0 идея метода состоит в замене кривой y = f ( x) хордами, проходящими через концы отрезков, в которых, f ( x) имеет противоположные знаки. В методе хорд требуется , чтобы один конец отрезка, на котором ищется корень, был неподвижен. В качестве такого неподвижного конца x0 выбирают тот конец отрезка
для которого знак f ( x) совпадает со знаком f ′′( x ) . Расчетная формула имеет вид
xn+1 = xn −
f ( xn ) ( xn − x0 ) f ( xn ) − f ( x0 )
2.3 Метод Ньютона или метод касательных Пусть PAQ дуга кривой y = f ( x) (рис.1), которая пересекает ось Ох в точке А, так что абсцисса x = ξ точки А есть корень уравнения
f ( x) = 0
(1)
Допустим, что дуга АР обращена выпуклостью к оси Ох. Проведем через точку Р с координатами ( x0 ; y0 = f ( x0 ) ) касательную к кривой y = f ( x) . Угловой коэффициент касательной равняется значению производной от функции f ( x) в точке касания; k = f ′( x0 ) ; следовательно, уравнение касательной , которая проходит через точку P( x0 , y0 ) будет
y − y0 = f ′( x0 ) ⋅ ( x − x0 )
(2)
Отсюда положив в (2) y = 0,
y0 = f ( x0 ) , находим точку пересечения касательной с осью абсцисс (y=0), которую обозначим через x1 f ( x0 ) x1 = x0 − f ′( x0 )
56
Рис. 1.
Через точку P1 ( x1; y1 = f ( x1 ) ) снова проводим касательную и, продолжая этот процесс, приходим к формуле Ньютона
xn+1 = xn −
f ( xn ) ; n = 0,1,2,..., f ′( xn )
(3)
Значения x0 , x1, x2 ,... , вычисленные по формуле (3), образуют последовательность , которая стремится к значению корня уравнения (1). Если мы начнем процесс, исходя из точки Q , в которой кривая обращена к оси Ох вогнутостью, то первый же шаг приведет на другую сторону от оси Ох, где кривая обращена к ней выпуклостью, так что в дальнейшем будем приближаться к значению корня так же , как и прежде В тех случаях, когда вычисление второй производной для функции f ( x ) не ведет к существенным усложнениям, можно указать критерий , который поможет проверить правильность выбора начального значения x0 . Действительно, т.к. кривая y = f ( x) обращена выпуклостью к оси Ох в тех случаях для которых выполняется соотношение
f ( x) ⋅ f ′′( x) > 0
(4)
то этому условию и должно удовлетворять выбранное значение x0 . Установим связь между погрешностями n-го и n+1 шага. Согласно формуле Тейлора имеем
f (ξ ) = f ( xn ) + f ′( xn )(ξ − xn ) + где точка cn лежит между xn и ξ . Т.к. f (ξ ) = 0 , то отсюда получаем
ξ − xn +
1 f ′′(cn )(ξ − xn ) 2 , 2
f ( xn ) 1 f ′′(cn ) 2 ξ − xn ) , =− ⋅ ( f ′( xn ) 2 f ′( xn )
но согласно формуле (3)
xn −
f ( xn ) = xn+1 . f ′( xn )
Следовательно, 57
1 f ′′(cn ) 2 ξ − xn ) , ( 2 f ′( xn )
ξ − xn+1 = − ⋅ откуда и находим следующую оценку
M 2 ξ − xn ) , ( 2 f ′( xn )
ξ − xn+1 ≤
(5)
где М – наибольшее значение f ′′( x) в рассматриваемой окрестности корня ξ . Оценка (5) показывает, что при вычислении корня по методу Ньютона погрешность каждого нового приближения уменьшается пропорционально квадрату погрешности предыдущего приближения. Таким образом, в тех случаях когда в рассматриваемой окрестности искомого корня величина
M не слишком велика, то сходимость f ′( xn )
метода достаточно быстрая (каждое новое приближение удваивает число верных десятичных знаков) и наоборот. Т.о. представление об истинном значении величины
M в каждом конкретном примере можно получить, проанализировав рост числа f ′( xn ) верных знаков в 2-х 3-х предыдущих шагах. Если в предыдущих шагах число верных знаков с ростом n примерно удваивалось, то это подтверждает , что величина
M f ′( xn )
мала и метод Ньютона целесообразно применять. 2.4 Метод простой итерации Применение метода итераций требует предварительного приведения уравнения f ( x) = 0 к каноническому виду
x = ϕ ( x)
(1)
Область изменения аргумента x на числовой оси назовем X (отрезок числовой оси). Область значений функции y = ϕ ( x) обозначим Y . Функцию ϕ можно рассматривать как оператор, преобразующий X в Y.
Рис.1
Построим график обеих частей уравнения (1): для левой части: прямая линия y = x – биссектриса первого координатного угла, для правой части – некоторая линия с уравнением y = ϕ ( x) (обозначим буквой l ). Решением уравнения является абсцисса x * точки М* пересечение l и биссектрисы. 58
Допустим, что для x * имеется начальное приближение x0 . В простейшем методе итерации все дальнейшие приближения строятся по формуле
xn+1 = ϕ ( xn ), n = 0,1,...
(2)
Этот процесс называется одношаговой итерацией. Геометрическое значение процесса вычислений xn указано на рисунке 1. По x0
находится на l точка M 0 [ x0 ,ϕ ( x0 )] , через нее проводится прямая параллельная оси х и находится точка ее пересечения с биссектрисой. Абсцисса этой точки принимается за следующее приближение x1 к x * и т.д. Рассмотрим поведение приближений xn , когда они находятся вблизи x * .
Для этого рассмотрим их погрешности
ε n = xn − x * . Зависимость между ε n и ε n+1
получится,
xn
если
в
(2)
вместо
xn = x * +ε n , xn+1 = x * +ε n+1 :
и
xn+1
подставить
их
выражения
x * +ε n+1 = ϕ ( x * +ε n ) = ϕ ( x*) + ε nϕ ′( x*) + o(ε n ) Если воспользоваться равенством x* = ϕ ( x*) и пренебречь малой величиной более высокого порядка малости o(ε n ) , то зависимость между ε n и ε n+1 запишется в виде приближенного равенства 1. Когда ϕ ′( x*) > 1, погрешность
ε n+1 > ε n и приближение xn+1 будет
отстоять от x * дальше, чем xn . Решение x * будет “точкой отталкивания” для приближений xn , близких к нему, и в этом случае не будет сходимости последовательности xn к x * . 2.
Если ϕ ′( x*) < 1 , то погрешность
ε n+1 < ε n и можно ожидать, что
последовательность xn , если x0 взято достаточно близким к x * , будет сходится к x * приблизительно со скоростью геометрической прогрессии со знаменателем q = ϕ ′( x) .
ϕ ′ ( x *) > 0 ε n+1 и ε n будут иметь одинаковые знаки, и сходимость xn к x * будет монотонной. Если ϕ ′ ( x *) < 0 , то погрешности ε n+1 и ε n имеют разные При
знаки, и приближение xn будет сходиться к x * , колеблясь около x * .
ϕ ′( x*) = 0 требует специального рассмотрения, так как тогда ε n+1 будет малой величиной высшего порядка сравнительно с ε n . Поэтому, если x0 взято 3. Случай
достаточно близким к x * , то xn будет весьма быстро сходится к x * : при возрастании
n погрешность
ε n будет стремиться к нулю со скоростью, превосходящей
сходимость геометрической прогрессии со сколь угодно малым знаменателем. Это часто используют для ускорения сходимости последовательности xn к x * путем преобразования заданного уравнения (1) к новому x = ψ ( x) , имеющему то же решение x * , но такому, что ψ ′ ( x*) = 0 Укажем порядок малости ε n+1 сравнительно с ε n . Пусть ϕ непрерывную производную порядка m вблизи x * , и выполняются равенства
имеет
ϕ ′( x*) = ... = ϕ ( m−1) ( x*) = 0 и ϕ ( m ) ( x*) ≠ 0 В этом случае разложение ϕ ( xn ) = ϕ ( x * +ε n ) около x * будет иметь форму 59
ϕ ( xn ) = ϕ ( x * +ε n ) = ϕ ( x *) + Подстановка его в (2) и отбрасывание o между
( )
1 ( m) ϕ ( x *) ε nm + o ε nm m!
(ε ) даст следующее соотношение m n
ε n+1 и ε n : ε n+1 ≈
1 ( m) ϕ ( x *) ε nm . m!
Отсюда видно, что ε n+1 будет малой величиной порядка m относительно Теорема 1. О сходимости итерационной последовательности: Пусть выполняются условия: 1) функция ϕ ( x) определена на отрезке
x − x0 ≤ δ ,
(4)
εn .
(5)
непрерывна там и удовлетворяет условию Липшица с постоянным коэффициентом, меньшим единицы:
ϕ ( x) − ϕ ( x′) ≤ q x − x′
( 0 ≤ q < 1) ;
(6)
2) для исходного приближения x0 верно неравенство
x0 − ϕ ( x0 ) ≤ m ; 3) числа
δ , q, m удовлетворяют условию m ≤δ . 1− q
(7)
Тогда 1) уравнение (1) в области (5) имеет решение; 2) последовательность xn приближений, построенная по правилу (2), принадлежит отрезку (5), является сходящейся ( lim xn = x *) , и предел
последовательности x * удовлетворяет уравнению (1); 3) скорость сходимости xn к x *
x * − xn ≤
m n q , 1− q
n = 1,2,...
(8)
Поясним условия теоремы: Функция ϕ преобразует отрезок
x0 − δ ≤ x ≤ x0 + δ числовой оси в некоторый отрезок той же оси. Возьмем две точки x, x′ на [ x0 − δ , x0 + δ ] . Расстояние между ними есть x − x′ , а Отношение
ϕ ( x) − ϕ ( x′) x − x′
ϕ ( x) − ϕ ( x′) есть расстояния между их изображениями. есть коэффициент увеличения этих расстояний при
преобразовании. По условию (6) он не превосходит числа q , но т.к. q