Численное решение некоторых задач линейной алгебры
Задачи и методы линейной алгебры. Свойства определителей и порядок их вычисления. Нахождение обратной матрицы методом Гаусса. Разработка вычислительного алгоритма в программе Pascal ABC для вычисления определителей и нахождения обратной матрицы.
Рубрика | Математика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 01.02.2013 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Курсовая работа
по дисциплине «Вычислительная математика»
на тему: «Численное решение некоторых задач линейной алгебры»
Выполнил: Пупышев В.Д.
Глазов 2012 г.
Содержание
Введение
1. Теоретическая часть
1.1 Вычисление точного значения определителей
1.2 Нахождение обратной матрицы методом Гаусса
2. Практическая часть
2.1 Вычисление определителей
2.2 Пример нахождения обратной матрицы
Заключение
Список литературы
Приложения
Введение
Линейная алгебра - часть алгебры, изучающая векторные (линейные) пространства и их подпространства, линейные отображения (операторы), линейные, билинейные, и квадратичные функции на векторных пространствах.
Численные методы линейной алгебры - раздел вычислительной математики, посвященный математическому описанию и исследованию процессов численного решения задач линейной алгебры.
Наиболее важными являются задачи линейной алгебры - вычисление определителя, обратной матрицы, собственных значений и др.
Целями работы являются:
· изучить методы нахождения определителя и обратной матрицы методом Гаусса;
· разработать вычислительный алгоритм в программе Pascal ABC для вычисления определителей и для нахождения обратной матрицы.
1. Теоретическая часть
1.1 Вычисление точного значения определителей
Вычисление определителей основывается на их известных свойствах, которые относятся к определителям всех порядков. Вот эти свойства:
1. Если переставить две строки (или два столбца) определителя, то определитель изменит знак.
2. Если соответствующие элементы двух столбцов (или двух строк) определителя равны или пропорциональны, то определитель равен нулю.
3. Значение определителя не изменится, если поменять местами строки и столбцы, сохранив их порядок.
4. Если все элементы какой-либо строки (или столбца) имеют общий множитель, то его можно вынести за знак определителя.
5. Значение определителя не изменится, если к элементам одной строки (или столбца) прибавить соответствующие элементы другой строки (или столбца), умноженные на одно и то же число. Для определителей третьего порядка это свойство может быть записано, например, так:
6. Определитель второго порядка вычисляется по формуле
7. Определитель третьего порядка вычисляется по формуле
Существует удобная схема для вычисления определителя третьего порядка (см. рис. 1 и рис. 2).
По схеме, приведенной на рис. 1, произведения соединеных элементов берутся со своим знаком, а по схеме рис. 2 - с обратным. Величина определителя равна алгебраической сумме полученных шести произведений.
В определителе порядка n алгебраическим дополнением элемента, стоящего на пересечении k-го столбца и l-й строки, называется определитель порядка (n - 1), получаемый из данного вычеркиванием в нем строки и столбца, на пересечении которых стоит этот элемент, причем к этому определителю присоединяется множитель (-1)k+l, где (k + l) - сумма номеров вычеркнутой строки и столбца. Алгебраическое дополнение элемента, рассматриваемое без множителя (-1)k+l, называется минором этого элемента.
8. Теорема Лапласа.
Определитель равен сумме произведений каждого элемента некоторой строки (или столбца) на его алгебраическое дополнение.
Условимся обозначать элементы определителя маленькими буквами, а их алгебраические дополнения - соответствующими большими буквами с теми же индексами. Так, как алгебраическое дополнение элемента a3 будем обозначать через A3, алгебраическое дополнение элемента d4 - через D4 и т. д. На основании свойства 8 определитель (3) может быть представлен, например, в таком виде:
D = a3A3 + b3B3 + c3C3 + d3D3 + e3E3
Это равенство представляет собой разложение определителя по элементам третьей строки. По свойству 8 вычисление определителя порядка n сводится к вычислению определителей порядка (n - 1).
9. Если все элементы какого-нибудь ряда определителя, кроме одного, равны нулю, то определитель равен этому не равному нулю элементу, умноженному на его алгебраическое дополнение.
С помощью указанных свойств можно вычислить определитель любого порядка.
1.2 Нахождение обратной матрицы методом Гаусса
линейный алгебра гаусс матрица определитель
Метод Гаусса является поистине универсальным методом в линейной алгебре, поскольку он применим и к решению систем линейных уравнений, и к решению определителей, и к отысканию обратной матрицы.
Теорема:
Пусть А квадратная невырожденная матрица. Если матрица (А | E) приведена с помощью элементарных преобразований строк к виду (Е | A-1), где Е - единичная матрица того же порядка, что и матрица А.
Из теоремы следует метод нахождения обратной матрицы методом Гаусса:
1) к матрице А приписать справа единичную матрицу Е той же размерности;
2) путем преобразований методом Гаусса над строками расширенной матрицы (А | E) матрица А приводится к единичной матрице;
3) в результате вычислительного процесса на месте приписанной справа матрицы Е получится обратная матрица A-1.
Схематично процесс нахождения обратной матрицы выглядит следующим образом: (А | E) (E | A-1).
2. Практическая часть
2.1 Вычисление определителей
Пример 1: Вычислить определитель:
1)
Решение:
С помощью формулы (правило треугольника):
Получаем:
= 1*2*2 + 0*5*1 + 3*1*4 - 4*2*5 - 0*3*2 - 1*1*1 = -25
С помощью программы (см. Приложение, п.1):
2.2 Пример нахождения обратной матрицы
2. Элементы первой строки умножим на (- 3) прибавим соответственно к элементам второй строки, получим . Затем элементы второй строки прибавим соответственно к элементам первой строки, получим . При выполнении следующего преобразования элементы второй строки умножим на (-1/2). В результате получим матрицу .
3. Итак, обратная матрица имеет вид A-1 = .
С помощью программы найдём обратную матрицу методом Гаусса (см. Приложение, п. 1):
Заключение
В процессе создания курсовой работы было сделано следующее:
1) Изучили методы нахождения определителя и обратной матрицы применяемых при численном решении некоторых задач линейной алгебры.
2) Разработали вычислительный алгоритм в программе Pascal ABC для вычисления определителей и для нахождения обратной матрицы.
3) Решены задачи линейной алгебры и сравнили результаты.
В результате проделанной работы можно сделать следующие выводы: легко вычисляются лишь определители невысоких порядков и некоторые специальные типы определителей. Непосредственное нахождение определителя требует большого объема вычислений. Можно подсчитать время вычисления определителей на ЭВМ с заданным быстродействием. Примем для определенности среднее быстродействие равным 100 000 операций в секунду. Тогда для вычисления определителя 10-го порядка потребуется около 6 мин, а при n = 20 - около 1,4*1011 ч, т.е. свыше 5*109 сут. Приведенные оценки указывают на необходимость разработки и использования экономичных численных методов, позволяющих эффективно проводить вычисления определителей.
Литература
1. Пантина И.В., Синчуков. А.В. - 2-е изд., перераб. и доп. - М.: Московский финансово-промышленный университет «Синерия», 2012. - 176 с. (Университетская серия).
2. Турчак Л.И. Основы численных методов: Учеб. пособие. - М.: Наука. Гл. ред. Физ.-мат. Лит., 1987. - 320 с.
3. Электронный ресурс. Определители и системы линейных алгебраических уравнений. [http://www.pm298.ru/reshenie/opredel.php] 10.12.2012
4. Электронный ресурс. Обратная матрица. Нахождение обратной матрицы методом алгебраических дополнений.
Приложение 1
Программый код для вычисления определителей.
program Opredelitel;
uses crt;
const
N1 = 10;
type
Matrice = array[1..N1, 1..N1] of real;
var
A: matrice;
I, J, N: integer;
D: real;
function Det(A: Matrice; N: integer): real;
var
B: matrice;
I: integer;
T, Mn, S: real;
function Minor(var C: matrice; A: Matrice; N, I, J: integer): real;
var
Im, Jm, Ia, Ja, Nm: integer;
begin
Nm := N - 1; Im := 1; Ia := 1;
while Im <= Nm do
if Ia <> I then
begin
Jm := 1; Ja := 1;
while Jm <= Nm do
if Ja <> J then
begin
C[Im, Jm] := A[Ia, Ja];
Ja := Ja + 1; Jm := Jm + 1;
end
else Ja := Ja + 1;
Ia := Ia + 1; Im := Im + 1;
end
else Ia := Ia + 1;
end; {*Minor*}
begin
if N = 1 then Det := A[N, N];
if N = 2 then Det := A[1, 1] * A[2, 2] - A[2, 1] * A[1, 2];
if N > 2 then
begin
S := 0;
for I := 1 to N do
begin
Mn := Minor(B, A, N, I, 1);
if (I mod 2) = 1 then begin
T := Det(B, N - 1);
S := S + T * A[I, 1];
end
else begin
T := Det(B, N - 1);
S := S - T * A[I, 1];
end;
end;
Det := S;
end;
end; {*Determ*}
begin
Write('Введите порядок матрицы N: '); readln(N);
for I := 1 to N do
begin
writeln('Введите элементы строки ', I: 2);
for J := 1 to N do readln(A[I, J]);
end;
D := Det(A, N);
Writeln('Определитель равен: ', D: 7: 4);
readln;
end.
Приложение 2
Программый код для нахождения обратной матрицы.
program Gayss;
uses crt;
const
n=2;
eps = 0.000000001; { all numbers less than eps are equal 0 }
type matr=array[1..n,1..n] of real;
var
a,b,a0:matr;
i,j,imx,np:integer;
s0,s1:real;
procedure PrintMatr(m,m1:matr;n,nz,nd:integer);
var
i,j:integer;
begin
for i:=1 to n do
begin
if (i=1) then write(np:2,':') else write(' ');
for j:=1 to n do write(m[i,j]:nz:nd);
for j:=1 to n do write(m1[i,j]:nz:nd);
writeln;
end;
inc(np);
end;
procedure MultString(var a,b:matr;i1:integer;r:real);
var
j:integer;
begin
for j:=1 to n do
begin
a[i1,j]:=a[i1,j]*r;
b[i1,j]:=b[i1,j]*r;
end;
end;
procedure AddStrings(var a,b:matr;i1,i2:integer;r:real);
{ процедура прибавляет к i1 строке матрицы а 2i-ю умноженную на r}
var
j:integer;
begin
for j:=1 to n do
begin
a[i1,j]:=a[i1,j]+r*a[i2,j];
b[i1,j]:=b[i1,j]+r*b[i2,j];
end;
end;
procedure MultMatr(a,b:matr;var c:matr);
var
i,j,k:byte;
s:real;
begin
for i:=1 to n do
for j:=1 to n do
begin
s:=0;
for k:=1 to n do s:=s+a[i,k]*b[k,j];
c[i,j]:=s;
end;
end;
function sign(r:real):shortint;
begin
if (r>=0) then sign:=1 else sign:=-1;
end;
{MAIN}
begin
randomize;
for i:=1 to n do
begin
for j:=1 to n do
begin
b[i,j]:=0;
a[i,j]:=1.0*random(8)-4;
end;
b[i,i]:=1;
end;
{ отладочные присвоения}
a[1,1]:= 1; a[1,2]:= 2; {a[1,3]:=4; a[1,4]:= 0;}
a[2,1]:= 3; a[2,2]:= 4; {a[2,3]:=4; a[2,4]:= 5;
a[3,1]:= 4; a[3,2]:= 5; a[3,3]:=6; a[3,4]:= 2;
a[4,1]:= 0; a[4,2]:=-2; a[4,3]:= 3; a[4,4]:=-4;
a[1,1]:= 5; a[1,2]:= 7; a[1,3]:= 7; a[1,4]:= 1;
a[2,1]:= 6; a[2,2]:= 6; a[2,3]:= 3; a[2,4]:= 4;
a[3,1]:= 5; a[3,2]:= 1; a[3,3]:= 1; a[3,4]:= 1;
a[4,1]:= 3; a[4,2]:= 3; a[4,3]:= 3; a[4,4]:= 3;
for i:=1 to n do
for j:=1 to n do a0[i,j]:=a[i,j];
writeln('Начальная матрица:'); np:=0;
PrintMatr(a,b,n,6,1);
for i:=1 to n do
begin
for j:=i+1 to n do AddStrings(a,b,i,j,sign(a[i,i])*sign(a[j,i]));
{ PrintMatr(a,b,n,6,1);}
if (abs(a[i,i])>eps) then
begin
MultString(a,b,i,1/a[i,i]);
for j:=i+1 to n do AddStrings(a,b,j,i,-a[j,i]);
{ PrintMatr(a,b,n,6,1);}
end else
begin
writeln('Обратной матрицы не существует.');
halt;
end
end;
{writeln('Обратный ход:');}
if (a[n,n]>eps) then
begin
for i:=n downto 1 do for j:=1 to i-1 do
begin
AddStrings(a,b,j,i,-a[j,i]);
end;
{ PrintMatr(a,b,n,8,4);}
end else writeln('Обратной матрицы не существует.');
MultMatr(a0,b,a);
writeln('Начальная матрица. Обратная к ней матрица.:');
PrintMatr(a0,b,n,7,3);
writeln('Проверка: должна быть единичная матрица.');
PrintMatr(a,a,n,7,3);
end.
Размещено на Allbest.ru
Подобные документы
Понятие матрицы и линейные действия над ними. Свойства операции сложения матриц. Определители второго и третьего порядков. Применение правила Саррюса. Основные методы решения определителей. Элементарные преобразования матрицы. Свойства обратной матрицы.
учебное пособие [223,0 K], добавлен 04.03.2010Вычисление и построение матрицы алгебраических дополнений. Решение системы линейных уравнений по формулам Крамера, с помощью обратной матрицы и методом Гаусса. Определение главной и проверка обратной матрицы. Аналитическая геометрия на плоскости.
контрольная работа [126,9 K], добавлен 20.04.2016Линейные операции над матрицами. Умножение и вычисление произведения матриц. Приведение матрицы к ступенчатому виду и вычисление ранга матрицы. Вычисление обратной матрицы и определителя матрицы, а также решение систем линейных уравнений методом Гаусса.
учебное пособие [658,4 K], добавлен 26.01.2009Методика расчета скалярного произведения заданных векторов. Расчет определителей и рангов матриц, нахождение обратных матриц. Разрешение уравнений по методу Крамера, обратной матрицы, а также встроенной функции lsolve. Анализ полученных результатов.
лабораторная работа [86,8 K], добавлен 13.10.2014Понятие обратной матрицы. Пошаговое определение обратной матрицы: проверка существования квадратной и обратной матрицы, расчет определителя и алгебраического дополнения, получение единичной матрицы. Пример расчета обратной матрицы согласно алгоритма.
презентация [54,8 K], добавлен 21.09.2013Элементы линейной алгебры. Виды матриц и операции над ними. Свойства определителей матрицы и их вычисление. Решение систем линейных уравнений в матричной форме, по формулам Крамера и методу Гаусса. Элементы дифференциального и интегрального исчислений.
учебное пособие [1,5 M], добавлен 06.11.2011Понятие и назначение определителей, их общая характеристика, методика вычисления и свойства. Алгебра матриц. Системы линейных уравнений и их решение. Векторная алгебра, ее закономерности и принципы. Свойства и приложения векторного произведения.
контрольная работа [996,2 K], добавлен 04.01.2012Разложение определителя 4-го порядка. Проверка с помощью функции МОПРЕД() в программе Microsoft Excel. Нахождение обратной матрицы. Решение системы линейных уравнений методом обратной матрицы и методом Гаусса. Составление общего уравнения плоскости.
контрольная работа [138,7 K], добавлен 05.07.2015Основные операции над матрицами и их свойства. Произведение матриц или перемножение матриц. Блочные матрицы. Понятие определителя. Панель инструментов Матрицы. Транспонирование. Умножение. Определитель квадратной матрицы. Модуль вектора.
реферат [109,2 K], добавлен 06.04.2003Задачи вычислительной линейной алгебры. Математическое моделирование разнообразных процессов. Решение систем линейных алгебраических уравнений большой размерности. Метод обратной матрицы и метод Гаусса. Критерии совместности и определенности системы.
курсовая работа [220,0 K], добавлен 21.10.2011