Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы математического моделирования в микроэлектронике. Модели в форме СЛАУ. Учебное пособие
.pdf
A
B
x
x
x
x
x
x
100 0
1
A
01 0 0
2
00 1 0
00 0 1
00 0 0 1
A
3
A
n
xB
11
xB
22
xB
33
xB
nn
1
11
xB
nn
,
(3.39)
т. е. фактически формулы (3.38) аналогичны формулам обратного хода
в методе Гаусса.
Коэффициенты
A и
i
вычислим подстановкой формул (3.38)
i
в формулы (3.37). Начнем с первого уравнения в (3.37), поделив его на
b и выражая 1,
1
получим, что
cd
11
xAxB
12 121
bb
11
.
(3.40)
Отсюда следует, что
c
Ab
1
1
и
1
Далее рассмотрим второе уравнение (3.37)
подставим в него найденное выражение (3.40) для
() .aAx B bx cx d
212 1 22 23 2
Затем, выражая
через
2
2232
,
получаем
3
cx d aB
23 2 2 1
aA b
21 2
Bb
1
d
1
. (3.41)
1
ax bx cx d,
21 22 2 3 2
и получим
1
,,
Ax B
,
откуда находим, что
c
A
2
2
aA b
21 2
и
101
B
2
daB
221
aA b
21 2
. (3.42)

Делая такие же преобразования для i-го уравнения в (3.37)
B
x
x
ax bx cx d
11
ii ii ii i
,
получаем для нахождения прогоночных коэффициентов
A и
i
рентные формулы
c
A
i
i
aA b
1
ii i
и
daB
iii
Bin
i
aA b
ii i
1
, 2, 3, ..., 1.
1
(3.43)
Процесс вычисления прогоночных коэффициентов по формулам
(3.41) и (3.43) называется прямым ходом прогонки.
Для того чтобы начать использовать рекуррентные формулы (3.38),
необходимо найти переменную
.
Это можно сделать из системы двух
n
уравнений
xAxB
11 1
nnnn
ax bx d
nn nn n
Исключая из системы переменную
x
n
Процесс вычисления переменных
1
daB
nnn
aA b
1
nn n
,
.
,
получаем, что
1
nx
1
.
(3.44)
,,,,,,
xxxx
121
nn i
по фор-
мулам (3.44) и (3.38) называется обратным ходом прогонки.
Упражнение 3.24 (*). Поясните, чему будет равна нижняя
треугольная матрица L, факторизующая трехдиагональную
матрицу A = LU. Матрица U, очевидно, соответствует матрице
из (3.39).
рекур-
i
Установим эффективность метода трехдиагональной прогонки. Для
этого подсчитаем количество арифметических операций, которые необходимо выполнить. Результаты подсчета представим в табл. 3.8.
Таким образом, на прямой ход требуется 6n − 10, а на обратный –
2n + 3 операции. Всего получается 8n − 7. Это означает, что порядок
операций равен O(n), что гораздо экономнее, чем в
102
методе Гаусса,

3
A
где порядок равен
().On
Кроме того, объем требуемой оперативной
памяти в методе прогонки составляет 3n машинных слов, тогда как ме-
2
тод Гаусса использует порядка
Количество арифметических операций в методе
трехдиагональной прогонки
n слов.
Таблица 3.8
Ход Формула Умножение Деление
Прямой
(3.43) 2(n − 2) 2(n − 2) 2(n − 2)
Сложение /
вычитание
(3.41) – 2 –
(3.44) 2 1 2
Обратный
(3.38) n−1 – n−1
Рассмотрим теперь вопрос реализуемости (корректности) метода
прогонки. Как и в методе исключений Гаусса, достаточным условием
для этого является условие строго диагонального преобладания, которое в данном случае можно записать как
bc
11
baci n
iii
ba
,
nn
, 2, ..., 1.
,
(3.45)
Как было отмечено выше, строгое диагональное преобладание гарантирует, что решение СЛАУ методом исключения Гаусса всегда существует и оно единственное. Для метода трехдиагональной прогонки,
как частного случая метода Гаусса, это утверждение также верно.
Можно строго доказать, что при этом условии знаменатели прогоночных коэффициентов в формулах (3.43) никогда не обращаются
причем для коэффициента
A верно важное неравенство, которое обес-
i
в нуль,
печивает устойчивость вычислений при обратном ходе прогонки по
формулам (3.38)
i
(3.46)
1 .
i
103

