Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы методичка 3.pdf
Скачиваний:
60
Добавлен:
02.02.2015
Размер:
754.71 Кб
Скачать

A 9 L 9 U

9

 

1

 

0

5,999

1

 

;

 

 

4

 

 

 

 

 

 

 

 

4,064 10

1

 

0

2

 

 

 

 

 

 

 

 

 

A 10 U

9 L 9

 

6

 

1

 

 

 

4

 

.

 

 

 

8,12810

2

 

 

 

 

 

 

1.3.Приведення матриці до майже трикутного вигляду

Приведення матриці А до вигляду (1) будемо здійснювати за допомогою ортогональних перетворень Т, які, як відомо, зберігають довжину векторів, тобто

Tx 2 x 2 або Tx,Tx x, x .

При цьому матриця ортогонального перетворення Т має властивість

T 1 T T . Крім того, добуток ортогональних матриць є ортогональною матрицею.

Як матриці Т будемо розглядати ма тр и ц і в ідби т тя . Матриця відбиття Т, породжена вектором d d1, , dn , визначається формулою:

 

1

0

0

 

d 2

d d

d d

 

 

 

 

 

 

 

 

 

1

1 2

1

 

n

 

T E 2dd T

0

1

0

d d

d 2

d

d

, (7)

 

 

 

 

 

2

2 1

2

2

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

 

 

 

 

 

2

 

 

 

 

 

dnd1

d2dn dn

 

 

де d 2 1 .

Вираз, отриманий за формулою (7), називають п ер етво р ен ня м Ха усхо лд ер а .

Гео метр и чно матриця T задає відбиття вектора x щодо площини з одиничним нормальним вектором d (див. рис. 1.1).

Матриця Т буде симетричною й ортогональною: Td d . Якщо вектор x ортогональний вектору d, тоді Tx x .

Побудуємо елементарне відбиття Т, що переводить заданий вектор a a1 , a2 , , an T у вектор, колінеарний вектору e1 1,0, ,0 T . Таких відбиттів буде два, що відповідають знакам «+» та «–» (див. рис. 1.2):

Ta a 2 e1 .

11

x

d

Tx

Рис. 1.1. Геометрична інтерпретація перетворення відбиття

a

Ta

e1

Ta

Рис. 1.2. Геометрична інтерпретація знаків елементарних відбиттів

Вектор d, що породжує шукане перетворення, задається формулами

d c a1

 

 

 

a

 

 

 

2

, a2 , , an T

,

(8)

 

 

 

 

де константа с визначається з умови

 

 

 

 

 

 

 

 

 

 

d

 

 

 

2 1 .

 

(9)

 

 

 

 

 

 

 

 

 

 

Поєднуючи (7), (8) і (9), отримаємо шукане відбиття Т.

Для однозначного приведення дійсної матриці А до вигляду (1) звичайно використовують додаткову вимогу, що складається в тому, щоб значення піддіагоналі в (1) були одного знака, наприклад,

 

 

 

 

 

ai,i 1 0,

i 2, n .

(10)

12

Ця умова виділяє певний знак в (8) та єдине елементарне відбиття.

Ал го р и т м п р и в еде н ня ма тр и ц і до ма й ж е тр и кут но ї фо -

р ми наступний.

1 кр о к . Визначимо матрицю n-го порядку:

 

 

 

 

 

 

S

1

0

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T1

 

 

 

 

 

де

T1

– матриця

n 1 -го порядку –

відбиття,

 

що

переводить вектор

a

21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

у вектор, колінеарний e1

1,0, ,0 T . Матриця

A* S1AS1 1 S1AS1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

an1

 

 

 

 

 

 

 

 

 

 

 

 

 

має вигляд:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

*

*

*

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

*

*

*

*

 

 

 

 

 

 

 

 

0

*

*

 

*

*

 

 

0 ,

 

 

 

 

A*

 

 

 

 

 

 

, a*

 

 

 

 

 

0

*

*

*

*

 

21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

*

*

 

*

*

 

 

 

 

 

 

 

 

 

 

 

 

 

де знаком «*» позначено елементи, які можуть бути ненульовими.

