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

кандидата физико-математических наук
Латыпов, Виктор Николаевич
город
Санкт-Петербург
год
2010
специальность ВАК РФ
05.13.18
Диссертация по информатике, вычислительной технике и управлению на тему «Математические модели возмущенного движения высокого порядка точности»

Автореферат диссертации по теме "Математические модели возмущенного движения высокого порядка точности"

Санкг-Петербургский государственный университет

На правах рукописи

/ Л

004603340

/

ЛАТЫПОВ Виктор Николаевич

МАТЕМАТИЧЕСКИЕ МОДЕЛИ ВОЗМУЩЕННОГО ДВИЖЕНИЯ ВЫСОКОГО ПОРЯДКА ТОЧНОСТИ

Специальность 05.13.18 — Математическое моделирование, численные методы и комплексы программ

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата физико-математических наук

10 т 2ою

Санкт-Петербург — 2010

004603840

Работа выполнена на кафедре механики управляемого движения в Санкт-Петербургском государственном университете.

Научный руководитель:

Официальные оппоненты:

Ведущая организация:

доктор физико-математических наук, профессор

Бабаджанянц Левон Константинович

доктор физико-математических наук, профессор

Андрианов Сергей Николаевич

доктор физико-математических наук, профессор

Флегонтов Александр Владимирович

Санкт-Петербургский институт информатики и автоматизации РАН

Защита состоится "09" июня 2010 г. в 12 ч. 00 мин. на заседании совета N2 Д.212.232.50 по защите докторских и кандидатских диссертаций при Санкт-Петербургском государственном университете по адресу: 199034, г. Санкт-Петербург, В.О., Университетская наб., 7/9, Менделеевский Центр.

С диссертацией можно ознакомиться в библиотеке им. М. Горького Санкт-Петербургского государственного университета по адресу: 199034, г. Санкт-Петербург, В.О., Университетская наб., 7/9.

Автореферат разослан " ¿V" иСи^^У 2010 г.

Ученый секретарь диссертационного совета, д. ф.-м. н., профессор

Г.И. Курбатова

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы. Задачи определения орбитального и вращательного движения небесных тел и задачи исследования динамики пучков заряженных частиц по праву считаются классическими. Узким местом в исследовании уравнений движения упомянутых математических моделей является необходимость применения весьма громоздких и сложных процедур решения дифференциальных уравнений, лежащих в их основе. В течение долгого времени каждая из конкретных задач этого класса решалась при помощи специальных приёмов. В последние десятилетия появилось много важных работ в направлении автоматизации процессов исследования моделей тех или иных подклассов. Особенно важными моделями являются орбитальное и вращательное движение искусственных спутников Земли, а также динамика пучков заряженных частиц. Основная проблема автоматизации процессов исследования — построение универсальных методов, алгоритмов и комплексов программ, позволяющих исследовать и решать уравнения этих моделей. Настоящая работа посвящена именно этому. Как известно, в основе большинства приближенных методов решения и исследования дифференциальных уравнений математических моделей динамики лежат методы рядов Тейлора и малого параметра.

Ещё в конце XIX века А. Пуанкаре установил, что математической моделью для широкого класса динамических систем являются обыкновенные дифференциальные уравнения с полиномиальной правой частью, однако на момент появления этих моделей их применение в практических расчетах было затруднительно или невозможно из-за отсутствия быстродействующих ЭВМ. В современных прикладных исследованиях многие отечественные и зарубежные ученые, например, К.В. Холшевников, В.А. Брумберг и др., применяют аналитические методы. В работах Д.С. Граса (D.S. Graga), M.J1. Кампаньоло (M.L. Campagnolo) и др. ученых последних лет получило строгое теоретическое обоснование и само применение полиномиальных дифференциальных уравнений.

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

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

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

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

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

Положения, выносимые на защиту

1. Математические модели возмущенного орбитального и вращательного движения искусственных спутников Земли высокого порядка точности.

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

3. Новые универсальные алгоритмы метода рядов Тейлора и малого параметра для класса полиномиальных задач Коши.

4. Прикладная программа PSMODE интегрирования ОДУ методами рядов Тейлора и малого параметра. «Свидетельство о государственной регистрации программы для ЭВМ №2009613252» от 23.06.2009 г.

Реализация результатов исследований

1. Разработанное программное обеспечение послужило основой для написания учебного пособия в рамках Национального проекта «Образование» (Пилотный проект СПбГУ №22: Разработка и внедрение инновационной образовательной программы «Прикладные математика и физика», 2006 год).

2. Разработанное программное обеспечение для автоматизации построения вычислительных процедур (программа PSMODE) использовалось в теме 12.4.08 факультета прикладной математики — процессов управления Санкт-Петербургского государственного университета («Разработка алгоритмов управления космической станцией на стационарных орбитах», 2008 год, руководитель JI.K. Бабаджанянц) при проверке алгоритмов оптимального программного управления в задачах космической динамики.

Апробация работы. Основные положения научной работы докладывались на: 35-ой научной конференция аспирантов и студентов «Процессы управления и устойчивость» (Санкт-Петербург, 2004); IX международной конференции «Beam Dynamics and Optimization» (Санкт-Петербург, 2006); IV всероссийской школе-семииаре молодых ученых «Проблемы управления и информационные технологии» (Казань, 2008); научных семинарах кафедры механики управлямого движения факультета прикладной математики — процессов управления Санкт-Петербургского государственного университета.

Результаты работы используются в учебном процессе по дисциплинам «Динамические системы» и «Практикум программирования».

Публикации. По теме диссертационной работы опубликовано 5 печатных работ. Из них 1 в журнале, входящем в Перечень журналов, рекомендованных ВАК РФ для публикации научных результатов диссертаций

на соискание ученой степени кандидата наук; 1 свидетельство о государственной регистрации программы для ЭВМ.

Структура и объем диссертации. Диссертация состоит из введения, трех глав, заключения, списка литературы и четырех приложений. Основная часть изложена на 107 страницах машинописного текста. Работа содержит 9 рисунков, 3 таблицы, список литературы из 93 наименований. Общий объем работы — 133 страницы.

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

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

В первой главе приводится постановка основных задач математического моделирования различных динамических процессов.

Первая из задач — моделирование орбитального движения низколетящего искусственного спутника Земли (ИСЗ). Необходимость высокоточного прогнозирования положений спутников на длительных временных промежутках возникает в задачах организации систем спутниковой навигации и космической связи. Математическая модель орбитального движения — система уравнений Ньютона

х-{ш1~ ц!гъ)х - 2шту = - срУх,

ди

< у-(<4>- Ф3)У - = - срУу, (1)

/ з див

г + ц/г = —--срУг.

дг

