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

Линейная алгебра для студентов-машиностроителей. В 2 частях. Ч.1. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
608 Кб
Скачать

Иногда может возникнуть необходимость транспонировать матрицу – поменять ее строки и столбцы местами. Обычно транспонированнаяматрицаобозначаетсянадстрочныминдексомт или штрихом ′ справа вверху.

−1

0

−2

 

 

−5

4

−7

 

Пример 3.1. Транспонировать матрицу A =

.

 

6

4

6

 

 

 

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

 

 

−1

−5

6

 

A

т

 

0

4

−4

 

 

=

.

 

 

 

−2

−7

−6

 

 

 

 

 

MATLAB: clear

A = [-1 0 -2 -5 4 -7 6 -4 -6];

A'

Любую матрицу можно умножить или поделить на число. Эта операциясводитсякумножению(делению)каждогоэлементаматрицы на данное число.

 

 

 

 

 

 

 

 

12

−1

Пример 3.2. Умножить число 3 на матрицу

7

0

.

Решение:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

12

−1

 

3 12

3 (−1)

36

−3

 

 

 

=

3 7

 

=

21

0

.

 

 

7

0

 

3 0

 

 

 

MATLAB: clear

A = [12 -1; 7 0]; a = 3;

a * A

51

3.2. Сложение, вычитание и умножение матриц

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

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

Пример 3.3. Сложить матрицы A =

12

−1

и

−4

−3

 

 

 

B =

 

 

.

 

Решение:

 

 

 

 

 

 

 

 

−5

0

 

 

15

7

 

 

 

 

 

 

 

 

 

 

12+(−4) −1

+(−3)

 

 

 

 

 

12

 

−1

−4

−3

 

=

 

 

A +B =

 

+

 

 

=

 

 

 

 

 

 

 

 

 

−5

 

0

15

 

7

 

−5+15

0

+7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

12−4

−1−3

8

−4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

.

 

 

 

 

 

 

MATLAB:

 

 

 

−5+15

 

0+7

10

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

clear

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A = [12 -1; -5 0];

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B = [-4 -3; 15 7];

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A + B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример

3.4.

Найти

разность

матриц

 

 

3

5

−17

 

A =

−1

0

10

 

−4

3

−15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и B =

−7

0

.

 

 

 

 

 

 

 

 

 

 

 

 

−5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение:

 

 

 

3

5 −17

−4 3 −15

 

 

 

 

 

 

 

A B =

 

 

 

 

 

 

 

 

 

 

 

0

=

 

 

 

 

 

 

 

 

 

−1

0 10

−5 −7

 

 

 

 

 

 

 

3

(−4) 5−

3

 

−17−(−15)

7 2

−2

 

 

 

 

=

 

(−5) 0−

(−7) 10−0

 

=

 

 

.

 

 

 

 

 

−1

 

4 7

10

 

 

 

 

 

 

 

 

 

MATLAB: clear

A = [3 5 -17; -1 0 10]; B = [-4 3 -15; -5 -7 0]; A – B

52

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

n×k

… … … …

 

 

 

 

=

 

.

… … …

 

 

 

 

m×n

 

 

m×k

Пусть A =(aij )m×n, B =(bij )n×k, т. е. число столбцов матрицы A

равно числу строк матрицы В. Произведением A B называется матрица C= (cij )m×k, элементы которой вычисляют по формуле

cij =ai1b1j +ai2b2 j +…+ainbnj.

Иными словами, для получения элемента cij в результирующей матрице нужно взять i-ю строку в матрице A и j-й столбец в матрице B, а затем перемножить первые элементы строки и столбца, вторые элементы и т. д. Все полученные произведения складывают и получают искомое значение:

b1j

 

b

 

cij =(ai1 ai2 ain ) 2 j

=ai1b1j +ai2b2 j + … +ainbnj.

 

 

b

 

nj

 

В общем случае умножение матриц некоммутативно, т. е. A BB A (кроме некоторых исключений, например когда одна из матрицединичная: A E=E A = A.КакразэтосвойствоматрицыE иобъясняет,почемуименноонаназываетсяединичной:приумножении чисел аналогичным свойством обладает число 1).

По определению произведение двух матриц размера n×n вычисляется за n3 умножений и n2 (n −1) сложений. Однако для ма-

триц большого размера (Штрассена и др.) существуют алгоритмы умножения матриц, работающие быстрее, чем по определению[47].Крометого,реализациянакомпьютереалгоритмаумножения матриц «в лоб» будет иметь низкую производительность.

53

Для ускорения алгоритма нужно учесть принцип организации памяти и данную архитектуру процессора [48, 49].

