![]() ![]() ![]() Электронная библиотека |
|
Реферат Библиотека Ссылки Отчет о поиске Биография Инд. задание |
ЭФФЕКТИВНЫЕ МЕТОДЫ РАСПАРАЛЛЕЛИВАНИЯ ЧИСЛЕННОГО РЕШЕНИЯ ЗАДАЧИ КОШИ ДЛЯ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
Авторы: Фельдман Л.П., Дмитриева O.А.
Введение В последнее время появилось большое количество численных методов интегрирования дифференциальных уравнений, которые ориентированы на вычислительные системы с параллельной архитектурой. Однако практическое использование большинства методов не всегда оправдано, поскольку многие из них либо обладают численной неустойчивостью, либо имеют очень сложную структуру, приводящую к потере эффективности. К методам, лишенным указанных недостатков, можно отнести блочные. Блочным будем называть метод, при котором для блока из к точек новые к значений функции вычисляются одновременно [1]. Эта особенность методов, во-первых, согласуется с архитектурой параллельных вычислительных систем, а, во-вторых, позволяет вычислять коэффициенты разностных формул не в процессе интегрирова¬ния, а на этапе разработки метода, что значительно увеличивает эффективность счета. В то же время для этих методов отсутствуют оценки погрешностей и условия сходимости. Поэтому данная статья посвящена исследованию сходимости и получению оценок погрешностей параллельных блочных методов решения задачи Коши для обыкновенных дифференциальных уравнений Численное решение задачи Кош и блочными методами Рассмотрим решение задачи Коши
![]() Если для расчета значений в новом блоке используется только последняя точка предшествующего - будем говорить об одношаговых, а если все точки предшествующего блока - многошаговых блочных методах ![]() В общем случае уравнения многошаговых разностных методов для блока из к точек с учетом введенных обозначений можно записать в виде
Для одношаговых разностных методов уравнения могут быть представлены как
Погрешность аппроксимации блочных методов Выражение для погрешности аппроксимации рассматриваемого разностного метода (2) на решении уравнения (1) имеет вид
После разложения xn,i, xn,j' и xn-1,j' в ряды Тейлора в окрестности точки tn получим
Отсюда следует, что погрешность аппроксимации имеет порядок р, если выполнены условия
Система уравнений (6) для каждого фиксированного i содержит р уравнений и 2к неизвестных bi,1,bi,2,...,bi,k,ai,1,ai,2,...,ai,k. Потребуем, чтобы р=2k, тогда из системы (6) можно будет определить все неизвестные коэффициенты. Таким образом, наивысший порядок аппроксимации многошагового k-точечного блочного метода равен 2к. Его погрешность в соответствии с (5) определяется формулой
Для одношаговых блочных методов аппроксимацию порядка р обеспечивают следующие условия:
Система уравнений (8) для каждого фиксированного i содержит p уравнений и k+1 неизвестных bi,ai,1,ai,2,...,ai,k. Если потребовать, чтобы р=k+1, тогда из системы (8) можно будет определить все неизвестные коэффициенты. Отсюда следует, что наивысший порядок аппроксимации одношагового k-точечного блочного метода равен k+1. Его погрешность определяется формулой
Элементы bi,j и аi,j,i,j=1,2,...,k матриц В и А соответственно можно найти в зависимости от выбранного метода, решая системы (6) или (8) для конкретной размерности блока k. Сходимость и оценка погрешности многошаговых блочных методов Обозначим через un - вектор значений приближенного решения в точках n-го блока с компонентами un,i, i=1,2,...k и через un' вектор, компоненты которого un,i' = f(tn,i,un,i)=Fn,i, и un-1,i' = f(tn-1,i,un-1,i)= Fn-1,i равны значениям правых частей уравнения (1) в точках, соответствующих значениям приближенного решения. Запишем систему (2) в векторной форме
где D =(di,j) - диагональная матрица с элементами du=i, i=1,2,...,k, e - единичный вектор столбец, В и А - матрицы размерности k*k с компонентами bi,j и ai,j соответственно, i=1,2....,k, у=1,2,..,k. Обозначим через хn - вектор значений точного решения задачи (1) в точках блока n. Получим уравнение, которому удовлетворяет вектор погрешностей в блоке zn = un - xn. Подставим в левую часть уравнения (10) выражение un = zn + xn, добавим к правой части и вычтем из нее Bxn-1' + Ахn', тогда уравнение для погрешности примет вид
Входящее в правую часть выражение
представляет собой вектор невязок разностных уравнений (2) на точном решении уравнения (1). Поскольку
разностные уравнения (10) аппроксимируют исходное уравнение в точках блока
с порядком
Оставшиеся члены правой части уравнения для погрешности обозначим через
Тогда уравнение для погрешности запишется короче
Вектор функция wn от погрешности zn зависит нелинейно. Вид этой зависимости определяется функцией f(t,x). В дальнейшем будем предполагать, что f(t,x) удовлетворяет условию Липшица по второму аргументу, т. е.
для всех t, x1, x2 из рассматриваемой области. Согласно формуле конечных приращений Лагранжа для компоненты i имеем
где
Подставляя последние в (13), получим
где Dl - диагональная матрица с элементами dl,il =ln,i, i=1,2,...,k, и ее норма имеет в силу (12) следующую оценку:
Заменим wn в уравнении (14) полученным для него выражением
Введем нормы
Далее, учитывая (12), (16) и то, что
которое преобразуем к виду
Если на
то оценка, связывающая нормы погрешностей соседних блоков примет вид
так как в силу условия (17) имеет место
Таким образом, доказана Теорема. Пусть правая часть уравнения (1) f(t,y) удовлетворяет условию Липшица по второму аргументу с константой L и гn - невязка многошагового k-точечного блочного метода (2), определенная согласно (3) с оценкой (12). Тогда при
для погрешности метода имеет место оценка (19). Следствие. Если разностное уравнение (2) аппроксимирует исходное уравнение (1), то решение разностной
задачи (2) сходится при После проведения соответствующих преобразований можно получить оценку погрешности одношаговых блочных методов. При тех же ограничениях на длину шага она будет иметь следующий вид:
Алгоритм параллельного решения нелинейной разностной задачи Для вычисления приближенных значений задачи Коши (1) необходимо решить нелинейную систему уравнений (2). Используем для этого следующий итерационный процесс
который позволяет проводить вычисления параллельно для каждого узла блока. После выпол¬нения k шагов
вычислений по формулам (21) локальная ошибка в узлах блока будет иметь порядок
Сравнительные характеристики численного решения тестовых задач Выберем в качестве иллюстрации решения блочными методами умеренно устойчивую задачу [2]
решение которой многозначным методом приводит к значительным вычислительным погрешностям. Аналитическое решение рассматриваемой задачи имеет вид
Найдем решение задачи (23) одношаговым (с размерностью блока к=4), многошаговым (с блоками 4x4) блочными
методами и методом Ньютона (с размерностью блоков 4x4). Шаги интегрирования
![]() Решение тестовых задач показало, что многошаговые блочные методы превосходят по точности решения известные методы Ньютона, а по такому показателю как трудоемкость, они требуют значительно меньшего числа операций. Для параллельного выполнения вычислений по формулам (21) и (22) использовалась вычислительная система
SIMD структуры с линейкой процессорных элементов [3] размерности k. Если учитывать только время вычислений
правой части уравнений, т.к. времена выполнения арифметических операций и обмена значительно меньше
времени вычисления правой части, то ускорение k-точечного многошагового параллельного алгоритма можно
считать приближенно равным 1. Системы параллельной обработки: Пер. с англ. / Под. ред. Ивенса Д. - М.: Мир,1985, 416с. 2. Каханер Д.-, Моулер К.Нэш С. Численные методы и математическое обеспечение: Пер. с англ. - М.: Мир, 1998, 575 с. 3. Дмитриева О.А. Анализ параллельных алгоритмов численного решения систем обыкновенных диффе¬ ренциальных уравнений методами Адамса-Башфорта и Адамса-Моултона. // Математическое модели¬ рование. 2000, т. 12, № 5, с. 81-86. |