
- •Постановка задачи 42
- •1.1 Введение
- •1.2. Понятие устойчивости состояния равновесия эо
- •1.3. Критерий устойчивости систем линейных оду
- •1.4. Критерий устойчивости дискретных систем
- •2. Методы численного интегрирования систем оду
- •2.1 Постановка задачи
- •2.2. Явный метод Эйлера и его характеристики
- •2.3. Явные методы Рунге-Кутта
- •2.4. Понятие "жесткой" системы
- •2.5. Неявный метод Эйлера
- •3 Выбор шага
- •2.6. Неявные методы Рунге-Кугта
- •3. Методы решения нелинейных сау
- •3.1. Постановка задачи
- •3.2. Метод Ньютона
- •3.3. Метод продолжения решения по параметру
- •3.4. Метод дифференцирования по параметру
- •4. Решение систем линейных ау
- •4.1. Метод Гаусса
- •4.2. Способы повышения точности решении
- •4.3. Метод Зейделя
- •4.4. Метод наискорейшего спуска
- •5. Технология разреженных матриц
- •5.1 Постановка задачи
- •5.2. Разреженный строчный формат
- •5.3. Статические и динамические схемы хранения.
- •5.4. Метод переменного переключателя
- •5.5. Расширенный вещественный накопитель
- •5.6. Сложение двух матриц
- •5. 7. Скалярное умножение двух разреженных векторов
- •5.8. Произведение разреженной матрицы общего вида и заполненного вектора-столбца
- •5.9. Произведение двух разреженных матриц
- •5.10. Транспонирование разреженной матрицы
- •5.11. Треугольное разложение разреженной симметричной матрицы
4.2. Способы повышения точности решении
Из соотношений (4.4)
следует, что алгоритм работает, если
,
.
Если оказалось, что какой-либо элемент,
стоящий на главной диагонали
,
то вычисления нельзя продолжать,
Это неразумно и в случае, если
близок
к нулю. К тому же выводу приводит и
анализ ошибок округления. В [8 ] показано,
что для уменьшения последних величина
.
Для достижения этого, необходимо делать
перестановки строк так, чтобы на
диагонали оказывался всякий раз
наибольший по абсолютной величине
коэффициент при
в
результате будет выполнено требование
.Такой
способ часто называют методом
главного элемента.
Рекомендуют иногда переставлять и столбцы, но при этом вычислительные затраты оказываются неадекватными тому выигрышу в точности, которого можно достичь.
Другим способом
повышения точности является масштабирование
уравнений и неизвестных. Идея метода
состоит в следующем. Переменные
и величины правой части
;
являются, как правило, реальными
(например, физическими) величинами,
которые могут измеряться различными
единицами. Если при рассмотрении
коэффициентов уравнений мы
обнаруживаем, что они на несколько
порядков отличаются друг от друга
разумно ввести масштабирование
переменных, т.е. сделать замену одной
переменной другой:
, где
-const
а
-
новая переменная. Пусть D
- невырожденная диагональная матрица:
Тогда x=D
. Аналогично можно масштабировать
вектор b
с помощью матрицы
. В результате получим новую систему
уравнений
или окончательно после преобразований:
(4.6)
которую решают
относительно
.
Однако выбор нужного масштабирования очень сложен, если хотим получить алгоритм решения для произвольной линейной системы. В [8] приведен пример, когда при решении системы (4.6) на определенном этапе гауссова исключения новая система оказалась вырожденной, ввиду чего дальнейшее решение стало невозможным.
Третьим способом
повышения точности решения системы
линейных АУ является итерационное
уточнение
[7,8]. Пусть вектор
- это решение системы (4.1), полученное
методом Гаусса. Так как присутствует
ошибка округления чисел в ЭВМ, то
не
даст точно значение b
, а будет иметь место невязка, которую
необходимо вычислить с двойной
точностью.
Обозначим ее
.
Далее решаем систему
с
обычной точностью. Новое значение
.
Вычисляем
с
двойной точностью и снова решаем
систему
с
обычной точностью и так до тех пор,
пока не получим очередное значение
, удовлетворяющее заданной точности.
Можно показать, что итерационный процесс
сходится тем быстрее, чем лучше
обусловленность матрицы А [8].
Мы рассмотрели так называемые прямые (или точные) методы решения линейных систем АУ - метод Гаусса и его модификации. Однако существуют так .же, как и для нелинейных систему АУ, итерационные методы. К ним относятся, например, методы Зейделя и наискорейшего спуска, которые изложены, например, в [3,4] и рассматриваются далее.