с возмущающим потенциалом [/в, учитывающим несферичность Земли л сопротивление атмосферы. На основании представления С/в в форме суммы потенциалов специально подобранных точечных масс, после введения предложенных в работе Чернышевой дополнительных переменных, задача Коши для системы (1) приводится к эквивалентной задаче Коши для системы с полиномиальной правой частью. При использовании предложенной Антоновым 12-точечной модели потенциала общее количество неиахн-симых переменных — 216.

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

Вторая задача — моделирование вращательного движения динамически несимметричного ИСЗ в окрестности одного из устойчивых положений равновесия, изученных в работах Сарычева и Белецкого. Методы высокоточного прогнозирования ориентации спутника необходимы для построения программных стабилизирующих управлений и более точного ориентирования спутника.

Математическая модель вращательного движения спутника — динамические уравнения Эйлера

< = ^(/1-/3)тУ, (2)

и кинематические соотношения Пуассона (в качестве примера приведено одно из соотношений, остальные имеют аналогичную форму)

а У I и /„ч

— — 7 г - 7 <? + ша. (3)

Система (2)-(3) относительно компонент р, ц, г угловой скорости спутника и девяти направляющих косинусов а, а',... -у", имеет двадцать четыре устойчивых и неустойчивых положения равновесия. Способ нумерации относительных положений равновесия и явные формулы для решений системы линейного приближения получены в работах Пупышевой, Потоцкой и Бабаджанянца. При известных общих решениях системы линейного приближение, учитывая то, что исходная система уравнений Эйлера—Пуассона

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

Третья задача — моделирование динамики заряженных частиц в линейном ускорителе, возникающая из необходимости построения оптимальных управлений для фокусировки пучков. Не учитывая кулоновское взаимодействие отдельных частиц и рассматривая соответствующее линейному ускорителю внешнее электрическое поле, движение частицы определяется уравнениями Ньютона—Лоренца

7 = sm(</>), i = 7(1+72Г'-

(4)

^ = 2тг (/3(07(1+72!P-i)-

После переобозначения х\ = 7, Х2 = х3 = ip и введения переменных хц = sin(2,'3), х$ = (l + xfj 2, xq = соэ(1з), уравнения (4) приводятся к системе уравнений с полиномиальной правой частью

¿1 = QX4, Х4 = 2lTXß(ßXiX^ — 1),

< X2 = Х1Х5, < ¿5 = — axixixl,

х3 = 2n(ßxix5 - 1), ¿6 = 27ПС4(1 -ßx&s), (5)

®i(0)=7o, ®3(0)G [0,27т], x2(0).

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

Вторая глава содержит обзор явных пошаговых методов решения задачи Коши для систем ОДУ и новые алгоритмы метода рядов Тейлора

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

х = /(ж,г), х(г0) = х0. (6)

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

Третий пункт главы содержит обзор некоторых известных способов построения численных алгоритмов решения задачи Коши для обыкновенных дифференциальных уравнений: методы Рунге—Кутты, методы автоматического дифференцирования, метод рядов Тейлора и методы разложения по параметру.

Общее в любом пошаговом методе интегрирования — вычисление аппроксимирующего оператора А, сопоставляющего точному решению х(Ь, ¿о, хо) некоторое приближение х(Ь) и позволяющего построить таблицу значений решения в заданных точках ¿2, • • •,

х(Ь) = Ах(Ь

(7)

3>{рт) ~ Ах^т1 ¿т— 1, х(£т_1)).

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

Основой автоматизации процесса решения задачи Коши (второй пункт второй главы) в данной работе является сведение системы ОДУ (6) к системе с полиномиальной правой частью (/(г, Ь) — алгебраические полиномы от независимых переменных х¿). Предлагается простая реализация алгоритма метода дополнительных переменных: переобозначение всех

неполиномиальных выражений в /(х, новыми переменными ук и получение уравнений для у к их дифференцированием в силу системы (6).

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

Как показал Л.К. Бабаджанянц, при дополнительных предположениях можно получить расширенную систему уравнений для переменных {хиУк}г правые части которой являются алгебраическими полиномами.

Далее рассматривается полиномиальная система

хЦ) = Х(х), Х(х) = (Хи...Хп), х=(хь...хп) х(г0) = ■ ■■, Ж„(г0)) = (яю, ■ ■ • , Х„,о) = х0.

Здесь

N П »1 ¿т-1 = ак + ^ ]Г ^... ^ х-х^л, (9)

т=171=1 г*2=1 2т=1

г = (гь ..., гт) е Zm, а^ = ОД;1Ь...,гт, а/с € С.

г — т-компонентный мультииндекс, аа^ — постоянные комплексные коэффициенты. Если правая часть /(х, £) в исходных уравнениях явно зависит от Ь, до добавление переменной хп+\ и уравнения ¿п,1 = 1 с начальными условиями жп+1 (¿о) = ¿о сводит всё к случаю автономных систем.

Основная часть второй главы посвящена получению рекуррентных формул для вычисления разложений в ряды решения задачи Коши для полиномиальных систем (8).

В третьем пункте второй главы излагается метод ряп,ов Тейлора и его модификации.

Так как Х^х) голоморфны по совокупности аргументов Х\,... ,хп в окрестности (яо), то по теореме Коши решение этой задачи может быть

представлено степенными рядами

+00

Xk(t, t0, Xq) = Xk,q{t - t0)q, к = 1, . . . , П, (10)

g=0

абсолютно сходящимися в окрестности точки t = £q.

Метод рядов Тейлора приближенного решения задачи Коши (8)состо-ит в замене точного решения отрезком ряда (10) в области {i : |i — io| < R} С С. Введём оператор Тм (М — натуральное число, называемое порядком метода), сопоставляющий решению задачи Коши отрезок ряда Тейлора, по формуле

M

TMxk{t,t0,x0) = Y^XkS ~ к)4. (И)

9=0

В диссертации получены новые рекуррентные формулы для вычисления коэффициентов ряда (11), обобщающие результаты J1.K. Бабаджа-нянца и Д.Р. Саркисяна.

Коэффициент Тейлора с индексом q вычисляется по формуле

1

Хк,ч+1

, , ак5ч + д + 1

N п П «т-1 Т (12)

+ ЕЕЕ-Ев^ *** ■ ■ ■ ■ •

, т=1 >1=1 ¿2 = 1 'т=1 ?1+...+?т=?

При программировании (12) основную проблему составляет перечисление всех возможных значений индексов г н д. Количество компонентов в мультииндексе i изменяется от единицы до N и поэтому «прямая» реализация (простой вложенный цикл) вычисления вложенной суммы по гк возможна только для фиксированного числа N. В пункте, посвященном вопросам реализации, указан метод «линеаризации» вложенных сумм по индексам, подходящий для систем произвольных размерностей, на основе которого возможна автоматическая генерация процедур, реализующих вычисление оператора Тм.

Во втором подпункте приводятся априорные оценки погрешности и методы выбора шага интегрирования, полученные Л.К. Бабаджанянцем и П.Б. Мгояном.

В третьем подпункте рассматривается возможность использования «вложенных» методов рядов Тейлора. Вычислив величины Тмх(Ь) для двух значений М = М^Мг, можно оценить (аналогично «правилу Рун-ге») методическую погрешность по формуле 6х(Ь) = ¡Тм^^) — Тм2х(^)\-

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

т т

