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

MU_LR_VychMat_230400

.pdf
Скачиваний:
17
Добавлен:
10.05.2015
Размер:
2.14 Mб
Скачать

3.1.6. Метод LU-разложения

Пусть дана система линейных алгебраических уравнений вида (2.1). Обозначим через j угловой минор порядка j матрицы A , т.е.

 

a

,

2

 

a11

a12

,...,

n

det A

1

11

 

 

a21

a22

 

 

 

 

 

 

 

 

 

 

При решении системы (2.1) методом LU- разложения предполагается, что данная система имеет единственное решение (т.е. называется определенной) и, кроме того, все угловые миноры матрицы А не равны нулю.

Метод LU-разложения основан на разложении матрицы системы А на произведение двух треугольных матриц:

 

 

 

 

 

 

 

 

 

A L U ,

 

 

 

 

 

 

 

 

(2.5)

 

l11

 

 

 

 

 

 

 

 

 

 

1

u12

u13

...

u1n

 

 

 

l

l

 

 

 

 

 

 

 

 

 

1

u

23

...

u

2n

 

 

 

21

 

22

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

L

l

l

l

 

 

 

 

;

U

 

 

1

...

u

(2.6)

 

31

 

32

 

33

 

 

 

 

 

 

 

 

 

 

 

 

3n

 

 

 

.

 

.

 

.

.

 

.

 

 

 

. .

.

.

 

.

 

 

 

l

l

n2

l

n3

...

l

 

 

 

 

 

 

 

 

 

1

 

 

 

n1

 

 

 

 

nn

 

 

 

 

 

 

 

 

 

 

 

Матрица L является нижней треугольной матрицей (обозначение по первой букве английского слова Lower – нижний), U – верхняя треугольная матрица, (обозначение от английского Upper – верхний).

Теоретическое обоснование возможности такого разложения матрицы содержит следующая теорема:

Теорема об LU- разложении:

Пусть все угловые миноры матрицы А отличны от нуля, j 0, j 1,...,n . Тогда

матрицу А можно представить, причем единственным образом, в виде произведения A=LU, где L- нижняя треугольная матрица, U- верхняя треугольная матрица с единичной диагональю.

Доказательство этой теоремы можно найти в книге: Самарский А.А. «Численные методы», стр. 55-57.

Элементы матриц L и U можно найти по формулам:

 

 

 

k 1

 

 

lik

aik

limumk ,

 

,i k, k 1,..., n,

 

 

 

m 1

 

 

 

 

 

k 1

 

(2.7)

 

 

akj

lkmumj

 

 

 

 

 

ukj

 

 

m 1

,

j k 1, k 2,..., n.

 

lkk

 

 

 

 

 

Следует отметить, что верхняя треугольная матрица U , найденная, в соответствии с формулами (2.7), полностью совпадает с матрицей коэффициентов при неизвестных системы, являющейся результатом прямого хода метода Гаусса (2.3).

В результате исходная СЛАУ примет вид:

31

L U X B .

 

 

(2.8)

A

 

 

 

Обозначим произведение U X через Z, где Z [z ,..., z

n

]T

- вспомогательный вектор-

1

 

 

столбец. Тогда вместо системы (2.8) с матрицей A произвольного вида получим две

системы уравнений с треугольными матрицами:

 

 

 

LZ B и UX Z .

 

 

(2.9)

Прямой ход (прямое исключение, прямая подстановка) методы LU-разложения заключается в решении системы LZ B , которая в развернутой форме имеет вид:

l11 z1

 

b1 ,

l21 z2

l22 z2

b2 ,

l31 z3

l32 z3 + l33 z3

b3 ,

...................................

ln1 z1 ln2 z2 ln3 z3 ...

lnn zn bn .

Решая данную систему, найдем вектор Z , последовательно выражая его компоненты, начиная с z1 по формулам:

z1

b1 / l11

 

 

 

 

 

 

i 1

 

 

 

(2.10)

 

lij

 

 

zi

bi

z j lii

,

i 2, 3,..., n.

 

 

 

 

 

 

 

 

 

 

j 1

 

 

 

 

Чтобы эти вычисления имели смысл, диагональные элементы lii должны быть не нулевыми.

Обратный ход (обратная подстановка) заключается в решении системы U X = Z:

x1

u12x2

u13x3 ...

u1n xn

z1

,

 

x2

u23x3 ...

u2n xn

z2

,

 

 

 

...

...

...

 

 

 

 

 

 

xn 1

un 1,n xn

zn 1 ,

 

 

 

 

 

x

z

n

.

 

 

 

n

 

 

