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

VMLA-Matzokin-2012 / 2012-лекции BMLA

.pdf
Скачиваний:
328
Добавлен:
06.06.2015
Размер:
4.66 Mб
Скачать

Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 2.

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

Если

k det Ak

0 , то

 

L

U: A

LU, где L – нижняя,

U – верхняя

треугольные матрицы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказательство.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если A

LU , то Ak

 

Lk Uk ,

det Ak

 

det Lk

det Uk

l11

... lkk

u11 ... ukk

0 ,

 

Ak

Bk, n k

 

Lk

 

Ok, n k

Uk

 

Uk, n k

 

 

 

 

 

 

 

т.к. Cn k, k

A'n k

 

Ln k, k

L'n k

 

On k, k

U'n k .

 

 

 

 

 

 

 

Предположим, что разложение Ak

 

Lk Uk

найдено ( A1

a11

L1U1

 

l11

u11 0 ).

Вычислим Ak 1

Lk 1Uk 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(т.е. последние строку матрицы Lk

1 и столбец матрицы Uk 1 ):

 

 

 

 

 

 

 

 

 

 

a1, k

1

 

 

 

 

 

 

 

0

 

 

 

 

 

u1, k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

т.к.

Ak

 

 

 

 

 

 

 

Lk

 

 

 

 

 

 

 

Uk

 

 

 

 

 

 

 

 

ak, k 1

 

 

 

 

 

 

 

0

 

 

 

 

 

uk, k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ak

1,1

 

ak 1, k

 

ak 1, k 1

 

lk

1,1

 

lk

1, k

lk

1, k 1

0

0

 

uk

1, k 1

 

 

u1, k 1

 

a1, k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то Lk

 

 

 

,

lk 1,1

 

 

lk 1, k

Uk

ak

1,1

 

 

ak 1, k

– системы с

 

uk, k 1

 

ak, k

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

треугольными неособенными матрицами (решения

!), и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u1, k

1

 

 

 

 

 

 

 

 

lk 1, k

1 uk 1, k 1

ak

1, k 1

lk 1,1

 

lk 1, k

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

uk, k 1

 

 

 

 

очевидно, что решение этого уравнения существует, но не единственно.

 

 

(так как 0

det Ak 1

det Lk 1

det Uk 1 , то det Lk 1

0, det Uk 1

0 .)

 

 

 

 

И, наконец,

A

An

Ln Un

 

LU .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Объем вычислений.

Так как для решения системы уравнений с треугольной матрицей порядка k достаточно выполнить k(k 1) / 2 умножений и делений, то полагая на каждом

шаге uk 1, k 1 1, получим, что число таких операций для вычисления последних

строки и столбца матриц Lk 1 и Uk

1 равно k(k 2) , а для вычисления матриц

L и U достаточно

n 1 k(k 2) n3

/ 3 умножений или делений.

 

1

 

Замечание.

Если построено LU –разложение матрицы A , то ее определитель вычисляется за 2(n 1) умножений (перемножаются диагональные (ведущие) элементы).

11

Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 2.

Теорема (об LDU – разложении).

Док–во.

 

 

 

 

 

 

Если det Ak

0

k ,

Пусть A

L(1)D(1)U(1)

L(2)D(2)U(2) , тогда

то разложение A

LDU , где

[L(2) ] 1 L(1)

D(2)U(2)[D(1)U(1) ] 1 diag E ,

lkk ukk 1

k , единственно.

 

(2)

1

 

(1)

– нижняя треуг. м–ца с

 

 

 

(т.к. [L ]

 

L

 

 

 

 

единицами на диагонали)

 

 

 

L(1)

L(2)

 

 

 

 

 

 

 

 

[D(2) ] 1 D(1)

 

 

U(2)[U(1) ] 1 diag E

 

 

 

U(1)

U(2)

 

& D(1)

D(2) .

Разложение Холесского

Теорема. Если A

A

0 (т.е. (Ax, x) 0 x

0 ),

 

 

то A L D L , lk k 1, dk

0 k .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Док–во.

 

 

 

 

 

xk , xk )

 

xk

 

 

 

 

 

Т.к. 0

(Ax, x)

