Курсовая работа: Використання елементарних перетворень для знаходження оберненої матриці

Курсовая работа: Використання елементарних перетворень для знаходження оберненої матриці




🛑 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































Міністерство освіти і науки України
“Використання елементарних перетворень
для знахожження оберненої матриці ”
Квадратна матриця називається виродженою (для особливої), якщо її визначник дорівнює нулю, і невиродженою (чи неособливої) - у протилежному випадку. Відповідно лінійне перетворення невідомих називається виродженим чи невиродженим у залежності від того, чи буде дорівнює чи нулю відмінний від нуля визначник з коефіцієнтів цього приобразования. З теореми випливає наступне твердження:
Добуток матриць, хоча б одна з яких вироджена, буде вродженою матрицею.
Добуток будь-яких невироджених матриць саме буде невирожденою матрицею. Звідси випливає, через зв'язок, що існує між множенням матриць і послідовним виконанням лінійних перетворень, таке твердження: результат послідовного виконання декількох лінійних перетворень тоді і тільки тоді буде невиродженим перетворенням, якщо всі задані перетворення невироджені.
Квадратна матриця називається виродженою (для особливої), якщо її визначник дорівнює нулю, і невиродженою (чи неособливої) - у протилежному випадку. Відповідно лінійне перетворення невідомих називається виродженим чи невиродженим у залежності від того, чи буде дорівнює чи нулю відмінний від нуля визначник з коефіцієнтів цього приобразования. З теореми випливає наступне твердження:
Добуток матриць, хоча б одна з яких вироджена, буде вродженою матрицею.
Добуток будь-яких невироджених матриць саме буде невирожденою матрицею. Звідси випливає, через зв'язок, що існує між множенням матриць і послідовним виконанням лінійних перетворень, таке твердження: результат послідовного виконання декількох лінійних перетворень тоді і тільки тоді буде невиродженим перетворенням, якщо всі задані перетворення невироджені.
Роль одиниці у множенні матриць грає одинична матриця
причому вона перестановочна з будь-якою матрицею А даним порядком
Доводяться ці чи рівності безпосереднім приминением правилаумножения матриць, чи ж на підставі зауваження, що еденичная матриця відповідає тотожному лінійний приобразованию невідомих
Виконання якого до чи після будь-якого іншого лінійного переутворення, очевидно не змінює цього останнього.
Помітимо, що матриця Е є єдиною матрицею, що задовольняє умові (1) при будь-якій матриці А. Дійсно, якби існувала матриця Е' з цією же властивістю, то ми мали б
Питання про існування для даної матирцы А зворотної матриці виявляється болеее складним. Через некомутативности множення матриць ми будемо говорити зараз про праву зворотну матрицю, тоесть про таку зворотну матрицю А-1
Що добуток матриці А праворуч на цю матрицю дає еденичную матрицю,
Якщо матриця А вырожденная, то, якби матриця А-1 існувала, добуток, що коштує в лівій частині рівності (2), було б, як ми знаємо, вырожденной матрицею, у той час як насправді матриця Е, що коштує в правій частині цієї рівності, є невырожденной, тому що його визначник дорівнює еденице. Таким чином, вырожденная матриця не може мати правої зворотної матриці. Такого ж розуміння показують, сто вона не має і лівої зворотний і тому для вырожденной матриці обратеая матриця воопше не існує.
Переходячи до випадку невырожденной матриці, уведемо спочатку наступне допоміжне поняття. Нехай дана матриця n-го порядку
А=... ... ... ... ... ... ... ... .
Складання з алгебраїчних доповнень до елементів матриці А, причому алгебраїчне доповнення до елементу aіj коштує на перетинанні j-й рядка й і-го стовпця, називається приєднаної (чи взаємної) до матриці А.
Знайдемо добуток АА* і А*А. Використовуючи відому формулу розкладання визначника по чи рядку стовпцю, а також теорему про суму добутків елементів будь-якого рядка (стовпця) визначника на алгебраїчні доповнення до відповідних елементів іншого рядка (стовпця), і позначаючи через d визначник матриці А,
Звідси випливає, що якщо матриця А невырожденная, те її присоедененная матриця А* також буде невырожденной, причому визначник d* матриці А* дорівнює (n-1) - й ступеня визначника d матриці А.
Справді, переходячи від рівностей (3) до рівності між визначниками, ми одержимо
Тепер можна довести існування зворотної матриці для всякої не виродженої матриці А и знайти її вид. Помітимо спочатку, що якщо ми розглянемо добуток двох матриць АВ і всі елементи одногоиз множників, наприклад У, розділимо на те саме число d, те всі елементи добутку АВ також розділяться на це ж число: для доказу потрібно лише згадати визначення множення матриць. Таки мобразом, якщо
те з рівностей (3) випливає, що зворотною матрицею для А буде служити матриця, що виходить із присоедененной матриці А* розподілом усіх її елементів на d:
Ще раз підкреслимо, що в і-й рядку матриці А-1 коштують алгебраическиедополнения до елементів і-го стовпця визначника |А|, ділені на d=|A|.
Легко довести що матриця А-1 є єдиною матрицею, що задовольняє умові (4) для даної невырожденной матриці А. Дійсно, якщо матриця З така, що
З (4) і теореми про множення визначників випливає, що визначник матриці А-1 дорівнює, так що ця матриця так само
буде невиродженою. Зворотної для неї служить матриця А.
Якщо тепер дані квадратні матриці n-го порядку А и В, з яких А-невырожденная, а В - довільна, то ми можемо виконати правий і лівий розподіл У на А, тобто, вирішити матричні рівняння
Для цього, через асоціативності множення матриць, досить покласти
причому ці рішення рівнянь (5) буду, через некоммутативности множення матриць, у загальному випадку різними.
Програма Matrtest. pas являється демо программою, котра показує роботу процедур з модуля Matr. pas.
Модуль програми Matr. pas – в ній розміщені процедури і функції, котрі роблять перетворення матриць.
У файлі – Time. dat записані коефіціенти матриці, розмірність матриці. Він мусить містити в собі початкову матрицю, і її розмірність, тому, що програма без цих даних працювати не буде.
Нижче приведений “скрин” програми, тобто вигляд програми в роботі.
{============================Matrtest. pas=========================}
Writeln(' Коэффициеты уравнения ');
A. ReadOfText('time',' Коэффициеты уравнения ');
Writeln('Обращаем матрицу коэффициентов');
{============================ Matr. pas ==========================}
{$A+,B-,D-,E-,F+,G+, I-,L-,N+,O-,P-,Q-,R-,S-,T+,V+,X+}
Ar=Array [1. . (Word(Pred(0)) +1) div SizeOf(TOE)] of TOE;
Ar31=Array [1. .3
1,1. .3
1] of TOE;
Ar63=Array [1. .6
3,1. .6
3] of TOE;
Procedure DataInit(L,B: Byte); Virtual;
Procedure ReadOfText(Name: String; Search: String);
Procedure WriteToText(Name: String; F1,F2: Byte);
DetForRev: Boolean; {ўбҐ Ї а ¬Ґвал - ў­гв७­ЁҐ}
Procedure Revers(Var A: Matrix); {®Ўа й Ґв бҐЎп ¬Ґ¤«Ґ­­л¬ бЇ®б®Ў®¬}
Procedure RevWithGauss(Var A: Matrix); {®Ўа й Ґв ᥡ ­ ў®а®зҐ­­л¬ бЇ®б®Ў®¬}
Procedure InnerRevers(Var A: Matrix); Virtual;
Function DetWithGauss: TOE; Virtual; {®Ўа й Ґв бҐЎп ­ ў®а®зҐ­­л¬ (Ўлбвал¬) бЇ®б®Ў®¬}
Function CuanZeeroInLine(L1: Integer): Integer;
Procedure SwapLines(L1,L2: Integer); Virtual;
Procedure SwapBars(B1,B2: Integer);
Function CuanZeeroInBar(B1: Integer): Integer;
Procedure RemSettings(Var FM: Mem); Virtual;
Procedure RestoreSettings(Var FM: Mem); Virtual;
Procedure MSqr(Var A: Matrix); {ў®§ў®¤Ёв ўбҐ н«Ґ¬Ґ­вл ¬ ваЁжл ў Єў ¤а в}
Function DetWithGauss: TOE; Virtual;
Procedure SwapLines(L1,L2: Integer); Virtual;
Function DetWithGauss: TOE; Virtual;
Procedure SwapLines(L1,L2: Integer); Virtual;
{**************************************************************************}
IF Not Exist Then Begin NotExist; ZFE; Exit; End;
IF (Errors<> [0]) Then Begin ZFE; Exit; End;
Procedure Tabl. DataInit(L,B: Byte);
IF 1 .0
*SizeOf(TOE) *L*B>(Word(Pred(0)) +1) *1 .0
Then Begin TooManySize; Exit; End;
SizeInMemory: =SizeOf(TOE) *CBars*CLines;
If MaxAvail < SizeInMemory Then Begin TooManySize; Exit; End;
Procedure Tabl. SetE(I,J: Byte; E: TOE);
IF Not Exist Then Begin NotExist; Exit; End;
IF (I>CLines) or (J>CBars) or (I<1) or (J<1) Then Begin BadPosition; Exit; End;
Function Tabl. GetE(I,J: Byte): TOE;
IF Not Exist Then Begin NotExist; Exit; End;
IF (I>CLines) or (J>CBars) or (I<1) or (J<1)
IF Not Exist Then Begin NotExist; Exit; End;
IF SizeInMemory<>0 Then FreeMem(M,SizeInMemory);
Procedure Tabl. ReadOfText(Name: String; Search: String);
IF IOResult<>0 Then Begin ReadError; Close(F); Exit; End;
Until (EOF(F)) or (Pos(Search,Prom) <>0);
IF IOResult=2 Then Begin FileNotFound; ReadError; Exit; End;
IF IOResult<>0 Then Begin FileError; ReadError; Exit; End;
IF IOResult<>0 Then Begin AllClear; ReadError; Close(F); Exit; End;
IF IOResult<>0 Then Begin AllClear; ReadError; Close(F); Exit; End;
IF (EOF(F)) and (I<>CLines) And (I<>CBars) Then Begin Del; OutOfData; ReadError; Close(F); Exit; End;
IF IOResult<>0 Then Begin Del; ReadError; Close(F); Exit; End;
Procedure Tabl. WriteToText(Name: String; F1,F2: Byte);
IF Not Exist Then Begin NotExist; WriteError; Exit; End;
IF IOResult<>0 Then Begin FileError; WriteError; Exit; End;
IF IOResult<>0 Then Begin Close(F); WriteError; Exit; End;
IF Not A. Exist Then Begin A. NotExist; BadOperands; MSqrError; Exit; End;
IF A. Errors<> [0] Then Begin MsqrError; Exit; End;
Self. DataInit(A. CLines,A. CBars);
IF Not A. Exist Then Begin A. NotExist; BadOperands; MDgError; Exit; End;
IF A. Errors<> [0] Then Begin MDgError; Exit; End;
IF A. CLines<>A. CBars Then Begin MNotSquare; MDgError; Exit; End;
Errors: =Errors+ [CCuanZeeroError] ;
Errors: =Errors+ [CMulToNumError] ;
IF Not A. Exist Then Begin A. NotExist; BadOperands; ReversError; Exit; End;
IF (A. Errors<> [0]) Then Begin Exit; ReversError; End;
IF (A. CBars<>A. Clines) Then Begin BadOperands; ReversError; Exit; End;
IF A1. CLines=31 Then Begin Matrix31(A1). VMT; A1. Exist: =True; End;
IF A1. CLines=63 Then Begin Matrix63(A1). VMT; A1. Exist: =True; End;
IF Gauss Then D: =A1. DetWithGauss;
IF Gauss Then Ver: =A1. DetWithGauss;
IF (A1. Errors<> [0]) or (A. Errors<> [0]) Then Begin ReversError; Exit; End;
Procedure Matrix. SwapBars(B1,B2: Integer);
IF Not Exist Then BEgin NotExist; SwapError; Exit; End;
IF (Errors<> [0]) Then Begin SwapError; Exit; End;
Function Matrix. CuanZeeroInBar(B1: Integer): Integer;
IF Not Exist Then Begin NotExist; CuanZeeroError; Exit; End;
IF (Errors<> [0]) Then Begin CuanZeeroError; Exit; End;
For i: =1 to CLines do IF GetE(i,B1) =0 Then Inc(Sum) else
While (GetE(Sum,B1) =0) and (Sum<=CLines) do inc(Sum);
While (GetE(Sum,B1) =0) and (Sum>0) do Dec(Sum);
IF Not Exist Then Begin NotExist; Exit; End;
Function Matrix. CuanZeeroinLine(L1: Integer): Integer;
IF Not Exist Then Begin NotExist; CuanZeeroError; Exit; End;
IF (Errors<> [0]) Then Begin CuanZeeroError; Exit; End;
For i: =1 to CBars do IF GetE(L1, i) =0 Then Inc(Sum) else
While (GetE(L1,Sum) =0) and (Sum<=CBars) do inc(Sum);
While (GetE(L1,Sum) =0) and (Sum>0) do Dec(Sum);
Procedure Matrix. SwapLines(L1,L2: Integer);
IF Not Exist Then Begin NotExist; SwapError; Exit; End;
IF (Errors<> [0]) Then Begin SwapError; Exit; End;
IF Not Exist Then Begin NotExist; Exit; End;
IF Not Exist Then Begin NotExist; SortError; Exit; End;
IF (Errors<> [0]) Then Begin SortError; Exit; End;
IF SortLines Then Max: =CuanZeeroInLine(i)
IF SortLines Then CZ: =CuanZeeroInLine(j)
IF SortLInes Then SwapLines(i,NMax)
Function Matrix. DetWithGauss: TOE;
Procedure SortLinesOfTheBar(B1: Integer);
Procedure AddLines(l1,l2: Integer; K: TOE);
S. SetE(l2, i,(S. GetE(l2, i) - S. GetE(l1, i) *K));
For i: =1 to CLines do IF not (i in Lin) Then Inc(Si);
For j: =1 to CBars do IF not (j in Bar) Then Inc(sj);
IF Not Exist Then Begin NotExist; DGaussError; Exit; End;
IF (Errors<> [0]) Then Begin DGaussError; Exit; End;
IF CBars<>CLines Then Begin MNotSquare; DGaussError; Exit; End;
IF S. CBars<>S. CLines Then Begin MNotSquare; DGaussError; Exit; End;
IF S. GetE(i, i) =0 Then Begin DetWithGauss: =0; Exit; End;
IF (C div 2) *2=C Then Sign: =1 .0
Else Sign: =-1 .0
;
Procedure Matrix. SpecialSortLines;
IF Not Exist Then Begin NotExist; Exit; End;
IF Not Exist Then Begin NotExist; Exit; End;
{********************************Quick metods *****************************}
Procedure SortLinesOfTheBar(B1: Integer);
IF Abs(Max) [0]) Then Begin DGaussError; Exit; End;
IF CBars<>CLines Then Begin MNotSquare; DGaussError; Exit; End;
IF S. CBars<>S. CLines Then Begin MNotSquare; DGaussError; Exit; End;
IF Ar31(S. M^) [i, i] =0 Then Begin DetWithGauss: =0; Exit; End;
K: =Ar31(S. M^) [j, i] /Ar31(S. M^) [i, i] ;
Procedure Matrix31. SwapLines(L1,L2: Integer);
IF Not Exist Then BEgin NotExist; SwapError; Exit; End;
IF (Errors<> [0]) Then Begin SwapError; Exit; End;
Ar31(M^) [L1, i]: =Ar31(M^) [L2, i] ;
{-------------------------------------------------------------------------}
Procedure SortLinesOfTheBar(B1: Integer);
IF Abs(Max) [0]) Then Begin DGaussError; Exit; End;
IF CBars<>CLines Then Begin MNotSquare; DGaussError; Exit; End;
IF S. CBars<>S. CLines Then Begin MNotSquare; DGaussError; Exit; End;
IF Ar63(S. M^) [i, i] =0 Then Begin DetWithGauss: =0; Exit; End;
K: =Ar63(S. M^) [j, i] /Ar63(S. M^) [i, i] ;
Procedure Matrix63. SwapLines(L1,L2: Integer);
Ar63(M^) [L1, i]: =Ar63(M^) [L2, i] ;
Квадратна матриця називається виродженою (для особливої), якщо її визначник дорівнює нулю, і невиродженою (чи неособливої) - у протилежному випадку. Відповідно лінійне перетворення невідомих називається виродженим чи невиродженим у залежності від того, чи буде дорівнює чи нулю відмінний від нуля визначник з коефіцієнтів цього приобразования. З теореми випливає наступне твердження:
Добуток матриць, хоча б одна з яких вироджена, буде вродженою матрицею.
Добуток будь-яких невироджених матриць саме буде невирожденою матрицею. Звідси випливає, через зв'язок, що існує між множенням матриць і послідовним виконанням лінійних перетворень, таке твердження: результат послідовного виконання декількох лінійних перетворень тоді і тільки тоді буде невиродженим перетворенням, якщо всі задані перетворення невироджені.
1. А.Г. Курош «курс высшей алгебры», «наука», Москва 1975
2.С.Т. Завало, В.М. Костарчук, Б.И. Хацет «алгебра и теория чисел», Том 1,«высшая школа», Киев 1974
3. С.Т. Завало, В.М. Костарчук, Б.И. Хацет «алгебра и теория чисел», Том 2, «высшая школа», Киев 1976

