Отримання знань
дистанційна підтримка освіти школярів
Матриці
Основні означення
Означення 1.
Нехай m, n – натуральні числа. Розглядатимемо всі впорядковані пари натуральних чисел (i, j) таких що 1≤i≤m, 1≤j≤n. Кожній парі поставимо у відповідність деяке дійсне число, яке позначимо через aij. Сукупність усіх aij називається матрицею і позначається як Amn. Числа aij називатимемо елементами матриці, пару чисел m і n - розмірами.
Приклад 1.
m=3, n=2
a11=8, a12= -1, a21=2, a22=4, a31=6, a32=5
Будь-яка матриця розмірами m на n містить рівно m•n елементів. Тому зручно записувати матрицю як прямокутну таблицю, в якій m рядків і n стовпчиків. Тоді кожен з елементів aij знаходиться у своїй комірці, в якої i – номер рядка, а j – номер стовпчика.
Матриця з прикладу 1 записується так:
Нагадаємо, що шкільною алгоритмічною мовою прямокутна таблиця Amn описується як
Дійс Таб А[1..m, 1..n]
Контрольне запитання.
Які варіанти опису цієї таблиці мовою Паскаль є правильними?
Завдання.
Напишіть процедури введення матриці з файлу та виведення у файл.
Означення 2.
Матриця називається квадратною, якщо в ній кількість рядків дорівнює кількості стовпчиків. Кількість рядків, що дорівнює кількості стовпчиків, називається порядком квадратної матриці.
Приклад 2.
Квадратна матриця порядку 3
7 | 8 | 1 |
4 | 6 | 0 |
4 | 3 | 1 |
Означення 3.
Елемент квадратної матриці належить головній діагоналі, якщо номер рядка цього елемента дорівнює номеру стовпчика.
Означення 4.
Квадратна матриця називається одиничною, якщо її елементи, що знаходяться на головній діагоналі – одиниці, а всі інші елементи – нулі.
Завдання.
Напишіть алгоритм, який формує одиничну матрицю заданого порядку n. Перевірте задачу в on-line
Операції над матрицями
Множення матриці на число.
Означення 5.
Для множення матриці на число необхідно помножити кожний її елемент на це число.
Контрольне запитання.
Якщо матрицю А23 помножити на 2, у скільки разів збільшиться добуток всіх елементів?Завдання.
Помножте матрицю з прикладу 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=A•B за означенням.
С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)?