Пример

3.5. Умножить

матрицу

2

−3

на

матрицу

A =

 

9

−6

 

 

 

 

 

4

6

 

 

B =

4

.

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

Решение:

 

 

 

 

 

 

 

 

A B =

2

−3 9

−6

 

2 9−3 6 2(−6)−3

(−4)

0

0

 

 

 

=

4 9−6 6 4(−6)−6

 

=

.

 

 

4

6 6

4

 

 

0

0

 

 

 

(−4)

MATLAB: clear

A = [2 -3 4 -6]; B = [9 -6 6 -4]; A * B

Как перемножить три матрицы (и более)? Прежде всего надо понять, что должно получиться в результате умножения трех матриц ABC. Если матричное умножение осуществимо, то в итоге получим матрицу. Произведение трех матриц ABC можно вычислить двумя способами, а именно найти:

1)A B, затем умножить на матрицу C: (A B) C;

2)B C, затем выполнить умножение A (B C).

Результаты обязательно совпадут, данное свойство называют

ассоциативностью матричного умножения: (A B) C = A ( B C). Вчастности,возвести квадратную матрицу A в степень n –зна-

чит умножить ее саму на себя n раз:

An = A A A

.

nраз

 

 

 

 

 

 

 

 

 

 

Пример 3.6. Перемножить матрицы

4

3

−28

93

7

3

 

 

7

5

 

38

−126

 

2

1

 

 

 

 

 

 

двумя способами.

54

Решение

1. Используем формулу ABC=(A B)C:

 

 

AB =

4

3 −28

 

93

 

=

 

 

 

 

 

 

 

 

 

 

 

 

38

−126

 

 

 

 

 

 

 

 

 

 

 

7

5

 

 

 

 

 

 

 

 

 

4

(−28)+3 38

4 93+3(−126)

 

 

 

2

 

6

 

=

(−28)+5 38

7 93+5(−126)

=

 

−6

 

21

;

7

 

 

 

 

 

 

 

 

 

 

 

 

2

−6

7

 

3

=

 

 

 

 

 

ABC =(A B)C =

−6

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

21

 

1

 

 

 

 

 

 

2 7−

6 2

 

2 3−6 1

=

 

2 0

 

 

 

 

=

 

 

 

 

 

 

 

0 3

 

 

 

 

 

−6 7+21

2 −6 3+21 1

 

 

.

 

 

2. Используем формулу ABC=A(B C):

 

 

 

 

 

 

 

 

 

 

 

BC =

−28

 

93 7

3

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

38

−126 2

 

 

 

 

 

 

 

 

 

−28 7+93

2

−28 3+93 1

−10

 

 

9

;

=

 

 

2

 

 

 

 

=

14

 

 

 

 

38 7−126

 

38 3−126 1

 

 

−12

 

ABC = A(B C)

4

3 −10

 

 

 

9

 

 

 

 

=

5

 

14

 

−12

=

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

=

4

(−10)+3 14 4 9+3(−12)

 

=

2

 

0

 

 

 

(−10)+5 14 7 9+5(−12)

 

 

0

 

3

.

 

 

 

7

 

 

 

 

 

 

 

MATLAB: clear

A = [4 3 7 5];

B = [-28 93 38 -126]; C = [7 3

2 1]; (A * B) * C A * (B * C) A * B * C

55

Для матриц А, В и действительного числа λ справедливо следующее свойство: АλВ = λ(А В). То есть числовой множитель можно вынести вперед, чтобы он не мешал умножать матрицы. На самом деле λ можно разместить в любом месте между матрицами, даже в конце. Правило остается справедливым, если перемножаются три либо большее количество матриц.

Пример 3.7. Найти произведение

4

 

11

1

 

 

8

−7

 

 

 

 

 

 

 

−2

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

9

 

10

 

3

 

Решение:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

11

1

8

 

−7

=

1

 

4

 

11 8

 

−7

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

10

 

10

 

 

 

 

 

6

9

−2

 

3

 

 

6

 

−2

3

 

 

=

1

 

4 8+11(−2)

4(−7)+11 3

 

=

 

 

 

 

 

 

 

 

 

 

8+9(−2)

6(−7)+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

6

9 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

10

 

 

5

 

1 1

10

 

5

1

2

 

1

 

 

=

 

 

 

 

 

 

 

=

 

 

 

 

 

−15

=

 

 

 

 

 

−3

.

 

 

10

 

 

 

2 5

 

 

 

2

 

 

 

 

 

30

 

−15

 

30

 

6

 

 

 

 

