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

Основы научных вычислений. Введение в численные методы для физиков и инженеров

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
2.7. Итерационные методы 61
2.7.5. Вариационно-итерационные методы
Как следует из предыдущего рассмотрения, анализ сходимости ите-
рационного метода предусматривает знание спектрального радиуса ите­рационной матрицы. Однако вычисление или оценка s(B) часто требу­ет неоправданно больших вычислительных затрат. Существуют методы, сходимость которых обеспечивается с помощью специальных парамет­ров, которые, в свою очередь, зависят от приближённого решения. Оче­видно, что осуществление такого подхода приводит к нестационарным итерационным процессам вида (2.14).
Мы рассмотрим итерационные схемы следующего вида:
x
(k+1)
= x
(k)
− τ
(k)
Ax
k
− f,k=0, 1,..., (2.28)
где τ
= Ax
=0— итерационный параметр. Введём вектор невязки r
k
(k)
− f . Используя выражение (2.28), вектор невязки r
занный со следующим приближением, можем выразить через r
(k+1)
Ax
− f =(Ax
= r
Тогда мы можем определить параметр τ
(k+1)
бы r
2была минимальной. Норма вектора невязки r
(k)
(k)
− f) − τkA(Ax
− τkAr
(k)
= r
(k+1)
(k)
− f)=
.
таким образом, что-
k
(k+1)
жается следующим образом:
  
=r
Усл о ви е ϕ
Тогда итерационный параметр τ
2
(k+1)
r
(k)
, r
(τk)=0есть условие минимума функции ϕ(τk),таккак
2
(k)
=r
ϕ
(k+1)
, r
− 2τ
k

(τk)=Ar
(k+1)
(k)
r
τ
k
=
(k)
r
− τkAr
(k)
(k)
+ τ
, Ar
, Ar
(k)
2
Ar
k
 
Ar
=
(k)
. (2.30)
(k)
(k)
, Ar
(k)
, Ar
вычисляется по формуле
k
(k)
r
=
Ar
(k)
(k)
, Ar
(k)
, r
− τkAr
(k)
 
2
> 0.
2
= ϕ(τ
(k+1)
(k)
(k)
) .
k
(k)
,свя-
:
выра-
=
(2.29)
=
62 Глава 2
Итерационная схема (2.28) и (2.30) называется методом минимальных невязок. Проанализируем сходимость этого метода. Если мы подставим выражение (2.30) в (2.29), то получим
  
(k+1)
r
2
=
2
2
(k)
r
2
(k)
r
−
(k)
Ar
, Ar
, Ar
2
(k)
> 0. (2.31)
(k)
Оба слагаемых в правой части выражения (2.31) положительны, следо­вательно,
  
(k+1)
r
2
<
2
2
(k)
r
2
для любой определённой матрицы A,иэтодоказываетсходимостьите­рационной схемы (2.28). Теперь рассмотрим скорость сходимости метода минимальных невязок. Предположим, что матрица A системы (2.1) име­ет следующие свойства:
γ
1
(x, Ax)
x ∈ R
(x, x)
γ
,
2
N
(0 <γ1 γ2< ∞)
и
Тогда r
(k+1)
2= qr
q =
 
(k)
2,где
2
γ
− γ
2
(γ1+ γ2)2+4γ
A − A
2
1
+4γ
T
3
2γ
2
γ
3
.
3
+ γ1γ
2
3
2
< 1.
Если матрица A имеет вещественные собственные значения, то можно положить
γ
=maxnλn(A) и γ1=minnλn(A).
2
П
РИМЕР 2.6 (СКОРОСТЬ СХОДИМОСТИ МЕТОДА МИНИМАЛЬНЫХ НЕВЯ-
ЗОК). Рассмотрим матрицу A из примера 2.2. Эта матрица симметричная
(γ
=0), и
3
γ
=maxnλn(A)=2+√2,γ1=minnλn(A)=2−√2.
2
2.7. Итерационные методы 63
Тогда величина
q =0.5
√
2 ≈ 0.7071,
что говорит о довольно медленной сходимости.
Для SPD-матриц можно также использовать итерационную схе-
му (2.28), только вычислять параметр τ вектора невязки возьмём вектор ошибки e что Ax
∗
= f , из выражения (2.28) получаем
(k+1)
e
= x
= e
(k+1)
(k)
− x∗= x
− τkAe
(k)
(k)
− x∗+ τkAx
.
другим способом. Вместо
k
(k)
= x
(k)
(k)
− x∗.Учитывая,
∗
− x
=
Мы не можем вычислить вектор ошибки, но
(k)
Ae
Таким образом, можно определить параметр τ
чину (e
Усл о ви е ϕ
(k+1)
=e
(k+1)
, Ae
(k+1)
e
, Ae
(k)
(k)
, r
(τk)=0есть условие минимума функции ϕ(τk),таккак
= Ax
(k)
− Ax∗= Ax
(k)
− f = r
(k)
.
, минимизируя вели-
k
).Используявыражение(2.32),получим
(k+1)
− 2τ
ϕ
=
(k)
r
k

