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

ЛР Численные методы (Трухачев)

.pdf
Скачиваний:
22
Добавлен:
05.06.2015
Размер:
482.29 Кб
Скачать

ветствующими векторами системы {aiT }. Процесс ортогонализации проходит по формуле (1.8). Тогда матрица H2 частичной ортогона-

 

 

~T

~T

T

T

}) имеет вид:

лизации (перехода к системе {a1

, a2

, a3

,..., an

 

 

1

0

0

...

0

 

 

 

 

 

 

 

 

 

α21

1

0

...

0

 

H 2

= 0

0

1

...

0

 

 

 

 

 

 

 

 

 

...

...

...

...

...

 

 

0

0

0

...

1

 

 

 

 

Переход

от

системы

~T

~T

T

T

}

к

системе

{a1

, a2

, a3

,..., an

~T ~T ~T

T

T

}, у которой три вектора ортогональны, осу-

{a1 , a2 , a3

, a4

,..., an

ществляется через матрицу H3:

 

 

 

 

 

 

 

 

 

 

 

1

0

0 ...

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0 ...

0

 

 

 

 

 

 

H 3

= α31

α32

1 ...

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

...

... ...

...

 

 

 

 

 

 

 

 

0

0 ...

 

 

 

 

 

 

 

 

0

1

 

 

 

В общем случае при переходе от системы с ортогональными (k-1) векторами к системе с ортогональными k векторами надо воспользоваться матрицей

 

1

0 ...

...

0

0

 

 

 

 

 

 

 

...

... ...

...

...

...

Hk

= αk1

αk 2 ...

αk ,k −1

1 ...

0

 

 

 

 

 

 

 

...

... ...

...

...

...

 

 

0 ...

...

0

 

 

0

1

Переход от исходной системы вектор-строк матрицы A к ортогональной можно осуществить, умножая A слева на матрицы H1,

т е × × = ~

…, Hn, . . Hn Hn−1 ... H1 A A .

Если задана система Ax=b с невырожденной матрицей A, то, домножив её слева последовательно на матрицы H1, …, Hn, получим эквивалентную систему

11

 

 

 

 

~

 

 

 

(1.9)

 

 

 

 

Ax = Hb ,

 

 

где H = Hn Hn−1 ×... × H1 ,

~

 

 

 

 

A = HA .

 

 

 

 

Будем искать решение в виде

 

 

 

 

 

 

 

 

n

~

 

 

 

 

 

 

 

 

,

 

(1.10)

 

 

 

 

x = c j a j

 

 

~

 

 

j =1

 

 

 

 

где

векторы-столбцы.

 

 

 

 

a j

 

 

 

 

Подставим

это

выражение

 

в

(1.9),

получим

~

n

~ ~

= Hb .

 

~

~

 

 

 

Произведение

дает вектор-столбец,

Ax

= c j A × a j

A × a j

j =1

все компоненты которого равны нулю, кроме j-го, который равен

~

~

Отсюда следует, что

 

 

 

 

(a j

, a j )¹ 0 .

 

 

 

 

 

 

 

c j =

(H × b)j

 

,

 

 

 

 

 

 

 

 

 

~

~

 

 

 

где (H × b)j

 

 

(a j

, a j )

 

 

j-й компонент вектора Hb. Зная сj

(j=1,…,n ), вектор

решения определяется по формуле (1.10).

 

 

 

 

 

Метод Якоби

 

 

 

СЛАУ стандартного вида Ax=b, где A = (a )n

nxn-матрица, а

 

 

 

 

 

 

 

ij i, j =1

 

x = (x1 ,..., xn )T

и b = (b1 ,..., bn )T n-мерные векторы-столбцы, тем

или иным способом может быть преобразована к эквивалентной системе вида

x=Bx+c,

(1.11)

где x – тот же вектор неизвестных, а B и c

некоторые новые мат-

рица и вектор соответственно. На основе системы (1.11) можно определить итерационный процесс приближений x(k) к неподвижной точке x* (решению системы (1.11)):

x(k +1) = Bx(k ) + c ,

k=0, 1, 2, …

(1.12)

Итерационный процесс (1.12) начинается с некоторого вектора

x(0) = (x1(0) ,..., xn(0) )T и называется методом простых итераций

(МПИ).

12

Приведем несколько утверждений о сходимости и оценке погрешности решения, доказательства которых можно найти в литературе.

Теорема 1. Необходимым и достаточным условием сходимости МПИ при любом начальном векторе x(0) к решению x* системы (1.11) является требование, чтобы все собственные числа матрицы B были по модулю меньше единицы.

Теорема 2. Пусть B £ q < 1 , где B – норма матрицы B. Тогда

при любом начальном векторе x(0) МПИ (1.12) сходится к единственному решению x* системы (1.11), и при всех k Î N справедливы оценки погрешности:

1)

 

x* - x(k )

 

 

 

£

 

q

 

 

 

 

x(k ) - x( k −1)

 

 

 

(апостериорная оценка);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- q

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2)

 

