УДК 519.615.5
52
О. В. Белякова
ЭФФЕКТИВНОСТЬ МНОГОСЕТОЧНОГО МЕТОДА С ПОЛУУКРУПНЕНИЕМ В КАЧЕСТВЕ СГЛАЖИВАЮЩЕЙ ИТЕРАЦИИ
Для решения систем линейных уравнений с блочнотрехдиагональной матрицей исследована эффективность применения многосеточного метода с полуукрупнением в качестве сглаживающей итерации. Представлены численные результаты исследования.
For solving systems of linear equations with block tridiagonal matrices there is considered an efficiency of multi-grid method with semi-coarse as smoothing iteration. Numerical results are presented.
Ключевые слова: многосеточный метод, сетки с полуукрупнением, системы линейных уравнений, сглаживающие итерации.
Key words: multi-grid method, semi-coarse grids, systems of linear equation, smoothing iterations.system of linear equations, block-tridiagonal matrix, method of cyclic reduction.
Введение
Численное решение краевых задач для двумерных эллиптических уравнений конечно-разностным методом, или методом Галеркина, приводит к необходимости решать системы линейных алгебраических уравнений с блочнотрехдиагональной матрицей
Au = f, (1)
A = blocktridiag (Li, Di, Ri), Li, Di, Ri с ^mxm, i = 1,...,n. (2)
Как известно (например, [1] — [4]), эффективным итерационным методом решения задачи (1) — (2) является многосеточный метод (MGM, MultiGrid Method). Эта эффективность связана с тем, что скорость сходимости MGM не зависит от количества неизвестных в системе.
В работе [5] для численного решения задачи Дирихле двумерного уравнения диффузии описан и исследован MGM с полуукрупнением сетки MGMXSC (SC — semi-coarse grids, укрупнение сетки в два раза выполнялось только по одному измерению x). В рассмотренном варианте многосеточного метода в качестве сглаживающих итераций применялся блочный метод Гаусса — Зейделя zebra-line. Доказано, что для случая
© О. В. Белякова, 2015
Вестник Балтийского федерального университета им. И. Канта. 2015. Вып. 10. С. 52 -57.
постоянных коэффициентов в дифференциальном уравнении такой выбор сглаживающих итераций позволяет оценить константой двухсе-точные параметры а,, р, в оценке оператора перехода MGMXSC :
MMGM'SC < ^ , ,,. р,), а, < cu < 1, .р, < cD < 1, cu + cD < 2. (3)
A 1<,< max level-1
Здесь maxlevel обозначает общее количество используемых сеток при поиске решения на сетке с номером , = 1, с помощью а, учитывается влияние сглаживающих итераций при переходе с мелкой сетки на крупную, р, — при переходе с крупной на мелкую. Итак, сам оператор
MGMSxC оценивается некоторой константой, меньшей единицы.
В данной работе для численного решения системы (1) — (2) c симметричной положительно определенной матрицей исследуется эффективность применения в качестве сглаживающих итераций многосеточного метода с полуукрупнением по второму измерению MGMysC. Поскольку многосеточный метод трудоемкий, то рассматривались случаи сглаживающих итераций MGMysC только на «подъеме», то есть при переходе с самой крупной сетки на самую мелкую сетку.
1. Описание многосеточного метода с полуукрупнением и многосеточными сглаживающими итерациями
Пусть решается система (1), в которой A = blocktridiag (Li_1, Di, Li), Di, Li e Ш"'x"', A e Ш"Х"Х"Х", A > 0. (4) Векторы u и f рассматриваются как блочные вектор-столбцы из Ш"Х "": f = (Fi, F2,^,Fnx)T, u = (Ui, U2,^, U)T, F, U, e Ш", i = 1,...,nx.
Для решения системы (1), (4) многосеточный метод MGMXSC использует последовательность систем A, u, = f, , ,x = 1,..., kx, в каждой из которых количество блоков Ui еШ"у, i = 1, ...,"Х неизвестного вектора u,
уменьшается, но их размерность остается неизменной; порядок перехода от одной системы к другой соответствует схеме V-цикла. Матрицы Aj вспомогательных систем строятся рекуррентно, при , = 1 A, совпадает с матрицей заданной системы. A,+1 вычисляется по выбранному правилу, например, методом Галеркина или методом исключения строк в системе A, (см.: [6]):
A ,+1 = reduce(A,). (5)
В результате получается матрица той же структуры, которую имеет исходная матрица A,+1 = blocktridiag (L(ii+11), D(i,+1), L'+1)).
Многосеточный метод MGMSyC полностью аналогичен MGMSxC , но применяется к системе с другим порядком уравнений:
A = blocktridiag (Li_1, Di, Li), Di, Li e Ш""x"", A e Ш"У "Хx"y "x, A >0 (4')
53
54
Обозначим через mU количество сглаживающих итераций после перехода с крупной сетки на следующую более мелкую (при «подъеме»), mD — количество сглаживающих итераций перед переходом с мелкой сетки на следующую более крупную (при «спуске»). Итерацию MGMSC удобно описать с помощью псевдокода следующим образом:
1 ly=1;
2 for lx =1 to kx - 1 do
3 BlockGS_x (lx, ly, m D ); {сглаживающие итерации Гаусса - Зейделя}
5 Coarse_f_x (lx, ly); {отображение правой части системы на сетку (lx + 1)}
6 endfor;
7 lx = kx; { kx - номер самой грубой сетки}
8 SolveInLine_x (lx, ly); {точное решение системы }
9 While lx > 1 do
10 Plolongation_x (lx, ly); { продолжение решения на сетку (lx - 1) }
11 lx = lx - 1;
12 BlockGS_x (lx, ly, m и);
13 endwhile
Обозначим описанный алгоритм MGM1C (mU, mD). Через MGM,
i1 . ^
2
обозначим алгоритм, полученный из MGMSC ( ти, mD) заменой оператора сглаживающей итерации на «подъеме» в строке 12 оператором:
if lx=1 then MGMyc (lx, mU, mD) else BlockGS_x (lx, ly, mU ),
который приведет к тому, что только на самой мелкой сетке будет выполняться многосеточная сглаживающая итерация, а на других — сглаживающие итерации блочного метода Гаусса — Зейделя.
Через MGM3SC ( ти, mD) обозначим алгоритм, полученный из алгоритма MGM\C( ти, mD) заменой оператора сглаживающей итерации на «подъеме» в строке 12 оператором
if lx<>1 then MGMyC (lx, mU, mD) else BlockGS_x (lx, ly, m и),
который приведет к тому, что на всех сетках, кроме самой мелкой, будет выполняться многосеточная сглаживающая итерация, а на самой мелкой — сглаживающие итерации блочного метода Гаусса — Зейделя.
Обозначим через MGMSC ( ти, mD) алгоритм, который получается из MGMSC( ти, mD) заменой оператора в строке 12 оператором MGMSC (lx, mU, mD); на всех сетках в качестве сглаживающей итерации будет использоваться многосеточная итерация с полуукрупнением.
Оценим далее стоимость каждого из описанных алгоритмов.
2. Оценка вычислительной сложности алгоритмов
Оценим и сравним количество арифметических операций, необходимых для выполнения каждой из итераций MGMkSC, k = 1,2,3,4. Элементы матриц вспомогательных систем вычисляются один раз, поэтому не будем включать эти вычисления в общий объем работы.
Обозначим через CGSnxny количество операций на выполнение сглаживающей итерации блочным методом Гаусса — Зейделя для при-
ближенного решения системы размером пхпу, Сс;5 — положительная
п
константа, не зависящая от пх,пу; через С3 "2~пу — количество операций на выполнение отображения правой части системы и операции
пж /->3
продолжения на сетку размером пу. С в силу простоты операторов
Coarse_f_x и Plolongation_x примерно соответствует константе при оценке количества действий для одной итерации Зейделя (С3 << Сс;5). Подсчитаем число арифметических операций, необходимых для выполнения МСМ\С ( mU, тв) (стоимость одной итерации).
При «спуске» выполняются арифметические действия в количестве
т0Сс\пу (1+1 +...++ С\пу (1 + ...+А.)и пхпу (2твС°5 + С3) (6)
(последняя вспомогательная система решается точно прогонкой).
1 1
„ т—т +... + — -х2*' -1 2
действий. При выполнении одной итерации МСМ\С ( ши, тв) требуется примерно пхпу ((2тв + 2ти )СС3 + С3) действий.
В силу определений на «спуске» в МОМ£С, к = 2, 3,4 затрачивается такое же количество операций (6), что и в МСМ\С ( ши, тв). На «подъеме» в них выполняется следующее количество действий:
мсм1с( Ши,тв): тСч^-^+...+2)+пжпу((2ти + 2тв)С3 + С3) я! . ,
21 2 г! (п - Г)!
МСМЗс ( Ши, тв): п^С^пл + пп ((2пи + 2тв )СС3 + С3 Х^г +...+
При «подъеме» выполняется тиСС3пхпу( к -т +... +---+1) и 2тиСС3пхпу
&( Ши,тв): тиСс\пу + пхпу((2яи + 2тв)СС3 + С3Х-^ ... ^
2у 2
4( Ши,тв): пп((2ти + 2тв)СС3 + С3Х-^- +...+2 +1).
2 у 2
Упростим данные выражения и объединим результаты в таблице 1. Из этой таблицы видно, насколько МСМ|С( ши,тв) «дороже» других итераций. Ввиду оценки (3) определения многосеточных итераций МСМкС( ши, тв), к = 1,2,3,4 и оценок их стоимости представляется ра-
3 1
зумным исследовать эффективность методов МСМ\С ( к = 1,2,4.
Таблица 1
Стоимость многосеточных итераций МОМ^С (ти, тв), N = пхпу
55
Название итерации Стоимость итерации ти = тв = т 3 1 ти = 2, тв = 2
МСМ1с N • ((2тв + 2ти )СС3 + С3) N • (4тСС3 + С3) N • (4СС3 + С3)
МСМ1С N • ((4тв + 3ти )СС3 + 2С3) N • (7тСС3 + 2С3) N • (6,5СС3 + 2С3)
МСМ1с N • ((4тв + 3ти )СС3 + 2С3). N • (7тСС3 + 2С3) N • (6,5СС3 + 2С3)
МСМ4с N • ((6тв + 4ти )СС3 + 3С3) N • (10тСС3 + 3С3) N • (9СС3 + 3С3)
3. Численные результаты
В [7] показано, что наибольшую трудность в решении задачи (1), (4) методом МСМ\С ( ши, тО) при различных способах построения матриц вспомогательных систем вызывают случаи, соответствующие дифференциальному уравнению с быстро меняющимися коэффициентами:
-X[(р(X, у)((<?(X, у)X^ = -/, (X, у) 6 О = (0; 1)X(0;1) (7)
56 Будем предполагать, что в системе (1), (4) пх = пу = п матрицы вспо-
могательных систем строятся по правилу (5), оператор продолжения
соответствует шаблону р =
1 1 1 2 2
. Введем следующие обозначения:
||г(к 1 = (2 $>|, Vк =||г(к^/Цг(к-1)||, р = Нш ,
где г(к) — невязка после к-й многосеточной итерации. Значение скорости сходимости р вычислялось в момент, когда первоначальная невязка уменьшилась не менее, чем в 1010 раз; VI, ] = 1,2,4, — скорость сходимо-3 1
сти МСМ'зс ( на к-й итерации.
Таблица 2
■ 3 1.
Скорость сходимости и количество итераций МОМ'5С■ = 1,2,4, в зависимости от коэффициентов системы и мелкости сетки
p(x,у), x, у) п 64 512 1024
р(х, у) = 1 <?(x, у) = 1 VI (к) 0,0838 (9) 0,0876 (9) 0,0879 (9)
vt2 (к) 0,0005 (4) 0,0004 (4) 0,0004 (4)
V*4 (к) 0,0005 (4) 0,0004 (4) 0,0004 (4)
р( х, у) = 1 - е- ху q(x, у) =1 + + 0,8 в1п(14ях) вт(14яу) VI (к) 0,1106 (11) 0,1193 (11) 0,1193 (11)
Vk2 (к) 0,0093 (6) 0,0114 (6) 0,0114 (6)
Vk4 (к) 0,0040 (5) 0,0041 (5) 0,0043 (5)
р(x, у) =1 + + 0,8 siп(14яx) э1п(14яу) q( x, у) = 1 - е-ху VI (к) 0,1763 (13) 0,1998 (14) 0,2001 (14)
V2, (к) 0,0128 (6) 0,0153 (6) 0,0154 (6)
Vk4 (к) 0,0043 (5) 0,0006 (4) 0,0004 (4)
3 1 3 1
Из таблицы 2 очевидно преимущество МСМ2Х("^^ МСМ^С
3 1
по скорости сходимости в сравнении с МСМ\С("2",Используя еще
результаты из таблицы 1, можно оценить объем работы каждым мето-
дом для уменьшения первоначальной невязки не менее, чем в 1010 раз.
Таблица 3
■ 3 1.
Количество арифметических действий методами МиМС^,-^), ■ = 1,2,4, для уменьшения первоначальной невязки не менее чем в 1010 раз
p( x, y ), q( x, y) MGM Количество арифметических действий
p(x, y) = 1 q(x y) =1 MGM\C N' (36CGS + 9CS)
MGM]C N' (26CGS + 8CS)
MGM4SC N' (36CGS + 12CS)
p( x, y) = 1 - e"x' y q( x, y) =1 + + 0,8 sin(14rcx) sin(14rcy) MGMlC N' (44CGS + 11CS)
MGM2C N' (39CGS + 12CS)
MGM4SC N' (45CGS + 15CS)
p( x, y) =1 + + 0,8 sin(14rcx) sin(14rcy) q( x, y) = 1 - e-x' MGMlC N' (56CGS + 14CS)
MGM]C N' (39CGS + 12CS)
MGM4sc N' (36CGS + 12CS)
57
Видно, что MGMS;C в любом случае экономичнее MGM1SC и во многих — MGM4C. Метод MGM4C наиболее экономичен, но только в отдельных случаях экономичнее MGMjC и не дает преимуществ в большинстве случаев выбора коэффициентов p(x, y), q(x, y) в уравнении (7).
Список литературы
1. Mandel J., McCormick S., Ruge J. An algebraic theory for the multi-grid method including V-cycle // SIAM J. Numer. Anal. 1983. Vol. 20.
2. Hackbusch W. Multi-Grid Method and Applications. Springer, 1985.
3. Maitre J.-F., Musy F. Multigrid Methods for Symmetric Variational Problems: A General Theory and Convergence Estimates for Usual Smoothers // Appl. Math. and Comp. 1987. Vol. 21.
4. Ольшанский М. А. Лекции и упражнения по многосеточным методам. М., 2005.
5. Белякова О. В., Буздин А. А. Многосеточный метод с полуукрупнением для решения систем с блочной трехдиагональной матрицей // Методы вычислений. 2005. № 21. С. 5—19.
6. Буздин А. А., Дедух С. С. Вариант .многосеточного метода с полуукрупнением сетки / / Вестник Российского государственного университета им. И. Канта. 2009. Вып. 10. С. 74 — 81.
7. Белякова О. В. Вариант многосеточного метода с полуукрупнением // Вестник Балтийского федерального университета им. И. Канта. 2012. Вып. 10. С. 102 — 109.
Об авторе
Ольга Владиславовна Белякова — канд. физ.-мат. наук, доц., Балтийский федеральный университет им. И. Канта, Калининград.
E-mail: [email protected]
About the author
Dr Olga Belyakova — Ass. Prof., I. Kant Baltic Federal University, Kaliningrad. E-mail: [email protected]