{Хк,Ч}к=1 = У = У {я*,?К'=у_1).лг/г+г■ (13)

j=l ¿=1

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

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

г{Ь) = г{г,1,е) = {ги...гп), г = (г1,...гп).- (14)

Предполагается, что при е = 0 известно общее решение (14). Метод малого параметра приближенного решения задачи Коши для уравнений (14) состоит в замене на промежутке [¿о, т(г)] точного решения отрезком ряда

м

ЭмЖЫ о>2о) = (15)

9=0

Пуанкаре показал, что коэффициенты ¿о> -^о) ряда (15) удовле-

творяют уравнениям (уравнения в вариациях) ¿^ — =

Функции Р^^) = {Р[ч\^,..., Рп\£)) получаются по рекуррентным формулам

ш—1 г г

В случае квазилинейных полиномиальных систем

¿ = Аг + еР(г),

где А — матрица пхп, Р(г) = (Р\{г),..., Рп{г)) — полиномы по переменным 21,..., гп, коэффициенты ряда (15) для д > 1 получаются но формуле Коши

в которой У(£) — общее решение (фундаментальная матрица) однородной системы ?/ — «/?/ = О, совпадающей с линейной частью уравнений (16).

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

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

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

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

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

(17)

Преобразование указываемых групп уравнений в линейный список, заполнение массивов коэффициентов, подстановка различных сокращений и формирование процедур для интегрирования получающейся системы ОДУ методом рядов Тейлора производится автоматически. Также предлагаемая система используется для автоматизации вычислений по формулам (15), (17) метода малого параметра.

В третьем пункте третьей главы рассматриваются некоторые «стандартные» системы уравнений, используемые для анализа эффективности построенных численных методов (уравнение ван дер Поля, система уравнений, определяющих эллиптические функции и т.д.).

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

В Приложении 1 приведены несколько программ-«драйверов», использовавшихся совместно с автоматически сгенерированными вычислительными процедурами. Каждая такая программа содержит вызов сгенерированных функций для решения задачи Коши, а также обязательные фрагменты для инициализации процесса интегрирования и процедуры для вывода и обработки промежуточных результатов.

В Приложении 2 приводятся результаты численных экспериментов, а также сравнение получаемых результатов интегрирования уравнений движений с использованием автоматически сгенерированных вычислительных процедур и известных реализаций стандартных методов Рунге— Кутты.

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

В Приложении 4 приведена краткая справка по работе с программой БетевМеНюё, из комплекса РвМОБЕ, которая облегчает использование рассматривавшегося генератора вычислительных процедур.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ ДИССЕРТАЦИОННОЙ РАБОТЫ

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

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

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

4. Получены автоматически сгенерированные процедуры для метода рядов Тейлора, превосходящие известные написанные вручную процедуры для метода Рунге-Кутты.

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

6. Разработанное программное обеспечение для автоматизации построения вычислительных процедур (программа РЭМОБЕ) использовано в теме 12.4.08 факультета ПМ-ПУ СПбГУ («Разработка алгоритмов управления космической станцией на стационарных орбитах», 2008 год, руководитель Бабаджанянц Л.К.) при проверке алгоритмов оптимального программного управления в задачах космической динамики.

7. Разработанное программное обеспечение послужило основой для написания учебного пособия в рамках Национального проекта «Обра-

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

ОСНОВНЫЕ ПОЛОЖЕНИЯ И НАУЧНЫЕ РЕЗУЛЬТАТЫ ОПУБЛИКОВАНЫ В СЛЕДУЮЩИХ РАБОТАХ Рецензируемые журналы, входящие в Перечень ВАК РФ

1. Латыпов В.Н. Автоматизация решения обыкновенных дифференциальных уравнений // Вестник СПбГУ. Сер.10. Вып.2. 2009. С. 48-58.

Прочие публикации

2. Латыпов В.Н. Алгоритмы метода малого параметра для полиномиальных дифференциальных уравнений. Процессы управления и устойчивость : Труды 35-й научной конференции аспирантов и студентов / Под редакцией Н.В.Смирнова, В.Н. Старкова. СПб. Изд-во СПбГУ, 2004. 720 с.

3. Латыпов В.Н. Построение траекторий в задачах управления пучками частиц. Материалы конференции ПУИТ'08. Изд-во Казанского государственного технического университета, 2008.

4. Бабаджанянц Л.К., Латыпов В.Н. Разработка программно-методического обеспечения по решению обыкновенных дифференциальных уравнений методом малого параметра и рядов Тэйлора. Пилотный проект №22: Разработка и внедрение инновационной образовательной программы «Прикладные математика и физика» СПб.: СПбГУ, 2006.

5. Свидетельство о государственной регистрации программы для ЭВМ «PSMODE» №2009613252 от 23.06.2009 г. / JI.K. Бабаджанянц, В.Н. Латыпов.

Подписано к печати 24.04.10. Формат 60 х84 1/16 . Бумага офсетная. Гарнитура Тайме. Печать цифровая. Печ. л. 1,0. Тираж 100 экз. Заказ 4747. Отпечатано в Отделе оперативной полиграфии Химического факультета СПбГУ 198504, Санкт-Петербург, Старый Петергоф, Университетский пр., 26 Тел.: (812) 428-40-43, 428-69-19

Оглавление автор диссертации — кандидата физико-математических наук Латыпов, Виктор Николаевич

Введение

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

1.1 Орбитальное движение спутника.

1.1.1 Уравнения движения в прямоугольной системе координат

1.1.2 Численное интегрирование уравнений движения

1.2 Движение спутника относительно центра масс.

1.2.1 Уравнения движения.

1.3 Управление ансамблями заряженных частиц.

1.3.1 Траектории заряженных частиц в линейном ускорителе

1.3.2 Решение задач оптимального управления.

1.3.3 Динамика ансамбля заряженных частиц.

1.3.4 Использование генератора программ.

2. Решение задачи Коши для полиномиальных ОДУ

2.1 Пошаговые методы интегрирования.

2.2 Полиномиальные системы.

2.2.1 Полиномиальные уравнения и определяемые ими функции.

2.2.2 Метод дополнительных переменных.

2.2.3 Примеры полиномиальных систем.

2.3 Метод рядов Тейлора.

2.3.1 Рекуррентные формулы.

2.3.2 Оценки погрешности, выбор шага.

2.3.3 Вложенные методы рядов Тейлора.

2.3.4 Параллельное вычисление коэффициентов.

2.4 Метод малого параметра

2.4.1 Метод разложения по параметру.

2.4.2 Рекуррентные формулы коэффициентов ряда

2.4.3 Квазилинейные полиномиальные системы.

2.4.4 Оценка погрешности.

3. Реализация численных методов решения задачи Коши

3.1 Вопросы реализации алгоритмов.

3.1.1 Арифметика произвольной точности.

3.1.2 Вычисление элементарных функций.

3.1.3 Тригонометрические ряды.

3.1.4 Вычисление сумм.

3.2 Генератор программ.

3.2.1 Структура программного комплекса.

3.2.2 Подготовка описания системы уравнений.

3.3 Примеры задач.

3.3.1 Система Лотки-Вольтерра.

Введение 2010 год, диссертация по информатике, вычислительной технике и управлению, Латыпов, Виктор Николаевич

