Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вычислительная математика.pdf
Скачиваний:
3
Добавлен:
24.11.2025
Размер:
3.89 Mб
Скачать
123
x1, x2 , , xn

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

Рис. 1. Математическое моделирование и вычислительный эксперимент

Если в результате процесса обоснования и модификации модель будет признана адекватной, то она готова к использованию для предсказания. В этом и состоит цель работы. Полученные решения дадут возможность глубже проникнуть в суть изучаемой проблемы, будь то физическое явление или техническая разработка.

4.2 Метод Гаусса решения систем линейных алгебраических уравнений. Плохая обусловленность и анализ ошибок. Влияние погрешностей округления

Метод Гаусса (метод исключения) является почти оптимальным по быстродействию и почти универсальным по отношению к свойствам матрицы системы уравнений. Этим объясняется его широкое применение. Существует много схем в методе Гаусса. Из-за простоты и удобства вычислений будем использовать схему единственного деления. Предположим, что для нахождения неизвестных величин задана система линейных алгебраических уравнений

a x

+ a x

+ + a x

n

= f

 

,

 

 

 

 

11 1

 

12 2

1n

1

 

,

 

a

 

x

+ a

x

+ + a

 

x

= f

 

 

(1)

 

21 1

 

22 2

 

2n

n

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

x

+ a

x

+ + a

x

= f

n

 

 

 

 

n1 1

 

n2 2

 

 

nn

n

 

 

 

xn1 +bn1xn = qn1 xn = qn

 

 

 

 

 

a

a

 

 

 

Пусть матрица

A

 

11

 

1n

 

 

 

=

 

 

 

невырождена. Тогда система (1) имеет единственное

 

 

 

 

 

an1 ann

 

 

 

решение. Предположим,

что a11 0 . (Если это не так, то переставляя уравнения и изменяя

места неизвестных этого можно добиться). Разделим первое уравнение на

a11 и приведем

его к виду

 

 

 

 

 

 

 

 

 

 

x1 +b12 x2 + +b1n xn = g1

 

 

 

(2)

Исключим теперь x1

из остальных уравнений системы. Будем умножать (2) последо-

вательно на a21, a31, , an1

и вычитать из второго, третьего, …, последнего уравнения сис-

темы. Преобразованные так уравнения будут иметь форму

 

a

x

+ a

23.1

x + + a

2n.1

x

= f

2.1

 

 

22.1 2

 

3

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

x

+ a

n3.1

x + + a

nn.1

x

= f

n.1

 

 

n2.1 2

 

3

 

 

n

 

 

aij.1 = aij bijai1

(i,

j 2),

fi1 = fi ai1q1.

 

Они образуют систему

n 1 уравнений с неизвестными x2 , , xn .

Порядок ее на

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

x1 +b12x2 +b12x3 + +b1n

x2 +b23x3 + +b2n

xn = q1,

xn = q2,

(3)

Приведение системы (1) к треугольному виду (3) называют прямым ходом метода Гаусса. Последнее уравнение в (3) дает значение xn , из предпоследнего уравнения находится xn1 и т.д. Нахождение xn , xn1, , x1 из системы (3) называют обратным ходом этого метода.

Для того, чтобы ошибки округления в процессе вычислений не привели бы к большой погрешности решения, поступают следующим образом. Всегда можно добиться, чтобы используемые в процессе исключения множители были по абсолютной величине меньше или равны единицы. Если это необходимо, то на k-м шаге метода исключения осуществляется перестановка строк, так, чтобы на главной диагонали оказался наибольший по абсолютной величине элемент из элементов k-го столбца, лежащих ниже главной диагонали и на ней са-

124

и b2(1)
a22(1)

мой. Эта стратегия называется стратегией частичного упорядочивания.

Плохая обусловленность и анализ ошибок

Алгоритм гауссова исключения с частичным урорядочиванием зарекомендовал себя на практике как эффективный и надежный метод. Тем не менее, и этот алгоритм может не привести к точному решению, если система уравнений «плохо обусловлена». Говорят, что линейная система уравнений является плохо обусловленной, если малые изменения элементов матрицы коэффициентов или правых частей приводят к большим изменениям в решении. В этом случае ни от какого численного метода нельзя ожидать, что он даст точное решение, а во многих случаях даже не следует пытаться искать решение.

Рассмотрим простой пример размерности 2х2. Дана система

0,832x1 +0,448x2

=1,00

(4)

 

+0,421x2

= 0

0,784x1

 

и предположим, что выполняем алгоритм гауссова исключения на некоем гипотетическом трехразрядном десятичном компьютере. Так как a11 – наибольший элемент матрицы, то ни-