x* - x(k )

 

 

 

 

qk

 

 

 

 

x(1) - x(0)

 

 

 

 

 

(априорная оценка),

 

 

 

£

 

 

 

 

 

 

 

 

 

 

 

 

 

- q

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где x – норма некоторого вектора x, согласованная с нормой матрицы B.

Определение 1. Нормой вектора x = (x1 ,..., xn )T называется неотрицательная функция координат вектора, обозначаемая x , и удовлетворяющая требованиям:

1) x > 0 для "x ¹ 0 и 0 = 0 ;

2)cx = c × x для c, x ;

3) x + y £ x + y .

Примеры норм векторов:

1)

 

 

 

x

 

 

 

 

1

= max

 

xi

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

2)

 

 

 

x

 

 

 

2 =

 

xi

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i =1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

3)

 

 

 

x

 

 

 

3 = xi2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i =1

 

 

 

 

13

Определение 2. Нормой квадратной матрицы A = (aij )n назы-

i, j =1

вается неотрицательная функция её элементов, обозначаемая A и удовлетворяющая требованиям:

1) A > 0 для "A ¹ 0 и 0 = 0 ;

2)cA = c × A для c, A ;

3) A + B £ A + B ;

4) A + B £ A × B .

Примеры норм матриц:

n

1) A1 = maxi aij ;

j =1

n

2) A 2 = maxj aij ;

i =1

3) A 3 = L , где L – наибольшее собственное

число матрицы ATA.

Норма вектора и норма матрицы согласованы между собой, если

A × x £ A × x для "A, x .

Одним из подходов к построению итерационного процесса (1.12) является следующий. Представим матрицу A исходной СЛАУ в виде A=L+D+R, где D – диагональная, а L и R – левая и правая строго треугольные матрицы соответственно. Тогда система может быть переписана в виде

Lx+Dx+Rx=b,

если на диагонали исходной матрицы нет нулей, то эквивалентной задачей вида (1.11) будет

x = -D−1 (L + R)x + D−1b ,

т.е. в равенстве (1.11) следуют положить B = -D−1 (L + R) и

c = D−1b .

Основанный на таком приведении исходной системы к виду (1.11) метод простых итераций называется методом Якоби. В век- торно-матричных обозначениях он определяется формулой

14

x(k +1) = -D−1(L + R)x(k ) + D−1b

k=0, 1, 2, …

Метод Зейделя

Под методом Зейделя понимается такое видоизменение МПИ, при котором для подсчета i-й компоненты (k+1)-го приближения к искомому вектору x* используются уже найденные на этом (k+1)-м шаге новые значения первых (i-1) компонент.

В векторно-матричной форме это можно записать как

L × x( k +1) + D × x(k +1) + R × x(k ) = b .

Отсюда

x(k +1) = -(L + D)−1 Rx(k ) + (L + D)−1 b ,

т.е. в данном случае B = -(L + D)−1 R и c = (L + D)−1 b .

ПОДГОТОВКА К РАБОТЕ

1.Изучить описание лабораторной работы.

2.Написать программу решения СЛАУ одним или несколькими методами, указанными в варианте.

Входные параметры программы:

размерность системы n;

матрица коэффициентов A размерности nxn;

вектор свободных членов b.

Дополнительный входной параметр итерационных методов:

величина ε для останова итерационного процесса. Выходные параметры программы:

вектор решения системы;

вектор невязки решения, определяемый по формуле

r = b Ax ;

норма вектора невязки.

Дополнительные выходные параметры итерационных методов:

начальный вектор x(0);

число шагов итерационного процесса;

величину x(k ) - x( k −1) для последнего шага процесса.

15

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

1.Отладить программы, реализующие указанные методы.