Начиная с последнего уравнения, последовательно находим компоненты вектора X. В общем виде они определяются по формулам:

xn zn ,

n

 

(2.11)

xi zi uij x j ,

i n 1,n 2, ...,1.

 

j i 1

Этот процесс называется обратной подстановкой или обратным ходом и абсолютно эквивалентен обратному ходу метода Гаусса.

Метод LU-разложения, как и метод Гаусса требует выполнения порядка n3 операций.

Пример LU-разложения:

32

Начальная

 

 

 

 

1 шаг:

 

 

 

2 шаг:

 

 

 

3 шаг:

 

 

 

 

4 шаг:

 

матрица

 

 

 

 

k = 1

 

 

 

k = 2

 

 

 

k = 3

 

 

 

 

k = 4

 

2 4 –4 6

 

 

 

2 2 –2 3

 

 

 

2 1 -2 3

 

 

 

 

2 2 –2 3

 

 

 

2 2 –2 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 4 2 1

 

 

 

1

4

2 1

 

 

 

1 4 2 1

 

 

 

 

1 2

2 -1

 

 

 

1 2 2 -1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 8 1 1

 

 

 

3

8

1 1

 

 

 

3 2

1 1

 

 

 

 

3 2

3 –2

 

 

 

3 2

3 -2

 

 

2 5 0 5

 

 

 

2

5

0 5

 

 

 

2 1

0 5

 

 

 

 

2 1

2

5

 

 

 

2 1

2 4

 

 

2

 

 

 

 

 

 

1

2 -2 3

 

 

 

 

 

 

L=

1

2

 

 

 

U=

 

 

1 2 –1

 

3

2

3

 

 

 

 

 

1 –2

 

2

1

2

4

 

 

 

 

1

 

 

 

 

 

3.1.7.Выбор ведущего элемента для повышения точности.

Вметодах Гаусса и LU-разложения на каждом k -м шаге осуществляется деление на

элемент akk . Такой элемент называется главным или ведущим. Очевидно, что если akk 0 ,

то деление не может быть выполнено, а если akk 0 , то результат деления будет получен с большой погрешностью.

Для повышения точности вычислений можно выбрать другой ведущий элемент путем перестановки строк и столбцов расширенной матрицы (переупорядочить СЛАУ).

При этом различают частичное и полное упорядочение.

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

akk

max (| ai,k |) .

 

i k ,...,n

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

akk

max (| ai, j |) .

 

i, j k ,...,n

Следует обратить внимание, что в обоих случаях рассматриваются только элементы, расположенные ниже и правее исходного ведущего элемента, поскольку на k -м шаге первые k 1 строки и столбца уже сформированы и на последующих шагах не изменяются.

Так, в примере:

0x1 x2 3x3 3,2x1 5x2 8x3 2,

4x1 2x2 10x3 1,

при частичном упорядочении меняем местами 1-е и 3-е уравнения. Получим

33

4x1 2x2 10x3 1,

2x1 5x2 8x3 2,0x1 x2 10x3 3.

При полном упорядочении дополнительно к этому поменяем местами 1-й и 3-й столбец, получим:

10x3 2x2 4x1 1,

8x3 5x2 2x1 2,3x3 x2 0x1 3.

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

3.1.8. Выбор ведущего элемента для уменьшения количества вычислений

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

Для выяснения влияния выбора ведущего элемента рассмотрим следующий пример. Возьмем матрицу с двумя нулевыми элементами

a11

a12

a13

 

a

 

a

0

 

 

21

22

 

 

a

 

0

a

 

31

 

33

 

Допустим, что проведено LU-разложение. Тогда можно записать:

 

l

a

 

u

a12

 

 

 

 

 

 

 

11

11

 

 

12

l11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LU l

 

a

l

 

a

l u

 

 

21

21

 

22

22

21

12

l

a

l

 

0 l u

 

 

13

13

32

 

31 12

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

a13

 

 

 

 

 

 

 

 

 

 

 

 

 

13

 

l11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( 0 l21u13 )

u23

 

 

 

 

 

 

l22

 

 

 

 

 

 

 

 

 

 

 

l

a

 

 

l u

l u

 

33

33

 

31

13

32

23

 

 

 

 

 

 

 

 

 

 

 

 

Заметим, что тут произошла замена нулевых элементов на ненулевые. Допустим, что ведущим элементом выбрали а33, и поместили в верхний левый угол с помощью замены строк и столбцов матрицы:

a33

0

a31

 

 

0

a

a

 

 

 

22

21

a

a

a

 

 

13

12

11

 

Теперь LU-разложение будет таким:

34

 

 

 

a33

u12 0

 

 

 

 

 

