триць
Твором матриці A=(aij) розміру m? n і матриці B=(bij) розміру n? l називається матриця C=(cij)=A · B розміру m? l, елементи якої визначаються формулою:
Те, що матриця C є твором матриць A і B, записується у вигляді C=A · B.
Зауважимо, що добуток матриць A і B визначено тільки, якщо число стовпців матриці A дорівнює числу рядків матриці B. Множення матриць добре підходить для її розпаралелювання, оскільки елементи матриці C можна обчислювати незалежно один від одного.
. 3.2 Піднесення до степеня
Для будь квадратної матриці (n-ro порядку) визначено твір (матриці на себе). Тому можна говорити про цілу неотрицательной ступеня матриці, визначаючи послідовно:
Зауважимо, що ступеня і однієї і тієї ж матриці перестановочні.
Тому справедливі звичайні властивості ступенів:
з натуральними показниками.
. 3.3 Рішення систем
Завдання про порядок перемноження матриць - класична задача динамічного програмування, в якій дана послідовність матриць lt; # 18 src= doc_zip12.jpg / gt; і потрібно мінімізувати кількість скалярних операцій для обчислення їх твори. Матриці передбачаються сумісними по відношенню до матричних множенню (тобто кількість стовпців збігається з кількістю рядків матриці).
Твір матриць - асоціативна lt; # 18 src= doc_zip15.jpg / gt; розмірами відповідно 20? 200, 200? 10 і 10? 100. Існує 2 способи їх перемноження (розстановки дужок):
і.
У першому випадку нам буде потрібно 20 · 200 · 10 + 20 · 10 · 100=60000 скалярних множень, а в другому випадку 200 · 10 · 100 + 20 · 200 · 100=600000 умножений - як ми бачимо різниця досить велика. З цього зробимо висновок, і тому може бути вигідніше витратити якийсь час на предобработку, вирішивши, в якому порядку найкраще множити, ніж множити відразу в лоб.
Таким чином, дані n матриць:
,, ...,.
Потрібно визначити, в якому порядку перемножать їх, щоб кількість операцій множення було мінімальним.
.3.4 Рішення систем з n правими частинами
Розглянемо систему m лінійних алгебраїчних рівнянь з n невідомими,
Матрицею коефіцієнтів системи рівнянь назвемо матрицю
утворюємо стовпець правих частин системи
Рішенням системи рівнянь називають такий набір чисел x1, x2, ..., xn, який при підстановці в рівняння звертає всі ці рівняння в рівності.
Система рівнянь називається однорідною, якщо стовпець правих частин нульовий. Якщо стовпець B ненульовий, система називається неоднорідною. Так само система рівнянь може не мати рішень взагалі.
Так само для рішень систем рівнянь використовують метод Гаусса.
Метод Гаусса дозволяє в рамках єдиного підходу побудувати рішення довільної системи лінійних алгебраїчних рівнянь. Вихідним є побудова розширеної матриці, яка виходить так:
До матриці коефіцієнтів системи A додають праворуч стовпець правих частин B. При цьому мається єстві?? ное взаємно-однозначна відповідність. У кожному рядку розширеної матриці відповідає рівняння системи.
Метод Гаусса спирається на наступні прості міркування. Існують перетворення системи рівнянь, які не змінюють набору рішень системи. Перерахуємо ці перетворення із зазначенням того, як вони впливають на розширену матрицю:
o Перестановка рівнянь (перестановка рядків розширеної матриці);
o Множення рівняння на ненульове число (множення рядка розширеної матриці на ненульове число);
o Вирахування з одного рівняння іншого, помноженого на довільне число (віднімання з рядка розширеної матриці іншого рядка, помноженої на довільне число);
o Перестановка двох невідомих (з урахуванням необхідності зворотного заміни змінних і перестановка стовпців розширеної матриці).
Наведемо тепер процедуру вирішення системи лінійних рівнянь за допомогою методу Гаусса. Вона включає 2 кроки: прямий і зворотний.
. Прямий хід методу Гаусса. Випишемо розширену матрицю системи рівнянь,
і знайдемо серед чисел aik число, відмінне від 0. Перестановкою рядків і стовпців перемістимо це число в позицію (1,1),
Потім з другої, третьої і наступних рядків віднімаємо перший з відповідним множником, так, щоб під числом a (1) з'явилися нульові елементи,
Потім у частині матриці, що не включає перший рядок і останній стовпець, знову шукаємо ненульовий елемент a (2) і, переставляючи рядки і стовпці, поміщаємо його на позицію (2,2), <...