Professional Documents
Culture Documents
2. Теоретичні відомості
При розв’язанні задач математики часто доводиться мати справу з
таблицями чисел, які називаються матрицями. За допомогою матриць зручно
розв’язувати системи лінійних рівнянь, виконувати операції з векторами,
розв’язувати різноманітні задачі комп'ютерної графіки та інші інженерні задачі.
Матрицею називається прямокутна таблиця з чисел, що містить деяку кількість m
рядків і п стовпців. Числа т і п називаються порядками матриці. У випадку, якщо
т = п, матриця називається квадратної, а число m = n - її порядком.
Для запису матриць використовують подвійні квадратні або круглі дужки:
a1 1 a1 2 a1n a1 1 a1 2 a1n
a 2 1 a 2 2 a 2n a2 1 a2 2 a2n
або
am1 am2 am n a a a
m1 m2 m n
Для короткого позначення матриці використовують одну латинську букву
(наприклад, A), або символ ||a ij || , а інколи для пояснення: А=||aij ||=(aij ), де (i= 1,
2, ..., т, j=1, 2, ..., n).
Числа aij, що входять до складу даної матриці, називаються її елементами. В
записі aij перший індекс і означає номер рядка, а другий індекс j – номер стовпця.
У випадку квадратної матриці:
1
a1 1 a1 2 a1n
a2 1 a2 2 a2n
(1.1)
a a a
n1 n2 n n
вводять поняття головної і бічної діагоналей. Головною діагоналлю матриці (1.1)
називається діагональ а11 а22 … ann цієї матриці, яка проходить через лівий верхній
і правий нижні її кути. Бічною діагоналлю тієї ж матриці називається діагональ аn1
а(n-1)2 … a1n , яка проходить через лівий нижній і правий верхній кути.
2.1. Базові операції над матрицями та їх властивості
Дві матриці є рівними, якщо ці матриці мають однакові порядки та всі їх
відповідні елементи збігаються. Над матрицями можна виконувати такі операції:
Додавання матриць. Сумою двох матриць A=||a ij || , де (i=1, 2, ..., т, j=1, 2, ..., n)
і В=||b ij ||, де (i = 1, 2, ..., т, j=1, 2, ..., n) однакових порядків т і п називається
матриця C=|| c ij || (і =1,2, ..., т; j = 1, 2, ...., п) порядку т і п, елементи сij якої
визначаються за формулою:
ci j = a i j + bi j , де (i=1, 2, ..., т, j=1, 2, ..., n) (1.2)
Для позначення суми двох матриць використовується запис C=А+В. Операція
суми матриць називається їх додаванням. Отже, за визначенням:
2
Ці властивості дозволяють не піклуватися про порядок проходження матриць, що
складають, при додаванні двох або більшої кількості матриць.
Множення матриці на число. Добутком матриці A=||a ij || , де (i=1, 2, ..., m, j=1,
2, ..., n) на дійсне число λ , називається матриця C=|| c ij || (і =1,2, ..., m; j = 1,
2, ...., n), елементи якої визначаються за формулою:
ci j = λ ai j , де (i = 1, 2, ..., т, j=1, 2, ..., n) (1.3)
Для позначення добутку матриці на число використовується запис C=λ A або
C=А λ . Операція добутку матриці на число називається множенням матриці на
це число. Безпосередньо з формули (1.3) зрозуміло, що множення матриці на
число має наступні властивості:
1) сполучну властивість щодо числового множника: (λ µ )A=λ (µ A );
2) розподільну властивість щодо суми матриць: λ (A+B)=λ A+λ B;
3) розподільну властивість щодо суми чисел: (λ +µ )A=λ A+µ A
3
a1 1a1 2 b1 b1 2 (a1 b11+ 1a1 b22) 1 (a1 b11 + 2a1 b22) 2
⋅ =
a2 1a2 2 b2 b12 2 (a2 b11+ 1a2 b22) 1 (a2 b11 + 2a2 b22) 2
З формули (1.4) випливають наступні властивості добутку матриць А на В:
1) сполучна властивість: (АВ)С=А(BC);
2) розподільне щодо суми матриць властивість: (A+B)C=АC+BC або
A(В+C)=AВ + АС.
Питання про перестановочном (переместительном) властивість добутку матриці A
на матрицю В має сенс ставити лише для квадратних матриць A і В однакового
порядку. Приведемо важливі окремі випадки матриць, для яких справедливо і
переста-новочну властивість. Дві матриці для добутку яких справедливо
перестановочну властивість, прийнято називати комутуючими. Серед квадратних
матриць виділимо клас так званих діагональних матриць, у кожної з яких
елементи, розташовані поза головною діагоналлю, дорівнюють нулю. Кожна
діагональна матриця порядку п має вигляд:
d1 0 0
0 d2 0
D=
(1.5)
0 0 d
n
де d1 , d2 , …, dn – будь-які числа. Видно, що якщо всі ці числа рівні між собою,
тобто d1 = d2 = … = dn то для будь-якої квадратної матриці А порядку п
справедлива рівність А D = D А.
Серед всіх діагональних матриць (1.5) зі співпадаючими елементами d1 =d2=
… =dn=d особливо важливу роль відіграють дві матриці. Перша із цих матриць
отримується при d=1, називається одиничною матрицею n-го порядку і
позначається символом Е. Друга матриця отримується при d=0, називається
нульовою матрицею n-го порядку і позначається символом O. Таким чином,
4
1 0 0 0 0 0
010 0 0 0
E=
O=
0 0 1 0 0 0
В силу доведеного вище А Е = Е А і А О = O А.. Більше того, легко показати, що
А Е = Е А = А, А O = O А = 0.. (1.6)
Перша з формул (1.6) характеризує особливу роль одиничної матриці Е,
аналогічну тій ролі, що грає число 1 при множенні дійсних чисел. Що ж
стосується особливої ролі нульової матриці O, те її виявляє не тільки друга з
формул (1.7), але і елементарно перевіряюча рівність: А + 0 = 0 + А = А.
Слід відмітити, що поняття нульової матриці можна вводити і для неквадратних
матриць (нульовою називають будь-яку матрицю, всі елементи якої дорівнюють
нулю).
Блокові матриці.
Припустимо, що деяка матриця A=||a ij|| за допомогою горизонтальних і
вертикальних прямих розбита на окремі прямокутні клітинки, кожна з яких являє
собою матрицю менших розмірів і називається блоком вихідної матриці. У такому
випадку виникає можливість розгляду вихідної матриці А як деякої нової (так
званої б л о к о в о ї) матриці А = ||Aα β ||, елементами якої служать зазначені
блоки. Зазначені елементи ми позначаємо великою латинською буквою, щоб
підкреслити, що вони є матрицями, а не числами і (як звичайні числові елементи)
постачаємо двома індексами, перший з яких вказує номер блокового рядка, а
другий - номер блокового стовпця.
Наприклад, матрицю
a1 1 a1 2 a1 3 a1 4 a1 5 a1 6
a2 1 a2 2 a2 3 a2 4 a2 5 a2 6
A = a3 1 a3 2 a3 3 a3 4 a3 5 a3 6
a 4 1 a4 2 a4 3 a4 4 a4 5 a4 6
a a a a a a
5 1 5 2 5 3 5 4 5 5 5 6
можна розглядати як блокову матрицю
5
A1 A1 2
A=
A2 A21 2
елементами якої служать наступні блоки:
a1 a1 a12 a31 4 a1 a1 5 6
A1 = 1 A1 = 2
a a a a
2 12 2 32 4 a2 a21 2
a3 1a3 a23 3a3 4 a3 a53 6
A2 = 1 a4 1a4 a24 3a4 4 A2 = 2a4 a54 6
a a
a5 1a5 a25 3a5 4
5 5 6
Основні операції із блоковими матрицями відбуваються за такими самими
правилами, за якими вони відбуваються зі звичайними числовими матрицями,
тільки в ролі елементів виступають блоки.
Поняття визначника (детермінанта). Розглянемо довільну квадратну матрицю
будь-якого порядку п:
a1 1 a1 2 a1n
a2 1 a2 2 a2n
A=
(1.7)
a a a
n1 n2 n n
6
З кожною такою матрицею зв'яжемо чисельну характеристику, яка називається
визначником і відповідає цій матриці. Якщо порядок n матриці (1.7) дорівнює
одиниці, то ця матриця складається з одного елемента аi j визначником першого
порядку відповідній такій матриці, ми назвемо величину цього елемента.
Якщо далі порядок п матриці (1.7) дорівнює двом, тобто якщо ця матриця має
вигляд
a1 1a1 2
A= (1.8)
a2 1a2 2
то визначником другого порядку, що відповідає такій матриці, називається число,
рівне а11 а22 - а12 а21 і позначається одним із символів:
a1 1a1 2
=∆ d A=e t
a2 1a2 2
Отже, за визначенням:
a1 a1 1 2
∆ = d A= e = t1 aa 2 − 1 12aa 2 2 1 (1.9)
a2 a2 1 2
Формула (1.9) являє собою правило знаходження визначника другого порядку по
елементах відповідної йому матриці. Словесне формулювання цього правила таке:
визначник другого порядку, що відповідає матриці (1.8), дорівнює різниці
добутку елементів, що знаходяться на головній діагоналі цієї матриці, і добутку
елементів, що знаходяться на бічній її діагоналі. Визначники другого і більш
високих порядків знаходять широке застосування при розв’язанні систем лінійних
рівнянь.
2.2. Операції над матрицями та векторами в Mathcad
Розглянемо, як виконуються операції з матрицями в системі Mathcad.
Найпростіші операції матричної алгебри реалізовані в Mathcad у вигляді
7
операторів. Написання операторів за змістом максимально наближене до їх
математичної дії. Кожен оператор виражається відповідним символом.
Розглянемо матричні та векторні операції Mathсad. Вектори є частинним
випадком матриць розмірності nx1, тому для них справедливі всі операції, що і
для матриць, якщо обмеження особливо не обговорені (наприклад, деякі операції
застосовні тільки до квадратних матриць nxn). Деякі дії припустимі тільки для
векторів (наприклад, скалярний добуток), а інші, незважаючи на однаковий запис,
по-різному діють на вектори і матриці. При роботі з матрицями використовується
панель інструментів “Матрица”.
2 2 3
A+B=
3 2 2
0 2 3
A−B=
5 8 10
2 3 4
A+ x=
5 6 7
0 1 2
A−x=
3 4 5
9
Рис.4 Додавання матриці із скаляром
A⋅B=
T
C := B
1 −1
C = 0 −3
0 −4
1 −19
A⋅C=
4 −43
10
1
(3 4 ) ⋅ = ( 11 )
2
1 3 4
⋅ (3 4 ) =
2 6 8
1
2 → 14 = 3.742
3
Рис.10 Обчислення модуля вектора
12
Векторний добуток. Векторний добуток (cross product) двох векторів u і v з
кутом α між ними дорівнює вектору з модулем | u || v |∙ sin α , направленим
перпендикулярно площині векторів u і v. Позначають векторний добуток x, який
можна ввести натисненням кнопки Cross Product (Векторное произвение) в панелі
Matrix (Матрица) або клавішами <Ctrl>+<8>. Приклад наведено на Рис.13.
1 4 −3
2 × 5 = 6
3 6 −3
Рис.13 Векторний добуток векторів
2 3 2 0 1
Приклад 1: Обчислимо матрицю 2A-BA, де A = 1 0 і B = 1 − 2 2 .
− 1 3 5 0 7
% Введемо матриці A і B
A = [2 3; 1 0; -1 3];
B = [2 0 1; 1 -2 2; 5 0 7];
% Обчислимо 2A - BA
C = 2*A - B*A;
% Виводимо результат
disp(C);
13
− 1 1 0 2 0 − 1
Приклад 2: Перевіримо, що матриці A = 0 − 1 1 і B = 0 2 0 перестановочні, а
0 0 − 1 0 0 2
2 8 3
матриці A і C = 3 0 − 2 не перестановочні.
7 2 1
% Введемо матриці A і B
A = [-1 1 0; 0 -1 1; 0 0 -1];
B = [2 0 -1; 0 2 0; 0 0 2];
% Перевіримо AB == BA
same(A*B,B*A) % Виведе 2 - так, 0 - ні. Перевірка на ідентичність.
% Введемо матрицю С
C = [2 8 3; 3 0 -2; 7 2 1];
% Перевіримо AC == CA
same(A*C,C*A) % Виведе 2 - так, 0 - ні.
>>
ans = 2
ans = 0
14
1 2 3
Приклад 3: Помножимо матрицю A = 4 5 6 на одиничну, скалярну і матриці
7 8 9
0 1 0 1 0 0
C1 = 21 0 0 і C2 = 31 0 1
0 0 1 0 1 0
% Введемо матрицю A
A = [1 2 3; 4 5 6; 7 8 9];
% Введемо перестановочні матриці
C12 = [0 1 0; 1 0 0; 0 0 1];
C23 = [1 0 0; 0 0 1; 0 1 0];
% Перевіримо результат
C12 * A % Перестановка рядків
C23 * A % Перестановка рядків
A * C12 % Перестановка стовпців
A * C23 % Перестановка стовпців
% Як зробити засобами MATLAB
A([2 1 3], :) % Перестановка рядків
A([1 3 2], :) % Перестановка рядків
A(:, [2 1 3]) % Перестановка стовпців
A(:, [1 3 2]) % Перестановка стовпців
2 − 1
Приклад 4: Для матриці A = знайдемо A0, A1, A2.
3 1
15
% Введемо матрицю A
A = [2 -1; 3 1];
% Обчислимо A^0, A^1, A^2 і виводимо результат
A^0, A^1, A^2
>>
ans = 1 0
0 1
ans = 2 -1
3 1
ans = 1 -3
9 -2
% Введемо матрицю A
A = [1 -2 3 0; 2 3 0 1; -7 5 6 7; 3 10 12 13];
% Обчислимо визначник розкладанням по першому рядку
detA1 = 1 * acomp(A,1,1) - 2 * acomp(A,1,2) + 3 * acomp(A,1,3);
% Обчислимо визначник за допомогою вбудованої функції
detA2 = det(A);
>> detA1 = 477
detA2 = 477.
2.4. Операції над матрицями в Maple
Для того, щоб використовувати більшість операторів лінійної алгебри необхідно
підключити бібліотеку LinearAlgebra.
> restart;
> with(LinearAlgebra);
Для ознайомлення з основними функціями пакету задамо декілька матриць,
показавши при цьому різні способи їх задавання.
> A:=matrix(3, 3, [-3, 9, -8, 18, -28, 27, 20, -36, 34]);
− 3 9 − 8
A := 1 8− 2 82 7
2 0− 3 63 4
> B:=Matrix([[3, 0, 0], [8, -23, 24], [8, -26, 27]]);
16
3 0 0
B := 8 − 2 23 4
8 − 2 62 7
> Transpose(B);
3 8 8
3 8 8
0 -23 -26
27
0 24
B := 0 − 2 3− 2 6
0 2 42 7
Визначник і обернена матриця
> A := Matrix( 3, 3, [[1/2, -1/3, 2], [-5, 14/3, 9], [0, 11, -5/6]]);
1 − 1
2 3 2
14
A := − 5 9
3
−
0 1 1 5
6
Обчислимо визначник даної матриці
> Determinant(A);
17
− 2881
18
> MatrixInverse(A);
1 8 5 2− 3 9 1 2 2 2
2 8 8 12 8 8 12 8 8 1
7 5 1 5 2 6 1
2 8 8 15 7 6 2 8 8 1
9 9 0 9 9 − 1 2
2 8 8 12 8 8 12 8 8 1
Визначимо ще одну матрицю B, яка містить невідомі Θ і φ.
ϕ 0 0
B := 0 3 2
2
− 1 θ
3
Тепер визначимо матрицю C як добуток матриць A і B.
> C:=A . B;
18
1 1 2
ϕ
2 3 3 − + 2θ
28
C := − 5ϕ − 9 2 0 + 9θ
3
5 2 9 2 5
2 −2 θ
6 9 6
Обчислення рангу матриці:
8 − 2 62 4
A := B 4 9 0− 7 4
− 4 1 1− 9 6 8
> rank(AB);
> inverse(A);
9 − 1 9
− 5 2 4
1 8 − 2 9 6 3
2 4
2 2 − 1 8 3 9
2
19
3. Завдання
Обчислити суму, добуток, визначник матриць A і B, знайти їх транспоновані
та обернені матриці використовуючи математичний пакет Mathcad або Maple,
Matlab. Написати програму на мові C/C++ або Java, яка реалізує вищеописані
операції над заданими матрицями.
1 7 2 3 4 0
1. Дано матриці A = − 3 4 −2 і B = 2 3 1. Знайти матрицю C=2A-3B
1 1 2 −1 0 4
3 − 2 1 6 − 2 1 9 0
Дано матриці A = 8 3 4 1 і B = 2 6 4 1 . Знайти матрицю C=A-2B.
2.
− 5 7 0 4 − 3 4 5 2
2 −4 0 1 3 7
3. Дано матриці A = 6 −2 4 і B = − 2 0 5. Знайти матрицю X, яка
0 8 2 4 5 3
задовольняє матричному рівнянню A+2X-4B=0.
7 2 1 5 5 4 3 0
4. Дано матриці A = 3 − 2 4 − 3 і B = 2 3 − 2 1 . Знайти матрицю X, яка
2 1 1 1 1 0 2 4
задовольняє матричне рівняння 5A+3X-B=0.
− 0,1 10,3 51 − 0,7 4 0,7 1,9 − 8,5 4,8
C=10A-5B.
0,7 1,9 − 8,5 4,8 − 0,1 10,3 51 − 0,7 4
матрицю C=5A-7B.
21
0,8 41,3 2 0,4 8 − 1,1 3 0,5 2 0,8 3 − 1,2 0,3 2
1,1 6 − 0,4 6 0,6 4 − 0,1 3 і 0,6 30,4 2 0,5 71,1 5 . Знайти
A= B=
0,4 4 0,8 3 − 1,1 2 0,4 4 0,4 4 0,5 2 0,4 4 0,1 8
9. Дано матриці
0,1 6 0,3 2 0,0 8 − 0,5 7 0,6 2 − 0,1 2 0,0 80,4 2
матрицю C=2A+4B.
4. Зміст звіту
1. Титульна сторінка та тема роботи.
2. Мета роботи.
3. № варіанту та завдання.
4. Результати обчислень проведних в одному з математичних пакетів.
5. Текст програми і результати її виконання.
6. Висновки.
5. Контрольні запитання
1. Дайти визначення, що таке чисельні методи?
2. Назвіть математичні пакети, які реалізують чисельні методи?
3. Що таке матриця і вектор?
4. Правило додавання і віднімання матриць?
5. Правило множення матриць, множення матриці на скаляр?
6. Яка матриця називається блоковою?
7. Що таке обернена і транспонована матриці?
8. Як обчислити визначник (детермінант) матриці?
22