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

книги из ГПНТБ / Сирл, С. Матричная алгебра в экономике

.pdf
Скачиваний:
21
Добавлен:
22.10.2023
Размер:
13.54 Mб
Скачать

[5]

X = (A — BD 'C )-1,

6) BD -\

I7j

Y X B D 1,

18]

Z - D~l CX,

9)

Z B D 1,

110]

W D-1ZBD-1.

Заключенные в квадратные скобки номера шагов указывают на то, что в соответствующих операциях определяются элементы М~х. Заметим, что эта процедура, вытекающая из уравнений (31), (32), (36) и (38), требует существования D~\ а не А~1. Аналогичным обра­ зом для альтернативной процедуры можно воспользоваться уравне­ ниями (33), (34), (35) и (37), при этом только должна существовать не

D - \ а А - 1.

Процедура б

1)

А - \

 

2)А~1В,

 

3)

СА - 1В,

4) D СА~ХВ,

15]

Г

\1) СА 'В) ',

6)

СА

 

17] Z =

WCA \

181

У =

A XBW,

9)

УСА-1,

ПО] X =

А ' 1 — УСА-1.

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

процедур определяется свойствами матри­ каждом отдельном случае используются те в наибольшей степени упростить расчеты.

to

С DJ

1

2

1

2

3

3

4

9

4

1

6

3

7

0

0

1

0

0

8

0

4

2

0

0

9

то предпочтительней процедура (а), поскольку она предусматривает использование D~x и (Л — BD^C)-1, которые относительно легко под­ считать в связи с тем, что D представляет собой диагональную матрицу, а матрица А имеет размеры 2 x 2 . Процедура (б) потребовала бы на­ хождения обратной к А матрицы, что достаточно просто, однако по­ требовалось бы также найти матрицу, обратную к (D СА~1В), неди­ агональную и имеющую размеры 3 X 3. В этом примере разница в затратах труда, соответствующих каждой из процедур, незначитель­ на, однако она не была бы так мала, если бы матрица D имела порядок, скажем, 30 и не была бы диагональной, а размер А был бы, допустим, 4 X 4 . Поэтому необходимо тщательно изучить матрицу М прежде, чем приступать к расчету обратной к ней матрицы.

120

Когда М — симметрическая матрица, процедуры получения обрат­ ной матрицы несколько упрощаются. Пусть М = М ', тогда

А = А \ С ~ В', D

D' и X -

X', Z =

Y'

и W = W'.

Следовательно,

 

 

 

 

 

'А в

и Х Г - ^ М - 1) ^

X

Y

 

М--=М' = В' D

Y'

 

Расчет Л4-1 теперь состоит из следующих этапов.

 

 

Процедура аа

 

 

 

 

1) £>~\

2) BD 1 — (D 1В')\

3) BD~l B',

4) А B D 1 В',

 

[5]

X = (A — BD-'B')-1,

[6J

Y = XB D -\

7)

Y ' B D 1,

18]

W = D 1 Y'BD \

По сравнению с процедурой (а), здесь на два шага меньше. Это свя­ зано с симметричностью матрицы М _1. Аналогично процедура (б) теперь примет вид:

Процедура бб

1

)А~\

2)

В ’А - 1 (А-1В)',

3

) В ' А 1В,

4) D — B'A~1B,

[5] W = (D В'А -1В)*1,

[6]

К =

— Л- W ,

7)

Г Б 'А -\

[8]

X =

А - 1 YB'A-1.

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

8. ПОЛУЧЕНИЕ ОБРАТНЫХ МАТРИЦ С ПОМОЩЬЮ ЭВМ

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

121

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

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

а) РЕШЕНИЕ УРАВНЕНИЙ

Предположим, имеется матрица

2 5 7 А 3 9 15 5 16 20

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

X

а

(39)

А У

b

Z

с

 

относительно х, у

и z с помощью обычной процедуры

последователь­

ного

исключения