a31

 

 

 

l11

 

u13

 

 

 

 

 

 

 

 

l11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a21

 

 

LU l

 

 

0

l

 

a

 

 

u

 

 

 

 

 

21

22

22

 

23

 

 

 

 

 

 

 

 

 

 

 

 

 

l

22

 

 

 

l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

l a

 

l a

 

l u

l u

 

31

 

13

32

12

33

 

11

 

 

 

31

13

32

23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Видно, что нулевые элементы матрицы сохранены. Разложение начальной матрицы требует 8 операций умножения (деления) и 5 - вычитания. Для разложения модифицированной матрицы, необходимо только 4 операции умножения (деления) и 2 - вычитания.

Типичным примером разреженных матриц являются матрицы,

имеющие ленточную

(или диагональную) структуру, для которых aij 0 при | i j | q ,

где 2q 1 - ширина

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

Для произвольных разреженных матриц количество операций можно уменьшить за счет упорядочивания. Существуют различные правила упорядочения. Наибольшее распространение получило правило Марковица. В соответствии с этим правилом, на k -м шаге ведущим выбирается элемент aij ,i, j k,...,n , такой, что в i-строке и j-столбце в

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

Пример.

Решение системы уравнений методом Гаусса с полным выбором ведущего элемента. Исходные данные:

расширенная матрица системы

 

10

4

2

2

 

A

1

12

3

3

 

 

 

 

 

 

 

 

1

6

15

3

 

Решение.

1) Прямой ход. Шаг 1.

Выбираем ведущий элемент – максимальный по модулю элемент в матрице коэффициентов при неизвестных системы: a3,3 15 .

Выполняем перестановку строк и столбцов в матрице так, чтобы элемент a3,3 15

35

A - трехдиагональная. Общая

оказался ведущим.

Меняем порядок следования переменных, т.к. мы переставили столбцы. Новый порядок: 3, 2, 1.

Выполняем исключение первой переменной:

Шаг 2.

Выбираем ведущий элемент: a2,2 10.8 .

Перестановку выполнять не нужно. Выполняем исключение второй переменной:

Шаг 3.

Исключение последней переменной:

2) Обратная подстановка:

Меняем местами переменные, чтобы восстановить их первоначальный порядок: x1 0 , x2 0.333 , x3 0.333

3.1.9. Метод прогонки

Данный метод применим в том случае, когда матрица постановка задачи имеет следующий вид.

Дана СЛАУ AX B , где матрица A - трехдиагональная, B - вектор-столбец свободных членов, X - вектор-столбец неизвестных.

Развернутая запись этой системы имеет вид:

i xi 1 i xi i xi 1 i , 1 n 0 ,

i 1,..., n ,

(2.12)

которому соответствует расширенная матрица:

36

 

 

1

1

0

0 ...

0

0

 

1

 

 

 

 

2

2

2

0 ...

0

0

 

2

 

 

 

 

 

 

 

A

 

0

3

3

3 ...

0

0

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

...

... ... ... ...

...

...

 

 

 

0

0

0

0 0

 

n

 

n

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь

 

знак «–»

при коэффициенте

i

взят для более удобного представления

расчетных формул.

 

 

 

 

 

 

 

 

 

 

 

 

Требуется найти вектор

X * [x*

,..., x* ]T ,

обращающий систему

AX B в верное

 

 

 

 

 

 

 

 

 

 

 

 

1

n

 

 

равенство.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если к (2.12)

применить алгоритм прямого хода метода Гаусса,

то вместо матрицы

 

 

 

 

 

 

 

 

ˆ

 

 

 

 

 

 

 

 

A получится матрица

вида:

 

 

 

 

 

 

 

A

 

 

 

1

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

P

0

 

0

...

0

0

Q

 

 

 

 

 

 

 

0

1

P

 

0

...

0

0

Q

 

 

 

 

 

ˆ

 

 

 

2

 

 

 

 

 

2

 

 

 

 

 

 

 

0

0

1

 

P

...

0

0

Q

 

 

 

 

 

A

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

3

 

 

 

 

 

 

 

... ... ...

 

... ... ... ... ...

 

 

 

 

 

 

 

 

0

0

0

 

0

0

0

1

Q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

Коэффициенты Pi ,Qi

называются прогоночными коэффициентами. На их основе

неизвестные могут быть легко найдены по рекуррентной формуле:

 

x

Q ,

x Px

Q ,

i 1,...,n 1

(2.13)

n

n

i i i 1

i

 

 

Для нахождения формул для прогоночных коэффициентов подставим в (2.12) выражение (2.13), записанное для xi 1 :

