Отримання знань

дистанційна підтримка освіти школярів


Матриці

Основні означення

Означення 1.

Нехай m, nнатуральні числа. Розглядатимемо всі впорядковані пари натуральних чисел (i, j) таких що 1≤im, 1≤jn. Кожній парі поставимо у відповідність деяке дійсне число, яке позначимо через aij. Сукупність усіх aij називається матрицею і позначається як Amn. Числа aij називатимемо елементами матриці, пару чисел m і n - розмірами.

Приклад 1.

m=3, n=2

a11=8, a12= -1, a21=2, a22=4, a31=6, a32=5

Будь-яка матриця розмірами на n містить рівно m•n елементів. Тому зручно записувати матрицю як прямокутну таблицю, в якій m рядків і n стовпчиків. Тоді кожен з елементів aij знаходиться у своїй комірці, в якої i – номер рядка, а j – номер стовпчика.

Матриця з прикладу 1 записується так:

Нагадаємо, що шкільною алгоритмічною мовою прямокутна таблиця Amn описується як

Дійс Таб А[1..m, 1..n]

Контрольне запитання.

Які варіанти опису цієї таблиці мовою Паскаль є правильними?

1.var m,n: integer; a: array[1..m,1..n] of real;
2.const m=10; n=20; var a: array[1..m,1..n] of real;
3.const m=10; n=20; type mass= array[1..m,1..n] of real; var a: mass;

Завдання.

Напишіть процедури введення матриці з файлу та виведення у файл.

 

 

Означення 2.

Матриця називається квадратною, якщо в ній кількість рядків дорівнює кількості стовпчиків. Кількість рядків, що дорівнює  кількості стовпчиків, називається порядком квадратної матриці.

 

 

Приклад 2.

Квадратна матриця порядку 3

 

7

8

1

4

6

0

4

3

1

 

Означення 3.

Елемент квадратної матриці належить головній діагоналі, якщо номер рядка цього елемента дорівнює номеру стовпчика.

Означення 4. 

Квадратна матриця називається одиничною, якщо її елементи, що знаходяться на головній діагоналі – одиниці, а всі інші елементи – нулі.

 

Завдання.

Напишіть алгоритм, який формує одиничну матрицю заданого порядку n. Перевірте задачу в on-line

Операції над матрицями 

Множення матриці на число.

Означення 5.

Для множення матриці на число необхідно помножити кожний її елемент на це число.

Контрольне запитання.

Якщо матрицю А23 помножити на 2, у скільки разів збільшиться добуток всіх елементів?
8
64
256
4096

Завдання.

Помножте матрицю з прикладу 1 на 4, а прикладу 2 – на 3.

Завдання.

Напишіть алгоритм множення матриці на число. Перекладіть алгоритм мовою Паскаль і перевірте його в on-line.  

 

 

Додавання матриць.

Означення 6.

Сумою матриць A і B називається матриця C, елементи якої дорівнюють сумам відповідних елементів матриць A і B, тобто cij=aij+bij. Додавати можна тільки матриці, які мають однаковий розмір. Сума матриць має такий же розмір, як і доданки.

Приклад 3.

Нехай

Тоді

Властивості операцій додавання матриць та множення на число

(A,B,C – матриці, k,l – числа).

1. A(kl)=(Ak)l

2. A+B=B+A

3. (A+B)+C=A+(B+C)

4. A(k+l)=Ak+Al

5. (A+B)k=Ak+Bk

Завдання.

Напишіть алгоритм додавання матриць. Перекладіть алгоритм мовою Паскаль і перевірте його в on-line.  

 

Транспонування матриці.

Означення 7.

Матриця Ат є транспонованою щодо матриці А, якщо стовпці Ат є рядками матриці А.

Приклад 4.

Нехай

Тоді

Властивості транспонування.

1. (AT)T=A

2. (Ak)T=kAT

3. (A+B)T=AT+BT

Завдання.

Напишіть алгоритм  транспонування матриці.Перекладіть алгоритм мовою Паскаль і перевірте його в on-line.  

 

 

Множення матриць.

Означення 8.

Добутком матриць Amn i Bnl є матриця Cml , кожний елемент якої визначається формулою

Отже, матрицю А можна помножити на матрицю В тільки якщо кількість стовпчиків матриці А дорівнює кількості рядків матриці В. Добуток містить стільки ж рядків, як А і стільки ж стовпчиків, як і В. Проілюструємо процес множення на прикладі.

Приклад 5.

m=2, n=4, l=3.

Знаходимо C=AB за означенням.

С11=-1•2+2•1+2•2+1•3=7

С12=-1•-1+2•1+2•0+1•1=4

С13=-1•1+2•2+2•2+1•1=8

С21=3•2+1•1+0•2+2•3=13

С22=3•-1+1•1+0•0+2•1=0

С23=3•1+1•2+0•2+2•1=7

Отже,

 

Властивості множення матриць.

1. (AB)k=(Ak)B=A(Bk)

2. (A+B)C=AC+BC

3. C(A+B)=CA+CB

4. (AB)C=A(BC)

5. (AB)T=BTAT

Множення матриць здійснюється за таким алгоритмом

Алг Множення_матриць (ціл m, n, дійс таб a[1..m,1..n], b[1..n,1..l],c[1..m,1..l])

Арг m, n, l, a, b

Рез c

Поч

Ціл i, j, k

Для i від 1 до m

  пц

  Для j від 1 до l

    пц

    c[i, j]:=0

    Для k від 1 до n

      пц

      c[i, j]:= c[i, j]+a[i,k]*b[k,j]

      кц

    кц

  кц

Кін

Завдання.

Виконайте алгоритм для прикладу 5 і перекладіть його мовою Паскаль. Перевірте його в on-line.

Контрольні запитання.

Яку з перерахованих матриць можна помножити саму на себе?
Будь-яку
Тільки одиничну
Будь-яку квадратну
Яку з перерахованих матриць можна помножити на транспоновану?
Будь-яку
Тільки одиничну
Будь-яку квадратну
Чи справедлива рівність АВ=ВА?
Так
Ні

Чи справедлива рівність ААТТА?

Так
Ні
Якщо одиничну матрицю помножити на деяку матрицю А, отримаємо
Матрицю А
Матрицю відмінну від А
Одиничну матрицю
Якщо А квадратна, то А, інакше відмінну від А

Якщо деяку матрицю А помножити на одиничну матрицю, отримаємо

Якщо А квадратна, то А, інакше відмінну від А
Матрицю відмінну від А
Одиничну матрицю
Матрицю А

В якому випадку результатом множення матриць є число (тобто матриця 1*1)?

Тільки коли перший множник містить кілька рядків і один стовпчик, а другий – один рядок і стільки стовпчиків, скільки рядків у першому множнику
Це неможливо
Тільки коли обидва множники 1*1

В системі: гості - (1); користувачі - Errtyugffb  gerasumchykoa