Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы математического моделирования в микроэлектронике. Модели в форме СЛАУ. Учебное пособие

.pdf
Скачиваний:
1
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]