Устойчивость следует из того, что если при вычислении переменной
x
в (3.38) была допущена погрешность
1i
ременной x
погрешность
i
не будет возрастать в силу неравенства
i
,i то при вычислении пе-
1
(3.46), так как
(3.47)
iii
, 1, ...,1,
Ain
1
и тогда
iii i
Если принять условие, что
Ain
11
ac, то неравенства (3.45) можно
1
, 1, ..., 1.
0
n
(3.48)
записать в компактной форме
baci n
iii
, 2,..., 1.
(3.49)
В вычислительной практике часто вместо строгого диагонального
преобладания (3.49) используют эквивалентное ему (обоснование см.,
например, в [2, с. 499]) нестрогое
baci n
iii
, 1, ...,
(3.50)
диагональное преобладание в следующей формулировке:
Все поддиагональные и наддиагональные элементы в матрице
системы (3.36) должны быть не равны нулю, т. е.
2, 3,..., 1 in
того,
0, 0
bb
1
n
– за исключением, может быть,
и в условии (3.50) хотя бы для одного индекса
a и 1с и, кроме
n
0, 0,
ac
ii
имеет место строгое неравенство.
i
Упражнение 3.25. Проверьте, выполняется ли условие
диагонального преобладания для СЛАУ (1.30).
Заметим, что условие диагонального преобладания является достаточным условием корректности метода трехдиагональной прогонки.
104

Поэтому существуют СЛАУ, для которых это условие может не выпол-
няться, но метод прогонки все равно даст точный результат.
Упражнение 3.26 (*). Предположим, что в СЛАУ (1.30), кото-
рая была получена при проектировании непрерывной учебной
краевой задачи на дискретную сетку, выполняются следующие
условия: количество внутренних узлов сетки равно 5, функция
g(x) = 0, а в условиях Дирихле
СЛАУ примет вид
= 2 и
y
0
= 1, тогда разностная
y
6
21 0 0 0
12100 0
01 210 0
001 21 0
0001 2 1
y
y
1
2
y
3
4
y
5
2y
.
Поясните, какие условия диагонального преобладания здесь
выполняются, и найдите решение СЛАУ методом трехдиагональной прогонки. Вычисления выполните ручным способом.
Найдите точное аналитическое решение, затем вычислите погрешность решения и невязку в какой-либо норме. Сравните
графически найденное численное решение с точным аналитическим решением в Mathcad.
3.6. ИТЕРАЦИОННЫЕ МЕТОДЫ
РЕШЕНИЯ СЛАУ
История итерационных методов решения
СЛАУ такая же древняя, как и у прямых методов. Так, рассмотренный в пособии [4, разд. 1.1.2]
алгоритм вычисления корня из двух, авторство
которого связывают с именем Герона Александрийского (10–75 гг. н. э.), был записан клинописью на глиняных табличках в шестидесятеричной системе счисления еще древними вавилонянами
.
Герон
Александрийский
(10–75 гг. н. э.)
105

3.6.1. КАНОНИЧЕСКАЯ ФОРМА ЗАПИСИ ОДНОШАГОВЫХ
x
x
x
x
x
x
B
B
B
B
B
B
x
ИТЕРАЦИОННЫХ ПРОЦЕССОВ И МАТРИЦА ПЕРЕХОДА
Общая схема итерационных процессов для нахождения вектора неизвестных в СЛАУ, состоящая в построении цепочки приближенных решений
в котором отмечалось, что такие процессы можно использовать для
уточнения решения
, , ...,
xx
01
k
, была подробно рассмотрена выше в разделе 3.1,
,
полученного прямыми методами, и являюще-
0
гося в этом случае начальным приближением для запуска итераций.
Однако чаще всего итерационные методы используются сами по себе,
когда начальное приближение задается некоторым образом или может
быть вообще произвольным.
В описанной итерационной схеме за один шаг для нахождения следующего приближения
используется только предыдущее
1k
при-
k
ближение, поэтому такие процессы называют одношаговыми. Далее будем считать, что индекс с номером вектора пишется сверху, т. е. вместо
, , ...,
xx
01
k
будем писать
(0) (1) ( )
, , ...,
xx
k
.
В каноническом виде одношаговые процессы, применяемые при решении СЛАУ, принято записывать как
(1) ()
kk
1
k
xx
k
Ax b
()
k
,
(3.51)
где
– невырожденная квадратная матрица размером n × n;
1k
– чис-
k
ленный параметр. Такая запись может быть интерпретирована как
форма приближенного решения системы обыкновенных дифференциальных уравнений (ОДУ). Матрица
и параметр
1k
определяют
k
конкретный итерационный процесс решения СЛАУ в матричной форме,
при этом предполагается, что матрица
1
ществует обратная матрица
. Построение эффективного итераци-
k
1
онного процесса предполагает такой выбор матрицы
параметра
, чтобы сходимость обеспечивалась за минимальное коли-
k
чество итераций при минимальном числе арифметических действий при
вычислении последующего приближения
106
– невырожденная, т. е. су-
1k
и числового
1k
.
1k

