ЕГЭ и ОГЭ
Хочу знать
Главная > Математика > Численные методы
<< Предыдущий параграф
Следующий параграф >>
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
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

§ 3. Неэрмитовы матрицы

1. Метод элементарных преобразований.

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

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

Первый ход. На его шаге для преобразования подобия используется матрица следующего вида:

Исследуем свойства этой матрицы. Нетрудно проверить, что так что эта матрица не унитарна (именно поэтому элементарные преобразования менее устойчивы по отношению к ошибкам округления). Изменим знаки всех компонент , т. е. возьмем матрицу непосредственным перемножением легко убеждаемся, что . Следовательно, обратная к (55) матрица определяется просто:

Аналогично методу отражений, матрицы (55) применяются для обращения нуль нижней части столбца, если уже аннулированы предыдущие столбцы (рис. 32). Разобьем матрицу А на клетки тех же размеров, что и в (55), и запишем преобразование подобия на данном шаге

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

(58)

Поэтому, чтобы обратить в нуль все элементы клетки кроме углового элемента , надо положить

Последняя формула определяет матрицу искомого элементарного преобразования.

Она существенно проще, чем формулы для нахождения нужной матрицы отражения в п. 2.

Само преобразование (57) очень несложно. Благодаря специальной структуре матрицы N умножение на нее выполняется так же быстро, как умножение на вектор. Например, поэлементно перемножая матрицы, найдем клетку

при умножении справа на меняется только первый столбец клетки , а остальные столбцы клетки равны соответствующим столбцам клетки Произведение вычисляется также по формулам (60), только с одним отличием: первый индекс элементов принимает значения . Умножение слева на приводит к другим выражениям; так, для четвертой клетки поэлементное перемножение дает

т. e. меняются почти все элементы клетки. Формулы (58)-(61) полностью определяют очередной шаг первого хода. Они экономичны, так что метод элементарных преобразований позволяет привести произвольную матрицу к почти треугольной форме всего за арифметических действий, т. е. вдвое быстрей, чем в методе отражений.

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

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

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

Формально перестановку двух строк можно записать как умножение слева на матрицу перестановки Р:

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

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

Отсюда видно, что после перестановки строк надо умножить полученную матрицу справа на Р. Поэлементным перемножением легко убедиться, что умножение справа на Р есть просто перестановка соответствующих столбцов матрицы А (перестановка выполняется на ЭВМ быстрее, чем арифметические действия).

Таким образом, устойчивое элементарное преобразование подобия имеет следующий вид:

Важно помнить, что если перемножение этих матриц проводить в строго определенном порядке

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

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

Второй ход. Сначала заметим, что если матрица А была нижней почти треугольной (т. е. при ), то при преобразовании подобия (57) с матрицей N она останется нижней почти треугольной.

В самом деле, клетка при этом преобразовании не меняется; В клетке ненулевым был только левый нижний элемент из формул (60) видно, что в клетке тоже только он будет отличен от нуля, причем Клетка также имеет нужную форму; в этом нетрудно убедиться, произведя поэлементное умножение.

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

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

Рис. 35.

Применим цепочку преобразований подобия к матрице, полученной в результате первого хода. На каждом шаге элементарную матрицу будем подбирать так, чтобы аннулировать элементы правой половины очередной строки (см. рис. 35, где точками обозначены ненулевые элементы, кружками — элементы, обращаемые в нуль на первом ходе, крестиками — обращаемые в нуль на начальных шагах второго хода; элементы, аннулируемые на очередном шаге, обведены). Благодаря такому выбору результирующая матрица должна стать нижней почти треугольной. Но в силу сказанного выше она одновременно остается верхней почти треугольной. Тем самым она будет трехдиагональной, что и требовалось.

Все формулы второго хода легко получить, применяя описанное выше транспонирование к формулам первого хода. Например, пусть аннулированы первые строк, и надо аннулировать строку. Тогда подбор элементов Аскомого преобразования производится аналогично формуле (59):

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

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

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

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

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