2 кр о к . Визначимо матрицю n-го порядку:

 

 

 

 

 

 

 

 

 

 

 

 

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S2 0

1

0 ,

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

T2

 

 

 

 

де

T2

– матриця

n 2 -го порядку –

відбиття,

 

що переводить вектор

a*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

32

 

 

 

 

 

1,0, ,0 T . Матриця

A* S2S1AS1S2 має

 

 

 

у вектор, колінеарний e1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n2

 

 

 

 

 

 

 

 

 

 

 

 

 

вигляд:

13

*

*

*

*

*

 

 

 

 

 

 

*

 

 

 

*

*

*

*

 

 

 

0

*

*

*

*

 

0 .

A*

 

 

 

 

, a*

 

0

0

*

*

*

32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

*

*

 

 

 

 

*

 

 

Продовжуючи цей процес, після n 2 кроків одержимо

A* Sn 2 S2S1AS1S2 Sn 2 ,

де A* – матриця вигляду (1), для якої виконуються нерівності (10).

Якщо на будь-якому кроці k отримано нульовий вектор, для якого будується відбиття, то вважають, що Sk E . Остаточно, ортогональне перетворення Т матриці А до майже трикутного вигляду визначається добутком ортогональних матриць Sk :

T Sn 2 S2S1 .

Якщо матриця А симетрична, то проміжні матриці й кінцева матриця будуть також симетричними, отже, майже трикутна форма таких матриць є тридіагональною формою (2).

Приведення довільної матриці до майже трикутної форми (1) вимагає

при n порядку

10

 

3

 

O

 

n

 

арифметичних операцій.

 

 

 

 

3

 

 

 

5

4

3

 

 

 

 

 

 

Приклад 2. Задано матрицю A

4

5

2

. Знайти матрицю

 

3

2

1

 

 

 

A* , яка подібна до матриці А та має форму Хессенберга.

 

Р о з в ' я з а н н я .

Знайдемо матрицю відбиття T1 , що переводить ве-

ктор

a

 

4

 

у вектор, колінеарний e

 

1

 

. Для цього обчислимо:

1

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a 1

 

 

 

 

 

 

 

 

 

 

 

 

4 2 32 5 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

Знайдемо константу c вектора d, що породжує шукане відбиття при n 2 :

c

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

0,105 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

a

1

 

 

 

 

2

 

n

 

 

 

 

1 2

 

 

4 5 2 32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a1

 

 

 

 

 

 

 

 

ai

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

i 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тоді вектор d, що породжує шукане відбиття T1 , буде таким:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a 1

 

 

 

 

a 1

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d c

1

 

 

 

 

 

 

 

 

 

2

0,105

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обчислимо допоміжну матрицю

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

1,8

0,6

 

 

 

 

 

 

2dd T 0,21

 

 

 

 

9, 3

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,6

 

 

 

 

 

Матриця відбиття T1 буде такою:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T E

2dd T

 

 

 

0,8

 

 

0,6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,6

 

0,8

 

 

 

 

 

 

 

 

Побудуємо матрицю перетворення

S

 

 

 

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

T1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0,8

 

 

0,6 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,6

 

0,8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

Обчислимо допоміжну матрицю

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

 

 

 

 

 

0 5

4

 

3

5

4

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S1A

0

0,8

 

 

0,6

4

 

 

5

 

 

2

5

5,2

2,2

 

.

 

 

 

 

0,6

 

0,8

 

3

 

 

2

 

 

 

 

 

1,4

 

 

 

0,4

 

 

 

 

0

 

 

 

 

1

0

 

 

 

 

 

Матриця A* в формі Хессенберга буде симетричною і тридіагональною:

 

 

5

 

 

4

 

 

3

 

1 0

 

 

0

5

 

 

 

5

 

0

A* S1AS1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

5,2

 

2,2

0

 

0,8

 

 

0,6

5

5,48

1,36 .

 

 

 

1,4

 

 

 

 

 

0,4

 

0

 

0,6

 

 

 

 

 

1,36

 

0,52

 

 

 

0

 

 

 

 

 

 

 

 

0,8

0

 

 

15