Распараллеливание в OpenMP среднеквадратических приближений неполиномиальными сплайнами

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

Рубрика Математика
Вид статья
Язык русский
Дата добавления 15.01.2019
Размер файла 220,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Распараллеливание в OpenMP среднеквадратических приближений неполиномиальными сплайнами

Винник М.П.

mvinnik92@gmail.com

541 учебная группа, математико-механический факультет СПБГУ

профессор Бурова Ирина Герасимовна

burovaig@mail.ru

каф. параллельных алгоритмов, математико-механический факультет СПБГУ

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

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

Построение сплайнов

О построении полиномиальных В-сплайнов второй степени

Пусть - натуральное число, на промежутке задана равномерная сетка узлов

с шагом

так что

Базисные сплайны, , удовлетворяющие условиям:

,

будем строить решая систему уравнений с параметрами относительно . На промежутке система имеет вид:

Аналогичные системы уравнений имеем на соседних промежутках.

Параметры подбираем так, чтобы .

Нетрудно получить формулу базисного сплайна:

О построении тригонометрических сплайнов минимального дефекта

Для построения тригонометрических базисных сплайнов, таких, что рассмотрим три системы уравнений с параметрами .

Таким образом, при

на промежутке

и если

---

Объединяя формулы , найденные на трех соседних промежутках с одинаковым номером , получаем:

Вычисление элементов матрицы

Как известно, задача среднеквадратического приближения приводит к задаче решения системы линейных уравнений с матрицей Грама. В частном случае, при , структура матрицы Грама будет иметь следующий вид:

Вычисляя скалярные произведения, в случае полиномиальных B-сплайнов, получаем следующие значения:

Элементы вектора правой части таковы:

Вычисляя скалярные произведения в случае тригонометрических сплайнов минимального дефекта, получаем следующие значения:

Элементы вектора в правой части F таковы:

Распараллеливание вычислений и оптимизация

Хранение данных. При решении задач, требующих хранения информации большого объема, встает вопрос о способе хранения данных. В нашем случае матрица системы уравнений имеет ленточный пятидиагональный вид, и ранее было получено, что различных элементов в ней всего 10.

В данной работе было рассмотрено два подхода к хранению данных.

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

Второй подход состоит в том, что реализована специально для этой задачи функция, которая по номеру элемента матрицы определяет его значение. Использование такого подхода гарантирует нам очень большой выигрыш в памяти (вместо элементов мы храним только 10 для любых размеров матрицы), но дает также сильный проигрыш в скорости.

Был проведен сравнительный анализ времени выполнения программ, иллюстрирующих оба подхода.

Здесь и далее все измерения проводились при погрешности метода релаксации , равной и при априорном фиксированном количестве итераций (для построения эффективной параллельной программы) равном .

Решение системы методом верхней релаксации

К моменту решения система уже приведена к виду .

Расчетная формула имеет вид:

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

for (i=1;i<=n+2;i++)

{

dtmp2=0;

for (j=1;j<=n+2;j++)

{

dtmp2=dtmp2+get_elem(i,j,n,h,true)*x[j];//x_k+1[i]

}

x[i]=omega*F[i]+omega*dtmp2-x1[i]*(omega-1);

}

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

do{

k2++;

#pragma omp parallel for shared(x,omega,F,n) private(i,j,dtmp2,x1)

for (int i5=0;i5<iter_size;i5++){

}

}

while(dtemp1>pogr);

Второй подход предполагает распараллеливание только внутреннего цикла с тем же набором общих и разделяемых переменных.

На относительно малых матрицах второй подход показывает даже лучшее время, чем первый.

Сравнительный анализ времени выполнения

Обычный цикл

Параллельный цикл (I)

Параллельный цикл (II)

100

172

187

141

500

3338

2512

2324

1000

9937

9375

9220

2000

38517

36535

38652

5000

243298

231962

249818

Целью работы было произвести оптимизацию времени расчетов. Были произведены замеры времени на различных матрицах. Результаты приведены в сводной таблице. Время указано в миллисекундах. Римская цифра I указывает на обычный способ хранения матрицы, а II - на оптимизированный.

Обычная программа(I)

Обычная программа(II)

Параллельная программа(I)

Параллельная программа(II)

100

31

156

47

172

250

109

827

78

796

500

436

4415

218

2886

750

568

7878

364

6147

1000

1466

12386

827

10967

2000

2824

43539

2871

40544

5000

18439

264077

18081

252008

Заключение

распараллеливание среднеквадратический неполиномиальный сплайн

За счет особенностей распараллеливания, в оптимизированных программах реализуется выигрыш в точности вычислений (а за счет многопоточности, одновременно и выигрыш во времени). Оптимальная функция доступа к элементу матрицы обеспечит нам еще больший выигрыш в скорости. Точная оценка числа итераций в общем случае является достаточно серьезной проблемой, а выигрыш в точности обеспечен на любой матрице. Программа демонстрирует всю мощь Open MP как средства оптимизации и языка C++, как средства реализации объемных вычислений.

Литература

1. Воеводин В.В., Кузнецов Ю.А. Матрицы и вычисления. 1984

2. Рябенький В.С. Введение в вычислительную математику. 2000

3. Фаддеев Д.К. Фаддеева В.Н., Вычислительные методы линейной алгебры. 2009

4. Бурова И.Г. Евдокимова Т.О., Приближения неполиномиальными сплайнами минимального дефекта. 2007

Размещено на Allbest.ru

...