i (Pi 1xi Qi 1 ) i xi i xi 1 i .

Приводя эти формулы к виду (2.13) и сравнивая с ним, получим рекуррентные соотношения для определения прогоночных коэффициентов на прямом ходе метода прогонки:

P

 

i

 

 

 

,i 1,..., n 1;

Q iQi 1

i ,

i 1,..., n .

 

 

 

 

 

i

 

 

 

i

i Pi 1

i

i i Pi 1

 

 

 

 

 

 

 

Обратный ход метода прогонки заключается в последовательном вычислении

значений неизвестных, начиная с xn в соответствии с формулой (2.13).

3.1.10. Метод квадратного корня

 

 

 

 

Данный метод

 

предназначен для

решения

систем уравнений AX B с

симметричной (в комплексном случае – эрмитовой) матрицей.

 

Эрмитовой называется матрица, для элементов которой выполняются следующие

соотношения: ai ,k

 

k ,i , где

 

k ,i - комплексное сопряженное с ak ,i .

a

a

Примеры комплексных сопряженных чисел: 3 i2

и 3 i2

Пары 3 i2 и

3 i2 и

3 i2 и 3 i2 не являются комплексными сопряженными.

Для эрмитовых, как и для действительнозначных симметричных матриц AT A .

37

Метод квадратного корня основан на разложении матрицы A в произведение

A ST DS ,

где S - верхняя

треугольная матрица с

положительными элементами

на

главной

диагонали, ST

- эрмитово-сопряженная

с S матрица (полученная

из

исходной

транспонированием и, в комплексном случае, заменой каждого элемента комплексным-

сопряженным),

D -

диагональная

 

матрица,

 

на

 

диагонали которой

находятся числа

dii 1 :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s11

0 ...

0

 

 

 

 

 

 

 

d11

0 ...

0

 

 

 

 

 

 

s11

s12

...

s1n

 

S

T

s

s ...

0

 

,

 

 

D

 

0

d

 

 

...

0

 

 

,

 

 

 

 

0

s

...

s

 

 

12

22

 

 

 

 

 

 

 

 

22

 

 

 

 

 

 

 

 

 

S

 

22

 

2n

 

 

 

... ... ...

0

 

 

 

 

 

 

 

 

... ... ...

...

 

 

 

 

 

 

... ...

... ...

 

 

 

s

s

...

s

 

 

 

 

 

 

 

 

 

0

0 ...

 

d

nn

 

 

 

 

 

0

0

...

s

 

 

 

1n

2n

 

nn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

nn

 

Все элементы матриц S ,

ST

и D можно найти рекуррентно по формулам:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1/ 2

 

 

 

 

 

 

 

 

 

 

i 1

 

sli

 

2

dll

 

sii

 

aii

 

i 1

 

sli

 

2

dll

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dii sign aii

 

 

 

,

 

 

 

 

 

 

 

для i j

 

 

 

 

 

 

 

 

l 1

 

 

 

 

 

 

 

 

 

 

 

 

 

l 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

aij

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

slidll slj

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sij

 

 

 

 

l 1

 

 

 

для

i j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

siidii

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Порядок вычисления ненулевых элементов матриц

S

и

D для третьего порядка:

d11, s11, s12 , s13 , d22 , s22 , s23 , d33 , s33 .

Если разложение A ST DS получено, то решение системы сводится к последовательному решению двух систем уравнений с треугольными матрицами

ST DZ B

SX Z

3.1.11. Решение СЛАУ в MathCad и операции с матрицами

Простейшие операции над матрицами:

Простейшие операции матричной алгебры реализованы в Math 1) транспонирование

1-й способ решения СЛАУ: Вычислительный блок Given/Find

38

Пример:

2-й способ 2 решения СЛАУ: Применение функции Isolve

39

Пример:

3.2. ЗАДАНИЕ НА РАБОТУ

Решить систему линейных алгебраических уравнений:

a11x1 a12x2 a13x3 b1a21x1 a22x2 a23x3 b2

a31x1 a32x2 a33x3 b3

методами:

1.Гаусса с выбором ведущего элемента

2.LU-разложения

3.Квадратного корня (при этом принять a21=a12, a31=a13, a32=a23)

4.решить СЛАУ в MathCad

 

 

 

 

 

3.3.

 

ВАРИАНТЫ ЗАДАНИЙ

 

 

 

 

 

 

3

0,1

0, 4

 

2

 

 

3

0,1

0, 4

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. A

1

4

0, 2

 

, B

1

 

2. A

1 4

0, 2

 

, B

2

 

 

0.5

2

6

 

 

3

 

 

0.5

2

6

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

40

 

 

 

 

 

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]