(здесь и далее в оставшейся части

главы символы

х, у, z и а, Ь, с характеризуют скалярные величины).

 

Умножение обеих частей уравнения слева на А - 1 дает решение в

виде

 

 

 

 

 

 

X

а

(40)

 

 

У

= А -1 Ь

 

 

Z

с

 

если

А 1 существует.

 

 

1Читателю, желающему более подробно заняться этой проблемой, мы можем рекомендовать работы [1], [2], [3], [4], [7].

122

Следовательно, если решение системы (39) относительно х, у и г выражено в явном виде через а, 6 и с и записано в матричной форме, то приводящая к решению матрица равна Л -1. Воспроизведем полно­ стью этот процесс.

Допустим, что уравнения (39) имеют следующий вид:

 

+

Ъу +

lz = а,

 

(41)

Зх +

+

15z = 6,

(42)

+

16г/ +

20г =

с.

(43)

Деление (41) на 2 дает

 

 

 

 

х +

2,5у +

3,5z =

0,5а.

(44)

Умножим обе части уравнения (44) на три и вычтем их из (42), а затем, умножив обе части уравнения (44) на пять, вычтем их из (43). Тогда

1.5

у +

4,5z — 6 — 1,5а

(45)

и

 

 

(46)

3.5у + 2,5z = с — 2,5а.

Разделив (45) на 1,5 и умножив (46)

на 2, получим

 

у +

3z =

а,

(47)

+

=

2с — 5а.

(48)

Вычитая (47), умноженное на 7, из (48), мы получим

—16z = 2с — 5а — 7 (6/1,5 — а).

Следовательно,

z = (2а — 76/1,5 + 2с)/(— 16) =

= (— За + 76 — Зс)/24.

(49)

Подстановка z в (47) приводит к следующему результату:

у = (— 15а — 56 + 9с)/24,

(50)

а подстановка у и г в (44) дает

х = (60а — 126 — 12с)/24.

(51)

Последние три результата могут быть представлены в матричном виде следующим образом:

х

 

60

-12

-12

а

(52)

У

24

—15

- 5

9

Ь

z

— 3

7

- 3

с

 

 

 

123

Сравнивая этот результат с (40), мы приходим к заключению, что

60

12

12

—15

— 5

9

— 3

7

— 3

Умножив обе части этого соотношения на А,

можно убедиться в спра­

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

Только что описанные арифметические операции лежат в основе большинства методов вычисления обратных матриц на ЭВМ, хотя при этом не используются условные переменные, подобные х, у, z, а, b и с, а применяются лишь арифметические операции, с помощью которых на каждом, шаге расчета определяются значения таких переменных. Можно назвать несколько имен, которые обычно ассоциируются с про­ цессом осуществления (а следовательно, и программирования) таких расчетов, например, Гаусс, Дулитл, Фокс и Краут. Вычислительные процедуры, которые связаны с этими именами, в значительной мере (хотя и не полностью) являются вариантами одного и того же метода и различаются прежде всего эффективностью организации расчетов. Читатель, который ознакомился с рассмотренной вычислительной про­ цедурой, получил основное представление о расчетах, предусматрива­ емых большинством соответствующих методов.

Существует и другое преимущество, связанное с применением ЭВМ для получения обратной матрицы. Отдельные шаги расчетов в сущест­ венной мере одни и те же как для больших, так и для маленьких мат­ риц (для больших их просто больше); поэтому с помощью ЭВМ мож­ но справиться с матрицей любого порядка. Единственное ограниче­ ние — это объем памяти ЭВМ. Далее, точность ЭВМ далеко превыша­ ет точность счетной машины, управляемой homo sapiens, которому для того, чтобы проверить точность своих вычислений, необходимо повторять отдельные шаги расчетов. Вообще говоря, ЭВМ не делает ошибок, но она выполняет ошибочные программы так же быстро, как и правильные, и не требует повторения операций для поддерживания заданного уровня точности. Наибольшее преимущество ЭВМ заклю­ чается в ее скорости, поскольку она делает возможным решение таких задач, которые иначе никогда и не были бы поставлены. Например, на современных ЭВМ в течение нескольких минут можно получить обратную матрицу порядка 100x 100. Для контраста можно сослать­ ся на то, что расчет обратной матрицы 40 X 40 на настольных вычис­ лительных машинах потребовал бы шести недель труда.

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

