ЕГЭ и ОГЭ
Хочу знать
Главная > Математика > Численные методы
<< Предыдущий параграф
Следующий параграф >>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

6. Обратные итерации.

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

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

Определитель этой системы отличен от нуля, так что она имеет единственное решение. Покажем, что найденный из нее вектор окажется почти равным собственному вектору соответствующему данному собственному значению V

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

Подставляя это разложение в систему (17), перенося все члены влево и учитывая, что получим

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

Поэтому из (19) следует

Видно, что если то коэффициент будет очень большим; в противном случае он невелик. Рассмотрим следствия из этого в трех основных случаях.

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

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

(21)

Обычно он сходится настолько быстро, что двух итераций вполне достаточно. Напомним, что на каждой итерации обязательно надо нормировать найденные чтобы не получать в расчетах слишком больших чисел, вызывающих переполнение на ЭВМ.

Замечание 1. Очень эффективен один простой способ выбора b. В качестве его компонент в декартовых координатах возьмем последовательные многоразрядные псевдослучайные числа (см. § 4 главы IV). Тогда вероятность того, что окажется очень малым, будет ничтожна.

Второй случай — собственное значение кратно; например, Напомним, что в этом случае собственные векторы определены неоднозначно; любая их линейная комбинация удовлетворяет уравнению

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

Теперь из (20) следует, что большими оказываются коэффициенты причем степень их усиления одинакова; остальные коэффициенты остаются малыми. Значит, найденный из (17) вектор будет приближенно линейной комбинацией , а тем самым — искомым собственным вектором. Если точность полученного приближения недостаточна, то обратную итерацию повторяют снова по формуле (21).

Чтобы найти все собственные векторы для кратного собственного значения, возьмем столько линейно-независимых векторов какова кратность корня. Обратными итерациями получим столько же векторов которые и будут искомыми; они будут линейнонезависимыми, поскольку преобразование (17) невырожденное. Остается только ортогонализовать найденные векторы, если это требуется по условиям задачи.

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

Третий случай — когда матрица имеет кратные корни, но число ее собственных векторов меньше п — выходит за рамки нашего доказательства. Однако метод обратных итераций здесь также применим в той форме, - которая описана для кратных корней. Разница лишь в том, что если -кратному собственному значению соответствуют всего q собственных векторов то из полученных обратной итерацией векторов только q будут линейно-независимыми. Это выясняется при их ортогонализации: первые q векторов ортогонализуются «без приключений», а при ортогонализации следующих векторов их компоненты обращаются почти в нуль (в пределах погрешности расчета).

Каков объем расчетов в методе обратной итерации? Нахождение собственного вектора требует (при одной итерации) не более действий, так что для нахождения всех их надо около арифметических действий. Таким образом, при больших порядках матрицы метод неэкономичен, но при 10 вполне удовлетворителен. Особенно употребителен этот метод из-за своей простоты, универсальности и хорошей устойчивости алгоритма.

В некоторых частных случаях расчеты существенно упрощаются и ускоряются. Наиболее важен случай трехдиагональной матрицы. При этом линейная система уравнений (17) для определения компонент собственных векторов также будет трехдиагональной, и ее решают экономичным методом прогонки по несложным формулам (5.10) — (5.12). Для вычисления одного собственного вектора в этом случае требуется а для всех — арифметических действий.

Для почти треугольной матрицы в методе обратных итераций требуется решать линейную систему с почти треугольной матрицей, что делается специальным вариантом метода исключения. Если учесть, что случайный вектор в правой части (17) можно задавать уже после приведения матрицы в методе исключения Гаусса к треугольной форме, то нахождение каждого собственного вектора требует действий (тот же прием для трехдиагональной матрицы позволяет сократить число действий до ). А для нахождения всех собственных векторов требуется соответственно арифметических действий.

Отметим одну существенную деталь. Поскольку , то при нахождении собственных векторов в формулах прямого хода метода исключений (прогонки) на главной диагонали появится хотя бы один очень малый элемент. Чтобы формально можно было вести расчёт, диагойальные элементы не должны обращаться в нуль; для этого надо, чтобы погрешность собственного значения была не слишком мала, т. е. составляла бы 10—15 последних двоичных разрядов числа на ЭВМ. Если корни характеристического многочлена находят методом парабол (или секущих), то такая погрешность получается естественно, ибо из-за ошибок округления эти методы перестают сходиться в очень малой окрестности корня. Но если корни определялись методом Ньютона, то при этом могли быть найдены верно все знаки собственного значения; тогда, чтобы избежать деления на нуль, приходится специально вносить в небольшие погрешности.

Пример. Возьмем жорданову подматрицу четвертого порядка (3) и приближенное собственное значение . В качестве b выберем вектор с единичными декартовыми координатами. Тогда уравнение (17) примет вид

Последовательно находим компоненты вектора

Затем нормируем вектор, умножив все компоненты на

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

<< Предыдущий параграф Следующий параграф >>
Оглавление