Цели работы. Актуальность. Новизна

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

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

Разработанный программный комплекс, обеспечивающий автоматическое построение процедур, реализующих численные методы решения задачи Коши для систем ОДУ (программа PSMODE, «Свидетельство о государственной регистрации программы для ЭВМ №2009613252» от 23.06.2009 г.), позволяет получать не только численные и аналитические решения рассмотренных задач, но и применяться к другим задачам динамики.

Необходимость в пошаговых схемах интегрирования возникает во многих технических задачах. В первой главе рассматриваются конкретных примеров, к которым применены результаты диссертационной работы. Получаемые вычислительные процедуры для рассматриваемой в разделе 1.1 задаче об орбитальном движении искусственного спутника могут стать составной частью программного комплекса для планирования сеансов в системе космической связи. Аналитические формулы приближенных решений задачи определения вращательного движения искусственного спутника из раздела 1.2 возможно использовать для построения программного управления в задаче о гашении колебаний [12]. В разделе 1.3 предлагается процедура интегрирования уравнений движения заряженных частиц в линейном ускорителе [38], которую возможно применить для построения оптимального программного управления ансамблями частиц.

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

Во-первых, метод рядов Тейлора и метод малого параметра позволяют производить интегрирование ОДУ по заданному контуру в комплексной плоскости, что может быть использовано при численном исследовании особенностей решения (особые точки и т.п.).

Во-вторых, при решении различных задач, таких как идентификация параметров [34, 81], существуют возможности для увеличения точности интегрирования, не связанные с дроблением шага.

В-третьих, для систем больших размерностей (несколько тысяч уравнений) структура алгоритма метода рядов Тейлора позволяет организовать параллельные вычисления.

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

Актуальность создания систем автоматического построения вычислительных процедур подтверждается большим числом работ отечественных и зарубежных авторов [52, 56, 60, 61, 66, 71].

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

1. Математические модели возмущённого орбитального и вращательного движения искусственных спутников Земли высокого порядка точности.

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

3. Новые универсальные алгоритмы метода рядов Тейлора и малого параметра для класса полиномиальных задач Коши.

4. Прикладная программа PSMODE интегрирования ОДУ методами рядов Тейлора и малого параметра. «Свидетельство о государственной регистрации программы для ЭВМ №2009613252» от 23.06.2009 г.

Введение

Построение динамических моделей

Математическое моделирование — один из способов изучения реальных объектов, состоящий в построении «образа» исследуемого объекта или процесса с использованием математической символики. Условно процесс моделирования разделяется на три этапа [42]:

1. Составление описания свойств объекта в математической форме.

2. Составление алгоритмов и представление описания в форме, удобной для проведения численных экспериментов.

3. Реализация составленных алгоритмов на ЭВМ.

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

Под построением модели понимается составление эффективных вычислительных процедур, реализующих методы численного интегрирования систем обыкновенных дифференциальных уравнений (второй и третий этапы процесса моделирования). Автоматизация заключается в создании программного комплекса, генерирующего упомянутые вычислительные процедуры на основании предоставленных пользователем уравнений движения. Например, задавая определённым образом уравнения орбитального или вращательного движения искусственного спутника, в результате работы рассматриваемого далее генератора программ пользователь получает исходные тексты вычислительных процедур для пошагового интегрирования на языках высокого уровня (C/C++, Fortran-90).

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

Весь процесс получения вычислительной процедуры начинается с преобразования исходной системы обыкновенных дифференциальных уравнений (далее — ОДУ) по определённому алгоритму, рассматриваемому в данной работе, к системе, правые части которой являются алгебраическими полиномами (так называемые полиномиальные дифференциальные уравнения). Построение приближенного решения задачи Коши для полиномиальных систем может быть получено численными и аналитическими методами, обоснование и обсуждение вопросов практического применения которых приводится далее. Общность предлагаемых методов пошагового интегрирования позволяет унифицировать и автоматизировать процесс получения вычислительных процедур и почти полностью избавляет пользователя от необходимости программировать.

Эффективность предлагаемых приближенных методов демонстрируется на нескольких примерах систем ОДУ путём сравнения сгенерированных вычислительных процедур со стандартными реализациями других численных методов по времени выполнения и величинам погрешностей. Возможности практического применения предлагаемого программного комплекса демонстрируются на примерах конкретных задач астродинамики и динамики пучков заряженных частиц.

Автоматическое программирование

Существующие программные средства для численного интегрирования систем ОДУ условно можно разделить на три класса:

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

2. Реализация метода интегрирования в каком-либо вычислительном пакете с предоставлением интерфейса к этой реализации на нескольких языках программирования.

3. Системы автоматического построения вычислительных процедур, генерирующие по аналитическому описанию системы ОДУ подпрограмму, которая реализует некоторый метод интегрирования.

Каждый из классов средств имеет свои преимущества и недостатки. Универсальная подпрограмма представляет собой многократно проверенный и оптимизированный для максимальной скорости исполнения фрагмент программного кода на конкретном алгоритмическом языке, но такие стандартные подпрограммы часто требуют модификации для решения определённых задач. Набор процедур, реализующих различные модификации методов Рунге—Кутты, содержится в дополнениях [68] к книгам [46, 47].

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

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

Так называемые «символьные вычисления» («computer algebra» в англоязычных работах или «calcul formel» во французской литературе) сегодня являются неотъемлемым элементом исследования математических моделей [20, 44]. Системы компьютерной алгебры и отдельные программные библиотеки реализуют функции преобразования формул (символьное вычисление неопределённых интегралов, решение алгебраических уравнений, упрощение выражений). Одновременно с автоматизацией некоторых аналитических преобразований достаточно широко применяется автоматическая генерация фрагментов программ. Оказывается возможным по некоторой спецификации численного алгоритма сгенерировать его реализацию на необходимом языке программирования. Автоматическое построение вычислительной процедуры является технически сложным с точки зрения программирования и приводит к необходимости организации сложного взаимодействия с программой пользователя, но решает вопросы с использованием нескольких языков программирования и облегчает работу с системами ОДУ больших размерностей.

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

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

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

Во-вторых, при написании программ вручную сильно ограничена возможность их конфигурирования. Например, для использования различных типов числовых данных приходится практически дословно дублировать фрагменты кода, заменяя лишь имена типов переменных. В языке С++ существует возможность использования параметризованных (template) процедур [90], но сам этот язык не является самым распространённым в вычислительной практике. Автоматическая генерация программы позволяет относительно легко получать несколько вариантов одной и той же вычислительной процедуры на различных языках программирования.

В-третьих, постоянно изменяются программные и аппаратные средства при относительном постоянстве используемых численных алгоритмов. Для проверки правильности промежуточных вычислений в сложных задачах возможно привлечение специализированных пакетов Matlab [70] или Mathematica [92]. В этом случае генератор программ позволяет получить процедуры на внутреннем языке рассматриваемого пакета.

