Знаходження оберненої матриці за формулою

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ЗАКАРПАТСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ

ФАКУЛЬТЕТ ІНФОРМАТИКИ

Кафедра програмного забезпечення автоматизованих систем та фізико-математичних дисциплін

Реєстраційний №______ Дата ________________

КУРСОВА РОБОТА

З вищої математики

Тема: Знаходження оберненої матриці за формулою

Рекомендована до захисту“____” ____________ 2007р.

Робота захищена“____” ____________ 2007р.

з оцінкою_______________________

Підписи членів комісії

Виконав студент

ІІ - го курсу

денної форми навчання

Дюркі Андрій Євгенович

Науковий керівник

проф. Поляк С.С.

Ужгород - 2007

ЗМІСТ

Вступ

1.Загальні поняття про матриці

2.Обернена матриця

3.Висновки

4.Список літератури

5.Програмна реалізація

Вступ

Теорія обернених матриць та їх знаходження за формулою на даний момент є актуальною, адже вона використовується в багатьох сферах економіко-математичного програмування сучасного світу.

Матриці використовуються з метою виявлення оптимального способу дій при розв’язанні задач керування системами, зокрема – економічними. Предметом дослідження процесу знаходження обернених матриць за допомогою формули є задачі пошуку оптимальних управлінських рішень, що математично зводяться до задач знаходження умовного рішення функції багатьох змінних.

Оскільки математичні методи не можуть застосовуватися безпосередньо до досліджуваного об'єкта (фірми або організації), необхідною є побудова адекватної цьому об’єкту математичної матриці. Під математичною матрицею об'єкта розуміється деяка штучна система, що спрощено відбиває структуру й основні закономірності розвитку реального об'єкта так, що її вивчення подає інформацію про стан і поведінку самого досліджуваного об'єкта. Простими словами за допомогою матричного методу аналізу існує можливість встановити реальне економічне становище досліджуваного об’єкта, а за допомогою оберненої матриці можна винайти можливість покращення його теперішнього стану.

Метою курсової роботи є вивчення матеріалу по оберненим матрицям на основі якого складається написання програми обчислення оберненої матриці до заданої.

Розкриваючи сутність тематики даного курсового дослідження виникає перелік певних завдань, виконання яких обов’язкове для його реалізації. До них відносяться:

    визначення поняття матриць та обернених матриць;

    висвітлення формули для знаходження обернених матриць;

    відображення прикладів застосування формули до матриць.

Структура курсової роботи складається з двох розділів. У першому розділі розглянуто загальні поняття матриць і можливі дії над ними. У другому розділі розкрито поняття оберненої матриці, знаходження оберненої матриці до даної за допомогою формули. Дану курсову роботу завершено написанням програми на мові Pascal для обчислення оберненої матриці для заданої.

При виконанні курсової роботи були використані навчальні посібники з теорії математичного програмування та періодичні видання економіко-математичного напрямку.

Загальні поняття про матриці

Поняття матриці, є одним із найважливіших понять не лише в алгебрі, а й в усій сучасній математиці. Поняття матриці вперше ввели англійські математики У. Гамільтон , Д. Келі і Дж.Сільвестра в середині XIX ст.Основи теорії матриць створені К.Веєрштрасом і Г.Фробеніусом в другій половині XIX ст. і поч. XX ст.

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

Прямокутна таблиця чисел a>ij >= 1, 2, .... m; j= 1, 2, ..., n, складена з m рядків та n стовпців і записана у вигляді

>>

називається матрицею.

Коротко матрицю позначають так:

А=( а>ij> ) або А>mxn>

де a>ij> — елементи матриці, причому індекс i в елементі a>ij> означає номер рядка, j— номер стовпця, на перетині яких стоїть даний елемент.

Рядок чисел а>і1 >а>і2>…а>in> називають і-им рядком, а стовпець чисел

а>1>> >>j>

a>2 >>j>

a>m>> >>j>> >— j-им стовпцем матриці А>m>>?>>n>.

Добуток числа рядків m на число стовпців n називають розміром матриці і позначають m?n. Якщо хочуть вказати розмір m?n матриці А, то пишуть А>m>>?>>n>. Матриці позначають прописними літерами латинського алфавіту А, В, С і т.д.