124

6) ОШИБКИ ОКРУГЛЕНИЯ

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

представлении величины 4-| в виде десятичной дроби; здесь не имеет

значения, насколько велика ЭВМ или насколько велика емкость за­ поминающего устройства. В некоторых ЭВМ значение, соответствую-

2

щее 4-д, просто будет усечено, например, до 4,666... и содержать столь­

ко шестерок, сколько позволит память. Другие округляют 4-| до

4,6667, причем опять в числе содержится столько шестерок, сколько позволяет память. Само собой понятно, что это может привести к ошиб­ кам, когда при получении обратной матрицы производится большое число операций деления и умножения.

Если учесть к тому же, что ситуации, в которых возникают ошиб­ ки, не могут быть четко выделены, а математический анализ накоплен­ ного влияния ошибок округления становится очень запутанным в лю­ бых условиях, за исключением очень простых (см. [7]), то легко по­ нять, что в этом случае мы сталкиваемся с дополнительной проблемой. В лучшем случае можно утешить себя тем, что не очень часто при­ ходится опасаться таких ошибок. Самое же плохое, о чем следует пом­ нить, это то, что основания для такого рода опасений имеются в любом случае, когда применяется ЭВМ.

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

Пример. Определитель

0,12 0,21 0,12

0,23 0,17 0,19

0,15 0,31 0,11

125

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

с о с т а в и т

 

 

0,17

0,19

 

0,23

0,19

 

 

0,23

0,17

 

112 0,31

0,11

0,21

0,15

0,11

! 0,12

0,15

0,31

 

: 0,12 (0,0187 —0,0589) -f- 0,21 (0,0253 — 0,0285)

ь

 

! 0,12(0,0713 —0,0255)

0,12 (—0,0402)

0,21 (-0,0032) ф

 

■0,12 (0,0458) — — 0,004824 — 0,000672

;

0,005496

- 0.

(5 3 )

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

0,12 (0,019—0,059) + 0,21 (0,025-0,029) + 0,12 (0,071—0,026) -

= 0,12 (—0,040) + 0,21 (-0,004) + 0,12 (0,045).

Точное значение полученного выражения равно

—0,00480—0,00084 + 0,00540,

однако в связи с округлением расчетных величин оно составит

-0,005—0,001 f 0,005 0,001.

Таким образом, получено неточное значение определителя (точное значение равно нулю).

Приведенный пример показал, как ошибки округления могут при­ вести к тому, что ЭВМ будет выдавать ошибочные результаты. Этот пример, естественно, представляет собой крайнее упрощение общей проблемы, которая очень сложна для анализа, если расчет охватывает множество арифметических операций. Более того, исходя из примера можно заключить, что проблема ошибок округления может оказаться достаточно серьезной, и, вероятно, во многих случаях дело именно так и обстоит. И все же в силу ряда причин такая ситуация наблюдает­ ся далеко не всегда. Прежде всего каждая «приличная» ЭВМ может эффективно работать с числом десятичных разрядов, значительно пре­ вышающим 3, а ошибки округления всегда возникают в последнем зна­ чащем разряде. Однако накопление ошибок в связи с выполнением боль­ шого числа арифметических операций может повлиять на последние два, три или даже четыре десятичных разряда. Таким образом, ЭВМ, работающая с одиннадцатью значащими десятичными разрядами, мо­ жет дать надежный результат с точностью до седьмого или восьмого разряда, что, конечно, достаточно при решении многих задач. Вторая причина, в силу которой ошибки округления не представляют собой повода для серьезного беспокойства, заключается в том, что разрабо-