(A

x

 

0

, то det A

k

0 k

 

 

 

 

 

k

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

LDU

A

 

U D L

LDL .

 

 

 

 

 

 

Т.к.

y(k)

[L ]

1e

k

0 & A 0 , то

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Ayk , yk )

(LDL yk , yk ) (DL yk ,L yk )

d

k

0 k .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Следствием теоремы о разложении Холлеского является критерий положительной определенности самосопряженной (относительно евклидова скалярного произведения) матрицы A :

Самосопряженная (относительно евклидова скалярного произведения) матрица A положительно определена тогда и только тогда, когда все

её главные миноры положительны.

Докажите, что для любой самосопряженной (относительно евклидова скалярного произведения) матрицы A выполняются неравенства:

min (A) (x, x) (Ax, x) max (A) (x, x) x .

Очевидно, что следствием левого неравенства является утверждение:

Самосопряженная (относительно евклидова скалярного произведения) матрица A положительно определена тогда и только тогда, когда все

её собственные значения положительны.

Суммируя эти утверждения, получаем «критерий Сильвестра»:

Все собственные значения самосопряженной (относительно евклидова скалярного произведения) матрицы A положительны тогда и только

тогда, когда все её главные миноры положительны.

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

Теорема. Если A A 0, то A BB , где B – нижняя треугольная м–ца, и

cond2 B cond2 B cond2 A .

Док–во. Из теоремы о разложении Холесского имеем

12

Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 2.

A LDL L(D1/ 2D1/ 2 )L

(LD1/ 2 )(LD1/ 2 )

B

LD1/ 2 .

 

 

 

 

 

 

 

 

Т.к. Sp(B B) Sp(BB )

Sp(A) , то || B || 2

|| B || 2

 

(A) || A || 2 .

Аналогично || B 1 ||

2

|| (B ) 1 ||

2

 

(A 1)

|| A 1 ||

2

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cond 2 B cond 2 B

cond 2 A .

 

 

 

 

Решение системы уравнений Ax b с помощью разложения A BB называется методом квадратного корня. Так как

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b112

a11, b21b11

a21, b31b11

 

a31

 

 

 

b

 

0 0

 

b b

21

b

 

 

a

11

a

21

a

31

 

 

 

 

 

11

 

 

 

 

 

 

11

 

 

 

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

21

b

22

0

 

0 b

22

b

 

 

a

21

a

22

a

32

a

22

b

21

b

21

, b

32

b

22

a

32

b

21

b

 

 

 

 

 

 

 

 

 

 

32

 

 

 

 

22

 

 

 

 

 

 

 

 

 

 

 

31

b31

b32 b33

 

0 0 b33

 

a31

a32

a33

b2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

33

b

31

b

 

b

32

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

33

 

 

 

 

 

31

 

 

 

32

 

 

 

 

 

 

то элементы матрицы B вычисляются по следующим формулам:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

k 1| b

 

 

| 2

 

 

 

 

 

 

 

k 1 b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

kk

a

kk

 

k j

, b

k i,k

 

(a

k i,k

k i, j

b

k, j

) / b

k k

, i 1,...,n

 

k

 

 

 

 

 

 

 

 

 

j 1

 

 

 

 

 

j 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13

Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций.

Лекция 3.

Метод исключения с выбором главного элемента по столбцу

Напомним 1–ый шаг схемы единственного деления для решения Ax

b :

 

a11

a12

 

a1n

 

x

b

 

 

 

 

 

 

1

a(1)

a(1)

x

b(1)

 

 

 

 

 

 

 

 

 

 

1

1

 

 

 

 

 

 

 

 

12

1n

1

1

 

a21

a2 2

 

a2 n

 

x2

b2

 

 

 

 

 

 

0

a(1)2 2

a(1)2 n

x2

b(1)2

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

an1

an 2

 

an n

 

xn

bn

 

 

 

 

 

 

0

a(1)n 2

aa(1)n n

xn

b(1)n

 

где a(1)

 

a

 

/ a ,

b(1)

b / a

, a(1)

a

i j

 

a

i1

a

 

/ a (i, j

2, ..., n) .

 

 

1 j

 

1 j

11

1

1

11

i j

 

 

 

 

1 j

11

 

 

 

 

Эти операции выполнимы, если (главный элемент шага) a11

