Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы научных вычислений. Введение в численные методы для физиков и инженеров
.pdf
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∗+ τkAx
.
другим способом. Вместо
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)
.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