Необходимость в реализации вычислительного алгоритма на различных языках возникает из-за наличия операционных систем и сред исполнения, в которых отсутствует, например, Fortran (в качестве примера таких систем выступает операционная система QNX [72] или другие более простые операционные системы реального времени). Различные варианты языка С, такие как CUD А [8-3], Cg [G2], GLSL [8G], HLSL [87], используются для программирования современных графических процессоров (GPU) и также требуют некоторой модификации уже существующих реализаций вычислительных алгоритмов.

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

Методы решения задачи Коши

Методы Рунге—Кутты

Среди численных методов решения задачи Коши одними из основных являются методы Рунге—Кутты [47] и их модификации. Это универсальные методы, не делающие особых предположений относительно правой части уравнений. Два основных параметра этих методов — s (количество «этапов» или «число стадий» — количество вычислений правой части уравнений) и р («порядок», указывающий количество членов в тейлоровском разложении точного решения, совпадающих со значениями производных приближенного решения).

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

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

Для обеспечения объективности анализа времени выполнения программ используются существующие реализации методов Рунге—Кутты, доступные из открытых источников [68].

Методы рядов Тейлора Автоматическое дифференцирование

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

У' = /(ж, у), у{0) = уо представляется степенным рядом

00 у(х)= YLyk(x~x°)k> к=О аналитические выражения для коэффициентов которого получаются дифференцированием правой части. у\ = у' = /(ж, у), у2 = у" = + у),

2/3 = 2/ d2f 2 d2f d2f 2 ^ ^

Эя;2 ду2 дх dy

2 + j ■ ■

Существуют модификации методов на основе автоматического дифференцирования, использующие численное дифференцирование правой части [74]. При дополнительных ограничениях на переменные (так называемые «дифференциально-алгебраические задачи», возникающие, например, при моделировании механических систем со связями) применяются также и неявные методы вычисления коэффициентов Тейлора [79].

Методика алгоритмизации этого способа численного интегрирования подробно изложена в монографии [85]. На основании синтаксического анализа выражений для правых частей уравнений строится некоторое промежуточное представление («граф Канторовича»), по которому далее генерируется последовательность формул для вычисления производных решения. Полученные формулы автоматически преобразуются во фрагменты программ на указанном алгоритмическом языке.

В случае дифференциально-алгебраических задач проводится предварительный «структурный» анализ системы [78, 79] и вместо явных формул для производных решения приходится решать некоторые нелинейные уравнения.

Начиная примерно с 70-х годов ХХ-ого века автоматическое дифференцирование, как способ построения приближенного решения задачи Коши, широко применяется именно для автоматического построения программ [60, 61, 71].

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

Разработаная в университете Техаса система автоматической генерации программ на языке С++, реализующих метод автоматического дифференцирования, представлена в работе [71].

Специфические возможности языка С++, такие как шаблонное ме-тапрограммирование (template metaprogramming [91]), позволяют переложить задачу построения выражения для производных решения на компилятор. Разработана библиотека функций FADBAD [55], пользователь которой передаёт выражения для правых частей уравнения в качестве параметров некоторых шаблонных функций, результат работы которых — значения производных решения в заданных точках.

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

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

Итерации Пикара

На основании известного интегрального представления решения задачи Коши x(t) = x(t0) + I F(r, х(т)) dr (0.1)

J to также возможно построить различные численные методы.