Матриця, в якої число рядків дорівнює числу стовпців, називається квадратною. Кількість рядків (стовпців) квадратної матриці називається її порядком. Матриця, у якої всього один рядок, називається матрицею-рядком, а матриця, у якої всього один стовпець,— матрицею-стовпцем. Дві матриці А>mn>=(a>ij>) та В>mn>= (b>ij>) називаються рівними, якщо вони однакових розмірів і мають рівні відповідні елементи: а>ij> = b>ij>. Нульовою називається матриця, у якої всі елементи дорівнюють нулю. Позначається така матриця буквою О.

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

Будь-якій квадратній матриці

A = > >

можна поставити у відповідність певне число, яке називається ви­значником (детермінантом) цієї матриці і позначається символом det А. За означенням

а>11>, а>12>, ... а>1n>

det A = = а>21>, а>22>, ... а>2n>

...................

а>m1>>m2>, ... а>mn>

або .

Алгебраїчним доповненням елемента називається число, рівне .

Доповнюючим мінором елемента матриці називається визначник матриці n-1-го порядку, отриманий з матриці викреслюванням i-го рядка і j-го стовпця.

Дії над матрицями

Сумою матриць А>m>>?>>n>=(a>ij>) та В>m>>?>>n>=(b>ij>) однакової розмірності називають таку матрицю С>m>>?>>n>=(с>ij>) тієї ж розмірності, що с>ij>= a>ij>+b>i>> >>j>> >для всіх і=1,…,m та j=1,…,n. Дія утворення суми матриць називається їх додаванням. Вона є комутативною (А, В [A+B=B+A] ) і асоціативною (A,B,C [(A+B)+C]= [А+(В+С)] ).

Нулем є матриця О=(0) (всі елементи цієї матриці є нулями), причому (А [А+О=О+А] ). А існує така матриця ,що А+=+А=О . (Якщо А=(a>ij>), то =(-a>ij>). Матрицю називають протилежною до матриці А і позначають –А ).

Добутком матриці А>m>>?>>n>> >=(a>ij>) на число k називають таку матрицю D>m>>?>>n>> >= (d>ij>) тієї ж розмірності, що й матриця А>m>>?>>n>> >, елементи d>ij>> >якої дорівнюють d>ij>=ka>ij> для всіх і=1,…,m та j=1,…,n. Дія утворення добутку матриці на число називається множенням матриці на це число. Для позначення добутку матриці на число вживають запис D>m>>?>>n>> >=kА>m>>?>>n>> >. Множення матриці на число має такі властивості :

    ( k,s, А (ks)A=k(sA ))

    ( A,B, k k(A+B)=kA+kB)

    (k,s, А (k+s)A=kA+sA)

На множину всіх m?nматриць відносно операцій додавання і множення їх на число можна дивитися як на m?n-вимірний векторний простір.

Нехай А>m>>?>>n>=(a>ij>), В>n>>?>>s>=(b>ij>) – дві матриці розмінностей відповідно m?n та n?s. Добутком матриці А>m>>?>>n>> >на матрицю В>n>>?>>s>> >називається така матриця С>m>>?>>s>=(c>ij>) , що

c>ij>=a>i>>1>b>1>>j>+a>i>>2>b>2>>j>+…+a>in>b>nj>=a>ir>b>rj> .

Бачимо, добуток матриці А на матрицю В визначено тоді і тільки тоді, коли кількість стовпців матриці А дорівнює кількості рядків матриці В.

В результаті множення матриці А на матрицю В одержуємо матрицю С з таким числом рядків, як матриця А, і з таким числом стовпців, як і матриця В.

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

    (А, В, C, для яких мають зміст добутки АВ та ВС, [( АВ)С=А(ВС)] ),

    (А, В, C, для яких мають зміст сума В+С і добуток АВ (а, отже, AC), [A(B+C)=AB+AC]); аналогічно, (A,B,C, для яких мають зміст сума A+B і добуток AC (а, отже, BC), [(A+B)C=AC+BC]),

    у випадку, коли розглядувані матриці є квадратними матрицями n-го порядку, матриця Е>n>>?>>n>> >= , задовольняє умову:

(А>n>>?>>n>> >[А>n>>?>>nЕ>n>>?>>n>= Е>n>>?>>n А>n>>?>>n>= А>n>>?>>n>])

Обернена матриця

Як відомо, для кожного числа а≠0 існує обернене число, тобто таке число а-1, що аа-1 = а-1а = 1.