какой перестановки не требуется, и новые элементы вычислим по правилу пря-

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

a122

= 0,421 0,832 0,784 0 / 448 =

0,350

 

272 0,351

 

232

=

0,350 0,351

=

(5)

 

 

 

 

 

 

 

 

 

0,832

 

 

0,832

 

 

0,832

 

 

 

 

 

= −0,001

 

202 = −0,001.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b(1)

= 0 0,832 0,784 1,00 = −0,942

 

308 = −0,942

 

 

 

 

 

 

 

 

 

2

 

0,832

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таким образом, получаем треугольную систему

 

 

 

 

0,832x1 +0,448x2 =1,00

 

 

 

 

 

 

 

 

 

 

 

 

0,001x2 = −0,942

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и обратный ход метода Гаусса дает приближенное решение

 

 

 

 

x1 = −506,

x2 = 942.

 

 

 

 

 

 

 

 

 

 

(6)

Но истинное решение (4), с точностью до трех знаков есть

 

 

x1 = −439,

x2 = 817,

 

 

 

 

 

 

 

 

 

 

(7)

так что вычисленное решение отличается от точного примерно на 15%. Почему же это произошло?

125

Первый и бросающийся в глаза ответ состоит в том, что мы потеряли знаки при вычислении (5). Действительно, вычисленное значение a22(1) содержит только одну значащую цифру, так что наше окончательное решение не будет иметь более одного верного знака. Но это только внешнее проявление существа проблемы. Воспользуемся принципом обратного анализа ошибок. Основная идея обратного анализа ошибок состоит в выяснении не того, какая допущена ошибка, а того, какая же задача на самом деле решена. Выполняя вычисления более детально, можно показать, что полученное решение (6) является точным решением системы

0,832x1 +0,447974 x2 =1,00,

 

(8)

 

+0,420992 x2

= 0

0,783744 x1

 

Максимальное относительное изменение элементов этой системы по отношению к исходной системе (4) составляет примерно 0,03%. Однако такое изменение приводит к изменению решения на 15%, т.е. ошибки в данных увеличиваются примерно в 500 раз.

Коренная причина этой плохой обусловленности заключается в том, что матрица коэффициентов (4) «почти вырождена». Геометрически это означает, что определяемые двумя уравнениями (4) прямые почти параллельны. Эта ситуация показана на рисунке.

Почти параллельные прямые, определяемые системой (4) пересекаются в точке

(-439; 817).

Рассмотрим теперь систему

0,832x1

+0,448x2

=1,

(9)

 

+(0,421)x2 = 0.

0,784x1

 

Второе уравнение определяет семейство прямых, зависящее от параметра ε. При увеличении ε от нуля примерно до 0,012 прямая поворачивается против часовой стрелки. При этом точка ее пересечения с прямой, определяется первым уравнением, удаляется в бесконечность до тех пор, пока прямые не станут параллельными и линейная система не будет иметь решения.

126

Ясно, что при приближении параметра ε к значению, при котором система (9) вырождается, даже очень малые изменения одного коэффициента системы могут вызывать все увеличивающиеся изменения решения. В точке вырождения определитель матрицы коэффициентов обращается в нуль, и иногда считают, что малость определителя является мерой плохой обусловленности системы. Но, как показывает следующий пример, в общем случае это неверно. Пусть

 

1010

010

 

=1020

,

 

1010

010

 

=1020

,

 

 

 

 

 

0

10

 

 

 

 

0

10

 

 

 

значения этих двух определителей совершенно различны, но прямые, задаваемые двумя соответствующими системами уравнений:

10

10 x1 = 0,

1010 x1 = 0,

10

10 x2 = 0,

1010 x2 = 0,

являются одними и теми же, просто координатными осями. Если определяемые уравнениями системы прямые взаимно перпендикулярны, то система «идеально обусловлена». Таким образом, величина определителя матрицы коэффициентов не является хорошей мерой близости этой матрицы к вырождению. Однако, если матрица надлежащим образом масштабирована, эта величина может стать основой для такой меры.

