Распараллеливание построения среднеквадратических приближений сплайнами восьмого порядка аппроксимации Полуянов С.В.

Презентация:



Advertisements
Похожие презентации
Численные методы линейной алгебры. Методы решений нелинейных уравнений и систем. Лекция 3:
Advertisements

Л АБОРАТОРНАЯ РАБОТА 4 Тема: Численное дифференцирование Тема: Численное дифференцирование.
Матрица Гильберта при размерности n много большей 1 метод Гаусса не эффективен.
ВВЕДЕНИЕ В ВЫЧИСЛИТЕЛЬНУЮ МАТЕМАТИКУ Лекция 5 6 октября 2009 ВЫЧИСЛИТЕЛЬНАЯ ЛИНЕЙНАЯ АЛГЕБРА.
Решение задачи диффузии, зависящей от времени. Рассмотрим простейшее уравнение в частных производных параболического типа, описывающее процесс диффузии.
УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ - УПИ ИННОВАЦИОННАЯ ОБРАЗОВАТЕЛЬНАЯ ПРОГРАММА.
Глава 2 МЕТОДЫ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ 2.1. Общая характеристика методов решения систем линейных уравнений.
ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ. Задача Коши. (продолжение)
НЕЛИНЕЙНЫЕ УРАВНЕНИЯ § 1. Уравнения с одним неизвестным.
Л АБОРАТОРНАЯ РАБОТА 6 Тема: Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений.
Методы численного интегрирования Выполнили: ст. гр. 2Б15: Забродько П. О Золоторёв Р. Н Руководитель: Тарбокова Т. В.
Нелинейные уравнения (продолжение) 2. Метод хорд. Процесс итераций состоит в том, что в качестве приближений корню уравнения принимаются значения точек.
УРАВНЕНИЯ С ЧАСТНЫМИ ПРОИЗВОДНЫМИ. Рассмотрим уравнение вида: Здесь - искомая функция.
Лобанов Алексей Иванович Основы вычислительной математики Лекция 1 8 сентября 2009 года.
Учебный курс Основы вычислительной математики Лекция 1 доктор физико-математических наук, профессор Лобанов Алексей Иванович.
Л АБОРАТОРНАЯ РАБОТА 7 Тема: Решение граничных задач для обыкновенных дифференциальных уравнений Тема: Решение граничных задач для обыкновенных дифференциальных.
ПРИБЛИЖЁННОЕ ВЫЧИСЛЕНИЕ ОПРЕДЕЛЁННОГО ИНТЕГРАЛА ПО ФОРМУЛАМ ПРЯМОУГОЛЬНИКОВ И ТРАПЕЦИЙ. ОЦЕНКА ПОГРЕШНОСТИ ВЫЧИСЛЕНИЙ. Мелков Владислав, 2Л21.
Метод Гаусса Выполнил Межов В.С. Группа СБ
Л АБОРАТОРНАЯ РАБОТА 3 Тема: Интерполирование функций.
Численное дифференцирование. Численное интегрирование. Лекция 2:
Транксрипт:

Распараллеливание построения среднеквадратических приближений сплайнами восьмого порядка аппроксимации Полуянов С.В.

Введение Пусть функция f задана на промежутке [a, b] с погрешностями. Будем строить среднеквадратическое приближение третьей высоты, что позволит сгладить функцию и её производные вплоть до третьей.

Введение Приближение ищется из условия На промежутке [a, b] построим равномерную сетку узлов с шагом h: Тогда приближение задаётся по формуле: Коэффициенты находятся из условия

Введение Для нахождения коэффициентов необходимо решить систему MC=F, где

Построение базисных сплайнов Приближение на промежутке строится по формуле: Предположим, что носитель базисных сплайнов. Базисные сплайны найдём из условия для.

Построение базисных сплайнов Получаем систему уравнений.

Построение базисных сплайнов Решая систему, находим формулы базисных сплайнов.

Графики базисных сплайнов

Построение системы линейных алгебраических уравнений Строим среднеквадратическое приближение по формуле Для нахождения коэффициентов приходим к системе MC=F. M – матрица грамма, симметрична и положительно определена.

Построение матрицы Матрица M состоит из 16 блоков Каждый блок трёхдиагонален и имеет следующий вид:

Построение матрицы Элементы блока вычисляются по формулам: Положив h=1/N, вычислим элементы матрицы.

Построение матрицы Схематично матрица M имеет следующий вид: Матрица M[100x100], чёрным цветом обозначены ненулевые элементы

Вычисление правой части Правая часть имеет вид Каждый из векторов Его элементы определяются по формулам:

Вычисление правой части Для нахождения элементов F вычислим соответствующие интегралы, используя составную формулу Симпсона численного интегрирования. Разбивая отрезок интегрирования [a,b] на N равных частей, обозначим h=1/N и вычислим интегралы по формуле: где Погрешность интегрирования определяется по формуле:

Решение системы линейных алгебраических уравнений Для решения системы MC=F будем использовать одношаговый циклический процесс, также известный, как итерационный метод Зейделя. Суть его заключается в том, что в j-ом уравнении в правую часть переносятся все члены, содержащие c[j], j>i:

Решение системы линейных алгебраических уравнений Обозначим за D - матрицу, у которой на главной диагонали стоят соответствующие элементы матрицы M, а все остальные нули; матрицы U и L содержат верхнюю и нижнюю треугольные части M:

Решение системы линейных алгебраических уравнений После выбора начального приближения, процесс строится по формуле: Формулу можно привести к каноническому виду последовательных приближений : Из этой записи видно, что метод Зейделя является модификацией метода Якоби, в котором каждая итерация имеет вид C=BC+G. Отличие заключается в том, что новые значения используются сразу по мере получения, в отличие от простого итерационного процесса, в котором они используются только на следующей итерации.

Решение системы линейных алгебраических уравнений Итак, i-я компонента (k+1)-го приближения строится по формуле: Известно, что метод Зейделя сходится, если исходная матрица M является симметричной и положительно определённой.

Реализация и распараллеливание Реализовано в C++ с использованием OpenMP Распараллеливание осуществлено с помощью прагмы #pragma omp parallel for Распараллелен цикл вычисления неграничных элементов блоков вектора F Распараллеливание вычисления каждого интеграла излишне Вследствие вычислительной схемы итерационного процесса Зейделя распараллеливание внешнего цикла невозможно, распараллеливание внутренней операции суммирования ухудшало производительность

Реализация и распараллеливание Тесты показали, что при увеличении дробления области интегрирования вплоть до точность возрастает вплоть до 6-9 знака после запятой При дальнейшем разбиении точность уменьшается Условием окончания итерационного процесса является различие элементов текущей и предыдущей итерации менее, чем на заданную точность eps, либо превышение наперёд заданного максимального числа шагов maxN При заданной точности eps порядка 10^-8 норма вектора невязки имеет порядок 10^-12 – 10^-17

Реализация и распараллеливание Время вычисления правой части существенно превышает время решения системы линейных алгебраических уравнений При минимальном размере матрицы 12х12 есть в каждом блоке F[i] лишь один неграничный элемент, поэтому распараллеливание не повышает производительность Однако уже при следующем возможном размере 16х16 наблюдается рост производительности При достаточном размере матрицы на системе с двуядерным процессором Core 2 Duo наблюдается практически двукратный прирост производительности распараллеленной программы

Реализация и распараллеливание Размер матрицыЧисло потоковВремя вычисления правой части, сек Время решения СЛАУ, сек 12х х х х

Итог Был реализован и распараллелен алгоритм для построения среднеквадратического приближения, получен почти двукратный прирост производительности на системе с двуядерным процессором