Оскільки в множині квадратних матриць n-го порядку роль одини­ці відіграє одинична матриця Е, то природно, за аналогією, прийняти таке означення: матриця А називається оберненою для квадратної матриці А, якщо А?=А?=Е. Легко зрозуміти, що не для кожної квадратної матриці існує обернена матриця. Питання про існування для даної матриці А оберненої матриці виявляється складним. Зважаючи на некомутативність множення матриць ми говоритимемо зараз про праву обернену матрицю, тобто про таку матрицю А-1, що добуток матриці А справа на цю матрицю дає одиничну матрицю

AA-1 = E (1)

Якщо матриця А вироджена, то, якби матриця А-1 існувала, то добуток, що стоїть в лівій частині рівності (1), був би виродженою матрицею, тоді як насправді матриця E , яка стоїть в правій частині цієї рівності, є невиродженою, оскільки її визначник рівний одиниці. Таким чином, вироджена матриця не може мати правої оберненої матриці. Такі ж міркування показують, що вона не має і ліву обернену матрицю і тому для виродженої матриці обернена матриця взагалі не існує.

Отже, з'ясуємо, які умови має задовольняти матриця А, щоб для неї існувала обернена матриця. Нехай

— довільно вибрана матриця n-го порядку. Матриця

в якій елементами i-го рядка (i=1, 2, ..., п) є алгебраїчні доповнення елементів і-го стовпця матриці А, називається взаємною матрицею для матриці А.

Теорема 1. Визначник det A дорівнює сумі добутків всіх елементів будь-якого його рядка або стовпця на їх алгебраїчні доповнення.

Теорема 2. Сума добутків всіх елементів деякого рядка (стовпця) визначника det A на алгебраїчне доповнення відповідних елементів іншого рядка (стовпця) дорівнює нулю.

Беручи до уваги теореми 1, 2 та позначивши через detA визначник матриці A, обчислимо добутки і . Дістанемо

. (2)

Матриця А=(a>і>>k>) називається невиродженою (або неособливою), якщо її визначник відмінний від нуля. Вона називається виродженою (особливою), якщо її визначник дорівнює нулю. Із співвідношень (2) випливає, що якщо матриця А невироджена, то взаємна їй матри­ця також буде невиродженою, причому det дорівнює (n-1)-му степеневі det A.

Переходячи від рівностей (1) до рівності визначників, дістанемо

,

звідки, оскільки , .

Теорема 3. Для того щоб існувала матриця, обернена до матриці А, необхідно й достатньо, щоб матриця А була невиродженою.

Необхідність. Припустимо, що для матриці А існує обернена матриця ?. Тоді А?=Е. Звідси, за теоремою про множення визначників , тобто . Тому , і, отже, матриця А — невироджена.

Достатність. Нехай матриця А — невироджена. Тоді, як випли­ває з рівностей (2), матриця

є оберненою до матриці А.

Матрицю, обернену до матриці А, позначають символом А-1. Доведемо, що для будь-якої невиродженої матриці А існує тільки одна обернена матриця А-1. Справді, якщо матриця С така, що АС = СА = Е, то

САА-1 = (СA)А-1 = ЕА-1= А-1,

САА-1 = С(AА-1) = CЕ= C,

і отже, С=А-1. Таким чином, для кожної невиродженої матриці A=(a>ik>) існує, і притому тільки одна, обернена матриця

(3)

Співвідношення (3) називають формулою оберненої матриці. Якщо матриця А невироджена, то обернена до неї матриця А-1 також невироджена. Справді, з рівності АА-1 і теореми про множення визначників випливає, що ; тому матриця А-1 також невироджена. Оберненою до матриці А-1, очевидно, є матриця А.

Приклади

1. Для матриці A знайти обернену матрицю.

>>

Рішення. Знаходимо спочатку детермінант матриці А:

>>

Це означає, що обернена матриця існує і ми її можемо знайти по формулі > >, де А>i>> >>j> (i,j=1,2,3) - алгебраїчні доповнення до елементів а>i>> >>j>> >початкової матриці.

>> > >

>> > >

>> > >

>> > >

>>

 звідки > >.

2. Знайти матрицю, обернену до матриці.

A =

Знаходимо спочатку визначник матриці A:

= = 1(-1)4+1 = (-1) =

= (-1)1(-1)3+1= -1 0. Отже обернена матриця існує.

Знаходимо алгебраїчні доповнення:

A>11>=(-1)1+1= 2 A>21>=(-1)2+1= -1

A>31>=(-1)3+1= -1 A>41>=(-1)4+1= -1

