Научная статья на тему 'Эффективность многосеточного метода с полуукрупнением в качестве сглаживающей итерации'

Эффективность многосеточного метода с полуукрупнением в качестве сглаживающей итерации Текст научной статьи по специальности «Математика»

CC BY
150
27
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МНОГОСЕТОЧНЫЙ МЕТОД / СЕТКИ С ПОЛУУКРУПНЕНИЕМ / СИСТЕМЫ ЛИНЕЙНЫХ УРАВНЕНИЙ / СГЛАЖИВАЮЩИЕ ИТЕРАЦИИ.

Аннотация научной статьи по математике, автор научной работы — Белякова Ольга Владиславовна

Для решения систем линейных уравнений с блочнотрехдиагональной матрицей исследована эффективность применения многосеточного метода с полуукрупнением в качестве сглаживающей итерации. Представлены численные результаты исследования

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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

Текст научной работы на тему «Эффективность многосеточного метода с полуукрупнением в качестве сглаживающей итерации»

УДК 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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

сти МСМ'зс ( на к-й итерации.

Таблица 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]

i Надоели баннеры? Вы всегда можете отключить рекламу.