Последовательность функций хЩ) = ®(*о), х[к+1 ](г) = ж(*о)+ [* F(t,xW(t)) dr

J t0 по теореме Пикара сходится к решению задачи Коши для уравнения х = F(t,x).

Если компоненты вектор-функции F: М х Rn —» Rn являются алгебраическими полиномами по переменным х^ то возможно получить явное выражение для интеграла в правой части (0.1). Члены последовательности приближений при этом являются полиномами.

Такой подход использован в работе [82]. Трудности в применении этого метода обусловлены отсутствием априорных оценок погрешности, кроме тех, которые следуют из теоремы Пикара. Несмотря на то, что последовательность полиномов сходится к аналитической функции, пред-ставимой рядом Тейлора, коэффициенты этих полиномов, как правило, не совпадают со значениями производных точного решения.

Для задачи х' = tx; х{—1) = 1 с точным решением ехр((£2 — 1)/2) коэффициенты полиномов в последовательности приближений наглядно демонстрируют «неустойчивость»:

M(t) = i, *W(i) = i + £, ^(о = ! + £ + £,.

Проблема оценки погрешности в методе итераций Пикара частично решается с использованием интервальной арифметики и так называемых «моделей Тейлора» [57]. Явные формулы для оценки погрешности, следующие из теоремы Пикара, на практике вычисляются с использованием интервальной арифметики. Основанная на этих принципах прикладная система COSY Infinity [56] содержит интерпретатор специализированного языка программирования для описания различных задач динамики пучков заряженных частиц в ускорителях.

Полиномиальные системы

Основой для автоматизации построения вычислительных процедур в данной работе является замеченная ещё Пуанкаре [40] возможность сведения широкого класса систем ОДУ к специальным системам, правые части которых являются алгебраическими полиномами но независимым переменным. Для таких систем удаётся получить явные формулы коэффициентов рядов Тейлора, представляющих решение задачи Коши.

В небесной механике полиномиальные системы применяются достаточно давно. Метод Тейлора-Стеффенсена [88, 89] заключается в сведении системы уравнений движения N материальных точек к эквивалентной системе дифференциальных уравнений с полиномиальной правой частью добавлением вспомогательных переменных.

В работе [82] и в развитии методов [60] приходят к рассмотрению широкого класса систем ОДУ, в правых частях которых не только полиномиальные, но и рациональные функции. Однако в рамках общего метода дополнительных переменных правые части уравнений с рациональными функциями сводятся к полиномиальным и поэтому в предлагаемой далее системе генерации вычислительных процедур рассматриваются только полиномиальные ОДУ. Класс полиномиальных систем ОДУ исследуется также в [65, 84]. Возможности применения полиномиальных систем при исследовании устойчивости, наблюдаемости и построении стабилизирующих управлений исследуются в работах [75, 77].

Общая схема введения дополнительных переменных для сведения систем ОДУ к полиномиальной форме, обоснование и вопросы реализации метода рядов Тейлора, сравнение с другими методами интегрирования приведено в работах [6, 11, 14, 8].

В случае полиномиальной правой части коэффициенты разложения решения задачи Коши в ряд Тейлора возможно вычислить явно по рекуррентным формулам, предлагаемым в данной работе. Обоснование метода рядов Тейлора и априорные оценки погрешности получены в рамках общего метода бесконечных систем [6, 7, 14]. Оценки погрешности и радиуса сходимости полученного ряда приведены в работах [7, 11].

В западной литературе словосочетание «Taylor scries method» подразумевает вычисление коэффициентов степенного ряда последовательным дифференцированием правой части (automatic differentiation), рассмотренным в предыдущем пункте. В данной работе под методом рядов Тейлора понимается использование явных формул для рядов, получаемых непосредственно по коэффициентам правой части.

Метод малого параметра

Принципиально иными являются методы продолжения по параметру («методы возмущений»), позволяющие строить приближения к решению исходной задачи на основании известного точного решения некоторой упрощённой задачи [37]. Общая схема всех таких методов — сведение исходной задачи к бесконечной последовательности линейных задач.

Предполагается, что задачу Коши z(t) = Z(z, t, е), Z(z, £, с) = (Zb . Zn), z = (zb . zn), (0.2) z(t0) = (zi(to), ., Zn(t0)) = (z10, zn0) = Zq, в правые части уравнений которой входит «малый» параметр е, возможно решить аналитически при е = 0.

При некоторых предположениях [7, 11] относительно правой части уравнения (0.2) общее решение пред ставимо степенным рядом коэфффициенты которого находятся решением бесконечной последовательности неоднородных линейных систем ОДУ.

При интегрировании ОДУ применяется метод малого параметра Пуанкаре [7, 11, 41], состоящий в разложении решения в ряд по степени некоторой малой величины е, которая входит в правую часть уравнений. Для квазилинейных полиномиальных систем где А — матрица п х n, P(z) = (-Pi(г),., Pn(z)) — полиномы по переменным z\,. ,zn, оказывается возможным получение формул для коэффициентов приближенного решения, являющихся функциями независимого аргумента. Эти формулы, их получение и применение приведены во второй главе.

Для реализации аналитических алгоритмов приближенного решения задачи Коши необходимы процедуры для работы со структурами

9=о z = Az + eP{z) данных, представляющих полиномиальные и тригонометрические ряды (ряды Пуассона) [16]. Для случая постоянных коэффициентов подобные библиотеки функций известны давно [24, 50]. В рассматриваемом в пункте 3.2 генераторе программ реализованы функции, позволяющие производить арифметические операции с рядами Пуассона, коэффициенты которых являются произвольными алгебраическими выражениями.

Реализация других методов представления решений ОДУ и движений динамических систем в форме рядов [1, 2] также должна основываться на некотором наборе процедур для обработки символьных выражений.

Заключение диссертация на тему "Математические модели возмущенного движения высокого порядка точности"

Заключение

Рассмотренные методы автоматического построения конкретных вычислительных процедур и численные эксперименты, результаты которых приведены в Приложении 2, позволяют сделать вывод, что автоматически сгенерированные реализации алгоритмов не уступают в скорости программам, написанным вручную, а также стандартным реализациям других вычислительных методов.

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

Полная автоматизация процесса моделирования

В прикладных задачах сами уравнения движения также могут получаться автоматически. Для описания робота [29], используя формальный алгоритм, по кинематической схеме механизма составляется система уравнений движения. Аналогичным образом могут составляться уравнения движения заряженных частиц в ускорителях [51, 52].

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

Параллельное программирование

В последние несколько лет развитие графических процессоров (Graphics Processing Unit, GPU) привело к появлению нового класса высокопроизводительных систем для параллельных вычислений. Каждое такое устройство представляет собой набор (несколько сотен) специализированных потоковых процессоров для обработки числовой информации. Их особенностью является использование общей памяти, что существенно сокращает потери времени на передачу данных. Метод параллельного вычисления рядов Тейлора, предложенный в пункте 2.2.4, должен относительно легко реализовываться на таких процессорах. Основными языками программирования в данной среде являются различные варианты языка Си (Cg [62] — С for Graphics от компании nVidia, HLSL [87] от Microsoft, GLSL [86] от Khronos Group, интерфейсы CU-DA [83] для связи с центральным процессором, разрабатываемый стандарт OpenCL [80]), поэтому незначительные изменения в рассмотренный генератор программ позволят выполнять предлагаемые алгоритмы в новой среде.

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

Задачи идентификации параметров

Решение задач идентификации параметров [34, 81] моделей основаны на численных методах оптимизации [21, 48], реализация которых требует процедуры вычисления минимизируемого функционала или его производных. В важнейших моделях, определяемых дифференциальными уравнениями и дифференциальными с управлением [14, 18, 38] и/или с запаздыванием [19, 34], вычисляемый функционал зависит от значений решения этих уравнений в дискретных точках. Это делает особенно сложной задачу решения дифференциальных уравнений, к которым в этих случаях предъявляются дополнительные требования по их эффективности в различных аспектах. Реализация методов рядов Тейлора и малого параметра, получаемая с помощью рассмотренного программного комплекса, обладает необходимыми настройками для применения в задачах оптимизации и идентификации параметров.

Моделирование систем твёрдых тел

Одним из возможных применений разработанного программного комплекса может стать создание интерактивных систем виртуальной и дополненной реальности («virtual and augmented reality») [25, 26, 53]. Программная часть таких систем решает задачи достоверного моделирования и отображения [67] объектов окружающей среды, состоящей в основном из сложных механических систем твёрдых тел (роботов, механизмов и т.д.). Моделирование динамики систем твёрдых тел, в свою очередь, основано на решении дифференциальных уравнений. Точность интегрирования уравнений движения в данном случае напрямую влияет на достоверность восприятия виртуальной среды.

Библиография Латыпов, Виктор Николаевич, диссертация по теме Математическое моделирование, численные методы и комплексы программ

1. Андрианов, С. Моделирование динамических систем 1. Построение пропагаторов динамических систем / С. Андрианов // Вестник ЛГУ. Сер. 10, Вып.3-4.- 2005.-С. 80-92.

2. Андрианов, С. Моделирование динамических систем II. Приближенные симметрии и инварианты / С. Андрианов // Вестник ЛГУ Сер. 10, Вып.2. — 2006. С. 3-9.

3. Антонов, В. Представление гравитационного поля планеты потенциалом системы точечных масс / В. Антонов // Труды астр, обсерватории ЛГУ. 1978. - Т. 34. - С. 145-155.

4. Антонов, В. Введение в теорию ньютоновского потенциала / В. Антонов, Е. Тимошкова, К. Холшевников. — М.: Наука, 1988.— 272 с.

5. Ахо, А. Теория синтаксического анализа, перевода и компиляции. Том 1. Синтаксический анализ / А. Ахо, Д. Ульман.— М.: Мир, 1978.- 615 с.

6. Бабаджанянц, Л. Продолжаемость и представимость решений в задачах небесной механики / J1. Бабаджанянц // Труды ИТА АН СССР. 1978. - № 17. - С. 3-45.

7. Бабаджанянц, Л. Метод бесконечных систем в задачах небесной механики. — Диссертация на соискание учёной степени д.ф.-м.н., JL: ЛГУ. 1985.

8. Бабаджанянц, Л. Метод дополнительных переменных / JI. Бабаджанянц // Вестник СПбГУ. Сер. 10.— 2009.— Т. Вып 4.- С. 3-11.

9. Бабаджанянц, Л. Приложение SeriesMethod для пакета Math-ematica / JI. Бабаджанянц, В. Латыпов. — Электронный источник http://www.apmath.spbu.ru/ru/staff/babadzhanyants/ SeriesMethod.zip.

10. Бабаджанянц, Л. Оценка голоморфных решений обыкновенных дифференциальных уравнений / Л. Бабаджанянц, П. Мгоян // Известия АН Арм. ССР, серия математическая. — 1982. — Т. 17, №2. — С. 83-91.

11. Бабаджанянц, Л. Управление по критерию расхода в механических системах / Л. Бабаджанянц, И. Потоцкая. — СПб.: СПбГУ, 2003.— 137 с.

12. Бабаджанянц, Л. Управление вращением спутника по критерию расхода на круговой орбите / Л. Бабаджанянц, И. Потоцкая, Ю. Пу-пышева // Сборник трудов конференции SCP'2005.— СПб.: 2005.— С. 1052-1059.

13. Бабаджанянц, Л. Методы рядов Тейлора для динамических систем с управлением: сходимость и оценка погрешности / Л. Бабаджанянц, Д. Саркисян // Современная математика и её приложения,— 2005.— Т. 24 (Динамические системы и оптимизация).— С. 14-34.

14. Белецкий, В. Движение спутника относительно центра масс в гравитационном поле / В. Белецкий. — М.: МГУ, 1975. — 416 с.

15. Брумберг, В. Аналитические алгоритмы небесной механики / В. Брумберг, — М.: Наука, 1980, — 205 с.

16. Виленкин, Н. Специальные функции и теория представлений групп / Н. Виленкин. — М.: Наука, 1965. — 588 с.

17. Виноградова, Т. О необходимых условиях в минимаксных задачах управления / Т. Виноградова // Известия ЭТИ. Сборник научных трудов, Выпуск Математика. — 1992. — С. 39-44.

18. Виноградова, Т. Негладкая задача с отклоняющимся аргументом / Т. Виноградова // Известия ГЭТУ, Выпуск Щ. — 1994. — С. 29-34.

19. Гердт, В. Аналитические вычисления на ЭВМ в приложении к физике и математике / В. Гердт, О. Тарасов, Д. Ширков // УФН. — 1980.-Vol. 130.-Р. 113.

20. Гилл, Ф. Практическая оптимизация / Ф. Гилл, У. Мюррей, М. Райт. — М.: Мир, 1985. — 509 с.

21. Дубошин, Г. Небесная механика. Аналитические и качественные методы / Г. Дубошин. — М.: Наука, 1964,— 560 с.

22. Дэвенпорт, Д. Компьютерная алгебра / Д. Дэвенпорт, И. Сирэ, Е. Турнье. М.: Мир, 1991. — 352 с.

23. Иванова, Т. Пуассоновский процессор PSP / Т. Иванова // Препринты ИТА РАН. — 1997. № 64. - 46 с.

24. Компилятор Fortran-90 G95.— Электронный источник http://www. g95.net.

25. Компилятор GNU С++. — Электронный источник http: //gcc. gnu. org.

26. Кулаков, Ф. Супервизорное управление манипуляционными роботами / Ф. Кулаков. — М.: Наука, 1980. — 448 с.

27. Лабораторный практикум по механике управляемого движения с использованием мини-ЭВМ: Учебное пособие. Под ред. B.C. Новосёлова / Г. Алфёров, Л. Бабаджанянц, Д. Ковригин, С. Сенатова. — Л.: ЛГУ, 1989. 84 с.

28. Латыпов, В. Построение траекторий в задачах управления пучками частиц / В. Латыпов // Материалы конференции ПУИТ'08.— Казань: 2008. — С. 255-258.

29. Латыпов, В. Автоматизация решения обыкновенных дифференциальных уравнений / В. Латыпов // Вестник СПбГУ, Сер. 10, Вып.2. — 2009. — С. 48-58.

30. Марчук, Г. Математические модели в иммунологии. Вычислительные методы и эксперименты / Г. Марчук. — М.: Наука. Гл. ред. физмат. лит., 1991. — 304 с.

31. Математическое моделирование и исследование устойчивости биологических сообществ : учебное пособие / А. Александров, А. Платонов, В. Старков, Н. Степенко,- СПб:: СОЛО, 2006. — 186 с.

32. Мещеряков, Г. О многоточечных моделях геопотенциала / Г. Мещеряков, А. Марченко // Изучение Земли как планеты методами Астрономии, Геофизики и Геодезии (Труды I Орловской конференции). — Киев: Наукова думка, 1982. — С. 121-131.

33. Найфе, А. Методы возмущений / А. Найфе. — М.: Мир, 1976. — 456 с.

34. Овсянников, Д. Математическое моделирование систем формирования электронных и ионных пучков / Д. Овсянников, Н. Егоров. — СПб.: Изд-во СПбГУ, 1998.-276 с.

35. Приёмы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес.— СПб.: Питер, 2003. 368 с.

36. Пуанкаре, А. О кривых, определяемых дифференциальными уравнениями / А. Пуанкаре; Под ред. А. Андронов.— М.: Гостехиздат, 1947. 392 с.

37. Пуанкаре, А. Избранные труды. Том 1 / А. Пуанкаре, — М.: Наука, 1971.- 772 с.

38. Самарский, А. Математическое моделирование: Идеи. Методы. Примеры / А. Самарский, А. Михайлов. — М.: Физматлит, 2001. — 320 с.

39. Сарычев, В. Оценка границы колебательных движений спутника / В. Сарычев, В. Сазонов // Препринты Института прикладной математики АН СССР. 1974. - № 130. - С. 1-23.

40. Флегонтов, А. Основы символьных и алгебраических вычислений на персональном компьютере / А. Флегонтов. — Орел: ОГПУ, 1996. — 29 с.

41. Функции математической физики / Ж. Кампе де Ферье, Р. Кем-пбелл, Г. Петьо, Т. Фогель,— М.: Государственное издательство физико-математической литературы, 1963. — 104 с.

42. Хайрер, Э. Решение обыкновенных дифференциальных уравнений, II. Жёсткие и дифференциально-алгебраические задачи / Э. Хайрер, Г. Ваннер.- М.: Мир, 1999. — 685 с.

43. Хайрер, Э. Решение обыкновенных дифференциальных уравнений, I. Нежёсткие задачи / Э. Хайрер, С. Нёрсетт, Г. Ваннер. — М.: Мир, 1990.- 512 с.

44. Химмельблау, Д. Прикладное нелинейное программирование / Д. Химмельблау. — М.: Мир, 1975. — 536 с.

45. Чернышёва, Н. Возмущённое движение ИСЗ. — Диссертация на соискание учёной степени к.ф.-м.н., JL: ЛГУ. — 1990.

46. Abad, A. ATESAT: software tool for obtaining automatically ephemeris from analytical simplifications / A. Abad, J. San Juan // Cahiers du Centre Europeen de Geodynamique et de Seismologie / Ed. by A. Elipe, P. Paquet. — Luxembourg, 1995. — Pp. 93-98.

47. Andrianov, S. Component Object Modeling for beam physics problems / S. Andrianov // Proceedings of 1999 Particle Acceleration Conference. — New York: 1999. Pp. 2701-2703.

48. Andrianov, S. LEGO-Technology Approach for Beam Line Design / S. Andrianov // Proc. of the Eighth European Particle Acceleration Conference. — Paris: 2002. Pp. 1607-1609.

49. Azuma, R. A Survey of Augmented Reality / R. Azuma // Presence: Teleoperators and Virtual Environments. — 1997.—August. — Vol. 6.— Pp. 355-385.

50. Bailey, D. A Fortran-90 Based Multiprecision System / D. Bailey // ACM Transactions on Mathematical Software.— 1995.— Vol. 21, no. 4. — Pp. 379-387.

51. Bendtsen, C. FADBAD, a Flexible С++ Package for Automatic Differentiation: Technical Report IMM-REP-1996-17 / C. Bendtsen,

52. О. Stauning. — Lyngby, Denmark: Department of Mathematical Modelling, Technical University of Denmark, 1996.— http://www.fadbad. com.

53. Berz, M. COSY INFINITY, Version 8.1 Programming manual: Technical Report MSUHEP-20703-48824 / M. Berz, J. Hoefkens, K. Makino. -East Lansing, MI: Department of Physics and Astronomy, Michigan State University, 2002. — http://cosy.pa.msu.edu.

54. Berz, M. Taylor models and other validated functional inclusion methods / M. Berz, K. Makino // International Journal of Pure and Applied Mathematics. — 2003. — Vol. 4, no. 4. — Pp. 379-456.

55. Booch, G. The Unified Modeling Language User Guide / G. Booch, I. Ja-cobson, J. Rumbaugh.— London: Addison-Wesley Professional, 1998. — 512 pp.

56. Briggs, K. DoubleDouble library / K. Briggs. — 1997. — Электронный источник http://www.boutell.com/fracster-src/doubledouble/ doubledouble.html.

57. Corliss, G. Solving ordinary differential equations using Taylor series / G. Corliss, Y. Chang // ACM Transactions on Mathematical Software. — 1982. June. - Vol. 8, no. 2. - Pp. 114-144.

58. Fernando, R. The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics / R. Fernando, M. Kilgard.— London: Addison-Wesley Professional, 2003. — 384 pp.

59. GIAC С++ Computer Algebra Library.— Электронный источник http://giac.sourceforge.net.

60. GNU Multiple Precision library.— Электронный источник http:// www. gmp. org.

61. Graga, D. Computability with polynomial differential equations / D. Graga, M. Campagnolo, J. Buiescu // Advances in Applied Mathematics. — 2008. — Vol. 40. Pp. 330-349.

62. Griewank, A. ADOL-C: a package for the automatic differentiation of algorithms written in C/C++ / A. Griewank, D. Juedes, J. Utke // A CM Transactions on Mathematical Software. — 1996. — no. 22. — Pp. 131— 167.

63. Hahn, J. Realistic animation of rigid bodies / J. Hahn // Computer graphics. — 1988. — Pp. 299-308.

64. Hairer, E. ODE solvers for IVPs / E. Hairer. — Электронный источник http://www.unige.ch/~hairer/software.html.

65. Hida, Y. Algorithms for quad-double precision floating point arithmetic / Y. Hida, X. Li, D. Bailey // Proceedings of 15th IEEE Symposium on Computer Arithmetic. — IEEE Computer Society: 2001. — Pp. 155-162.

66. Higham, D. MATLAB Guide / D. Higham, N. Higham. — Society for Industrial к Applied Math, 2000. — 283 pp.

67. Jorba, A. A Software Package for the Numerical Integration of ODEs by Means of High-Order Taylor Methods / A. Jorba, M. Zou // Experimental Mathematics. — 2005. Vol. 14, no. 1. — Pp. 99-117.

68. Kolnick, F. The QNX 4 Real-time Operating System / F. Kolnick.— London: Basis Computer Systems, 2000. — 960 pp.

69. Linnainmaa, S. Software for doubled-precision floating point computations / S. Linnainmaa // ACM Transactions on mathematical software. 1981. - no. 7. - Pp. 172-283.

70. Miletics, E. Taylor series method with numerical derivatives for initial value problems / E. Miletics, G. Molnarka // Journal of Computational Methods in Sciences and Engineering. — 2004. — Vol. 4. — Pp. 105-114.

71. Mozyrska, D. Dualities for linear control differential systems with infinite matrices / D. Mozyrska, Z. Bartosiewicz // Control and Cybernetics.— 2006. Vol. 35. - Pp. 887-904.

72. Muller, J. Elementary functions: algorithms and implementation / J. Muller. — Boston: Birkhauser, 1997. — 205 pp.

73. Navarro Hernandez, C. Observer design for nonlinear systems using linear approximations approximations / C. Navarro Hernandez, S. Banks, M. Aldeen // IMA Journal of Mathematical Control and Information.— 2003,-Vol. 20.-P. 359.

74. Nedialkov, N. An effective high-order interval method for validating existence and uniqueness of the solution of an IVP for an ODE / N. Nedialkov, K. Jackson, J. Pryce // Reliable Computing. — 2001.— Vol. 7, no. 6, — Pp. 449-465.

75. Nedialkov, N. Solving differential-algebraic equations by Taylor series (I): Computing Taylor coefficients / N. Nedialkov, J. Pryce // BIT. — 2005.

76. OpenCL Standart review.— Электронный источник http://www. khronos.org/opencl.

77. Parker, G. Implementing the Picard iteration / G. Parker, J. Sochacki // Neural, Parallel and Scientific Computation. — 1996. — no. 4. — Pp. 97112.

78. Pharr, M. GPU Gems 2: Programming Techniques for High-performance Graphics and General-purpose Computation / M. Pharr.— London: Addison-Wesley Professional, 2005. — 880 pp.

79. Polynomial differential equations compute all real computable functions on computable compact intervals / 0. Bournez, M. Campagnolo, D. Graga, E. Hainry // Journal of Complexity. — 2007.— Pp. 317-335.

80. Rail, L. Automatic differentiation: techniques and applications. LNCS 120 / L. Rail. — Berlin: Springer Verlag, 1981. — 171 pp.

81. Rost, R. OpenGL Shading Language (2nd Edition) / R. Rost. — London: Addison-Wesley Professional, 2006. — 800 pp.

82. St-Laurent, S. The COMPLETE Effect and HLSL Guide / S. St-Laurent. — London: Paradoxal Press, 2005. — 324 pp.

83. Steffensen, J. On the restricted problem of three bodies / J. Steffensen // Mat. Fys. Danske Vid. Selsk. — 1956. — Vol. 30, no. 18.

84. Steffensen, J. On the problem of three bodies in the plane / J. Steffensen // Mat.-fys. Medd. Danske Vid. Selsk. — 1957, — Vol. 30, no. 3.

85. Vandevoorde, D. С++ Templates: The Complete Guide / D. Vandevo-orde, N. Josuttis. — Addison-Wesley Professional, 2002,— 552 pp.

86. Veldhuizen, T. Expression templates / T. Veldhuizen // С++ Report.— 1995. — Vol. 7, no. 5. — Pp. 26-31. — Reprinted in С++ Gems, ed. Stanley Lippman. http://extreme.indiana.edu/~tveldhui/papers/.

87. Wolfram, S. The MATHEMATICA (R) Book, Version 4 / S. Wolfram. -Cambridge University Press, 1999. — 1496 pp.

88. YACAS С++ Computer Algebra Library.— Электронный источник http://yacas.sourceforge.net.