126

танные методы расчета обратной матрицы предусматривают сведение к минимуму влияния ошибок (см., например, [2] и [7]). Третья причина заключается в том, что ЭВМ созданы для работы с очень большим числом разрядов (например, в арифметических расчетах применяются метод плавающей запятой или операции, многократно увеличивающие длину слова). В результате этого ЭВМ редко выдают обратную матри­ цу, которая «дефектна» вследствие ошибок округления. Однако такой случай все же может быть, и поэтому тот, кто полагается на ЭВМ при получении обратных матриц, должен помнить о возможности возник­ новения подобного случая и понимать причины появления таких ошибок.

Посмотрим, что произошло бы в приведенном примере, если бы наша «трехразрядная» ЭВМ, определившая \М\ = —0,001, была бы применена для расчета М~л с помощью метода алгебраических дополнений. Округ­ ление всех величин до третьего десятичного знака привело бы к следую­ щему:

"—0,040

0,060

—0,060

40

—60

60^

0,004

—0,005

0,005

— 4

5

— 5

0,045

—0,069

0,068

—45

69

—68

С результатами такого рода иногда приходится встречаться: вместо нулей, которые должны были бы получиться, из-за ошибок округле­ ния могут появиться небольшие ненулевые величины. Деление на эти небольшие величины делает «подозрительной» обратную матрицу, ко­ торая теперь может содержать несколько неоправданно больших элементов. Именно ошибки округления могут служить ключом к по­ ниманию причин возникающей погрешности.

Для того чтобы мы могли тщательно исследовать решение и даже проверить полученные результаты с помощью настольных вычисли­ тельных машин, прибегнув к вычислению одного-двух элементов произведения матрицы на обратную к ней матрицу, важно отчетливо понимать источник появления таких ошибок. Полностью преду­ предить подобные ошибки нельзя, однако существует полезный прием их сокращения. Для этого просто следует позаботиться о том, чтобы элементы обращаемой матрицы имели примерно один и тот же порядок величин. Этого часто можно достигнуть следующим образом: прежде чем приступать к обращению матрицы, нужно исходную матрицу умно­ жить справа или слева на некоторую диагональную матрицу для того, чтобы «исправить» элементы строки или столбца и привести их в со­ ответствие с другими элементами. Разумеется, следует помнить о том, что если мы хотим получить матрицу, обратную к исходной, то в та­ ком случае необходимо обратную матрицу, рассчитываемую с по­ мощью ЭВМ, соответственно умножить на матрицу, обратную к ис­ пользовавшейся в наших вычислениях диагональной матрице.

Пример. Рассмотрим матрицу

