1. Знакомство с задачами исследования и численными методами решения систем линейных алгебраических уравнений (СЛАУ).
2. Разработка численной ММ, реализующей один из методов.
3. Решение задач исследования однородных и неоднородных СЛАУ при помощи средств MATLAB.
Решение систем линейных уравнений – одна из наиболее часто встречающихся задач в научных и инженерных расчетах. Многие приложения приводят к этой задаче непосредственно, кроме того системы линейных уравнений могут возникать как один из этапов в решении более сложных проблем. При этом обычно число уравнений равно числу неизвестных. Такую систему можно записать в матричном виде A x=b, где А – заданная квадратная матрица порядка n, b – заданный вектор-столбец с n компонентами и x – неизвестный вектор-столбец с n компонентами. В свернутом виде система может быть записана как , i=1,2,…,n. Тогда в развернутом виде
a11 x1+ a12 x2 +…+ a1n xn =b1,
a21 x1+ a22 x2 +…+ a2n xn =b2,
……………………………………
an1 x1+ an2 x2 +…+ ann xn =bn .
Решением системы является вектор X*={x1*, x2*,…, xn*} при подстановке которого в каждое уравнение системы получаем истинные равенства. Для решения СЛАУ применяют прямые (точные) и итерационные (приближенные) методы. Метод решения задачи относится к классу точных, если предполагается отсутствие округлений и с его помощью можно найти решение в результате конечного числа арифметических и логических операций.
Среди прямых методов (используют конечное число преобразований системы) можно выделить методы Крамера, Гаусса, Гаусса-Жордана и др. Обычно их применяют для систем небольшой размерности (до 103).
В частности, метод Гаусса (гауссовых исключений) состоит в приведении исходной системы путем последовательных исключений неизвестных (при помощи элементарных операций над строками: перестановка строк; умножение строки на число отличное от нуля; сложение строк) к эквивалентной системе с треугольной (ступенчатой) матрицей (прямой ход метода Гаусса)
x1+ с12 x2 +…+ с1n xn =d1,
c22 x2 +…+ c2n xn =d2,
…………………
xn =dn ,
далее ее решают по рекуррентным формулам
xn =dn , , i=n-1,n-2,…, 1.
Итерационные методы реализуют стратегию постепенного приближения к решению X* путем построения соответствующей последовательности векторов X0, X1,…, Xk. Вектор X0 называется начальным приближением, а переход от текущего k-го приближения (вектор Xk ) к k+1-му приближению (вектор Xk+1) итерацией. Данный переход реализуется при помощи функционального оператора Xk+1=F(Xk), вид которого определяется заданной системой и конкретным методом.
Для итерационных методов (метод простой итерации, метод Зейделя и др.) решение получают всегда приближенным, в то же время необходимо отметить ряд преимуществ, которыми обладают последние по сравнению с прямыми методами:
1) меньшие затраты времени при получении решения;
2) значительно меньшие погрешности округления;
3) самоисправление случайных ошибок на очередном шаге;
4) особенная эффективность при работе с разряженными матрицами (большое количество коэффициентов которых равно нулю), а также для систем большой размерности (103-106).
Метод простой итерации реализует переход к k+1-му приближению, используя при определении каждой координаты нового вектора координат только предыдущего k-го приближения Xk+1=F(Xk). Пусть дана СЛАУ вида
a11 x1+ a12 x2 +…+ a1n xn + a1n+1 =0,
a21 x1+ a22 x2 +…+ a2n xn + a2n+1 =0, (1)
……………………………………
an1 x1+ an2 x2 +…+ ann xn + ann+1 =0 .
Выразив из каждого уравнения соответствующую координату, получим
x1=с11 x1+ с12 x2 +…+ с1n xn + с1n+1,
x2=с21 x1+ с22 x2 +…+ с2n xn + с2n+1, (2)
……………………………………
xn=сn1 x1+ сn2 x2 +…+ сnn xn + сnn+1 .
Для обеспечения условий сходимости (сходимость или устойчивость метода обеспечивается при любом начальном приближении X0, если норма матрицы, составленной из коэффициентов только при неизвестных в системе (2) меньше единицы, т.е., например, при i=1,2,…,n) при переходе от системы (1) к системе (2) можно воспользоваться следующими преобразованиями:
,
где .
Если после данных преобразований сходимость не обеспечивается (единичные случаи), исходную систему необходимо преобразовать в эквивалентную. Это достигается путем попарного сложения или вычитания уравнений.
Далее текущее приближение Xk подставляют в правую часть системы (2), тогда в левой части получают координаты нового уточненного приближения Xk+1. В качестве начального приближения X0 можно выбрать столбец свободных членов b или нулевой вектор. Окончанием итерационного процесса может служить выполнение условия
,
где e – заданная погрешность приближенного решения.
Метод Зейделя является модификацией метода простой итерации. В целях ускорения сходимости он реализует переход к k+1-му приближению, используя при определении координат нового вектора не только предыдущее k-е приближение, но и вычисленные на данный момент координаты k+1-го приближения Xk+1=F(Xk, Xk+1):
Дальнейшее ускорение сходимости последовательности приближений достигается в методе последовательной верхней релаксации. Для специального вида матриц, например симметричных, положительно определенных, имеется также семейство методов сопряженных градиентов или сопряженных направлений [3].
В целом для обеспечения сходимости итерационного метода достаточно, чтобы выполнялось условие ||A||<1, или ||С||<1 по какой-либо норме матрицы, согласованной с нормой векторов. Если для векторов x=(x1,x2,…,xn) введена норма ||x||, то согласованной с ней нормой матриц называют величину . Чаще всего используют следующие нормы векторов и соответствующих согласованных норм матриц:
№
п/п
Норма вектора
Согласованная норма матрицы
или с учетом ||A||2£||A||e
где максимальное собственное значение матрицы .
В общем случае система может включать m уравнений относительно n неизвестных
a11 x1+ a12 x2 +…+ a1n xn =b1,
a21 x1+ a22 x2 +…+ a2n xn =b2,
……………………………………
am1 x1+ am2 x2 +…+ am n xn =bm .
Тогда данная система совместна, если она имеет хотя бы одно решение и несовместна, если не имеет ни одного.
Однородной СЛАУ называется система, правая часть которой равна нулю (b=0). Однородная система всегда совместна, т.к. имеет, по крайней мере, одно решение (x1=0,…, xn=0). Если однородная система имеет единственное решение, то оно нулевое и система называется тривиально совместной. Если имеется более одного решения, то среди них есть ненулевые. В этом случае говорят о нетривиально совместной системе. Такая система имеет бесконечное множество решений, причем линейная комбинация любых решений системы тоже является ее решением. Доказано, что среди бесконечного множества решений однородной системы можно выделить ровно n-r линейно независимых решений, где r – ранг матрицы А (число ненулевых строк в ступенчатой матрице, получаемой из исходной матрицы А с помощью гауссовых исключений).
Совокупность этих n-r линейно независимых решений называется фундаментальной системой решений. Любое решение СЛАУ линейно выражается через фундаментальную систему. Поэтому, если ранг r матрицы А однородной системы А×x=0 меньше числа неизвестных n, то система является нетривиально совместной и для любого решения системы с учетом векторов е1, е2,…, еn-r, образующих ее фундаментальную систему решений (А еi =0, i=1,2,…,n-r) можно записать выражение:
x=c1 е1 +c2 е2 +…+cn-r еn-r ,
где c1, c2,…, c1n-r– произвольные постоянные, а само выражение называют общим решением однородной системы.
Исследовать однородную СЛАУ – это значит установить, является ли она нетривиально совместной и в этом случае найти фундаментальную систему решений, а также общее решение системы.
Неоднородной СЛАУ называется система, правая часть которой неравна нулю (b¹0). Для того, чтобы неоднородная система была совместна, необходимо и достаточно, чтобы ранг расширенной матрицы системы совпадал с рангом матрицы системы. Расширенная матрица получается путем добавления к матрице А столбца b.
Исследовать неоднородную СЛАУ – это значит установить, является ли она совместной, и если да, то найти общее решение системы.