Название: Використання елементарних перетворень для знаходження оберненої матриці
Раздел: Рефераты по математике
Тип: курсовая работа
Добавлен 21:04:10 10 марта 2009 Похожие работы
Просмотров: 79
Комментариев: 14
Оценило: 3 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Курсовая работа: Використання елементарних перетворень для знаходження оберненої матриці
Курсовая работа: Правовой статус Всемирной Торговой Организации. Скачать бесплатно и без регистрации
Реферат На Тему Способы Ведения Хозяйства
Учебное пособие: Концепции современного естествознания Бочкарев
Чем Опасно Бессмысленное Существование Примеры Сочинений
Практика Дневник Пример Медсестра
Курсовая работа по теме Финансирование и его виды
Приготовление Блюд Курсовая Работа
Контрольная Работа Сократить Дробь 35х5в3 21х2в4
Курсовая работа по теме Разработка программы, вычисляющей определенный интеграл методом трапеций для подынтегральной функции
Судебная Экспертиза В Гражданском Процессе Курсовая
Правила Написания Сочинения По Истории Егэ 2022
Способы Передачи Инфекции В Медицинском Учреждении Реферат
Дипломная Работа На Тему Расследование Контрабанды Наркотических Средств
Контрольная Работа 7 Класс По Информатике Ответы
Курсовая работа: Характеристика основных достижений в развитии американской социологии на рубеже 20-21 века
Реферат: Организация и планирование защиты больных и медперсонала при различных очагах поражения чрезвычайных ситуаций. Скачать бесплатно и без регистрации
Курсовая работа по теме Таможенное обеспечение транспортно-логистической деятельности и пути ее совершенствования
Реферат по теме Винсент Ван Гог: жизнь и творчество
Эссе Номер Телефона
Структура Реферата Для Студентов
Статья: Анализ состояния атмосферного воздуха города Донецка
Доклад: Монастыри святой горы Афон
Реферат: НДС по обычным видам деятельности индивидуальных предпринимателей

Report Page