2.С помощью программ найти решение СЛАУ.

3.В случае если предложенный в варианте метод не позволяет найти решение, предложить и реализовать его модификацию для нахождения решения СЛАУ.

ОТЧЕТ О РАБОТЕ

Отчет о работе должен включать в себя:

1.Название и цель лабораторной работы.

2.Постановку задачи.

3.Исходные данные (размерность матрицы, СЛАУ, величину

ε).

4.Вид матрицы B и вектора c для итерационных методов.

5.Расчет нормы матрицы B и выводы о сходимости итерационного процесса.

6.Априорную оценку числа шагов итерационного процесса.

7.Выходные данные программ решения СЛАУ.

8.График зависимости нормы вектора разности приближения

крешению на текущем и предыдущих шагах итерационного процесса от номера шага (для итерационных методов).

КОНТРОЛЬНЫЕ ВОПРОСЫ

1.На какие два класса можно разделить численные методы решения СЛАУ?

2.Опишите прямой и обратный ход метода Гаусса в матричной форме. Какие модификации метода существуют?

3.Сравните метод Гаусса и квадратного корня. Какие преимущества и недостатки есть у каждого из них?

4.Опишите процедуру ортогонализации Грама– Шмидта. В каких методах и как она используется?

5.Сравните прямые и итерационные методы решения СЛАУ. Какие преимущества и недостатки есть у каждого из подходов?

6.Дайте определение нормы вектора и матрицы, приведите примеры норм. Что такое согласованные нормы вектора и матрицы?

16

7.Запишите итерационный процесс метода простой итерации. Какие условия сходимости данного метода?

8.Приведите априорную и апостериорную оценку погрешности решения МПИ. Как можно оценить число шагов решения для достижения требуемой точности ε?

9.Запишите методы Якоби и Зейделя в матричной форме. Какой из них будет сходиться быстрее в случае диагонального преобладания в матрице A?

10.Что называется невязкой решения СЛАУ?

 

Пример варианта

 

 

Размерность матрицы:

n=6.

 

 

 

Матрица А:

 

 

 

 

 

3.45

0.97

0.99

1.00

-0.58

-0.71

-0.31

-3.76

0.07

0.63

0.70

-0.01

0.96

-0.24

-7.31

0.56

0.49

0.06

-0.29

0.50

-0.74

5.27

-0.19

0.02

-0.96

-0.11

0.73

0.81

-3.90

-0.55

0.63

-0.80

0.42

-0.79

-0.05

8.70

Величина

 

ε=1·10-4.

 

 

Методы

 

Гаусса, Якоби.

 

 

СПИСОК РЕКОМЕНДОВАННОЙ ЛИТЕРАТУРЫ

1.Вержбицкий В.М. Основы численных методов. М.: Высшая школа, 2002.

2.Тимохин С.Г. Алгоритмизация вычислений. М.: МИФИ,

1983.

17

Работа 2

СОБСТВЕННЫЕ ЗНАЧЕНИЯ И СОБСТВЕННЫЕ ВЕКТОРЫ МАТРИЦ

Ц е л ь : изучение методов нахождения всех собственных значений матрицы, а также построения характеристического многочлена и собственных векторов.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Нахождение собственных чисел и собственных векторов матриц является востребованной, но в то же время наиболее сложной задачей вычислительной линейной алгебры.

В данной работе рассматривается итерационный процесс вращений Якоби, который позволяет найти все собственные значения симметричной вещественной матрицы. А также методы Данилевского определения характеристического многочлена и получения собственных векторов.

Метод вращения Якоби решения полной проблемы собственных значений

Подобными называются матрица A и B=C-1AC, где C – произвольная невырожденная матрица.

Пусть {λ, x} – собственная пара матрицы B=C-1AC, тогда {λ, Cx}

– собственная пара матрицы A.

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

ij

::

 

1

...

...

0

 

 

...

c ...

s

...

(2.1)

 

 

 

 

 

 

 

 

Tij

=

 

:

:

 

 

 

 

...

s ...

c

...

 

 

 

0

...

...

1

 

 

 

 

 

 

18

Она получается из единичной матрицы заменой двух единиц и двух нулей на пересечениях i-х и j-х строк и столбцов числами с и

±s, как показано в (2.1), такими, что

c2+s2=1. (2.2)

