Постановка задачи
Решение систем линейных уравнений встречается в многочисленных практических задачах [2, 6, 10, 11].
Запишем систему п линейных алгебраических уравнений с п неизвестными:
Совокупность коэффициентов этой системы запишем в виде таблицы, или матрицы:
Используя понятие матрицы А, систему уравнений (3.1) можно записать в матричном виде:
где X и В — вектор-столбец неизвестных и вектор-столбец правых частей соответственно:
Определителем, или детерминантом, матрицы А (беЫ) называется число D, равное Здесь индексы а,/?, …, ш пробегают все возможные п перестановок номеров 1,2, п; к — число инверсий в данной перестановке.
Необходимым и достаточным условием существования единственного решения системы линейных уравнений является условие D * 0. В случае равенства нулю определителя системы матрица называется вырожденной; при этом система линейных уравнений (3.1) либо не имеет решения, либо имеет их бесчисленное множество.
Методы решения систем линейных уравнений делятся на две группы — прямые и итерационные. Прямые методы используют конечные соотношения (формулы) для вычисления неизвестных. Они дают решение после выполнения заранее известного числа операций. Эти методы достаточно просты и пригодны для широкого класса линейных систем.
К прямым методам решения систем линейных уравнений относятся метод Гаусса, метод прогонки, схема Жордана, метод квадратного корня, метод оптимального исключения, клеточные методы. Среди прямых методов наиболее распространен метод Гаусса.
Итерационные методы — это методы последовательных приближений. В них необходимо задать некоторое приближенное решение — начальное приближение. После этого с помощью некоторого алгоритма проводится цикл вычислений, называемый итерацией. В результате итерации находят новое приближение. Итерации проводятся до получения решения с требуемой точностью. Объем вычислений заранее определить трудно. К достоинствам итерационных методов следует отнести го, что они требуют хранения в памяти машины не всей матрицы системы, а лишь нескольких векторов с п компонентами. Погрешности окончательных результатов при использовании итерационных методов не накапливаются, поскольку точность вычислений в каждой итерации определяется лишь результатами предыдущей итерации и практически не зависит от ранее выполненных вычислений. Итерационные методы могут использоваться для уточнения решений, полученных с помощью прямых методов. Одним из самых распространенных итерационных методов, отличающихся простотой и легкостью программирования, является метод Гаусса-Зейделя.