Файл: Сирл, С. Матричная алгебра в экономике.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.10.2024

Просмотров: 160

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

А = А \ С ~ В', 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