Условие нормировки (2.2) позволяет интерпретировать числа с и s как косинус и синус некоторого угла α, и так как умножение любой матрицы на матрицу Tij изменяет у неё только две строки и два столбца по формулам поворота на угол α в плоскости, определяемой выбранной парой индексов i и j, то это полностью оправдывает название матрицы Tij.

Матрица Tij ортогональна (TijTTij=TijTijT=I) при любых i и j, а зна-

чит матрица

 

B=Tij-1ATij

(2.3)

подобна A, т.е. имеет тот же набор собственных чисел, что и матрица A.

Классический итерационный метод вращений, предложенный Якоби, предполагает построение последовательности матриц

B0(=A), B1, B2, …,

Bk, …

с помощью преобразований типа (2.3)

 

Bk=Tij-1Bk-1Tij

(2.4)

такой, что на k-м шаге обнуляется максимальный по модулю элемент матрицы Bk-1 предыдущего шага (а значит и симметричный ему элемент). Эта стратегия определяет способ фиксирования пары индексов i и j, задающих позиции (i,i), (j,j), (i,j), (j,i) «существенных» элементов в матрице вращения Tij, и угол поворота α, конкретизирующий значения этих элементов с=cos α, и ±s=±sin α. На каждом шаге таких преобразований пересчитываются только две строки (или два столбца) матрицы предыдущего шага. Хотя, к сожалению, нельзя рассчитывать, что таким путем за конечное число шагов можно точно найти диагональную матрицу Λ (Λ=diag(λi)), ибо полученные на некотором этапе преобразований нулевые элементы на следующем этапе станут, вообще говоря, ненулевыми, но нужное предельное поведение

 

 

 

 

B ¾¾¾® L

 

 

 

 

 

 

k

k →∞

 

 

будет иметь место.

 

 

 

Рассмотрим

теперь данный метод подробнее.

Пусть

A = (a

ml

) n

исходная симметричная матрица, а B = (b

) n

 

m,l =1

 

 

ml

m,l =1

 

19

матрица, получающаяся после одного

шага преобразований по

формуле (2.3). Обозначим через

~

и

~

двумерные подматрицы

A

B

этих матриц, определяемые фиксированием позиции (i,j) некоторого элемента aij матрицы A:

~

aii

aij

~

bii

bij

,

A =

 

B

=

 

 

 

 

 

 

 

 

 

aij

a jj

 

b ji

b jj

 

~

такую же подматрицу матрицы Tij:

а через T

 

 

~

c

s

 

 

T

=

.

 

 

 

 

 

 

 

 

s

c

Очевидно, что равенство (2.3) записанное для матриц A, B, Tij,

 

 

 

 

 

 

 

 

 

~

~

и

~

 

Пользуясь этим, подсчита-

будет верным и для матриц A

, B

T .

 

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

~

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

+ saij

 

 

 

saii

 

 

~

~T

AT

c

 

s

caii

 

caij

 

 

B = T

 

=

s c

 

 

+ sa

 

 

ca

 

sa

=

 

 

 

 

 

 

 

ca

jj

jj

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ij

 

 

 

 

ij

 

 

c2a

+ 2csa

+ s2a

jj

 

 

c2a

csa + csa

jj

s2a

 

 

 

ii

 

 

ij

 

 

 

 

 

 

 

ij

 

 

 

ii

 

 

ij

= c2a

csa + csa

jj

s2a

 

c2a

jj

− 2csa + s2a

.

 

ij

 

 

ii

 

 

 

 

 

 

ij

 

 

 

 

 

 

ij

 

ii

 

Отсюда видим, что bij=bji=0, если (c2s2)aijcs(aiiajj)=0, т.е. если

 

 

 

 

 

 

 

 

 

cs

 

 

=

 

aij

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

c2 s2

a

a

jj

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ii

 

 

 

 

 

 

 

 

Учитывая тригонометрическую интерпретацию чисел с=cos α, и s=sin α, можно считать

cs =

sin 2α

,

c2 s2 = cos 2α .

 

2

 

 

~

Приходим к выводу, что матрица B будет иметь нулевые внедиагональные элементы bij=bji, если использовать предобразование по формуле плоского вращения (2.3) на угол α такой что

tg 2α =

2aij

 

 

.

 

aii

a jj

 

 

 

 

 

 

 

π

π

 

Для определенности считают α

 

 

;

.

 

 

 

 

4

4

 

20

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