Математические модели возмущенного движения высокого порядка точности тема диссертации и автореферата по ВАК РФ 05.13.18, кандидат физико-математических наук Латыпов, Виктор Николаевич

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

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

Введение

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 Система Лотки-Вольтерра.

Рекомендованный список диссертаций по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК

Введение диссертации (часть автореферата) на тему «Математические модели возмущенного движения высокого порядка точности»

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

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

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

Разработанный программный комплекс, обеспечивающий автоматическое построение процедур, реализующих численные методы решения задачи Коши для систем ОДУ (программа 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] также должна основываться на некотором наборе процедур для обработки символьных выражений.

Похожие диссертационные работы по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК

Заключение диссертации по теме «Математическое моделирование, численные методы и комплексы программ», Латыпов, Виктор Николаевич

Заключение

Рассмотренные методы автоматического построения конкретных вычислительных процедур и численные эксперименты, результаты которых приведены в Приложении 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] объектов окружающей среды, состоящей в основном из сложных механических систем твёрдых тел (роботов, механизмов и т.д.). Моделирование динамики систем твёрдых тел, в свою очередь, основано на решении дифференциальных уравнений. Точность интегрирования уравнений движения в данном случае напрямую влияет на достоверность восприятия виртуальной среды.

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

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.

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