Лекция №3 по прикладной математике

advertisement
Лекция №3
Прикладная математика
1
Решение систем линейных алгебраических уравнений
методом исключения Гаусса
Рассмотрим систему линейных алгебраических уравнений (СЛАУ)
a 11  x1  a 12  x 2    a 1n  x n  b1 , 
a 21  x1  a 22  x 2    a 2 n  x n  b 2 , 

                
a n1  x1  a n 2  x 2    a nn  x n  b n 
(1)
или в матричной форме A  x  b , где A – матрица коэффициентов при неизвестных, b –
вектор свободных членов, x – вектор неизвестных.
 a11 a12

a 22
a
A   21



 a n1 a n 2
 a1n 

 a 2n 
,
  

 a nn 
 b1 
 
b 
b   2 ,

 
 bn 
 x1 
 
x 
x   2 .

 
xn 
Найдем решение СЛАУ (1) методом исключения Гаусса.
Прямой ход метода Гаусса.
Пусть a11  0 . Разделим первое уравнение системы (1) на a11 , получим
a
a
a
b
x1  12  x 2  13  x 3    1n  x n  1 .
(2)
a11
a11
a11
a11
Преобразуем СЛАУ (1) следующим образом: 1-е уравнение оставим без изменения;
из 2-го уравнения вычтем уравнение (2), умноженное на a 21 ; из 3-го уравнения вычтем
уравнение (2), умноженное на a 31 и т.д. То есть сделаем все элементы 1-го столбца матрицы коэффициентов при неизвестных А за исключением a11 равными нулю. Получим
a11  x1  a12  x 2    a1n  x n  b1 ,






a12
a1n
b1
0   a 22 
 a 21   x 2     a 2 n 
 a 21   x n  b 2 
 a 21 ,

a11
a11
a11




(3)

                             





a
a
b
0   a n 2  12  a n1   x 2     a nn  1n  a n1   x n  b n  1  a n1 
a11
a11
a11







a
Назовем элемент a11 ведущим. Пусть теперь  a 22  12  a 21   0 . Беря этот элеa11


мент в качестве ведущего и выполняя преобразование, аналогичное преобразованию (1) в
(3), сделаем равными нулю все элементы 2-го столбца в матрице коэффициентов при неизвестных в СЛАУ (3) для i>2 и т.д. В итоге вместо (1) получим СЛАУ
a 11  x1  a 12  x 2    a1n  x n  b1 , 

0~
a 22  x 2    ~
a2n  x n  ~
b2 , 
(4)

                
0  0    0  ~
a nn  x n  ~
bn 
~
или U  x  b , где U – верхняя треугольная матрица, то есть матрица, у которой все элементы ниже главной диагонали равны нулю. Преобразование СЛАУ (1) в (4) называется
прямым ходом метода Гаусса.
Лекция №3
Прикладная математика
Обратный ход метода Гаусса
СЛАУ (4) легко решается, начиная с последнего уравнения.
~
bn
xn 
, x n 1  ~
bn 1  ~
a n 1 n  x n ~
a n 1 n 1 , x1  b1  a12  x 2    a1n  x n  a11
~
a nn


2
(5)
n


