Решение систем линейных алгебраических уравнений методом Гаусса и Зейделя (WinWord 97 & Pascal)

Решение систем линейных алгебраических уравнений методом Гаусса и Зейделя (WinWord 97 & Pascal)

задач вычислительной линейной алгебры. Хотя задача решения системы

линейных уравнений сравнительно редко представляет самостоятельный

интерес для приложений, от умения эффективно решать такие системы часто

зависит сама возможность математического моделирования самых

разнообразных процессов с применением ЭВМ. Значительная часть численных

методов решения различных (в особенности – нелинейных) задач включает в

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

связанна с ограниченностью оперативной памяти ЭВМ. Хотя обьем

оперативной памяти вновь создаваемых вычислительных машин растет очень

быстро, тем не менее, еще быстрее возрастают потребности практики в

решении задач все большей размерности. В значительной степени

ограничения на размерность решаемых систем можно снять, если

использовать для хранения матрицы внешние запоминающие устройства.

Однако в этом случае многократно возрастают как затраты машинного

времени, так и сложность соответствующих алгоритмов. Поэтому при

создании вычислительных алгоритмов линейной алгебры большое внимание

уделяют способам компактного размещения элементов матриц в памяти ЭВМ.

ненулевых элементов много меньше общего чила элементов матрицы. Такие

матрицы принято называть разреженными. Одним из основных источников

разреженных матриц являются математические модели технических устройств,

состоящих из большого числа элементов, связи между которыми локальны.

Простейшие примеры таких устройств – сложные строительные конструкции и

большие электрические цепи.

достигало сотен тысяч. Естественно, это было бы невозможно, если бы

соответствующие матрицы не являлись разреженными (матрица системы из 100

тыс. уравнений в формате двойной точности заняла бы около 75 Гбайт).

уравнений является метод Гаусса. Этот метод (который также называют

методом последовательного исключения неизвестных) известен в различных

вариантах уже более 2000 лет.

исключении неизвестных из системы для преобразования ее к эквивалентной

системе с верхней треугольной матрицей. Вычисления значений неизвестных

производят на этапе обратного хода.

вариант метода Гаусса, называемый схемой единственного деления.

уравнений с номерами i = 2, 3, …, n. Предположим, что коэффициент a11 (

0. Будем называть его главным элементом 1-го шага.

третьего, …, n-го уравнений системы первое уравнение, умноженное

соответственно на q21, q31, …, qn1. Это позволит обратить в нуль

коэффициенты при x1 во всех уравнениях, кроме первого. В результате

получим эквивалентную систему

уравнений с номерами i = 3, 4, …, n. Пусть a22(1) ? 0, где a22(1) –

коэффициент, называемый главным (или ведущим) элементом 2-го шага.

Вычислим множители 2-го шага

системы второе уравнение, умноженное соответственно на q32, q42, …, qm2.

В результате получим систему

akk(k–1) отличен от нуля, вычислим множители k-го шага

предыдущем шаге системы k-e уравнение, умноженное соответственно на

прямого хода заканчиваются.

найденное значение xn в предпоследнее уравнение, получим xn–1.

Осуществляя обратную подстановку, далее последовательно находим xn–1,

xn–2, …, x1. Вычисления неизвестных здесь проводятся по формулам

множителей, а также обратная подстановка требуют деления на главные

элементы akk(k–1). Поэтому если один из главных элементов оказывыется

равным нулю, то схема единственного деления не может быть реализована.

Здравый смысл подсказывает, что и в ситуации, когда все главные элементы

отличны от нуля, но среди них есть близкие к нулю, возможен

неконтролируемый рост погрешности.

частичного выбора). Описание метода. На k-м шаге прямого хода

коэффициенты уравнений системы с номерами i = k + 1, …, n преобразуются

связанных с этим ошибок нельзя допускать появления больших множителей

что |qik| ? 1 для всех k = 1, 2, …, n – 1 и i = k + 1, …, n. Отличие

этого варианта метода Гаусса от схемы единственного деления заключается

в том, что на k-м шаге исключения в качестве главного элемента выбирают

максимальный по модулю коэффициент aikk при неизвестной xk в уравнениях

с номерами i = k + 1, …, n. Затем соответствующее выбранному

коэффициенту уравнение с номером ik меняют местами с k-м уравнением

системы для того, чтобы главный элемент занял место коэффициента

akk(k-1). После этой перестановки исключение неизвестного xk производят,

как в схеме единственного деления.

полного выбора). В этой схеме допускается нарушение естественного

порядка исключения неизвестных.

элемент ai1j1. Первое уравнение системы и уравнение с номером i1 меняют

местами. Далее стандартным образом производят исключение неизвестного

xi1 из всех уравнений, кроме первого.

уравнениях системы с номерами i = k, …, n выбирают максимальный по

модулю коэффициент aikjk(k-1). Затем k-е уравнение и уравнение,

содержащее найденный коэффициент, меняют местами и исключают неизвестное

xjk из уравнений с номерами i = k + 1, …, n.

применить метод Зейделя к решению системы линейных алгебраических

преобразовать эту систему к виду

вектор-столбец с элементами cij (i = 1, 2, …, n).

итераций, не является простой и требует специальных знаний, а также

существенного использования специфики системы.

состоит в следующем. Из первого уравнения системы выразим неизвестное

Остальные элементы выражаются по формулам

необходимо, чтобы диагональные элементы матрицы A были ненулевыми.

Подставляя его в правую часть равенства при верхней треугольной матрице

B2 и вычисляя полученное выражение, находим первое приближение

x(n), … приближений к вычисляемых по формуле

Зейделя в одну формулу, получим

алгебраических уравнений с вещественными коэффициентами вида

системы, в переменную e – максимальная абсолютная погрешность. С помощью

вспомогательной процедуры ReadSystem в двумерный массив a и одномерный

массив b вводится c клавиатуры расширенная матрица системы. Начальное

прибижение предполагается равным нулю. Оба массива и переменные n и e

передаются функции Seidel. В функции Seidel исследуется сходимость

системы, и в том случае если система не сходится, выполнение функции

прекращается с результатом false. В ходе каждой итерации вычисляется

новое приближение и и абсолютная погрешность. Когда полученная

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

Полученное решение выводится на экран при помощи вспомогательной

В работе не достает каких либо картинок?

Документ отформатирован некорректно?

Вы можете скачать правильно отформатированную работу

Комментариев нет

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

+ 43 = 48

Алгебра
Вычислить определитель квадратной матрицы

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

Алгебра
Рекурсивное вычисление определителя

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

Алгебра
Особенности вычисления определителя матрицы

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