Прямые методы решения СЛАУ

Вычислительная практика. 2 курс

Решение систем линейных алгебраических уравнений

Преподаватель Толоконников И.Г.

Основные понятия и определения

Системы линейных алгебраических уравнений (СЛАУ) являются важной математической моделью линейной алгебры. На их базе ставятся такие практические математические задачи, как:

– непосредственное решение линейных систем;

– вычисление определителей матриц;

– вычисление элементов обратных матриц;

– определение собственных значений и собственных векторов матриц.

Решение линейных систем является одной из самых распространенных задач вычислительной математики. К их решению сводятся многочисленные практические задачи нелинейного характера, решения дифференциальных уравнений и др.

Вторая и третья задачи являются также и компонентами технологии решения самих линейных систем.

Обычно СЛАУ n-го порядка записывается в виде

Прямые методы решения СЛАУ - student2.ru

или в развернутой форме

Прямые методы решения СЛАУ - student2.ru (1)

или в векторной форме

Прямые методы решения СЛАУ - student2.ru , (2)

где

Прямые методы решения СЛАУ - student2.ru ; Прямые методы решения СЛАУ - student2.ru ; Прямые методы решения СЛАУ - student2.ru .

В соотношениях (2):

А называется основной матрицей системы с n2 элементами;

Прямые методы решения СЛАУ - student2.ru = (x1, x2, ... , xn)Т – вектор-столбец неизвестных;

Прямые методы решения СЛАУ - student2.ru = (b1, b2, ... , bn)Т – вектор-столбец свободных членов.

Определителем (детерминантом – det) матрицы А n-го порядка называется число D (det A), равное

Прямые методы решения СЛАУ - student2.ru .

Здесь индексы a, b, ..., w пробегают все возможные n! перестановок номеров 1, 2, ..., n; k – число инверсий в данной перестановке.

Первоначальным при решении СЛАУ (1) является анализ вида исходной матрицы А и вектора-столбца свободных членов Прямые методы решения СЛАУ - student2.ru в (2).

Если все свободные члены равны нулю, т.е. Прямые методы решения СЛАУ - student2.ru = 0, то система Прямые методы решения СЛАУ - student2.ru называется однородной. Если же Прямые методы решения СЛАУ - student2.ru ¹ 0, или хотя бы одно bi ¹ 0 ( Прямые методы решения СЛАУ - student2.ru ), то система (2) называется неоднородной.

Квадратная матрица А называется невырожденной, или неособенной, если ее определитель |A| ¹ 0. При этом система (1) имеет единственное решение.

При |A| = 0 матрица А называется вырожденной, или особенной, а система (1) не имеет решения, либо имеет бесконечное множество решений.

Если |A| » 0 система (1) называется плохо обусловленной, т.е. решение очень чувствительно к изменению коэффициентов системы.

В ряде случаев получаются системы уравнений с матрицами специальных видов: диагональные, трехдиагональные (частный случай ленточных), симметричные (аij = aji), единичные (частный случай диагональной), треугольные и др.

Решение системы (2) заключается в отыскании вектора-столбца Прямые методы решения СЛАУ - student2.ru = (x1, x2, ... , xn)Т, который обращает каждое уравнение системы в тождество.

Существуют две величины, характеризующие степень отклонения полученного решения от точного, которые появляются в связи с округлением и ограниченностью разрядной сетки ЭВМ, – погрешность e и «невязка» r:

Прямые методы решения СЛАУ - student2.ru (3)

где Прямые методы решения СЛАУ - student2.ru – вектор решения. Как правило, значения вектора Прямые методы решения СЛАУ - student2.ru – неизвестны.

Доказано, что если e » 0, то и r = 0. Обратное утверждение не всегда верно. Однако если система не плохо обусловлена, для оценки точности решения используют невязку r.

Методы решения СЛАУ

Методы решения СЛАУ делятся на две группы:

– прямые (точные) методы;

– итерационные (приближенные) методы.

К прямым методам относятся такие методы, которые, в предположении, что вычисления ведутся без округлений, позволяют получить точные значения неизвестных. Они просты, универсальны и используются для широкого класса систем. Однако они не применимы к системам больших порядков (n < 200) и к плохо обусловленным системам из-за возникновения больших погрешностей. К ним можно отнести: правило Крамера, методы обратных матриц, Гаусса, прогонки, квадратного корня и др.

К приближенным относятся методы, которые даже в предположении, что вычисления ведутся без округлений, позволяют получить решение системы лишь с заданной точностью. Это итерационные методы, т.е. методы последовательных приближений. К ним относятся методы простой итерации, Зейделя.

Прямые методы решения СЛАУ

Правило Крамера

Рассмотрим систему (1). Как отмечалось выше, если определитель этой системы не равен нулю, то будет иметь место единственное решение. Это необходимое и достаточное условие. Тогда по правилу Крамера

Прямые методы решения СЛАУ - student2.ru , (4)

