
- •Аннотация
- •Abstract
- •Глава 1. Проекционные методы решения слау 8
- •Глава 2. Перезапускаемый метод gmres 20
- •Глава 3. Разработка параллельной модификации метода gmres 28
- •Глава 4. Исследование параллельной модификации перезапускаемого gmres 47
- •Введение
- •Глава 1. Проекционные методы решения слау
- •1.1. Принцип построения проекционных методов
- •1.2. Методы подпространства Крылова
- •1.2.1. Метод полной ортогонализации
- •1.2.2. Метод сопряженных градиентов
- •1.2.3. Метод минимальных невязок
- •1.2.3. Метод обобщенных минимальных невязок
- •1.3. Сравнение проекционных методов
- •1.4. Постановка задачи магистерской диссертации
- •1.5. Выводы по главе 1
- •Глава 2. Перезапускаемый методGmres
- •2.1. Ортогонализация Арнольди
- •2.2. Метод вращений Гивенса
- •2.3. Декомпозиция алгоритмаGmres
- •2.4. Предобуславливание в методеGmres
- •2.5. Выводы по главе 2
- •Глава 3. Разработка параллельной модификации методаGmres
- •3.1. Основные классы параллельных вычислительных систем
- •3.2. Классификация моделей параллельного программирования
- •3.3. Формат хранения разреженных матриц
- •3.4. Разделение данных
- •3.5. Исследование обменных взаимодействий в модели передачи сообщений
- •3.6. Особенности параллельной модификации методаGmres
- •3.6.1. Распределение данных по исполнителям
- •3.6.2. Выполнение параллельных операций
- •3.6.3. Объединение результатов расчетов
- •3.7. Теоретическая оценка трудоемкости
- •3.8. Выводы по главе 3
- •Глава 4. Исследование параллельной модификации перезапускаемогоGmres
- •4.1. Задача аэродинамического обтекания профиля
- •4.2. Исследование эффективности параллельной модификации перезапускаемогоGmres
- •4.3. Выводы по главе 4
- •Заключение
- •Список литературы
- •Приложение
Глава 1. Проекционные методы решения слау
Применение численных методов в научно-технических задачах становятся неотъемлемой частью современных технологических решений. Существует множество областей исследований, где использование аппарата вычислительного эксперимента является единственным способом решения задачи. Моделирование все более сложных процессов в различных областях науки и техники стало стандартным подходом. Моделирование, как правило, подразумевает решение дифференциальных уравнений, сводящееся на практике, чаще всего, к решению СЛАУ.
Наиболее привлекательными для решения современных СЛАУ оказались итерационные методы. Большинство из них сводится к проведению своего итерационного процесса над некоторым приближением к решению. Если метод сходится для взятых системы и начального приближения, то с каждой новой итерацией получаемое решение ближе к точному. Итерационный процесс проводится до тех пор, пока решение, полученное на очередной итерации, не будет удовлетворять некоторому критерию точности. Общий недостаток итерационных методов – зависимость от начального приближения. Из-за этой зависимости, вообще говоря, нет гарантии, что метод сойдется (достигнет достаточно близкого к точному решение) за конечное число шагов. Однако для многих итерационных методов доказано, что они сходятся при любом начальном приближении к точному решению при выполнении определенных условий.
За последние 30 лет итерационные методы существенно преобразились – появились методы, которые позволяют решать системы с несимметричными матрицами, используют эффективное распараллеливание матрично-векторных умножений и строятся на основе проектирования в подпространствах Крылова. Они не требуют нахождения оптимальных итерационных параметров и обязательной априорной информации о спектре исходной матрицы. Созданные в начале XXв. классические итерационные методы работают с ними, выполняя роль переобуславливателей для вариационных методов [5].
В данной главе рассматривается задача решения СЛАУ
(1.1)
с
квадратной невырожденной матрицей
и ненулевым векторомbразмерностиn,
составленными из действительных
коэффициентов. В силу невырожденности
матрицы у системы (1.1) существует
единственное точное решение
.
Невязкой системы (1.1) называется вектор
.
Под решением СЛАУ (1.1) с точностью
в данной работе понимается нахождение
вектораxтакого, что
.
1.1. Принцип построения проекционных методов
Пусть
заданы два подпространства
и
.
Требуется найти такой вектор
,
который обеспечивал бы решение исходной
системы, оптимальное относительно
подпространстваL,
т.е. чтобы выполнялось условие
Петрова-Галеркина:
(1.2)
Сгруппировав
обе части равенства по свойствам
скалярного произведения и заметив, что
,
условие (1.2) может быть переписано в виде
, (1.3)
т.е.
.
Такая задача называется задачей
проектирования решенияxна подпространствоKортогонально к подпространствуL.
В
более общей постановке задача выглядит
следующим образом. Для исходной системы
(1.1) известно некоторое приближение
к решению
.
Требуется уточнить его поправкой
таким образом, чтобы
.
Условие Петрова-Галеркина в этом случае
можно записать в виде
.
Пусть
.
Введем в подпространствахKиLбазисы
и
соответственно. Тогда условие
Петрова-Галеркина (1.3) выполняется тогда
и только тогда, когда
(1.4)
При
введении матричных обозначений для
базисов
и
можно записать
,
где
– вектор коэффициентов. Тогда (1.4) можно
записать в виде
, (1.5)
откуда
и
. (1.6)
Таким образом, решение должно уточняться в соответствии с формулой
, (1.7)
из
которой вытекает важное требование: в
практических реализациях проекционных
методов подпространства KиLи их базисы должны
выбираться так, чтобы матрицабыла либо малой размерности, либо имела
простую структуру, удобную для обращения.
Из (1.5) также вытекает соотношение
,
т.е.
представляет собой проекцию на
подпространствоKразности между точным решением и
начальным приближением.
Пусть
имеется набор пар подпространств
таких, что
и
.
Тогда последовательное применение
описанного процесса ко всем таким парам
приведет к решению
,
удовлетворяющему исходной системе
(1.1). Соответственно, в общем случае
алгоритм любого метода проекционного
класса может быть записан следующим
образом [6]:
Начало
Выбор пары подпространств KиL
Построение для KиLбазисовVиW
Продолжать до достижения сходимости
При построении и реализации проекционных методов важную роль играют так называемые подпространства Крылова, часто выбираемые в качестве подпространства K. Подпространством Крылова размерностиm, порожденным векторомvи матрицейA, называется линейное пространство
.
В
качестве вектора vобычно выбирается невязка начального
приближения,
тогда выбор подпространстваLи способ построения базисов подпространств
полностью определяет вычислительную
схему метода.
Проекционные методы, которые в качестве Kиспользуют подпространство Крылова, называются методами подпространства Крылова и относятся к классу вариационных методов.
Существуют три основных подхода к выбору подпространства L. Используя каждый из этих подходов можно условно разделить методы подпространства Крылова на три большие группы:
выбор
приводит к методам, для которых невязка ортогональна текущему подпространству Крылова;
выбор
– к методам, в которых минимизируется невязка;
если построить
, то мы получаем методы, для которых невязка ортогональна подпространству Крылова транспонированной матрицы.