0 .

 

 

Ошибки округления будут меньше, если | a11 |

 

| a1 j | или | a11 |

| ai1 | .

 

 

Матрица перестановок

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P (p

i j

)n

 

,

p

i j

1,

j

ki , где (k ,k

2

, ..., k

n

) – перестановка (1, 2, ..., n) .

 

 

i, j 1

 

 

0,

j

ki

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказать, что PP

P P

E , т.е. P – ортогональная матрица.

 

 

 

Доказать, что cond 2 (P)

 

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Элементарная матрица перестановок

Pk l – матрица перестановок k и l элементов в n –ке (1, 2, ..., n) .

Доказать, что P

P

P 1 .

k, l

k, l

k, l

Доказать, что умножение на матрицу Pk, l матрицы A слева ( Pk, l перестановка k и l строк, справа ( APk,l ) –перестановка k и l матрицы A .

A ) – это столбцов

Выбор главного элемента по столбцу.

1–й шаг: находим i1 : | ai 1 |

max | ai1 | (

0 , если det A

0 );

 

 

 

 

 

 

 

 

 

 

1

i 1,...,n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

меняем местами 1 и i строки:

A(1/ 2)

 

P

 

A,

b(1/ 2)

P b ;

 

 

 

 

 

 

 

 

1

 

 

 

 

1,i

 

 

1,i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

 

 

 

 

обнуляем в 1–ом столбце элементы: A(1)

 

L A(1/ 2) ,

b(1)

L b(1/ 2)

,

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

1

 

 

 

1

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a(1/21

2)

1

0

 

a(1/ 2)

 

a(1/ 2)

a(1/ 2)

 

 

b(1/ 2)

 

 

 

 

 

 

 

 

 

11

 

12

 

1n

 

 

1

 

