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

Статистика и анализ геологических данных

..pdf
Скачиваний:
20
Добавлен:
15.11.2022
Размер:
21.12 Mб
Скачать

Глава 4 МАТРИЧНАЯ АЛГЕБРА

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

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

Матрица

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

Элементами матрицы могут быть дисперсии и ковариации, ре­ зультаты наблюдений, коэффициенты системы уравнений и про­ сто любые числа.

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

SCr

COVcr-Nl

COVcr-v

C O V N I- сг

SNI

 

COVNI- v

COVv-Сг

COVv-Ni

Sv

570

 

537,5

663,75"

[537,5

562,5

718,75 .

 

 

 

1007,5 _

663,75

718,5

 

Набор чисел (допустим значений переменной X), представ­

ленный в виде матрицы,

обычно

обозначается [X], X, (X)

или ||Х||.

В этой книге мы будем применять квадратные скобки и обо­ значать отдельные элементы матрицы заглавными буквами с ин­ дексами, например Хц. Вообще в литературе встречаются и такие условные обозначения, как [Хц], [Х]ц, или эквивалентные грече­ ские буквы, как %ij. Символ Хц — означает элемент i-той строки

и j-ro столбца. Например, если

 

[X] — матрица порядка 3 x 3 :

"1

4

7"

2

5

8 ,

3

6

9

то Хзз=9, Xi3= 7 , Хг1 = 2 и т. д. Если число столбцов равно числу строк, то матрица называется квадратной, а ее элементы, ин­ дексы которых равны (т. е. i = j) , называются диагональными элементами. В вышеприведенной матрице характеристик распре­ деления микроэлементов диагональными являются дисперсии со­ держаний. Все остальные элементы — ковариации. В следующей матрице диагональные элементы равны соответственно 1, 5 и 9. Чаще всего встречаются квадратные матрицы, но неквадрат­ ные тоже нередки, несмотря на то что операции с ними подчи­ нены строгим ограничениям. Особенно часто используются две формы неквадратных матриц: вектор-строка, т. е. матрица по­ рядка lX m , и вектор-столбец, т. е. матрица порядка m x l.

Очень часто приходится иметь дело с двумя типами квадрат­ ных матриц. Это симметричная матрица, в которой Xij=Xji, как,

например, матрица вида

Г1 2 3" 2 4 5 .

.3 5 6_

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

Единичная матрица — это симметричная матрица, в которой все диагональные элементы равны 1 , а все остальные равны 0 :

1 0

 

0 '

0

1

0 .

0

0

1

Элементарные действия с матрицами

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

При выполнении операции сложения [С ]= [А ]+ [В ] к каж­ дому элементу матрицы [А] прибавляется соответствующий эле­ мент матрицы [В]. Если матрицы разных порядков, то операция сложения невыполнима. Вычитание [С ]= [А]— [В] выполняется таким же способом: каждый элемент матрицы [В] вычитается из соответствующего элемента матрицы [А].

В качестве иллюстрации в табл. 4.1 приведена характери­ стика добычи бентонитовой глины в трех горнодобывающих районах штата Вайоминг.

 

 

 

Т а б л и ц а 4.1

Добыча бентонитовой глины в штате

Вайоминг, 1964 г.

 

(в 1 • 105 т)

 

 

 

Глина для

Л и тейная

 

Р е ги о н

бурового

П рочие глины

глина

 

раствора

 

 

 

 

Восточный

105

63

5

Пограничные районы

со

80

2

штатом Монтана

218

Центральный

220

76

1

Ю З а к а з № 455

Добывается три основных типа глины: один применяется для приготовления бурового раствора, другой — в качестве литейной глины и последний используется как лекарственное и космети­ ческое средство, для керамических целей и др. Все эти данные можно записать в виде матрицы порядка 3X 3 [А]:

'105 63 5'

IAJ = 218 80 2

220 76 1

Продукцию, добытую в следующем году, также можно оха­ рактеризовать матрицей [В]:

’ 84 1 02 4*

 

 

 

[В ]-

240

1 2 1

1

 

 

 

 

 

 

 

302

28

0

 

 

Общая продукция за два года в трех районах будет представ­

лять сумму

[CJ двух матриц

[А] и [В]:

 

 

 

 

[А]

 

+

 

[В]

 

=

JCI

9'

'105

63

5'

84

1 02

4"

'189

165

218

80

2

+

240

1 2 1

1

= 458

201

3

22 0

76

1 _

 

302

28

0 _

.522

104

1 .

Аналогично изменение добычи можно представить как раз­

ность матрицы [А] и матрицы [В], т. е.

 

 

 

IB]

-

 

[А]

 

=

[CJ

 

' 84

1 02

4'

'105

63

5'

‘ — 2 1

39

- Г

240

1 2 1

1

218

80

2

—г 2 2

41

- 1

.302

28

0_

.2 2 0

76

1.

82

- 4 8

- 1 .

Отметим, что положительные элементы матрицы [В}— [А] со­

ответствуют росту добычи глины.

матриц порядка

пХш

Как и в обычной алгебре, сложение

коммутативно, т. е. [А ]+ [В ]= [В]+[А ],

и ассоциативно,

т. е.

( [А]+ [В]) + [С ]= [А]+ ( [В ]+ [С]). Порядок матриц при вычита­ нии, конечно, существен.

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

операцию в виде подпрограммы, которую можно будет использо­ вать в случае необходимости. Ввод и вывод данных может вы­ полняться с помощью специальных подпрограмм, выполняющих только эти задания. Таким образом, в этой главе представлена небольшая библиотека программ работы с матрицами. Подпро­ граммы создаются в расчете на возможные изменения порядка матриц. Конкретные значения порядка матрицы принимаются в списке параметров оператора CALL. Главная программа, есте­ ственно, должна содержать предложение DIMENSION, описы­ вающее массив, порядок которого достаточен для размещения

матрицы. Программа

4.1— это

подпрограмма

READM, пред-

С

PROGRAM

4 - 1

 

 

 

 

 

 

с

 

 

 

 

 

 

 

 

 

С

S U B R O U T IN E

TO

READ

A

M A T R IX

 

С

H A V I N G

N ROWS

AND

М

COLUMNS

 

С

S U B R O U T IN E

R E A D M ( A , N , M , N I ,M1)

 

 

 

 

D I M E N S I O N A ( N I , M I )

 

 

 

 

C

READ

S I Z E OF

M A T R IX

 

 

 

 

READ

( 5 f IO O O )

N ,M

 

 

 

 

C

READ

M A T R IX

ONE ROW

A T

A T I M E

 

 

DO 1 0 0

1 = 1 . N

 

 

 

 

 

 

READ

( 5 f I СОI )

( A ( I , J ) , J « 1 , M )

 

1 0 0 C O N T IN U E

 

 

 

 

 

 

1 0 0 0

RETURN

( 2 1 3 )

 

 

 

 

 

FORMAT

 

 

 

 

 

10 0 1

FORMAT

( 1 0 F 8 . 0 )

 

 

 

 

 

END

 

 

 

 

 

 

 

 

Программа 4.1. Подпрограмма

READM

 

назначенная для чтения матриц порядка

NXM,

где N — число

строк, а М — число столбцов. Матрица читается построчно, при­ чем в строке пробивается не более десяти отверстий (если М > >10, то каждая строка матрицы занимает две карты). Число строк и столбцов должно быть задано до чтения матрицы. Форма представления данных на носителе определяется предложением,

описывающим формат.

Программа 4.2 — это подпрограмма PRINTM для записи мат­ рицы на устройство построчной печати. Ограничения в этом слу­ чае такие же, как и в программе 4.1. Матрица печатается бло­ ками по 10 столбцов, дополнительные столбцы записываются во

втором блоке.

Программа 4.3 — это подпрограмма, называемая ADDM, предназначенная для сложения двух матриц. Все три упомяну­ тые подпрограммы можно вызвать краткой главной программой, приведенной ниже, которая прочтет и сложит матрицы [А] и [В], а затем получит и напечатает матрицу [С]. Составьте короткую программу, использующую эти подпрограммы, и попробуйте

 

С

 

PROGRAM 4 - 2

 

 

 

 

 

С

 

 

 

 

 

 

 

 

 

С

 

S U B R O U T IN E Т О P R I N T A M A T R IX

 

 

С

 

H A V I N G

N ROWS

AND

М COLUMNS

 

 

С

 

SUBROUTINE PRINTM( A', N, M, NI , MI )

 

 

 

 

 

 

 

 

D I M E N S I O N A ( N 1 , M I )

 

 

 

 

C

 

P R I N T

M A T R IX

OUT I N S T R I P S

O F

1 0 COLUMNS

 

 

 

DO 1 0 0 I B = 1 , M , I 0

 

 

 

 

 

 

I E = I B + 9

 

 

 

 

 

 

 

I F

( I E - M ) 2 , 2 , 1

 

 

 

 

 

1 I E = M

 

 

 

 

 

 

C

 

P R I N T H E A D I N G

 

 

 

 

 

 

2 W R IT E ( 6 , 2 0 0 0 )

( I , I = I B , I E )

 

 

 

 

 

DO 101

J = I , N

 

 

 

 

 

C

 

P R I N T

ROW OF M A T R IX

 

 

 

 

 

 

W R IT E ( 6 , 2 0 0 1 ) J , ( A ( J , K ) , K = I B , I E )

 

101 C O N T IN U E

 

 

 

 

 

1 0 0 C O N T I N U E

 

 

 

 

 

 

 

RETURN

 

 

 

 

 

2 0 0 0 FO RM AT ( 1H I , I X , 1 0 1 1 2 )

 

 

 

2 0 0 1

FORM AT ( I H 0 , I 5 , I 0 F I 2 . 4 )

 

 

 

 

 

END

 

 

 

 

 

 

 

Программа 4.2. Подпрограмма

PRINTM

C

PROGRAM

4 - 3

 

 

 

 

 

C

S U B R O U T IN E TO ADD TWO M A T R IC E S

 

 

C

 

 

C

A

AND

В

TO

FORM C .

A L L

H A V E N

ROWS

AND M C O L U M N S .

C

S U B R O U T IN E A D D M ( A , B , C , N , M , N I , M 1 >

 

 

 

 

D I M E N S I O N A ( N 1 , M 1 ) , B ( N 1 , M 1 ) , C ( N 1 , M 1 )

 

 

DO

1 0 0

1 = 1 , N

 

 

 

 

 

DO

101

J = 1 , M

 

 

 

 

C ( I , J ) = A ( I , J ) + B ( I , J ) 101 C O N T I N U E

1 0 0 C O N T IN U E R ET U R N END

Программа 4.3. Подпрограмма ADDM

о о о о о

PROGRAM

4 - 4

 

S U B R O U T IN E

TO S U B T R A C T TWO M A T R IC E S

В FROM A

TO

FORM C . A L L HAVE N ROWS AND M C O L U M N S .

S U B R O U T IN E S U B M ( A , B , C , N , M , N I , M 1 )

D I M E N S I O N A ( N 1 , M I ) , B ( N I , M ! ) , C ( N 1 , M I )

DO

IO C

1 = 1 , N

DO

101

J = 1 , M

C ( I , J ) = A ( I , J ) - B ( I , J ) 101 C O N T IN U E

1 0 0 C O N T IN U E RETURN END

Программа 4.4. Подпрограмма SUBM

провести матричное вычитание на примере данных по бентонитам: DIMENSION X (20, 20), Y (20, 20), Z (20, 20)

CALL READM (X, 3, 3, 20, 20)

CALL READM (Y, 3, 3, 20, 20) CALL ADDM (X, Y, Z, 3, 3, 20, 20) CALL PRINTM (Z, 3, 3, 2 0 , 20)

CALL EXIT

\! J\'

END.

 

Умножение матрицы на константу сводится к умножению каждого ее элемента на эту константу. Например,

'1

4*

'3

1 2 "

3 . 2

5 =

6

15

.3

6_

9

18_

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

вмиллиметры. Чтобы получить матрицу, содержащую данные

вмиллиметрах, надо умножить матрицу [А] на постоянную ве25.4.

25 .4 .

IА]

 

[С]

 

 

 

 

 

 

"3,4

2,2

1,8-

" 86,36

55,88

45,72'

4,6

4,3

4,2

116,84

109,22

106,68

25,4- 5,4

4,7

4,7 =

137,16

119,38

119,38

3,9

2,8

2,3

99,06

|71,12

58,42

_5,1

4,9

3,8_

.129,54

124,46

96,52.

 

 

 

 

Т а б л и ц а 4.2

Измерение осей кремнистых галек из отложений

 

 

ледниковых глин

 

 

 

 

 

Длина оси, дюймы

 

Образец

 

А

в

 

С

 

 

 

1

 

3,4

2 ,2

 

1.8

2

 

4,6

4,3

 

4,2

3

 

5,4

4,7

 

4,7

4

 

3,9

2 ,8

 

2,3

5

5,1

4,9

3,8

Подпрограммы CMULT и CDIV (программы 4.5 и 4.6) пред­ назначены для выполнения операций умножения и деления эле-

С

PROGRAM

4 - 5

 

 

 

 

 

 

 

 

 

 

 

 

 

с

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С

S U B R O U T IN E

ТО

M U L T I P L Y

EACH E L E M E N T OF

A

M A T R IX

B Y

A

C

C O N S TA N T

В

TO

FORM

T H E

M A T R IX

C .

 

 

 

 

C

EACH

M A T R IX HAS

N

ROWS

AND M

C O L U M N S .

 

 

 

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

S U B R O U T IN E C M U L T ( A t B t C , N , M , N I , M I )

 

 

 

 

 

 

 

 

 

 

D I M E N S I O N A ( N I « M l ) , C ( N I , M I )

 

 

 

 

 

 

 

DO

1 0 0

1 = 1 , N

 

 

 

 

 

 

 

 

 

 

 

 

 

DO

101

J = 1 f M

 

 

 

 

 

 

 

 

 

 

 

 

 

С ( I , J ) = B * A ( I , J )

 

 

 

 

 

 

 

 

 

 

 

101 C O N T IN U E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I 0 0

C O N T IN U E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RETURN

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

END

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Программа 4.5. Подпрограмма SMULT

 

 

 

C

PROGRAM

4 - 6

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

S U B R O U T IN E TO

D I V I D E

EACH E L E M E N T OF

A

M A T R IX

B Y

A

C

C O N S T A N T В TO

FORM

T H E

M A T R IX

C .

 

 

 

 

C

EACH

M A T R IX

HAS

N

ROWS

AND

M

COLUMNS

 

 

 

 

C

S U B R O U T IN E C D I V ( A , B , C , N f M f N I t M I )

 

 

 

 

 

 

 

 

 

 

D I M E N S I O N A ( N I 9M I ) VC ( N I 9M J )

 

 

 

 

 

 

 

DO

1 0 0

1 = 1 t N

 

 

 

 

 

 

 

 

 

 

 

 

 

DO

101

J = l t M

 

 

 

 

 

 

 

 

 

 

 

C( I f J ) = A ( I f J ) / B

101C O N T IN U E

10 0 C O N T I N U E

RETU R N

END

Программа 4.6. Подпрограмма CDIV

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

Умножение матриц

Вспомним задачу с бросанием монеты, рассмотренную в гл. 3, где вычислялась вероятность появления последовательности гер­ бов после ряда бросаний, если вероятность выпадения герба при одном бросании равна 1/2. Вероятность выпадения трех гербов при трех бросаниях равна 72 * 72 - 72, или 1/23- Аналогичную за­ дачу можно сформулировать при изучении литологической ха­ рактеристики стратиграфического разреза. Предположим, что

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

 

 

В

 

 

Песок

Сланец

Известняк

Песок

" 59

18

2

Сланец

14

86

41

Известняк

4

34

51

Эта матрица называется матрицей переходных частот и по­

казывает нам,

например, что сланец следует за песком 18 раз,

а известняк за

песком — только 2 раза; известняк следует за

сланцем 41 раз, повторение известняка встречается 51 раз, а за песком — только 2 раза.

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

В

 

Песок

Глина

Известняк

Песок

'0 ,7 4

0,23

0,03

Глина

0,10

0,61

0,29

Известняк

0,05

0,38

0,57

Этот вопрос будет рассмотрен

детально

в следующей главе

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

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

роятностей [Р7] будет равна матрице

[Р]п. Матрица в

степени

п — это просто результат умножения

матрицы на себя

п раз.

Однако для выполнения этой операции нужно знать правила перемножения матриц.

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

[В].

[А] [результат].

Чтобы получить значение элемента Су, нужно умножить каж­ дый элемент i-й строки матрицы [А] (начиная слева) на соот­ ветствующий элемент j-ro столбца матрицы [В], начиная сверху. Для получения искомого элемента Су все эти произведения сум­ мируются. Ниже на примере двух матриц показана последова­ тельность операций при матричном умножении:

'1

4

Г

"1

2

3"

2

5

8 X

3

4

5

.3

6

9

5

6

7_

Сначала умножим Ац на Ви и в результате получим 1:

'1

4

7"

"1

2

3'

2

5

8 X

3

4

5

.3

6

9_

5

6

7_

Далее, умножая А12 на В21, получаем 1 2 :

' 1

4

Г

1

2

3'

2

5

8 X

3

4

5

_3

6

9_

.5

6

7.

Наконец, умножая А13 на В31, получаем 35:

‘ 1

4

Т

‘ 1

2

3'

2

5

8 X

3

4

5

_3

6

9_

_5

6

7.

Значение элемента Си представляет собой сумму трех вы­ численных значений 1 + 12+ 35=48. Последовательность этих операций изображена на приведенной ниже диаграмме. Отме­ тим, что каждый элемент Су произведения матриц получается в результате умножения и последовательного сложения произ­ ведений элементов i-й строки матрицы [А] на элементы j-ro столбца матрицы [В}.