A>12>=(-1)1+2= -1 A>22>=(-1)2+2= 1

A>32>=(-1)3+2= 0 A>42>=(-1)4+2= 0

A>13>=(-1)1+3= -1 A>23>=(-1)2+3= 0

A>33>=(-1)3+3= 1 A>43>=(-1)4+3= 0

A>14>=(-1)1+4= -1 A>24>=(-1)2+4= 0

A>34>=(-1)3+4= 0 A>44>=(-1)4+4= 1

Підставляючи у формулу (3) знайдені значення, одержуємо:

A-1 =

Перевірка. Одержаний результат можна легко перевірити.

Оскільки, AA-1 = E, де E –це одинична матриця, то:

AA-1 = =

=

=

Отже, обернену матрицю знайдено вірно.

Висновки

Отже, висвітливши основні поняття обернених матриць, можна прийти до висновку, що процес знаходження обернених матриць за допомогою формули є швидким і простим методом аналізу стану певного об’єкта.

Список використаної літератури

    Ващук Ф.Г., Поляк С.С. Практикум з вищої математики. - Ужгород, 2005. 6 – 24 с.

    Курош А.Г. Курс высшей алгебры. - Москва, 1968. 95–99 с.

Додаток

Дану задачу можна реалізувати на мові програмування Turbo Pascal

Лістінг програми

Program InversMatrix;

const max_size=10; {max size matrix }

type matr=array[1..max_size,1..max_size] of real;

label 1;

var

a,invers,tmp_matrix : matr;

size : Integer; {size matrix}

i,j :Integer;

dt : real;

procedure PrintMatr(m:matr;n:integer);

var i,j:integer;

begin

for i:=1 to n do

begin

for j:=1 to n do

write(m[i,j]:8:3);

writeln;

end;

end;

Function Pow (x:Integer; y:Integer):Integer;

var

i,z :Integer;

begin

z := 1;

for i:=1 to y do

z := z * x;

Pow := z;

end;

procedure GetMatr(a:matr; var b:matr; m,i,j:integer);

var ki,kj,di,dj:integer;

begin

di:=0;

for ki:=1 to m-1 do

begin

if (ki=i) then di:=1;

dj:=0;

for kj:=1 to m-1 do

begin

if (kj=j) then dj:=1;

b[ki,kj]:=a[ki+di,kj+dj];

end;

end;

end;

Function Determinant(a:matr;n:integer):real;

var i,j,k:longint;

b:matr;

d : real;

begin

d:=0; k:=1;

if (n<1) then

begin

writeln('Determinant: Cann''t run. N=',n); halt;

end;

if (n=1)

then d:=a[1,1]

else if (n=2)

then d:=a[1,1]*a[2,2]-a[2,1]*a[1,2]

else { n>2 }

for i:=1 to n do

begin

GetMatr(a,b,n,i,1);

{writeln('i=',i,' a[',i,',1]=',a[i,1]);

PrintMatr(b,n-1);}

d:=d+k*a[i,1]*Determinant(b,n-1);

k:=-k;

end;

Determinant:=d;

end;

begin

Write('Enter size matrix [1..10] :');

ReadLn(size);

for i:=1 to size do

for j:=1 to size do

begin

Write('a[',i,',',j,']=');

ReadLn(a[i,j]);end;

begin

if determinant(a,size)=0 then

begin write ('matryca vyrudzena,obernenoi ne isnue!');

goto 1; end;

end;

WriteLn('================================================');

WriteLn(' Source matrix ');

WriteLn;

PrintMatr(a,size);

dt:=Determinant(a,size);

WriteLn('================================================');

writeln('Determinant = ',dt:8:3);

{sozdaem matrix is dopolneniy}

for i:=1 to size do

for j:=1 to size do

begin

GetMatr(a,tmp_matrix,size,j,i);

invers[i,j]:=Pow(-1,i+j)*Determinant(tmp_matrix,size-1)/dt;

end;

WriteLn('================================================');

WriteLn(' Inverse matrix ');

WriteLn;

PrintMatr(invers,size);

1:readln;

end.

Контрольні приклади

Приклад 1.

Вхідні дані –

Розмірність матриці – 3

1 2 3 -2.00 4.00 -1.00

1 1 2 → обернена матриця→ 0.00 -1.00 0.00

1 0 2 1.00 -2.00 1.00

Приклад 2.

Вхідні дані –

Розмірність матриці – 4

обернена матриця