где Dk – определитель, получающийся из D при замене элементов a1k, a2k, ..., ank k-го столбца (соответствующими) свободными членами b1, b2, ..., bn из (1), или

Прямые методы решения СЛАУ - student2.ru ,

где Аik алгебраическое дополнение элемента aik в определителе D. Стоит существенная проблема вычисления определителей высоких порядков.

Метод обратных матриц

Дана система Прямые методы решения СЛАУ - student2.ru . Умножим левую и правую части этого выражения на А–1:

Прямые методы решения СЛАУ - student2.ru ; Прямые методы решения СЛАУ - student2.ru .

При его реализации стоит проблема нахождения обратной матрицы А–1, с выбором экономичной схемы ее получения и с достижением приемлемой точности. Эти вопросы рассмотрим ниже.

Метод Гаусса

Этот метод является наиболее распространенным методом решения СЛАУ. В его основе лежит идея последовательного исключения неизвестных, в основном, приводящая исходную систему к треугольному виду, в котором все коэффициенты ниже главной диагонали равны нулю. Существуют различные вычислительные схемы, реализующие этот метод. Наибольшее распространение имеют схемы с выбором главного элемента либо по строке, либо по столбцу, либо по всей матрице. С точки зрения простоты реализации, хотя и с потерей точности, перед этими схемами целесообразней применять так называемую схему единственного деления. Рассмотрим ее суть.

Посредством первого уравнения системы (1) исключается х1 из последующих уравнений. Далее посредством второго уравнения исключается х2 из последующих уравнений и т.д. Этот процесс называется прямым ходом Гаусса. Исключение неизвестных повторяется до тех пор, пока в левой части последнего n-го уравнения не останется одно неизвестное хn

nnxn = b¢, (5)

где a¢nn и b¢ – коэффициенты, полученные в результате линейных (эквивалентных) преобразований.

Прямой ход реализуется по формулам

Прямые методы решения СЛАУ - student2.ru а*mi = amiПрямые методы решения СЛАУ - student2.ru ;

b*m = bmПрямые методы решения СЛАУ - student2.ru (6)

где m – номер уравнения, из которого исключается xk;

k – номер неизвестного, которое исключается из оставшихся (n – k) уравнений, а также обозначает номер уравнения, с помощью которого исключается xk;

i – номер столбца исходной матрицы;

akk – главный (ведущий) элемент матрицы.

Во время счета необходимо следить, чтобы akk ¹ 0. В противном случае прибегают к перестановке строк матрицы.

Обратный ход метода Гаусса состоит в последовательном вычислении xn, xn–1, ..., x1, начиная с (5) по алгоритму

xn = b¢ / a¢nn ; Прямые методы решения СЛАУ - student2.ru . (7)

Точность полученного решения оценивается посредством «невязки» (3). В векторе невязки (r1, r2, ... , rn)Т отыскивается максимальный элемент и сравнивается с заданной точностью e. Приемлемое решение будет, если rmax < e. В противном случае следует применить схему уточнения решения.

Уточнение корней

Полученные методом Гаусса приближенные значения корней можно уточнить.

Пусть для системы Прямые методы решения СЛАУ - student2.ru найдено приближенное решение Прямые методы решения СЛАУ - student2.ru , не удовлетворяющее по «невязке». Положим тогда Прямые методы решения СЛАУ - student2.ru . Для получения поправки d = (d1, d2, ..., dn)Т корня Прямые методы решения СЛАУ - student2.ru следует рассмотреть новую систему

Прямые методы решения СЛАУ - student2.ru или Прямые методы решения СЛАУ - student2.ru ,

где Прямые методы решения СЛАУ - student2.ru – невязка для исходной системы.

Таким образом, решая линейную систему с прежней матрицей А и новым свободным членом Прямые методы решения СЛАУ - student2.ru = (e1, e2, ..., en)Т, получим поправки (d1, d2, ..., dn).

Пример решения СЛАУ по методу Гаусса (с точностью до трех знаков). Нужно уточнить корни до 10–4:

Прямые методы решения СЛАУ - student2.ru

В результате Прямые методы решения СЛАУ - student2.ru = 4,67; Прямые методы решения СЛАУ - student2.ru = 7,62; Прямые методы решения СЛАУ - student2.ru = 9,05. Невязки равны Прямые методы решения СЛАУ - student2.ru = −0,02; Прямые методы решения СЛАУ - student2.ru = 0; Прямые методы решения СЛАУ - student2.ru = −0,01. Получено уточнение Прямые методы решения СЛАУ - student2.ru = −0,0039; Прямые методы решения СЛАУ - student2.ru = −0,0011; Прямые методы решения СЛАУ - student2.ru = −0,0025. Следовательно х1 = 4,6661; х2 = 7,6189; х3 = 9,0475. Невязки будут d1 = −2×10–4; d2 = −2×10–4; d3 = 0.

Наши рекомендации