Если матрица
B
B
B
x
B
B
B
x
B
x
x
x
x
т. е.
1k
B
и
и параметр
1k
, то метод называется стационарным, а в против-
k
ном случае – нестационарным.
Если
E , то итерационный процесс называется явным. Оче-
1k
видно, что он записывается как
(1) ()
kk
() ,
не зависят от номера итерации,
k
EAx b
kk
(3.52)
Если
E , то это – неявный процесс.
1k
Как следует из (3.51), тогда
(1) ()
kk
Если
угольная матрица, то из (3.53) сразу получается новое приближение
. В противном случае надо обращать матрицу
1k
конструктивно есть нижняя треугольная или верхняя тре-
1k
xBAxb
kkkk
11
().
лучается из (3.53) умножением слева на матрицу
(1) 1 () 1 ()
kkk
где начальный вектор
EBAx BbSx f
11
kk kk
(0)
считается произвольным.
(3.53)
B
k
1k
1
:
1
и тогда
(3.54)
,
1k
по-
Матрица S, равная
1
SE BA
kk
,
(3.55)
1
называется матрицей перехода. Эта матрица используется прежде всего
при изучении вопросов сходимости итерационного процесса, так как
()()k
k
для погрешности решения СЛАУ на k-м шаге
xx
из (3.51)
получаем
(1) ()
kk
xx
BAx
1
k
k
()
k
(3.56)
0,
107

или
x
x
A
x
f
(1) ()
kk
Sx
.
(3.57)
Сходимость итерационного процесса означает, что в какой-нибудь
()
векторной норме
lim 0.
k
k
x
Тогда, как следует из (3.57), для этого
достаточно, чтобы согласованная норма матрицы перехода S была
строго меньше единицы:
.
1S
Так как
– согласованная с векторной нормой матричная норма,
S
то
(1) ()
kk
xSx
.
(3.58)
Далее получается цепочка неравенств
(1) () (1) (0)
kkk
xSxSx Sx
21
... ,
k
(3.59)
показывающая, что согласованная норма матрицы перехода есть коэффициент подавления погрешности приближения итерационного реше-
ния к точному решению СЛАУ. Чем меньше
(1)k
погрешность
Упражнение 3.27. Покажите точно, что из формулы (3.56)
следует выражение (3.57).
x
на каждом шаге итерационного процесса.
Как следует из формул (3.54) и (3.55), для построения итерационного процесса достаточно представить СЛАУ
тем быстрее убывает
,S
xb
в эквивалентном
виде
Sx f
,
(3.60)
где вектор
должен быть известен. Это можно сделать различными
способами, тогда сам итерационный процесс принимает общий вид
108

x
x
A
A
x
f
(1) ()
kk
Sx f
причем вектор
(0)
может быть произвольным.
Вопрос о сходимости итерационного процесса (3.61) к точному
единственному решению СЛАУ
xb
,
(3.61)
разрешается с помощью следу-
ющего утверждения.
xb
Пусть
имеет единственное решение. Итерационная после-
довательность приближенных решений (3.61) сходится к точному ре-
(0)
шению при любом начальном приближении
когда все собственные числа матрицы перехода
тогда и только тогда,
S
по модулю строго
меньше единицы.
В курсе «Линейная алгебра» рассматривалось понятие спектрального радиуса ρ(S) для невырожденной квадратной матрицы S, который
равняется максимальному по модулю собственному значению матрицы.
Другими словами, имеет место следующее утверждение.
Необходимым и достаточным условием сходимости итерационного
процесса (3.61) к точному решению является утверждение о том, чтобы
S
спектральный радиус матрицы перехода
1(.)S
ницы:
был строго меньше еди-
Данная теорема устанавливает фундаментальную важность понятия
спектрального радиуса матрицы перехода в вопросах сходимости итерационных процессов.
Вектор начального приближения СЛАУ может быть выбран из физических модельных соображений, если они известны. Тогда итерационный процесс будет иметь уточняющий характер для этого хорошего
начального приближения. Чаще всего физическая модель не дает такой
полезной информации, поэтому приходится начальное приближение задавать формально. Для этого обычно подходит либо нулевой вектор,
либо вектор
и вектор
b
, равный правой части СЛАУ. Можно также использовать
.
109

Матричная форма записи удобна для теоретических рассмотрений,
A
x
x
x
x
B
A
тогда как для практических применений чаще всего используют более
простую покомпонентную форму.
Рассмотрим теперь примеры таких процессов.
3.6.2. МЕТОД ПРОСТОЙ ИТЕРАЦИИ
В общем виде этот метод может быть использован не только для решения СЛАУ, но и для решения систем нелинейных уравнений на основе принципа сжимающих отображений.
Упражнение 3.28. Поясните суть принципа сжимающих
отображений для функции многих переменных. Приведите
пример его применения.
При решении СЛАУ метод простой итерации имеет следующую интерпретацию. Пусть необходимо решить систему
векторно-матричное уравнение на ненулевой параметр τ > 0 и затем добавим к правой и левой части уравнения вектор
EAxb
().
(3.62)
xb
. Умножим это
. Тогда получим, что
Сравнивая это выражение с формулой (3.60) заключаем, что
(), ,SEAf b
(3.63)
и тогда итерационный процесс простой итерации есть
(3.64)
при любом
(1) ()
kk
()
EAx b
(0)
.
Аналогичный результат получается, если в канонической форме
(3.51) принять, что
E , а k для всех k
1k
. Каноническая форма
при этом записывается как
(1) ()
kk
xx
()
k
xb
.
(3.65)
110
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