(τk)=r
e
, r
(k)
(k)
(k)
− τkr
+ τ
, Ar
(k)
2
k
(k)
(k)
, r
− τkAr
r
(k)
, Ar
(k)
> 0
(k)
= ϕ(τ
=
(2.32)
) .
k
(A есть SPD-матрица). Тогда параметр τ
(k)
τ
r
=
k
(k)
r
Итерационная схема (2.28) с параметром τ
вычисляется по формуле
k
(k)
, r
, Ar
. (2.33)
(k)
, определяемым выражени-
k
ем (2.33), называется методом наискорейшего спуска. По свойствам этот метод близок к методу минимальных невязок.
На основе метода наискорейшего спуска можно построить итераци-
онную схему с более высокой скоростью сходимости. Для этого моди­фицируем выражение (2.28) и запишем его в виде:
(k+1)
x
= x
(k)
− τkd
(k)
,k=0, 1,... , (2.34)
64 Глава 2
(k)
где d уравнений (вектор направления). В методе наискорейшего спуска вектор невязки r
— вектор, который направлен к решению системы линейных
(k)
выбирается в качестве вектора направления, но для многих систем такой выбор оказывается не очень хорошим с точки зрения ско­рости сходимости. Лучшие вектора направления задаются следующими соотношениями:
d
(k)
d
= r
(0)
(k)
= r
+ αkd
(0)
,
(k−1)
,
(2.35)
k =1, 2, ... .
Параметр α
определяется таким образом, чтобы вектора d
k
были ортогональны ((d
α
(k)
k
, Ad
= −
(k−1)
)=0), тогда
(k)
r
(k−1)
d
, Ad
, Ad
(k−1)
(k−1)
(k)
. (2.36)
и Ad
(k−1)
Используятотжесамыйподход,чтоивметоденаискорейше­го спуска, параметр τ (e
(k+1)
, Ae
(k+1)
), что приводит к следующей формуле:
определяем из условия минимума величины
k
, d
, Ad
(k)
. (2.37)
(k)
(k)
τ
k
r
=
(k)
d
Итерационная схема (2.34) вместе с (2.35), (2.36) и (2.37) называется методом сопряжённых градиентов. Ошибка k-го приближения, получа­емого этим методом, подчиняется следующей оценке:
где
, Ae
(k)
 2(q (A))