Подобные документы

  • Диаграмма рассеивания как точки на плоскости, координаты которых соответствуют значениям случайных величин X и Y, порядок ее построения и назначение. Нахождение коэффициентов и построение графика линейного приближения, графика квадратичного приближения.

    курсовая работа [1,1 M], добавлен 03.05.2011

  • Сущность и методика определения алгебраического числа, оценка существующего поля. Рациональные приближения алгебраических чисел. Задача построения уравнения с заданными корнями. Приводимые и неприводимые многочлены. Трансцендентные числа Лиувилля.

    курсовая работа [219,6 K], добавлен 23.03.2015

  • Аппроксимация и теория приближений, применение метода наименьших квадратов для оценки характера приближения. Квадратичное приближение таблично заданной функции по дискретной норме Гаусса. Интегральное приближение функции, которая задана аналитически.

    реферат [82,0 K], добавлен 05.09.2010

  • Обыкновенные и модифицированные жордановы исключения. Последовательность решения задач линейного программирования симплекс-методом применительно к задаче максимизации: составлении опорного плана решения, различные преобразования в симплекс-таблице.

    курсовая работа [37,2 K], добавлен 01.05.2011

  • Методы оценки погрешности интерполирования. Интерполирование алгебраическими многочленами. Построение алгебраических многочленов наилучшего среднеквадратичного приближения. Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений.

    лабораторная работа [265,6 K], добавлен 14.08.2010

  • Определение матричных игр в чистых стратегиях. Смешанные стратегии и их свойства. Решения игр матричным методом. Метод последовательного приближения цены игры. Отыскание седлового элемента. Антагонистические игры как первый класс математических моделей.

    контрольная работа [855,7 K], добавлен 01.06.2014

  • Теорема отсчетов Котельникова-Шеннона и ее обобщения. Постановки задач теории приближения. Сигналы с дискретным временем. Характеристики наилучших приближений. Теорема отсчетов для цифровой обработки случайных сигналов. Дискретизация непрерывной функции.

    курсовая работа [2,2 M], добавлен 08.08.2012

  • Алгоритм построения минимального остовного дерева. Последовательность выполнения алгоритма Прима, его содержание и назначение. Процедура рисования графа. Порядок составления и тестирования программы, ее интерфейс, реализация и правила эксплуатации.

    курсовая работа [225,0 K], добавлен 30.04.2011

  • Модельная задача уравнения колебаний струны и деформации системы из трех струн. Вариационные методы решения: экстремум функционала, пробные функции, метод Ритца. Подпространства сплайнов и тестирование программы решения системы алгебраических уравнений.

    дипломная работа [1,1 M], добавлен 29.06.2012

  • Составление математической модели задачи. Приведение ее к стандартной транспортной задаче с балансом запасов и потребностей. Построение начального опорного плана задачи методом минимального элемента, решение методом потенциалов. Анализ результатов.

    задача [58,6 K], добавлен 16.02.2016

  • Описание методов решения системы линейного алгебраического уравнения: обратной матрицы, Якоби, Гаусса-Зейделя. Постановка и решение задачи интерполяции. Подбор полиномиальной зависимости методом наименьших квадратов. Особенности метода релаксации.

    лабораторная работа [4,9 M], добавлен 06.12.2011

  • Что такое абсолютные и относительные величины. Применение абсолютной и относительной величины в статистике. Прикладные варианты использования методов математической статистики в различных случаях решения задач. Опыт построения статистических таблиц.

    контрольная работа [39,6 K], добавлен 12.12.2009

  • Обзор и характеристика различных методов построения сечений многогранников, определение их сильных и слабых сторон. Метод вспомогательных сечений как универсальный способ построения сечений многогранников. Примеры решения задач по теме исследования.

    презентация [364,3 K], добавлен 19.01.2014

  • Элементарная теория сравнений. Диофантовы приближения. Определения и свойства сравнений. Теорема Эйлера, теорема Ферма. Китайская теорема об остатках, ее обобщение Цинь Цзюшао. Применение к решению олимпиадных задач. Применение к открытию сейфа в банке.

    курсовая работа [243,5 K], добавлен 29.09.2015

  • Основные виды линейных интегральных уравнений. Метод последовательных приближений, моментов, наименьших квадратов и коллокации. Решение интегральное уравнение методом конечных сумм и методом моментов. Ненулевые решения однородной линейной системы.

    контрольная работа [288,4 K], добавлен 23.10.2013

  • Общие аксиомы конструктивной геометрии. Аксиомы математических инструментов. Постановка задачи на построение, методика решения задач. Особенности методик построения: одним циркулем, одной линейкой, двусторонней линейкой, построения с помощью прямого угла.

    курс лекций [4,0 M], добавлен 18.12.2009

  • Сравнение методов простой итерации и Ньютона для решения систем нелинейных уравнений по числу итераций, времени сходимости в зависимости от выбора начального приближения к решению и допустимой ошибки. Описание программного обеспечения и тестовых задач.

    курсовая работа [3,1 M], добавлен 26.02.2011

  • Методика решения задач высшей математики с помощью теории графов, ее сущность и порядок разрешения. Основная идея метода ветвей и границ, ее практическое применение к задаче. Разбиение множества маршрутов на подмножества и его графическое представление.

    задача [53,0 K], добавлен 24.07.2009

  • Вычислительные методы линейной алгебры. Интерполяция функций. Интерполяционный многочлен Ньютона. Узлы интерполяции. Интерполяционный многочлен Лагранжа. Интерполяция сплайнами. Коэффициенты кубических сплайнов.

    лабораторная работа [70,5 K], добавлен 06.02.2004

  • Итерационные методы (методы последовательных приближений) для решения уравнений. Одношаговые итерационные формулы. Метод последовательных приближений Пикара. Возникновение хаоса в детерминированных системах. Методы решения систем алгебраических уравнений.

    контрольная работа [166,2 K], добавлен 04.09.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.