- •Тема: «Прямые и итерационные методы решения систем линейных уравнений»
- •Метод главных элементов
- •Задание Разработать программное средство для решения систем линейных уравнений (методы решения определяет преподаватель).
- •Тема: «Вычисление определенных интегралов»
- •Тема: «Вычисление определенных интегралов»
- •230104 – «Системы автоматизированного проектирования»,
- •230202 – «Информационные технологии в образовании»
- •394026 Воронеж, Московский просп., 14
Метод главных элементов
На практике применяют множество вариантов вычислительных схем метода Гаусса. Например, при приведении матрицы к верхней треугольной форме выбирают наибольший элемент (в строке или столбце), уменьшая вычислительную погрешность за счет деления на не самый маленький элемент. Такая вычислительная схема называется методом Гаусса с выбором ведущего элемента. Если же выбирать при приведении матрицы самый большой (по модулю) элемент из всех оставшихся, то такая схема будет называться методом Гаусса с выбором главного элемента. Последняя схема относится к наиболее популярным. Главное ее отличие от метода Гаусса состоит в том, что при приведении матрицы А к верхней (или нижней) треугольной форме ее строки и столбцы переставляют так, чтобы наибольший из всех оставшихся элементов матрицы стал ведущим, и на него выполняется деление. Если матрица хорошо обусловлена, то в методе Гаусса с выбором главного элемента погрешности округления невелики.
Формальные параметры процедуры. Входные: n (тип integer) - целое положительное число, равное порядку исходной системы; aa (тип real) - массив из nn действительных чисел, содержащий матрицу коэффициентов системы (aa[1] = а11; aa[2] = а21; aa[3] = a31; ...; aa[n]= an1; aa[n +1]= =a12; aa[n + 2] = a22; ...; aa[2*n] = аn2; ...; aa[n*n] = аnn); b (тип real) - массив из n действительных чисел, содержащий столбец свободных членов исходной системы (b[1] = =b1; b[2] = b2; ...; b[n] = bn). Выходные: b (тип real) - массив из n действительных чисел (он же был входным) при выходе из подпрограммы, содержащий решения исходной системы (b[1]= x1; b[2] = x2; ...; b[n] = xn); ks (тип integer) - признак правильности решения или код ошибки: если ks = 0, то в массиве b содержится решение исходной системы; если ks = 1, то исходная система не имеет решения (главный определитель ее равен нулю).
Решение систем линейных уравнений методом итераций
Итерационные методы решения систем линейных уравнений дают возможность вычислить решение системы как предел бесконечной последовательности промежуточных решений. Причем каждое последующее решение в случае сходимости итерационного процесса считается более точным. В этих методах, в отличие от точных, ошибки в начальном приближении и последующих вычислениях компенсируются, т.е. итерационные методы (в случае сходимости) позволяют получить решение более точное, чем прямые. Поэтому итерационные методы относят к самоисправляющимся.
Условия и скорость сходимости процесса в большей степени зависят от свойств уравнений, т.е. от свойств матрицы системы и от выбора начального приближения.
Пусть дана система линейных алгебраических уравнений (1) с неособенной матрицей. В методе простой итерации если аii 0, то исходная система может быть преобразована к виду хi = bi + aij хj , i j, т.е. из каждого уравнения последовательно выражают хi.
Здесь bi = Fi / аii; aij = - аij / аii. Таким образом, в матричном виде имеем Х = В + AХ. Полученную систему будем решать методом последовательных приближений. За нулевое приближение Х(0) можно принять матрицу В: Х(0)= = B, и далее, подставив найденные значения в исходную систему, получим Х (1) = В + A Х(0) .
При бесконечном повторении этой вычислительной схемы имеем
,
где и будет искомое решение системы.
Условия сходимости итерационного процесса определяются теоремами, которые приводятся нами без доказательств.
Теорема 1. Для того, чтобы последовательность приближений Х(n) сходилась, достаточно, чтобы все собственные значения матрицы A были по модулю меньше единицы: | i | < 1, i = 1, 2, ..., n.
Теорема 2. Если требовать, чтобы последовательность Х(n) сходилась к при любом начальном приближении Х(0) , то условие теоремы 1 является необходимым.
Применение теорем 1 и 2 требует знания всех собственных значений матрицы A, нахождение которых является очень не простой задачей. Поэтому на практике ограничиваются более простой теоремой, дающей достаточные условия сходимости.
Теорема 3. Если для системы Х = В + AХ выполняется хотя бы одно из условий :
;
,
то итерационный процесс сходится к единственному решению этой системы независимо от выбора начального приближения.
Для многих приложений важно знать, какой является скорость сходимости процесса, и оценить погрешность полученного решения.
Теорема 4. Если какая-либо норма матрицы A, согласованная с рассматриваемой нормой вектора Х, меньше единицы, то верна следующая оценка погрешности приближения в методе простой итерации:
.
Формальные параметры процедуры. Входные: А (тип real) - матрица, составленная из коэффициентов при Х преобразованного уравнения; В (тип real) - матрица, составленная из свободных членов; N (тип integer) - размерность матриц А (N N) и В(N); IK (тип integer) - предельно возможное количество итераций (введено для того, чтобы в случае расхождения процесса выйти из подпрограммы. Обычно решение достигается за 3-6 итераций); ЕРS (тип real) - заданная погрешность решения. Выходные: Х (тип real) - матрица, в которой находится решение системы.
Решение систем линейных уравнений методом Зейделя
Этот метод относится к итерационным, имеет более быструю сходимость по сравнению с методом простых итераций .
Метод Зейделя применяют в двух расчетных схемах. Рассмотрим каноническую форму (для схемы итераций). Пусть система приведена к виду Х = Вх + b. В схеме простой итерации следующее приближение Х(k +1) находится путем подстановки предыдущего приближения Х(k) в правую часть выражения X(k +1) = B X (k) + b.
Для удобства рассуждений полагаем, что левые части уравнений содержат хi (элементы матрицы X(k +1)) с возрастающими номерами, т.е. сначала х1, затем х2, х3, ..., хn. Тогда решение системы уравнений Х = Вх + b на очередной (k +1) итерации будет имет вид
, (1.6)
т.е. каждое очередное найденное приближение хi(k +1) сразу же используется для определения . Условия сходимости для итерационного метода Зейделя дают те же теоремы, что и в методе простых итераций.
Вторая форма метода Зейделя требует предварительного приведения системы (1) к виду, когда все диагональные элементы отличны от нуля. Если разложить матрицу А на сумму двух матриц R + С, где R - нижняя диагональная матрица, а С - верхняя с нулями на главной диагонали, то систему (1) можно записать как
Ax = (R + C)x = R x(k +1) + C x(k) = B
или x(k +1) = R -1B - R -1C x(k)
и тогда становится ясно, что метод Зейделя в канонической форме равносилен методу простой итерации, примененному к системе
X = R -1B - R -1C X.
Формальные параметры процедуры такие же, как и в методе итераций.