Число 1 можно внести внутрь матрицы, но тогда коэффициен-

2

ты перестанут быть целыми.

MATLAB: clear

[4 11; 6 9] * (1/10) * [8 -7; -2 3]

3.3. Определитель матрицы

Определитель матрицы А обозначают A или det А (от англ. de-

terminant). Это число, и его можно вычислить только для квадратной матрицы.

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

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

56

 

 

a11

a12

a1n

 

 

 

 

 

 

a21 a22 a2n

=a A +a A + … +a A

.

 

 

… … …

11

11 12 12

1n 1n

 

 

 

an1

an2 ann

 

 

 

 

 

Алгебраическим

дополнением

элемента aij

называется число

A =(−1)i+ jM

ij

, где M

ij

– миноры, представляющие собой опреде-

ij

 

 

 

 

 

 

 

 

 

лители матриц с исключенными i-й строкой и j-м столбцом. Для определителя «два на два» минорам соответствуют опреде-

лители матриц размером «один на один», которые являются числом, содержащимся в матрице. Это дает простую формулу

ac

b d =ad bc.

Более того, есть выбор, по какой строке или столбцу раскладывать определитель. Наиболее выгодно выбрать строку или столбец с большим количеством нулей (не ищут умножаемые на нуль алгебраические дополнения) или, если таковых не имеется и чтобы делать меньшее количество умножений, c ±1.

1 −2 3

Пример 3.8. Найти определитель 4 0 6 .

−7 8 9

Решение. Выберем второй столбец для разложения:

1

−2

3

 

4 6

 

1 3

 

 

 

 

4

0

6 = −(2)

 

+0 8

=

−7

8

9

 

−7 9

 

4 6

 

 

 

 

 

 

= 2(36+42)−8(6−12)=156+48= 204.

MATLAB: clear

A = [1 -2 3 4 0 6 -7 8 9];

det(A)

57

Определитель имеет следующие свойства:

1.При транспонировании матрицы значение ее определителя не меняется.

2.Если две строки (или два столбца) определителя поменять местами, то определитель сменит знак.

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

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

4.Если две строки (столбца) определителя пропорциональны (частныйслучай–одинаковы),тотакойопределительравеннулю.

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

5.Определитель с нулевой строкой (столбцом) равен нулю.

6.К строке определителя можно прибавить еще одну строку, умноженную на ненулевое число. При этом значение определителя не изменится.

7.К столбцу определителя можно прибавить еще один столбец, умноженный на ненулевое число. При этом значение определителя не изменится.

8.Определитель треугольной матрицы равен произведению чисел его главной диагонали.

9.Определитель произведения двух матриц равен произведению их определителей.

Гдемогутиспользоватьсяперечисленныесвойства?Приработес определителямиn-гопорядка,особенносбуквеннымиэлементами. Длявычислениятакихопределителейединогометоданесуществует (если не считать определения). Для вычисления определителя специальноговидаприменяютразличныеметоды,приводящиекболее простым выражениям (т. е. содержащим меньшее число действий). Рассмотрим два наиболее распространенных метода [50, 51].

58

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

Пример 3.9. Вычислить методом приведения к треугольному

7 5 5 … 5

5 7 5 … 5

виду определитель n-го порядка 5 5 7 … 5 .

… … … … …

5 5 5 … 7

Решение. Не меняя значения определителя, приведем его к треугольному виду. Для этого вначале вычтем первую строку из всех

остальных:

7 5 5 … 5

2 2 0 0 2 0 2 0 .

… … … … …

2 0 0 2

Затем к первому столбцу прибавим каждый из следующих:

 

7+5(n−1)

5

5

… 5

 

 

 

 

 

0

2

0

0

 

 

 

0

0

2

0

 

.

 

… …

… …

 

 

 

0

0

0

2

 

 

Получили треугольную матрицу, у которой определитель равен произведению элементов на главной диагонали:

(7+5(n−1))2n−1 =(5n+2)2n−1.

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

59

удобнее непосредственного приведения к треугольному виду. Ранее рассмотренный алгоритм разложения по строке/столбцу здесь совсем не конкурент, так как после разложения требует порядка n! арифметических действий, в то время как нахождение разложения матрицы на треугольные – порядка n3.

Метод рекуррентных соотношений. Определитель находят, преоб-

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

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

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

Пример 3.10. Вычислить методом рекуррентных соотношений определитель (n + 1)-го порядка

 

0

1

1

… 1

 

 

 

 

 

1

a1

0

… 0

 

 

 

1

0

a2

… 0

 

.

 

… … …

… …

 

 

 

1

0

0

an

 

 

60

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]