(k)
e
k
(0)
e
, Ae
(0)
,
maxnλn(A) −minnλn(A)
q (A)=
< 1.
maxnλn(A)+minnλn(A)
Отличительной чертой этого метода является то, что, пренебрегая ошибками округлений, мы получаем r довательно, x
(k)
= x∗. Это значит, что нужно не более чем N итераций,
(k)
=0при некотором k N ,сле-
2.7. Итерационные методы 65
для того чтобы вычислить точное решение. Для больших систем урав­нений это не очень утешительный результат. Тем не менее во многих случаях метод сопряжённых градиентов и его модификации сходятся очень быстро.
Как мы видим, скорость сходимости метода сопряжённых гради­ентов зависит от спектра матрицы коэффициентов системы уравнений. Для того чтобы улучшить сходимость этого итерационного метода, мож­но попытаться преобразовать исходную систему в другую систему, име­ющую то же самое решение и матрица коэффициентов которой имеет более узкий спектр. Такое преобразование осуществляется с помощью специальной матрицы, которая называется предобусловливатель. Хоро­ший предобусловливатель значительно ускоряет сходимость, что более чем компенсирует вычислительные затраты, необходимые для примене­ния преобразования. Например, если матрица P близка к матрице A,то преобразованная система
−1
P
Ax = P−1f
имеет то же решение, что и Ax = f , но собственные значения матри-
−1
цы P
A будут близки к единице (тогда q(P−1A)будетмало).
В качестве простого предобусловливателя можно использовать диа­гональ исходной матрицы коэффициентов:
P = diag(a
, ..., aNN).
11
Преобразование, основанное на таком выборе матрицы P,называет­ся предобусловливанием Якоби. Применение такого предобусловливания осуществляется очень просто, хотя, с другой стороны, применение более сложных процедур обычно даёт лучшие результаты.
ПРИМЕР 2.7 (ПРИМЕНЕНИЕ ПРЕДОБУСЛОВЛИВАНИЯ ЯКОБИ). Рассмот- рим систему уравнений с матрицей коэффициентов
⎛
⎞
210
A =
⎝
141
⎠
.
012
Скорость сходимости метода сопряжённых градиентов для систе­мы Ax = f определяется параметром q(A) ≈ 0.315. После применения предобусловливателя Якоби P =diag(2, 4, 2) кматрицеA мы получим
66 Глава 2
преобразованную матрицу
⎞
⎠
⎛
10.50
⎝
0.25 1 0.25
=
00.51
⎛
−1
P
A =
0.50 0
⎝
00.25 0
000.5
Теперь скорость сходимости метода сопряжённых градиентов для системы P
−1
Ax = P−1f определяется параметром q(P−1A) ≈ 0.128.
⎞⎠⎛
⎝
210 141 012
⎞
⎠
.
Таким образом, достигается значительное ускорение сходимости по срав­нению с исходной системой.
2.8. Какие методы более эффективны: прямые или
итерационные?
Ответить на этот вопрос в общем случае невозможно — это за­висит от конкретной проблемы. Мы можем сделать только некоторые приблизительные оценки. Пусть A является матрицей общего вида. Со­гласно выражению (2.13) необходимо ∼ 2N вычислить следующее приближение к решению. Тогда K итераций по­требуют приблизительно 2KN
2
операций, и, по сравнению с методом LU-разложения, вычислительные затраты для K итераций будут мень- ше, если
3
N
> 2KN2или K<
Пусть теперь A является ленточной матрицей с шириной ленты m и сама лента разрежена, скажем она имеет p ненулевых элементов в строке. В этой ситуации затраты для метода LU-разложения составля-
2
ют m
N операций, в то время как затраты для K итераций составляют
приблизительно 2pKN операций. Поэтому итерационные методы долж­ны сходиться меньше чем за m
2
/2p итераций, для того чтобы быть более эффективными. Например, для матриц, возникающих при решении урав­нений в частных производных, m приблизительно равно N Число уравнений в задачах этого типа может лежать в пределах от 10 до 106. Следовательно, можно заключить, что итерационные методы бо­лее эффективны при решении больших систем линейных уравнений.
2
операций, для того чтобы
1
N.
2
1/2
и p 5.
2
ГЛАВА 3
Вычисление собственных значений
ивекторов
Список обозначений
A = {a
} — матрица (заглавные буквы, жирный шрифт)
nm
x — вектор (строчные буквы, жирный шрифт)
N — размер матрицы или вектора
· — норма вектора или матрицы
T
T
A
, x
(x, y)=x
T
y — скалярное произведение векторов x и y
— транспонированная матрица или вектор
det(A) — определитель матрицы I — единичная матрица (I =diag(1,...,1))
−1
A z
n
(A) — n-е собственное значение матрицы A
λ
n
ε
p
— обратная матрица (A−1A = I) — n-й собственный вектор
— требуемая точность вычисления
приближенного решения
(k)
x
— k-е приближение к собственному вектору
ρ(x)=(x, Ax)/(x, x) — отношение Рэлея для матрицы A
r(x)=Ax − ρ(x)x — вектор невязки для задачи на собственное
значение
Необходимость определения собственных значений квадратной мат­рицы возникает при решении различных научных и инженерных задач. В качестве примера можно привести такие проблемы, как вибрация кон­струкций, уровни энергии в квантовых системах, колебательные дви­жения молекул, решение и анализ систем линейных дифференциальных уравнений. Задача на собственное значение является нелинейной за­дачей, поэтому вычисление собственных значений и векторов возможно лишь на основе той или иной итерационной процедуры. В этой главе рас­сматриваются два основных подхода для решения задачи на собственное
68 Глава 3
значение: степенной метод и QR-метод. Мы ограничимся рассмотрени­ем собственных значений вещественных матриц, хотя аналогичные под­ходы применимы и к комплексным матрицам. Вначале мы рассмотрим основные определения из линейной алгебры, относящиеся к задаче на собственное значение.
3.1. Основные сведения из линейной алгебры,
относящиеся к задаче на собственное значение
Общие сведения из линейной алгебры представлены в параграфе 2.1. Здесь мы рассмотрим некоторые специфические определения, касающи­еся задачи на собственное значение. В общем случае, эта задача форму­лируется в виде
Az
= λnMzn,n=1,...,N,
n
где A и M — квадратные матрицы размером N на N ипара(λ собственное значение и соответствующий собственный вектор. В част­ности, такая проблема возникает при анализе вибрации конструкций. Мы ограничимся рассмотрением более простой проблемы (стандартная задача на собственное значение):
Az
= λnzn,n=1,...,N. (3.1)
n
Матрица A имеет N собственных значений (набор всех значе­ний называется спектром матрицы A), и они определяются как кор­ни характеристического полинома det(A − λI). Собственные вектора z (n =1,...,N) образуют систему ортонормированных векторов:
(z
n
, zm)=
1,n= m, 0,n= m.
, zn)есть
n
n
В общем случае, матрица A имеет комплексные собственные зна­чения. Только матрицы, обладающие специальными свойствами, имеют только вещественные собственные значения. Такие матрицы называются Эрмитовыми. Пусть символ «H» обозначает последовательное примене­ние двух операций: комплексного сопряжения и транспонирования, тогда матрица A является Эрмитовой, если A = A
H
. Вещественная симмет-
ричная матрица есть частный случай Эрмитовой матрицы.
В дальнейшем, для определённости, мы будем нумеровать собствен­ные значения следующим образом:
|λ
| |λ2|  ...  |λ
1
N−1
| |λN|.
3.2. Локализация собственных значений 69
Это значит, что λ1— минимальное по модулю собственное значение,
— максимальное по модулю собственное значение.
а λ
N
Отношение Рэлея для симметричной матрицы A определяется как
ρ(x)=
(x, Ax)
(x, x)
для любого вектора x = o. Оно имеет очень полезные свойства, а именно
1) λ
ρ(x) λNдля всех ненулевых векторов x ∈ RN;
1
2) если x = z
,тогдаρ(x)=λN;
n
3) на основе предыдущего свойства вектор невязки для задачи на соб­ственное значение может быть определён как
r(x)=Ax − ρ(x)x,
и неравенство r(x)Ax−αxсправедливо для любого числа α. Следовательно, если вектор x есть некоторое приближение к z то ρ(x) есть наилучшее приближение к λ
.
n
n
3.2. Локализация собственных значений
Информация о расположении собственных значений на комплекс-
ной плоскости может быть получена без особых вычислительных затрат. Один из простых методов локализации собственных значений основан на следующей теореме.
Теорема 3.1 (Гершгорин). Любое собственное значение матри-
цы A = {a
} лежит, по крайней мере, в одном из кругов
nm
⎧ ⎪
⎨
G
=
λ : |λ −ann|
n
⎪
⎩
N
|anm| = sum
m=1 m=n
⎫ ⎪
⎬
. (3.2)
n
⎪
⎭
,
Множество G
, определяемое выражением (3.2), называется n-м
n
кругом Гершгорина матрицы A. Когда собственные значения веществен­ны, тогда круги Гершгорина это — просто интервалы. Если n кругов
70 Глава 3
образуют область G, изолированную от других кругов, тогда G содер­жит точно n собственных значений матрицы A. Объединение всех кру­гов Гершгорина содержит все собственные значения матрицы A.Иногда возможно выделить круг, который содержит единственное собственное значение. Это возможно для матриц, имеющих специальные свойства, а именно: если при некотором значении n для всех k =1,...,N (k = n) справедливы неравенства
|a
− ann| <sumk+ sumn, (3.3)
kk
то круг Гершгорина |λ−a
| sumnсодержит единственное собственное
nn
значение.
РИМЕР 3.1 (ЛОКАЛИЗАЦИЯ СОБСТВЕННЫХ ЗНАЧЕНИЙ). Рассмотрим ве-
П
щественную симметричную матрицу
⎛
⎞
110
A =
⎝
151
⎠
,
011
тогда sum
=1, sum2=2, sum3=1. Согласно (3.2) собственные зна-
1
чения матрицы A лежат в интервалах [0, 2], [3, 7] и [0, 2].Условие(3.3) выполняется при n =2, следовательно, интервал [3, 7] содержит един- ственное собственное значение, а два других значения лежат в ин­тервале [0, 2]. Действительно, эта матрица имеет собственные значе­ния 0.5505, 1 и 5.4495 с точностью до четырех знаков.
3.3. Степенной метод
Степенной метод используется, в основном, для вычисления домини-
рующего собственного значения и соответствующего ему собственного вектора. Он не является универсальным методом, но может быть поле­зен в ряде ситуаций, например в случае больших разреженных матриц. В дополнение, схема этого метода демонстрирует некоторые важные ас­пекты вычисления собственных значений.
Степенной метод является итерационным процессом для нахожде-
ния собственных векторов матрицы A. Вначале проведём некоторый предварительный анализ. Возьмём произвольный начальный вектор x Предположим, что все собственные значения различны по абсолютной
(0)
.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]