[2 1365' А ' \ 3 2 050 -

127

Элементы второго ее столбца по своей величине существенно превыша­ ют элементы первого столбца. Поэтому выразим А в форме произведе­ ния двух матриц В и D, где D — диагональная матрица:

 

В

2

2,73

 

 

0

 

 

 

3

4,10

 

0

500

'

 

 

 

 

 

Тогда, поскольку А — BD, то Л ' 1

D~1B

1,

 

 

или

1365

1

1

0 - 1

2

2,73

-

 

2

3

2 050

 

О’ 500

3

4,10

 

 

 

 

Л

0

1

' 4,10

—2,73

 

" 410

—273

0 0,002

0,01

—3

2

 

0,6

0,4

9. ПРИЛОЖЕНИЕ

ЛЕВАЯ И ПРАВАЯ ОБРАТНЫЕ МАТРИЦЫ

Во втором разделе при изложении понятия обратной матрицы ука­ зывалось, что Л "1 может существовать только для квадратных матриц Л, поскольку это единственное условие, при котором могут иметь ме­ сто и Л-1 Л, и ЛЛ-1. После этого обратные матрицы рассматривались только применительно к квадратным матрицам. Однако и относительно прямоугольных матриц также может быть задан вопрос: существует ли для некоторой матрицы А гХС, причем г ф с , матрица ВсХГ, такая, что АВ = 1Ги ВА = / с? Как будет сейчас показано, ответ на этот вопрос отрицателен — такой матрицы В нет.

Доказательство. Без потери общности можно положить, что г<Сс, а матрицы А н В расчленены следующим образом:

Zrxr

Кгх(с)1 и В -

W (с - г ) Х г

Тогда

XX ZY

ВА ,

WX WY

Для того чтобы приравнять это выражение / с, необходимо удовлетво­ рить условие ZX = 1Г, что может быть только тогда, когда X — невы­ рожденная матрица и Z = X-1. Кроме того, необходимо, чтобы WX = = 0, что предполагает W — 0, поскольку X — невырожденная матри­ ца. В итоге имеем

'/

ZY

'

ВА г [о

0

Это выражение никогда не может быть единичной матрицей и поэтому не существует матрицы В требуемой формы. Следовательно, для пря­ моугольной матрицы ЛгХс не существует матрицы В, такой, что АВ = = / г и ВА = / с.

Однако для некоторых прямоугольных матриц А гХс(г фс) суще­ ствуют такие матрицы В сХг, что АВ = 1Г, но ВА Ф / с. В таких слу­

128

чаяхВ называются правыми обратными к Л матрицами. Для'других матриц Агхс имеются матрицы DcXr, такие, что DA = / с, но AD Ф I г. Такие матрицы!) называются левыми обратными к А матрицами. Как только что было показано, нет обратных матриц, которые были бы одновременно правыми и левыми к одной и той же прямоугольной матрице. В главе VI будет показано, что нет прямоугольных матриц, имеющих одновременно и правую и левую обратные матрицы. Только квадратная (невырожденная) матрица имеет сразу правую и левую обратные матрицы, и это — те самые единственные обратные матри­ цы, которые уже были нами рассмотрены.

Пример.

Т

3

1

 

 

 

L — 2

5

1

—левая обратная к А матрица при

 

 

 

1

1

"

 

 

 

А = 1

0

 

 

 

 

3

1

 

поскольку LA = / 2. Иными словами, А есть правая обратная к L мат­ рица. Однако не существует правой обратной к А матрицы (т. е. нет матрицы В, такой, что АВ = / 3) и нет левой обратной к L матрицы (т. е. нет такой D, при которой DL = / 3).

Упражнения

1. Покажите,

что

 

1 ' 12 —13'

"6

13‘

то | А I = 7 ,

если А=

,

Л - 1 = —

—5

 

и АА~1 = А ~ 1А = 1;

5

12

 

7

 

6

'3

—4'

,

 

1

‘ 14

4'

если В =

14

, то В = 70, В - ! = —

—7

3_

7

1 1

 

70

и В В - 1 = В - 1В I.

2.На примере матриц А и В, приведенных в упражнении 1, проиллюстри­ руйте правило, с помощью которого можно получить матрицу, обратную к про­ изведению двух матриц.

3.Покажите, что,

если

А =

7

со

О

 

 

 

]

‘ — 8

12

—3"

 

0

2

1

, то 1А 1= —5, А ~1 = —■ —1

4

—1 и А 4 =

 

 

1 0

4

 

I

I

.

5

2

—3

2

 

= ЛЛ-1 = /;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

6

1

 

 

 

 

~

2,76

—4,24

1,16'

б) если В =

6

5

 

4 »

то

 

В 1=25.

В~! =

— 4,24

6,76

—1,84

 

 

1

4

 

17-

 

 

 

 

 

1,16

— 1,84

0,56

и В ~ 1В = В В - 1 = 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

- 6

8

 

 

 

 

 

 

в) если

С

10

—10

0

0

,

то | С [= 1, С~ 1= С ' и СС' = С’ С = 1 .

 

 

 

 

0 —8

 

 

 

 

 

 

 

 

5 Зак. 42 5

129

Соседние файлы в папке книги из ГПНТБ