или x k   ~
(5')
bk   ~
a ks  x s  ~
a kk , k  n, ( n  1), ( n  2),  ,1
s  k 1


Нахождение решения по формулам (5) называется обратным ходом метода Гаусса.
Метод Гаусса и его модификации является одним из наиболее эффективных методов решения СЛАУ.
Пример: решить СЛАУ
2 x1  x 2  x 3  1 
 2 1 1   x1   1 

    

4 x1  x 2
 2  (a )   4 1 0    x 2     2 
  2 2 1  x   7 
 2 x1  2 x 2  x 3  7 

  3  

Составим расширенную матрицу
 2 1 1 1 

 прибавим ко второй строке первую строку , умноженную на  2, а
 4 1 0  2
  2 2 1 7  к третьей строке прибавим первую строку , умноженную на 1.


Получим эквивалентную СЛАУ
1
1 
2 1


 0  1  2  4  прибавим к третьей строке вторую строку , умноженнуюна 3, получим
0 3
2
8 

1
1 
2 x1  x 2  x 3  1 
2 1



 x 2  2x 3  4 (b)
 0  2  2  4 
 0 0  4  4
 4x 3  4 



Переход от (a) к (b) завершает прямой ход метода Гаусса. Обратный ход:
 4  2x 3
1  x2  x3
4
x3 
 1, x 2 
 2, x1 
 1.
 1
4
2
Ответ: x1  1, x 2  2, x 3  1.
Замечания
1. Если в процессе прямого хода ведущий элемент окажется равным нулю, то следует
поменять уравнения местами так, чтобы на главной диагонали в качестве ведущего
оказался ненулевой элемент. Если окажется, что диагональный и все стоящие в
столбце ниже него элементы равны нулю, то это означает, что данная СЛАУ является вырожденной (определитель матрицы коэффициентов при неизвестных равен
нулю). Вырожденная СЛАУ либо не имеет решения, либо имеет их бесконечное
множество.
2. Если ведущий элемент мал, то деление на него приводит к большим ошибкам
округления. Этого позволяет избежать метод Гаусса с выбором главного элемента
по столбцам (или по строкам, или по всей матрице).
При выборе главного элемента по столбцам строки расширенной матрицы переставляются так, чтобы на главной диагонали (то есть в качестве ведущего) оказался
наибольший из элементов ~
amk (при m  k ) данного столбца, стоящих на диагонали и выше.
Лекция №3
Прикладная математика
3
3. Общее число операций при решении СЛАУ методом Гаусса пропорционально
2 3
n , где n – число уравнений. При решении СЛАУ методом Крамера (с помощью
3
2
определителей) требуется порядка n 4 операций.
3
Вычисление определителя методом Гаусса
При выполнении операций прямого хода метода Гаусса величина определителя
матрицы A не меняется. При каждой перестановке строк или столбцов матрицы знак
определителя меняется на противоположный. Таким образам,
A  ( 1) k  U  ( 1) k  ~
a ~
a ~
a ,
11
22
nn
где U – верхняя треугольная матрица, которая получается из матрицы коэффициентов A в
результате выполнения прямого хода метода Гаусса; k – суммарное число перестановок
строк и столбцов в процессе выполнения прямого хода.
Пример
2 1 1
4
1 0   10  2   1   4  8 .
2 2 1
Нахождение обратной матрицы методом Гаусса-Жордана
В методе Жордана при решении СЛАУ исключаются как элементы, стоящие ниже
ведущего, так и элементы, стоящие выше ведущего в данном столбце матрицы А коэффициентов при неизвестных. Кроме того, все элементы строки матрицы, содержащей ведущий элемент, делятся на него. При этом после выполнения прямого хода матрица А приводится к единичной матрице и обратный ход становится не нужным. Решение СЛАУ получается в расширенной матрице на месте свободных членов. Однако, при решении
СЛАУ метод Жордона несколько медленнее метода Гаусса. Но он быстрее метода Гаусса
при нахождении обратной матрицы.
Пусть дана матрица А и нужно найти обратную к ней. Имеем
A  A 1  I *.
Соотношение (*) фактически представляет собой совокупность n СЛАУ с одной и
той же матрицей А коэффициентов при неизвестных, где в качестве неизвестных берутся
элементы столбцов обратной матрицы A1 , а в качестве свободных членов – соответствующие столбцы единичной матрицы. Решим все эти СЛАУ одновременно методом
Жордана. Изложение проведем на примере нахождения обратной матрицы для матрицы
 2 1 1


A   4 1 0 .
  2 2 1


Составим расширенную матрицу и выполним прямой ход методом Жордана.
Умножим первую строку расширенной матрицы на (-2) и сложим со второй строкой. Затем умножим первую строку на (1) и сложим с третьей строкой. После этого разделим все
элементы первой строки на (2). Получим
 2 1 1

 4 1 0
 2 2 1

A
1 0 0

0 1 0
0 0 1 


I

 1 0 .5 0 .5

0 1  2
0 3
2

0 .5 0 0 

 2 1 0 .
1 0 1 
Лекция №3
Прикладная математика
4
Теперь умножим вторую строку полученной матрицы на (0.5) и сложим с первой
строкой. Затем умножим вторую строку на (3) и сложим с третьей строкой. После этого
разделим все элементы второй строки на (-1). Получим
 1 0.5 0.5

0  1  2
0 3
2

0.5 0 0 

 2 1 0
1 0 1 

 1 0  0.5

2
0 1
0 0  4

 0.5 0.5 0 

2
 1 0 .
5
3 1 
Наконец, умножим третью строку полученной матрицы на (-0.125) и сложим с первой строкой. Затем умножим третью строку на (0.5) и сложим со второй строкой. После
этого разделим все элементы третьей строки на (-4). Получим
 1 0  0.5

2
0 1
0 0  4

 0.5 0.5 0 

2
 1 0
5
3 1 

1 0 0

0 1 0
0 0 1


I
 0.125 

 0. 5
0.5
0.5  .
1.25  0.75  0.25 

A 1
0.125
0.125
Обратная матрица получается в расширенной матрице на месте единичной матрицы.
A
1
 0.125 0.125  0.125


   0.5
0.5
0.5  .
 1.25  0.75  0.25 


Замечание. Если известна обратная матрица A1 , то решение СЛАУ A  x  b
находится легко x  A 1  b .
Download