a11(1/ 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

a(1)

a(1)

 

 

 

b(1)

L

 

 

, A

(1)

 

 

 

 

 

2 2

 

2 n

, b

(1)

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a(1/n1

2)

0

1

 

0

 

a(1)n 2

a(1)n n

 

 

 

b(1)n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a(1/ 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

det A 0

 

det A(1)

0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 3.

После k шагов имеем A(k ) x b(k ) , где det A(k)

0, если det A 0

 

 

 

 

 

 

 

y(k )

 

 

Uk

 

Uk, n k

 

 

 

 

 

 

a(kk )1,k

 

a(kk )1,n

 

 

 

 

 

(k )

 

1

 

(k )

b(k )

A

 

 

 

 

, b

k 1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a(nk,k)

1

a(nk,n)

 

 

b(nk )

( k 1)–й шаг:

находим i

k

1

:

| a(k)

k

1

| max | a

i k

1

|;

 

 

 

 

 

i

k

1

i k 1,...,n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

меняем местами k

 

 

1 и ik 1

строки:

 

 

P

 

Ek

 

0

 

 

 

,

A(k 1/ 2)

 

P

A(k) ,

 

 

 

 

 

(n k )

 

 

k 1,ik 1

 

0

 

 

 

 

 

 

 

 

 

k

1,ik 1

 

 

 

 

 

P1,ik 1 k

 

 

 

 

 

 

 

 

 

обнуляем в ( k 1)–ом столбце элементы:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

a

(k

1/ 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 2, k 1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k

1/ 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L

 

Ek

 

 

 

0

 

,

 

 

(n k )

 

ak 1, k 1

 

k 1

0

 

L(n k )

 

 

 

L1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

(k

1/ 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n, k 1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

a

(k

1/ 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1, k 1

 

b(k 1/ 2) P

b(k) ;

k 1,ik 1

 

0

0

,

1

A(k 1)

 

L

k 1

A(k 1/ 2) , b(k

1) L

k 1

b(k

1/ 2) :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y(k )

 

 

 

 

 

Uk

 

 

Uk, n k

 

 

 

 

 

 

 

 

 

 

 

 

 

(k 1/ 2)

(k

1/ 2)

 

(k 1/ 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k

1/ 2)

 

 

 

 

 

 

 

ak 1,k

1

ak 1,k

2

 

ak 1, n

 

 

bk 1

A

(k 1)

 

 

 

0

 

(k

1)

 

 

(k

1)

,

b

(k 1)

(k 1)

 

 

 

0

 

ak

2,k

2

 

ak

2,n

 

 

bk

2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k 1)

 

(k 1)

 

 

 

 

b(nk 1)

 

 

 

 

 

0

 

an,k 2

 

an,n

 

 

 

 

det A(k)

 

0

 

det A(k

1)

0.

 

 

 

 

 

 

 

 

 

 

 

 

Очевидно, что, если

det A 0 ,

то выполнив n

1 шаг, получим систему с

верхней треугольной матрицей: A(n 1)x

Ux

b(n 1)

y .

 

 

 

 

 

 

 

Теорема. Если det A

 

0 , то PA

 

LU , где P

P

 

... P

, L 1 L

n 1

... L ,

 

 

 

 

 

 

 

 

 

 

 

n

1,i n 1

1,i

1

 

 

1

 

 

 

 

 

 

 

 

Lk

Pn

1,i n 1

... Pk

1,i k 1

Lk Pk 1,i k

1

... Pn 1,i n 1

Доказать эту теорему в качестве упражнения, проверив, что матрицы Lk и Lk имеют одинаковую структуру.

15

Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций.

Метод вращений решения системы уравнений

Элементарная матрица вращения

 

Ek

1

 

 

 

 

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ck, l

0

sk, l

 

 

 

 

 

k

я строка

 

 

 

 

 

 

Qk, l

0

 

 

 

0 El k 1

0

 

0

 

 

 

ck, l

ck, l

sk, l

sk, l

1,

 

(k l).

 

 

 

 

 

 

sk, l

0

ck, l

 

 

 

 

 

l

я строка

 

 

 

 

 

 

 

0

 

 

 

 

 

 

0

 

 

 

En

l

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказать, что Q

k, l

– унитарная матрица, т.е. Q

(Q

k, l

)*

(Q

)*Q

E .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k, l

 

 

 

 

k, l

k, l

 

 

Доказать, что det Qk, l

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказать, что при умножении на матрицу Qk, l

матрицы

A слева ( Qk, l A )

изменяются только k и l строки матрицы A .

 

 

 

 

 

 

 

 

 

 

k –ый шаг метода вращений

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Предположим, что после k

1 шага система

Ax

b с помощью умножения

слева на ортогональную матрицу приведена к виду A(k

1) x

 

b(k 1) , где

 

 

 

 

Rk 1

 

 

Rk 1, n k 1

 

 

 

 

 

 

 

y(k 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k

1)

(k

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b(k 1)

 

 

 

 

 

 

 

 

(k 1)

 

 

 

 

 

ak, k

 

ak, n

 

 

 

 

 

(k 1)

 

 

 

 

(0)

 

(0)

 

A

 

 

 

 

 

 

 

 

,

 

b

 

 

k

 

 

 

(A

A, b

b) .

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k

1)

(k

1)

 

 

 

 

 

b(kn

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

an, k

 

an, n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда k –ый шаг состоит из умножения системы

элементарные матрицы вращений Qk, k 1 , ..., Qk, n :

Ek 1

 

, A(k 1,i) Qk, k iA(k 1,i 1) , b(k 1,i)

0

Qk, k i

 

 

 

0

Q(n

k 1)

 

 

1,1

i

A(k 1) x b(k 1) слева на

Qk, k ib(k 1,i 1) , где

 

 

a(k 1,i

1)

 

 

 

 

 

a(k 1,i

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

k, k

 

,

s

 

 

 

k

i, k

 

, если r

| a(k 1,i 1) |2

| a(k 1,i

1) |2

 

0 ,

 

 

 

k, k i

 

 

k, k

i

 

 

 

 

 

 

 

 

rk, k

 

 

 

 

rk, k

 

k, k i

 

 

 

k, k

 

k i, k

 

 

 

 

 

 

 

 

 

i

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Qk, k i

E , если rk, k i

0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В результате получим A(k)

Q A(k 1) , b(k)

Q

b(k 1) , где Q

k

Q

k, n

...Q

k, k 2

Q

k, k 1

.

 

 

 

 

 

 

 

 

 

 

 

k

k

 

 

 

 

 

 

 

Выполнив

n 1

 

шаг,

получим систему

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

A(n 1)x

Rx

 

b(n

1)

y (заметим, что, если det A

0 , то и det R

 

0 ).

 

 

 

 

 

Если определить унитарную матрицу Q*

Q

 

... Q , то справедлива

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

1

 

 

 

 

 

 

 

 

 

 

Теорема.

A

A

Q R .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказать, что cond 2 A

cond 2 Q cond 2 R

cond 2 R .

 

 

 

 

 

 

 

 

 

 

16

Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций.

Сведение системы уравнений к системе с двухдиагональной матрицей с помощью матриц вращения

1-ый шаг

Сначала, умножая последовательно слева систему Ax b на элементарные матрицы вращений Q1, 2 , ..., Q1, n , исключим первое

неизвестное из всех уравнений, начиная со второго:

 

 

Q1, n ... Q1,2 Ax

 

A(1/2)x

b(1)

Q1, n ... Q1,2

b ,

 

 

 

(это первый шаг метода вращений для системы Ax

 

b ).

 

 

 

 

 

 

Затем матрицу полученной системы умножим последовательно справа на

элементарные матрицы вращений T2,3 , ..., T2, n , определяя угол вращения

из

условия

равенства

 

 

нулю

 

 

элементов

 

 

первой

строки

(A(2,3) A(1/2)T2,3 )1,3 , …, (A(2,n)

 

 

A(2,n

1)T2,n )1,n :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a(1/2)

 

a(1)

 

 

0

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,1

 

 

 

1,2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(...(A

(1/2)

T2,3 ) ... T2, n 1) T2, n

A

(1)

 

 

0

 

 

a(1)2,2

a(1)2,3

 

 

a(1)2,2

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

a(1)n,2

a(1)n,3

 

 

a(1)n, n

 

И, наконец, перепишем систему A(1/2)x

 

b(1)

в виде

 

 

 

 

 

 

 

 

 

 

 

 

A(1) (T

2,n

T

2,n

1

...T

2,3

)x

 

b(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

относительно неизвестного вектора

x(1) и x

 

T

2,3

...T

2, n

T

x(1) , т.е.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2, n

 

 

 

необходимо сохранить косинусы и синусы углов вращения матриц T2, j .

 

k -ый шаг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Предположим, что после k

1 шага система

Ax

 

b с помощью матриц

вращения приведена к виду A( k

1) x( k

1)

b( k 1) , где

 

 

 

 

 

 

 

 

 

 

 

 

a( k

1) a( k 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,1

1, 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a( k

1)

 

 

a( k 1)

0

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1, k

1

 

k

1, k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A( k 1)

 

 

0

 

 

 

 

a( k 1)

a( k 1)

 

 

 

a( k 1) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k, k

 

k, k 1

 

 

 

 

k, n

 

 

 

 

 

 

 

 

 

0

 

 

 

 

a( k 1)

a

( k 1)

 

 

 

a

( k 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

1, k

 

k

1, k 1

 

 

 

k

1, n

 

 

 

 

 

 

 

 

 

0

 

 

 

 

a( k 1)

a

( k 1)

 

 

 

a

( k 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n, k

 

n, k 1

 

 

 

 

n, n

 

 

 

Тогда k –ый шаг состоит:

17

Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций.

из последовательного умножения

системы A( k 1) x( k

1)

b( k 1)

слева

на

элементарные матрицы вращений

Qk, k 1 , ..., Qk, n

с тем,

чтобы обнулить

элементы k -го столбца ниже диагонального:

 

 

 

 

 

Qk, n ... Qk, k 1 A(k 1)x(k 1) A(k 1/2)x(k 1) b(k)

Qk, n

... Qk, k

1 b(k

1) ,

затем матрицу полученной системы умножим последовательно справа на

элементарные

матрицы

вращений Tk 1,k 2 , ..., Tk 1,n , определяя угол

вращения

из

условия

равенства

нулю

элементов

k -ой строки

(A(k

1,k

2)

A(k 1/2)Tk

1,k 2 )k,k 2 , …, (A(k

1,n)

A(k 1,n

1)Tk 1,n )k,n :

 

 

 

(...(A(k 1/2) Tk

1,k

2 )

... Tk

1,n

1 ) Tk 1,n

A(k)

 

 

a(k

1)

a(k

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,1

 

1, 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k 1)

 

 

(k

1)

 

 

 

 

 

 

 

 

 

 

 

ak 1, k 1

 

ak 1, k

0

 

 

 

0

.

 

 

 

 

 

0

 

 

a(k,kk1/2)

a(k,kk)

1

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k)

 

(k)

 

(k)

 

 

 

 

 

0

 

 

0

 

ak 1, k 1

ak 1, k 2

ak 1, n

 

 

 

 

 

0

 

 

0

 

a(n,kk)

1

a(n,kk)

2

a(n,kn)

И, наконец, перепишем систему A(k 1/ 2) x( k

1)

b( k

1)

в виде

A(k) (Tk

1,nTk 1,n

1...Tk 1,k

2 )x(k

1)

b(k)

 

 

 

x(k )

 

 

 

 

относительно неизвестного вектора x(k ) и

 

 

 

x(k 1)

T

k 1,k 2

...T

k 1, n

T

1, n

x(k)

 

 

 

1 k

 

 

т.е. нужно сохранить косинусы и синусы углов вращения матриц Tk 1, j .

Система с двухдиагональной матрицей

Выполнив n шагов, мы получим систему с двухдиагональной матрицей:

 

a(n)

a(n)

 

 

 

1,1

1, 2

 

 

A(n) x(n) b(n) ,

A(n)

(n)

(n)

.

 

 

 

 

 

an 1, n 1

an 1, n

 

 

 

 

a(n,nn)

 

Решив ее, восстановим решение исходной системы по формулам

x(k 1) T

k 1,k 2

...T

k

T

k 1, n

x(k) , k n, n 1, ..., 1; x x(0) .

 

 

1, n 1

 

18

Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций.

Лекция 4.

Метод отражений решения системы уравнений

Матрица отражения

Ha a 2(a, w) w (E

2 w w )a

если заданы векторы a и Ha ,

то

w

a

Ha

 

 

 

 

 

 

|| a

Ha ||2

 

Доказать, что H H*

H 1 ,

det H 1.

k –ый шаг метода отражений

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Предположим, что после

k 1

шага система

Ax

 

b с помощью умножения

слева на ортогональную матрицу приведена к виду A(k

1) x

 

b(k 1) , где

 

 

 

 

 

 

 

 

 

 

Rk 1

 

Rk 1, n k 1

 

 

 

 

 

 

 

 

 

 

 

y(k 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k

1)

 

 

 

(k

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b(k 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k

1)

 

 

 

 

 

ak, k

 

 

ak, n

 

 

 

 

 

(k

1)

 

 

 

 

 

 

 

 

(0)

 

 

 

 

(0)

 

 

 

A

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

b

 

 

 

k

 

 

 

 

(A

A,

 

b

b) .

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k

1)

 

 

 

(k

1)

 

 

 

 

 

 

 

 

 

b(kn

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

an, k

 

 

an, n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда

 

k –ый

 

шаг

состоит

из

умножения

 

системы

A(k

1) x

 

b(k 1)

 

слева

на

ортогональную матрицу вращения Hk :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ek 1

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

A(k)

 

 

 

HkA(k 1) ,

b(k)

Hkb(k

1) ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

0

 

 

E

n k 1

2w(n

k

1)

[w(n

 

k

1) ]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если rk

 

 

 

(k

1)

|

2

 

...

 

 

(k 1)

|

2

 

 

0

 

 

w(n

k

1)

0

 

 

 

 

 

 

 

 

 

 

 

| ak, k

 

 

 

| an, k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или

a

(k 1)

 

 

...

 

a(k

1)

 

0 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1, k

 

 

 

 

 

 

n, k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если r

 

0 & a(k

1)

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a1(k

1)

 

e1(k

1)

 

 

 

 

 

 

 

k

 

 

 

 

 

 

k, k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(n

k

1)

 

rk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

w1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ak, k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|| a1(k

1)

rk

e1(k

1) ||2

 

 

 

 

 

 

 

(k

1)

 

 

 

,

 

 

(k

1)

– первый орт),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(здесь a1

 

 

 

 

 

 

 

 

 

 

e1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

(k

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n, k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если r

 

0 & a(k

1)

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a1(k

1)

 

 

e1(k 1)

 

 

 

 

 

 

k

 

 

 

 

 

 

k, k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(n

k

1)

 

k rk

 

 

 

 

 

 

 

 

 

 

 

 

 

(k

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

w

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(здесь

 

 

 

 

 

ak, k

 

).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|| a(k

1)

 

r

e(k 1) ||

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

k

k

 

1

 

2

 

 

 

 

 

 

 

 

 

| ak, k

|

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выполнив

 

n

1

шаг,

получим

 

систему

с

 

верхней

треугольной

 

матрицей:

A(n 1)x

 

Rx

b(n

1)

y

 

(заметим,

 

что,

 

если

 

det A

0 ,

то

 

и

 

 

det R

0 ).

19

Мацокин А.М. “Вычислительные методы линейной алгебры.”. Лекция 4

Решение системы с вырожденной матрицей

HR –разложение с перестановками столбцов матрицы A

 

 

 

 

 

 

 

 

 

 

 

 

 

1– ый шаг.

Определим номер столбца j1

матрицы A

 

 

[a1, ..., an ] из условия

 

|| a j1

|| 2

max || a j || 2

 

и матрицу перестановок P1, j1 .

 

 

 

 

 

 

 

 

 

 

 

 

Для матрицы A(1/ 2)

 

AP

 

определим матрицу отражения H :

 

 

 

 

 

 

 

 

 

1, j1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

R1

 

 

R1, n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a(1)

 

a

(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A(1)

H A(1/ 2)

H AP

 

 

 

2, 2

 

 

2, n

,

 

r

R

1

.

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

 

1, j1

0

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a(1)n, 2

 

a(1)n, n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказать: | r |

|| a

j

|| | a(1) |

 

 

i, j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

i j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k –ый шаг.

После k

1 шага имеем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R k 1

 

 

Rk 1, n k 1

 

 

 

 

 

 

 

 

a

(k 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

1, j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k

1)

 

 

(k

1)

 

 

 

 

 

 

a

(k

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A(k

1)

 

 

ak, k

 

 

 

ak, n

 

 

, | r

 

|

 

 

 

k, j

 

 

max

| a(k 1)

|.

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

k 1,k

 

 

 

 

 

 

 

 

 

 

k 1

i, j

n

 

i, j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k

1)

 

 

(k

1)

 

 

 

 

 

 

 

 

(k

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

an, k

 

 

 

an, n

 

 

 

 

 

 

 

 

an, j

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k

1)

 

 

 

 

 

 

a(k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ak, j k

 

 

 

 

 

 

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k, j

 

 

 

 

 

Определяем номер столбца jk из условия

 

 

 

 

 

 

 

 

 

max

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a(k

1)

 

 

k j

n

 

a(k

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n, j

k

 

2

 

 

 

 

 

n, j

 

 

2

 

 

и для A(k 1/ 2)

A(k

1)P

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

определяем матрицу отражения

H

k

:

 

 

 

 

 

 

 

 

 

 

 

k, j k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A(k ) H

A(k 1/ 2)

H

A(k 1)P

k

 

k

k, j k

 

 

 

a(k )

 

 

 

 

 

k, j

 

 

 

 

 

a(k )

 

 

Доказать: | rk,k

| max

 

k 1, j

 

 

 

 

 

 

 

k j n

 

 

 

 

 

 

 

a(k )

 

 

 

 

 

n, j

 

2

 

 

 

 

 

Rk

 

Rk, n

k

 

 

a(k )

 

a(k )

 

 

k 1, k 1

k 1, n

.

0

 

 

 

 

 

 

 

 

a(nk, k)

1

a(nk, n)

 

 

 

 

 

 

max | ai,(kj) | .

k i, j n

Ответ:

Если t

dim(ker A) , то после n

t шагов имеем

 

 

 

(H

 

... H )A(P

... P

)

HAP R

Rn t

Rn t,t

,

 

n t

 

 

 

 

 

1

1, j1

n t, j n t

 

 

0

0

 

 

 

 

 

 

 

 

 

 

 

где H и P – ортогональные матрицы.

20

Соседние файлы в папке VMLA-Matzokin-2012