Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практика_3 Кожин Численные

.doc
Скачиваний:
9
Добавлен:
01.02.2015
Размер:
396.29 Кб
Скачать

9

Практика №3

LU разложение матрицы.

Если есть матрица

а11

а12

...

а1n

а21

а22

...

...

...

...

...

...

аn1

аn2

...

аnn

Для которой det(A) ≠0 , то существует единственная матрица L нижнее треугольная и верхне треугольная U такие что

LU=А

1

0

...

0

L21

1

...

...

...

...

...

...

Ln1

Ln2

...

1

U11

U12

...

U1n

0

U22

...

...

...

...

...

...

0

0

...

Unn

а11

а12

...

а1n

а21

а22

...

...

...

...

...

...

аn1

аn2

...

аnn

× =

Алгоритм разложения с помощью вспомогательной матрицы

  1. Строим матрицу М1

по диагонали 1

первый столбец - аi1/ а11

все остальные элементы матрицы равны 0

1

0

...

0

- а21/ а11

1

...

...

...

...

...

...

- аn1/ а11

0

...

1

  1. строим матрицу А1 = М1 × А

1

0

...

0

m21

1

...

...

...

...

...

...

mn1

0

...

1

а11

а12

...

а1n

а21

а22

...

...

...

...

...

...

аn1

аn2

...

аnn

а111

а112

...

а11n

0

а122

...

...

...

...

...

...

0

а1n2

...

а1nn

× =

По матрице А1 строим новую матрицу М2 в которой

по диагонали 1

второй столбец ниже диагонали - а1i2/ а122

все остальные элементы матрицы равны 0

1

0

...

0

0

1

...

...

0

- а132/ а122

1

...

...

1

0

0

- а1n2/ а122

0

0

1

  1. строим матрицу А2 = М2 ×А1

  2. Продолжаем строить матрицы Мi для очередного столбца и получать новые матрицы Аi. После построения матрицы Мn-1 для предпоследнего столбца и получения матрицы Аn-1 матрица будет иметь верхнетреугольный вид - U матрица. Матрица L строится из Мi

1

0

...

0

-m12

1

...

...

...

...

...

...

-mn1

-mn2

...

1

U11

U12

...

U1n

0

U22

...

...

...

...

...

...

0

0

...

Unn

Второй метод построения матриц L и U

  1. первая строка матрицы переписывается из матрицы A

a11

a12

...

a1n

0

0

...

...

...

...

...

...

0

0

...

0

  1. первый столбец ниже диагонали заполняется значениями аi1/ а11

a11

a12

a1n

а21/ а11

0

...

...

...

...

...

...

аn1/ а11

0

...

0

  1. Заполняем вторую строку справа от диагонали

a11

u12

u1n

l21

0

...

...

...

...

...

...

ln1

0

...

0

значениями a2j-u1j*l21 при этом a2j берется из исходной таблицы,

  1. Заполняем второй столбец ниже диагонали

a11

a12

a1n

l21

u22

...

u2n...

...

...

...

...

...

...

...

...

ln1

0

...

0

значениями (aj2-a12*lj1)/u22 при этом a2j берется из исходной таблицы

5) Действуем аналогично для следующей строки и столбца, заполняя их справа и ниже диагонали в соответствии с пунктами 3 и 4. При заполнении строки из соответствующего элемента матрицы А вычитаем сумму произведений элементов выше данного на соответствующие элементы справа от начала

u11

u12

u14

u1n

l21

u22

u24

u2n

l31

l32

u34

u3n

l41

l42

l51

l52

...

...

...

ln1

ln2

0

При заполнении столбца из соответствующего элемента матрицы А вычитаем сумму произведений элементов слева на соответствующие элементы выше от начала и делим на диагональный элемент

u11

u12

u13

u14

u1n

l21

u22

u23

u24

u2n

l31

l32

u33

u34

u3n

l41

l42

l51

l52

u53

...

...

...

ln1

ln2

0

Определитель матрицы А будет равен определителю матрицы U и равен произведению диагональных элементов матрицы U

При вычислении матрицы М осуществляется деление на диагональный элемент. Если очередной диагональный элемент равен 0, можно переставить строки местами так, что бы диагональный элемент был отличен он 0. В этом случае определитель исходной матрицы будет равен

det(A)=(-1)k det(U)=∏uii i=1..n

где k количество перестановок строк и столбцов

Пример ( через вспомательную матрицу)

 

 

A

 

 

 

 

M1

 

 

 

 

M1*A

 

-1

-0,4

-0,6

-0,8

 

1

0

0

0

 

-1

-0,4

-0,6

-0,8

-0,4

-1

-0,8

-0,2

 

-0,4

1

0

0

 

0

-0,84

-0,56

0,12

-0,6

-0,6

-1

-0,4

 

-0,6

0

1

0

 

0

-0,36

-0,64

0,08

-0,2

-0,4

-0,4

-1

 

-0,2

0

0

1

 

0

-0,32

-0,28

-0,84

 

 

 

 

 

 

 

M2

 

 

 

 

M2*A

 

 

 

 

 

 

1

0

0

0

 

-1

-0,4

-0,6

-0,8

 

 

 

 

 

0

1

0

0

 

0

-0,84

-0,56

0,12

 

 

 

 

 

0

-0,43

1

0

 

0

0

-0,4

0,029

 

 

 

 

 

0

-0,38

0

1

 

0

0

-0,07

-0,89

 

 

 

 

 

 

 

M3

 

 

 

U

 

 

 

 

 

 

 

1

0

0

0

 

-1

-0,4

-0,6

-0,8

 

 

 

 

 

0

1

0

0

 

0

-0,84

-0,56

0,12

 

 

 

 

 

0

0

1

0

 

0

0

-0,4

0,029

 

 

 

 

 

0

0

-0,17

1

 

0

0

0

-0,89

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L

 

 

 

LU

 

 

 

 

 

 

 

1

0

0

0

 

-1

-0,4

-0,6

-0,8

 

 

 

 

 

0,4

1

0

0

 

0,4

-0,84

-0,56

0,12

 

 

 

 

 

0,6

0,429

1

0

 

0,6

0,429

-0,4

0,029

 

 

 

 

 

0,2

0,381

0,167

1

 

0,2

0,381

0,167

-0,89

Второй метод построения матриц L и U

Для матрицы

-1

-0,4

-0,6

-0,8

-0,4

-1

-0,8

-0,2

-0,6

-0,6

-1

-0,4

-0,2

-0,4

-0,4

-1

-1

-0,4

-0,6

-0,8

0,4

0,6

 

 

 

0,2

 

 

 

-1

-0,4

-0,6

-0,8

0,4

-0,84

-0,56

0,12

0,6

 

 

 

0,2

 

 

 

-1

-0,4

-0,6

-0,8

0,4

-0,84

-0,56

0,12

0,6

0,428571

 

 

0,2

0,380952

 

 

-1

-0,4

-0,6

-0,8

0,4

-0,84

-0,56

0,12

0,6

0,428571

-0,4

0,028571

0,2

0,380952

0,166667

-1

-0,4

-0,6

-0,8

0,4

-0,84

-0,56

0,12

0,6

0,428571

-0,4

0,028571

0,2

0,380952

0,166667

-0,89048