Плохая обусловленность матрицы проявляется не только в сложности вычисления точного решения соответствующей линейной системы. Вернемся снова к системе (4) и предположим теперь, что «реальная» задача, которую мы бы хотели решить, описывается системой (8), но коэффициенты этой системы измеряются при помощи некоторой физической аппаратуры, которая обеспечивает точность только до третьего десятичного знака. Таким образом, система (4) – это не та система, которую нам надо решить на самом деле, а некоторое ее приближение, которое нам удалось получить. Предположим также, что мы можем утверждать, что коэффициенты приближенной системы определены с точностью не менее 0,05%. Если сравнить системы (4) и (8), то видно, что это действительно имеет место. В такой ситуации часто можно слышать утверждение, что мы должны суметь найти решение системы примерно с той же точностью. Но, как мы уже видели, такое утверждение неверно: в случае системы (1) из-за плохой обусловленности матрицы небольшие погрешности в коэффициентах приводят к погрешностям в решении в 500 раз большим. Следовательно, как бы точно мы не решали систему (4), нам не избавиться от ошибок, обусловленных погрешностями из измерении коэффициентов. Если, например, нам надо найти решение «реальной» системы (8) с точностью не менее чем 1%, то необходимо измерять коэффициенты точнее, чем с тремя десятичными знаками. Таким образом,

127

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

Другое проявление плохой обусловленности состоит в следующем. Предположим, что

x1 – вычисленное

решение

системы

Ax1 = b . Один из способов оценки

точности x1

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

 

 

r = Ax1 b .

 

 

 

 

(10)

Если x1 точное решение, то вектор r будет равен нулю. Следовательно, мы могли бы

ожидать, что если x1 – хорошее приближение к точному решению, то вектор r

будет «мал»,

и, наоборот,

если вектор r

мал, то

x1 является хорошим приближением.

В некоторых

случаях это действительно так, но если матрица А плохо обусловлена, то величина r

может

быть весьма обманчивой. В качестве примера рассмотрим систему

 

 

0,780x1 +0,563x2 = 0,217,

 

 

(11)

 

 

 

 

 

 

 

0,913x1 +0,659x2 = 0,254

 

 

 

и приближенное решение

 

 

 

 

 

 

0,341

 

 

 

(12)

x1 =

 

 

 

 

 

0,087

 

 

 

 

В этом случае вектор невязок есть

 

 

r

 

6

 

 

 

 

(13)

= 10

.

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рассмотрим теперь совершенно отличное приближенное решение

 

 

 

 

0,999

 

 

 

(14)

x2 =

 

 

 

 

 

 

1,001

 

 

 

 

 

и соответствующий вектор невязок

 

 

 

 

0,0013

 

 

 

(15)

r

=

 

.

 

 

 

 

0,0015

 

 

 

 

 

Сравнивая невязки (13) и (15), можем прийти к заключению, что (12) дает лучшее

 

 

 

 

 

 

 

1

приближение к решению. Однако точным решением системы (11) является вектор

, так

 

 

 

 

 

 

1

что невязки дают информацию, которая только вводит в заблуждение.

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

Нормой вектора x называют действительное число x , удовлетворяющее условиям (аксиомам)

128

1)x > 0, если x 0 и 0 = 0;

2)cx = cx при любом численном множителе с;

3)x + yx + y .

Пусть А есть матрица размерности n×n . Нормой матрицы А называют число A , удовлетворяющее условиям (аксиомам)

1) A > 0, если A 0 и 0 = 0;

2)при всяком численном множителе с

cA = cA ;

3) A + B A + B ;

4) AB AB .

Это аксиомы общей или абстрактной нормы. Конкретные нормы векторов и матриц

будут приведены в следующем параграфе.

 

Предположим сначала, что x * – решение системы Ax = b

и x *+∆x – решение этой

же системы с правой частью b + ∆b,

т.е.

 

 

A(x *+∆x) = b + ∆b .

 

(16)

Так как Ax* = b , то отсюда

следует, что A(x)= ∆b и

x = A1(b ). Здесь, как

обычно, предполагаем, что матрица А невырожденна. Следовательно,

 

x

 

 

 

 

A1

 

 

 

 

 

b

 

 

 

,

 

(17)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

откуда видно, что изменение решения, обусловленное изменением вектора правой части,

ограничено величиной

 

 

A1

 

. Таким образом, если

 

A1

 

 

 

 

 

 

велика, то небольшое изменение b

 

 

 

 

 

может

привести

 

 

к

большому изменению x *.

 

 

Понятие «большое» всегда является

относительным, поэтому полезнее иметь дело с относительным изменением

 

x

 

 

x *

 

 

 

. Из

 

 

 

 

 

Ax* = b

следует

 

 

 

b

 

 

 

 

A

 

x *

 

, что вместе с (17) дает

 

 

x

 

 

 

 

b

 

 

A

 

 

A1

 

 

b

 

 

 

 

x *

 

 

 

, или, что то

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

же самое (при b 0) ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

=

 

A

 

 

 

 

A1

 

 

 

b

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(18)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Из этого неравенства видно, что относительное изменение x *, обусловленное изменением b , ограничено величиной относительного изменения b , умноженной на

129

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]