авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:     | 1 |   ...   | 2 | 3 ||

«Министерство образования и науки Российской Федерации САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Ю.Б. Сениченков ...»

-- [ Страница 4 ] --

Решатели для отладки. Цель этой группы методов продвигать модельное время вперед как можно дальше, чтобы дать возможность пользователю понять природу ошибок. К этой группе, для решения дифференциальных уравнений, относятся явный и неявный методы Эйлера с автоматическим выбором шага (SIMPLE_AUTO) и метод Рунге-Кутта четвертого порядка с постоянным шагом. Для отладки моделей, основанных на нелинейных и алгебро-дифференциальных уравнениях, специальных методов не предусмотрено.

В MVS различаются три основные численные задачи и три группы соответствующих методов.

Задача Автомат Конкретные программы Решение систем AUTO_NAE Различные модификации нелинейных метода Ньютона алгебраических Гибридные методы уравнений.

Решение систем AUTO_ODE Нежесткие задачи дифференциальных Явные методы Рунге-Кутта уравнений Методы Адамса Жесткие задачи Неявные методы Рунге Кутта Методы, основанные на формулах дифференцирования назад Отладочные программы RKF Решение систем AUTO_DAE Явные методы алгебро- Неявные методы дифференциальных уравнений 4.3 Системы нелинейных алгебраических уравнений.

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

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

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

1. Fast Newton (newt_F) – "Быстрый" метод Ньютона, позволяющий не вычислять матрицу Якоби в очередной временной точке заново, а использовать сохраненное значение с предыдущей точки (пересчет матрицы Якоби через каждые пять итерации).

2. Modified Newton (newt_M) - Модифицированный метод Ньютона (пересчет матрицы Якоби через фиксированное число итераций или по мере уменьшения скорости сходимости).

3. Classical Newton (newt_G) - Классический вариант метода Ньютона (пересчет матрицы Якоби на каждой итерации).

4. Hybrid Powell method (powell)-Гибридный метод Пауэлла (MinPack) 5. Auto_NAE. Автомат пытается последовательно применять методы (1, 2, 3, 4). Аварийная остановка автоматического решателя означает, что для данного начального приближения, взятого с предыдущего шага, ни один из методов не нашел удовлетворительного решения.

Примечание. В скобках указаны имена подпрограмм, используемые в соответствующей *.DLL Подпрограммы Newt_F, Newt_M, Newt_G являются управляющими для подпрограммы NTDF8.

Подпрограмма NTDF8 представляет собой традиционную реализацию метода Ньютона. На каждом шаге, с помощью подпрограмм из коллекции LINPACK, решается система линейных уравнений относительно приращения к решению, найденному на предыдущей итерации. Матрица Якоби вычисляется численно. Приближенное решение считается найденным с удовлетворительной точностью, если выполнено условие y n +1 y n y n +1 отн + 100 M. Величина относительной погрешности отн задается пользователем. Абсолютная погрешность положена равной 100 м.

Напомним, что м - это минимальное машинное число, при сложении с единицей дающее результат отличный от единицы.

Задавая различные значения переменным подпрограммы NTDF8 ipr, inorm, nJc можно: вычислять матрицу Якоби заново в начальной точке или использовать уже известное значение (ipr);

оценивать величину погрешности, опираясь на различные нормы решения (inorm);

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

Переменные nfcnN, njacN, nitN общего блока common/stat/nfcnN, njacN, nitN хранят: nfcnN – общее число обращений к правой части;

njacN – число вычислений матрицы Якоби;

nitN- общее число итераций.

Пользователь MVS доступа к этим переменным не имеет, они использовались при тестировании библиотеки.

Программные реализации метода Ньютона имеют следующие коды завершения (табл. 3).

Таблица 3.

ier = 0 Успешное завершение.

ier = 2 Прерывание, вызванное арифметическими ошибками, при попытке вычислить правую часть..

ier = -1 Метод Гаусса обнаружил численную вырожденность матрицы решаемой линейной системы.

ier = -3 Медленная сходимость.

ier = -4 Число вычислений правой части превысило допустимое число nmax=c_itmax*n.

В табл. 4 приведены пояснения и рекомендуемые действия при возникновении соответствующих кодов завершения.

Таблица 4.

ier=2 Любая попытка выполнить недопустимую арифметическую операцию (деление на ноль, попытка вычислить квадратный корень из отрицательного числа, и другие) приведет к остановке вычислений и выводу на экран сообщения c указанием ошибочного выражения..

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

ier=-3 При хорошем начальном приближении методы ньютоновского типа теоретически сходятся очень быстро. За одну итерацию можно получить удвоение числа верных знаков в приближенном решении. Однако при поиске хорошего начального приближения или при неудачном выборе последнего, возможны ситуации, когда и число верных знаков от итерации к итерации практически не изменяется, и приближенное решение не удовлетворяет заданному условию по точности.

Попробуйте поискать иное начальное приближение из "физических" соображений или сменить метод.

ier=-4 Встроенные в MVS методы относятся к итерационному типу. Число разрешенных итераций ограничено числом допустимыx вычислений функции, а именно константой n*100, где n – размерность решаемой системы.

Превышение этого значения без достижения нужной точности, приведет к принудительному завершению с кодом ier=-4.

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

Сообщения об ошибках гибридного метода Пауэлла приведены в табл. 5. В табл. 6 даны краткие пояснения к сообщениям. Таблица отличается от таблицы 4 только одной строкой, соответсвующей коду ier = -2, поэтому она приводится в сокращении.

Таблица 5.

ier = 0 Успешное завершение.

ier = 2 Прерывание, вызванное арифметическими ошибками, при попытке вычислить правую часть..

ier = -1 Метод Гаусса обнаружил численную вырожденность матрицы решаемой линейной системы.

ier = -2 Завышена требуемая точность.

ier = -3 Медленная сходимость..

ier = -4 Число вычислений правой части превысило допустимое число nmax=c_itmax*n.

Таблица 6.

ier=-2 Попробуйте изменить точность. При заданной точности найти лучшее приближение не удается..

Программа автомат Управляющая подпрограмма AUTO_NAE последовательно вызывает сначала методы ньютоновского типа, а затем гибридный метод Пауэлла. В случае неудачи очередного метода, коды завершения игнорируются, и делается попытка применить следующий метод. На следующем временном шаге делается попытка вновь применить самый простой метод, а именно Fast Newton.

Переменная istart управляет только работой "быстрого" модифицированного варианта метода Ньютона (Fast Newton). Значение istart=0 требует вычисления матрицы Якоби в начальной точке. При успешном нахождении решения istart на выходе метода полагается равным единице и, при последующем обращении, перевычисления матрицы не происходит. При смене поведения, значение istart автоматически полагается равным нулю.

Переменная method хранит номер (табл. 7) примененного на шаге метода. В табл. 8 приведены коды завершения.

Таблица method=1 Fast Newton (Newt_F) method=2 Modified Newton (Newt_M) method=3 Classical Newton (Newt_G) method=4 Hybrid Powell method (Powell) Таблица ier=0 Успешное завершение.

ier =2 Возникли арифметические ошибки при попытке вычислить правую часть.

ier=-1 Матрица линейной системы вырождена.

ier=-2 Затребованная точность завышена.

ier=-3 Слишком медленная сходимость.

ier=-4 Превышено допустимое число вычислений правой части Система решена методом:

method=1 Newt_F method=2 Newt_M method=3 Newt_G method=4 Powell 4.4 Дифференциальные уравнения.

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

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

Во всех программах-автоматах, предназначенных для решения задач, тип которых заранее неизвестен пользователю, система первоначально считается нежесткой, так как решение нежестких уравнений чаще оказывается менее трудоемким процессом, чем решение жестких. При возникновении жесткости, такие подпрограммы автоматически переключаются на программные реализации, предназначенные для решения жестких уравнений. Наиболее широкое признание среди подпрограмм автоматов получила подпрограмма LSODA, построенная на линейных многошаговых методах. Подпрограмм автоматов, построенных на одношаговых методах, практически не существует [12]. В MVS в качестве автомата предлагается использовать программу AUTO_ODE, которая сначала пытается применить явный одношаговый, а при обнаружении жесткости - неявный многошаговый метод.

Решение систем обыкновенных дифференциальных уравнений Автомат Специализированные Отладочные программы программы AUTO_ODE Нежесткие задачи Простейший автомат, Одношаговые, явные построенный на методы (явные методы явном и неявном Рунге-Кутта) методах Эйлера Линейные многошаговые, Метод Рунге-Кутта явные четвертого порядка с (Методы Адамса) фиксированным шагом Жесткие задачи Одношаговые, неявные методы (неявные методы Рунге Кутта) Линейные многошаговые, неявные (Методы, построенные на формулах дифференцирования назад) Существуют также специализированные программы, предназначенные для решения только соответствующего типа задач.

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

Группа подпрограмм для решения нежестких уравнений содержит различные варианты метода Рунге-Кутта (Rkf45, Rkf853, Rkf78) и одну реализацию линейных многошаговых методов (LSODE_A).

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

Программа LSODE_A реализует явные линейные многошаговые методы и является управляющей для подпрограммы LSODE [13] при выборе значения параметра равным 10 ( mf=10).

Группа подпрограмм для решения жестких уравнений включает подпрограмму LSODE_B, основанную на неявных многошаговых методах.

Подпрограмма LSODE_B является управляющей для подпрограммы LSODE при выборе параметра равным 22 (mf=22). В эту группу так же входят подпрограммы из коллекции [11] для решения жестких уравнений, использующие неявные одношаговые методы.

Программы для решения нежестких уравнений.

Все подпрограммы, реализующие методы Рунге-Кутта имеют единый набор вспомогательных программ, единый интерфейс и одни и те же коды завершения. Вспомогательные подпрограммы приведены на рис. 5, сами подпрограммы на рис. 6. Краткие сообщения (коды завершения) можно найти в табл. 9, а пояснения к ним в табл. 10.

Таблица 9.

Коды завершения ier=0 Успешное завершение.

ier=22 Арифметические ошибки при вычислении правой части дифференциальной системы.

ier=-1 Переключение поведения.

ier=-2 Возможно, что задача в точке останова стала жесткой.

ier=-3 Сделано больше шагов, чем предусмотрено.

ier=-4 Шаг интегрирования стал недопустимо малым.

Таблица Пояснения к кодам завершения ier=22 Проверьте правильность описания локального поведения.

Формула, приведенная в сообщении, содержит недопустимые арифметические операции.

ier=-2 Смените метод на один из методов, предназначенных для решения жестких задач.

ier=-3 Для начала уменьшите запрашиваемую точность. Если это не поможет, перейдите к программе AUTO_DE и выясните, не является ли задача жесткой. Если ничего не помогает, введите в описание локального поведения устройства дополнительный узел, с точно таким поведением. Выход из узла предусмотрите по времени.

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

Смена поведения (на точно такое же!), приведет к автоматическому обнулению всех внутренних счетчиков.

И постарайтесь понять, почему ваша система так себя ведет в данной точке.

ier=-4 Шаг интегрирования стал настолько малым, что продвижение вперед стало невозможным. Значение t+h оказывается равным t. Возможно, что система плохо масштабирована.

Коды завершения программы lsode_a приведены в табл. 11, а пояснения к ним в табл. 12. Таблица 12 приводится в сокращении, так как часть ее строк совпадает с соответствующими строками табл.10.

Таблица ier=0 Нормальный выход.

ier=22 Арифметические ошибки при вычислении правой части дифференциальной системы.

ier=-1 Переключение поведения.

ier=-2 Превышено допустимое число шагов.

ier=-3 Завышена точность.

Может возникать, также если tin и tout oчень близки для данного локального поведения.

ier=-4 Не прошел тест на точность.

Таблица ier=-2 Смените метод. Начните с программы AUTO_ODE. Если она тоже укажет на наличие жесткости, можете переходить к специальным методам решения жестких задач.

ier=-3 Измените точность или смените метод решения. Возможно так же, что время «жизни» в данном узле карты поведения оказалось чрезвычайно коротким. Проверьте описание поведения.

ier=-4 Этот код говорит о невозможности найти решение с заданной точностью в указанной временной точке.

Возможно, что эта точка особенная. Проверьте описание локального поведения.

Программы для решения жестких уравнений.

Подпрограммы для решения жеских задач представлены программной LSODE_b (управляющая для программы LSODE с выбором параметра mf=22) и подпрограммой RADAU5 из коллекции [10].

Линейные многошаговые методы для решения жеских систем в пакете [13] реализованы в подпрограмме LSODE. Вызов подпрограммы LSODE с параметром mf равным 22 (mf=22) обеспечивает применение этих методов. Обращение к программе lsode_b полностью аналогично обращению к программе lsode_а, за исключеним того, что необходимо выделить другое количество памяти рабочим массивам.

Коды завершения программы lsode_в приведены в табл. 13, а пояснения к ним в табл. 14. Табл. 14 отличается от табл. 12 только одной строкой, а именно строкой, соответсвующей коду завершения ier=-5, и трактовкой сообщения с кодом ier=-2, поэтому она приводится в сокращении.

Таблица ier=0 Нормальный выход.

ier=22 Арифметические ошибки.

ier=-1 Переключение поведения.

ier=-2 Завышена точность.

ier=-3 Превышено допустимое число шагов.

ier=-4 Не прошел тест на точность.

ier=-5 Не сходится метод Ньютона.

ier=-7 Очень близки tin и tout для данного локального поведения.

Таблица 14.

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

ier=-5 Скорее всего, что в этой временной точке у решения есть особенность. Проверьте правильность описания локального поведения.

ier=-7 Время существования системы в данном узле оказалось таким коротким, что численный метод «решил», что вы ошиблись. Проверьте описание поведения.

Неявные одношаговые методы представлены подпрограммой RADAU5 [11], реализующей неявный метод Рунге-Кутта. Коды завершения подпрограммы приведены в табл. 15, пояснения к ним даны в табл. 16. Табл. 16 приведена в сокращении (см. табл. 12, 14) Таблица ier=0 Нормальный выход.

ier=22 Арифметические ошибки.

ier=-1 Переключение поведения..

ier=-2 Шаг интегрирования стал слишком маленьким (h eps_m).

ier=-3 Превышено допустимое число вычислений правой части.

ier=-4 Шаг интегрирования стал таким, что t+h оказалось равным t.

ier=-6 Не сходится метод Ньютона.

ier=-7 Недопустимая точность Таблица ier=-2,-6 Скорее всего, что в этой временной точке у решения есть особенность. Проверьте правильность описания локального поведения.

ier=-3 Попробуйте изменить точность или метод.

ier=-4 Скорее всего, что задача плохо масштабирована.

ier=-7 Увеличьте заданную точность.

Программа автомат.

Подпрограмма-автомат представлена программой Auto_ODE.

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

Краткие сообщения об ошибках содержаться в табл. 17, а пояснения к ним в табл. 18.

Подпрограмма AUTO_ODE начинает работу с вызова подпрограммы Rkf45, предназначенной для решения нежестких задач. Подпрограмма Rkf45 способна оценивать жесткость решаемой задачи, что позволяет автоматически переключиться на соответствующий метод. Для решения жестких задач выбрана подпрограмма LSODA, в свою очередь способная «почувствовать», что решаемая задача вновь стала нежесткой. Программа AUTO_ODE следит за значением соответствующих переменных, и автоматически переключается с одной подпрограммы на другую. Момент переключения, с методов решения жестких задач на методы решения нежестких может быть выбран из различных соображений. Специальная переменная imstop, расположенная в общем блоке common/auto/imstop управляет моментом переключения. Если imstop=1, то переключение просходит немедленно, после того как стало ясным, что задача стала нежесткой. Если imstop=0, то управляющая программа переключится только тогда, когда будет достигнут конец очередного промежутка интегрирования.

Переменная istart сообщает подпрограмме AUTO_ODE, каким методом осуществлять интегрирование на очередном шаге. При первом обращении ее следует положить равной 10. Дальнейшее ее значение выбирается автоматически. Переменная method содержит информацию о выбранном методе, а именно method=1 означает, что на данном промежутке работала подпрограмма Rkf45, а method=2, что интегрирование выполнялось подпрограммой LSODA.

Таблица Коды завершения ier=0 Успешное завершение.

ier =22 Арифметические ошибки при вычислении правой части дифференциальной системы ier=-1 Внешнее прерывание method= ier =-3 Выполнено больше шагов, чем предусмотрено.

ier =-4 Шаг интегрирования стал недопустимо малым method= ier=-2 Завышена точность.

ier=-3 Превышено допустимое число шагов ier=-4 Многократно не прошел тест на точность.

ier=-5 Многократно не сошелся метод Ньютона ier=-7 Очень близки tin и tout для данного локального поведения.

Таблица method= ier =-3 Прежде всего, попробуйте изменить точность.

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

ier =-4 Скорее всего, в этой точке у решения есть особенность.

method= ier=-2 Попробуйте изменить точность, а затем попробуйте любой из методов для решения жестких задач.

ier=-3 Попробуйте изменить точность, а затем попробуйте любой из методов для решения жестких задач.

ier=-4 Скорее всего, в этой точке решение имеет особенность.

ier=-5 Скорее всего, в этой точке решение имеет особенность.

ier=-7 Время существования системы в данном узле оказалось таким коротким, что численый метод «решил», что вы ошиблись. Проверьте описание поведения.

Отладочные программы Как уже отмечалось, отладочными подпрограммами являются подпрограммы SIMPLE и RKF4.

Отличие программ Simple и lsoda в том, что в первой введено ограничение на порядок применяемых методов, а именно – применяются только явный и неявный методы Эйлера. Такой выбор порядка обусловлен тем, что для задач с сильно меняющейся правой частью, одношаговые методы способны преодолеть трудные участки лучше многошаговых методов.

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

Коды возврата программы Simple приведены в табл. 19, Пояснения к кодам завершения соответствуют табл. 14.

В программе Simple предусмотрен анализ типа решаемых уравнений. О том, как происходило интегрирование можно узнать по значению возвращаемой переменной method. Переменная method принимает значение 1, если на промежутке интегрирования применялись только нежесткие методы. Переменная method принимает значение 2, если на промежутке интегрирования применялись только жесткие методы.

Переменная method принимает значение 11, если программа переключалась с жестких на нежесткие и обратно.

Таблица 19.

ier=0 Нормальный выход.

ier=22 Арифметические ошибки.

ier=-1 Переключение поведения.

ier=-2 Завышена точность.

ier=-3 Превышено допустимое число шагов.

ier=-4 Не прошел тест на точность.

ier=-5 Не сходится метод Ньютона.

ier=-7 Очень близки tin и tout для данного локального поведения.

4.5 Алгебро-дифференциальные уравнения Системы алгебро-дифференциальных уравнений могут представлять значительные трудности для существующих численных методов.

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

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

Первый способ будем называть явным, а второй – неявным.

Явный способ Для реализации первого подхода мы выбрали метод Ньютона для решения алгебраических систем, подпрограмму AUTO_NAE для нахождения согласованных начальных условий и явные методы Рунге Кутта для решения дифференциальных систем. Все подпрограммы это класса имеют одинаковый интерфейс и одинаковые коды завершения. На рис. 13 приводится управляющая подпрограмма rk853. В табл. приведены коды завершения, пояснения к ним даны в табл. 21.

Таблица Коды завершения ier=0 Успешное завершение.

ier=2 Арифметические ошибки при вычислении правой части алгебраической системы ier=22 Арифметические ошибки при вычислении правой части дифференциальной системы ier=-1 Внешнее прерывание.

ier=-2 Возможно, что задача в точке останова стала жесткой.

ier=-3 Требуется больше вычислений правой части, чем предусмотрено.

ier=-4 Шаг интегрирования стал недопустимо малым.

ier=-5 Не удалось найти согласованные начальные условия.

ier=-6 Не удалось решить алгебраическую систему по ходу решения.

ier=-7 Не удалось вычислить начальный шаг.

Таблица Пояснения к кодам завершения ier=22 Проверьте правильность описания локального поведения.

Формула, приведенная в сообщении, содержит недопустимые арифметические операции.

ier=-2 Смените метод.

ier=-3 Для начала уменьшите запрашиваемую точность. Если это не помогает, введите в описание локального поведения устройства дополнительный узел, выход из которого предусмотрите по времени. Это время должно быть меньше, чем время, когда появляется сообщение. Смена поведения (на точно такое же!), приведет к автоматическому обнулению всех внутренних счетчиков.

И постарайтесь понять, почему ваша система так себя ведет в данной точке.

ier=-4 Шаг интегрирования стал настолько малым, что продвижение вперед стало невозможным. Значение t+h оказывается равным t. Возможно, что система плохо масштабирована.

ier=-5 Заданные вами начальные значения не согласованы.

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

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

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

Неявный способ Подпрограммы этой группы представлены подпрограммой Ddassl.

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

22, пояснения к ним в табл. 23.

Таблица 22.

ier=0 Нормальный выход.

ier=22 Арифметические ошибки при вычислении правой части алгебро-дифференциальной системы.

ier=-1 Переключение поведения.

ier=-2 Завышена точность.

ier=-3 Превышено допустимое число шагов.

ier=-4 Не прошел тест на точность.

ier=-5 Не сходится метод Ньютона.

ier=-6 Матрица Якоби вырождена.

ier=-7 Невозможно построить согласованные начальные условия.

ier=-8 Не проходит тест на точность и одновременно не сходится метод Ньютона.

Таблица 23.

ier=-4 Многократно не удалость удовлетворить тесту по проверке ошибки на последнем шаге. Скорее всего, что вы имеете дело с особой.

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

ier=-6 Матрица частных производных вырождена. Возможно, что некорые из ваших уравнений являются следствием остальных. С такой задачей программа справиться не может.

Если можете, удалите зависимые уравнения. Возможно, что решение не существует, либо оно не единственно.

ier=-7 Невозможно построить согласованные начальные условия.

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

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

Подрограмма Slodi является управляющей. Ее основная цель проверить согласованность начальных условий, и попытаться найти удовлетрорительное решение, если условия не согласованы. Для этого, при заданном векторе начальных условий для дифференциальных уравнений, ищется значение алгебраической компоненты, удовлетворяющей нелинейным уравнениям. В табл. 24 дается перечень кодов завершения Таблица ier=0 Нормальный выход.

ier=22 Арифметические ошибки.

ier=-1 Переключение поведения.

ier=-2 Завышена точность.

ier=-3 Превышено допустимое число шагов.

ier=-4 Многократно не прошел тест на точность.

ier=-5 Не сходится метод Ньютона.

ier=-7 Очень близки tin и tout для данного локального поведения.

ier=-8 Не удалось вычислить согласованные начальные условия.

4.6 Об использовании тождеств при построении тестовых примеров.

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

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

Проверочные примеры, подтверждающие высказанное о них утверждение, назовем иллюстративными, доказывающие отсутствие как-либо свойств – контр-примерами.

Хорошо известными проверочными примерами служат:

• Системы линейных алгебраических уравнений A( ) x = b с известным решением x [22, т.1], где –вектор параметров, позволяющий менять число обусловленности cond(A) матрицы A по отношению к задаче обращения cond Ax =b ( A) = A A 1.

• Квадратные матрицы A = S ( ) S 1 ( ), где - блочно-диагональная матрица с известными собственными числами [22, т.2], а вектор параметр, управляющий числом обусловленности по отношению к проблеме собственных значений cond Ax =x ( A) = S S 1.

• Системы линейных обыкновенных дифференциальных уравнений dx = Ax + b, x (0) = x0 со специально подобранными значениями {1,… n} dt собственных чисел матрицы A, обеспечивающими жесткость, не жесткость или осцилляцию решения (“Stiff”, “Soft”, “Oscillator”) [18-21].

Во всех перечисленных случаях удается построить генераторы проверочных примеров, то есть алгоритмы, строящие множества {A(), x |Rk} по известным характеристикам, например, собственным числам.

Это обеспечивает возможность проведения вычислительных экспериментов в достаточно широких пределах [23].

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

При разработке и отладке программных реализаций численных методов была выбрана следующая стратегия тестирования. Проверочные примеры предварительно строились на ФОРТРАНЕ, а затем воспроизводились в среде Model Vision Studium, что позволяло одновременно проверять точностные и временные характеристики программных численных методов в разных системах программирования, а также правильность реализации синтаксических конструкций языка MVL.

В последующем те же тестовые примеры были воспроизведены в среде AnyLogic и на языке Java.

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

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

Для оценки точностных характеристик, разделим тестовые примеры на «хорошие», и «плохие». В случае линейных систем, в большинстве случаев достаточно уметь плавно менять число обусловленности от единицы до числа обусловленности, при котором матрица считается численно вырожденной, и тем самым изучать влияние ошибок округления на «хороших» и «плохих» системах. Более сложной является задача построения вектора решения, на котором достигается максимально возможная ошибка для данной матрицы [6]. Ситуация с оценкой точности в нелинейном случае очевидно много сложнее, но в любом случае системы линейных уравнений следует включить в число тестовых по следующим причинам: они пригодны для измерения влияния ошибок округления и позволяют оценить, как методы реагируют на численно вырожденные матрицы Якоби.

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

Системы линейных уравнений для оценки точностных характеристик.

1. Простейшим примером хорошо обусловленной системы может служить система с матрицей 1 2 1 t 2 ;

A = 3 1 2 ;

решением x = t и вектором правой части A= 1 2 3t b = ;

ее обусловленность близка к единице и вычисление матрицы 3t Якоби не может вызывать трудностей. Любые методы должны получать численное решение, практически совпадающее с точным.

2. Простейшим примером плохо обусловленной задачи может служить система с матрицей 1 + 2 -n 1 1 + 2 -n t -,, решением и x= A= A = -n +1 2 + 2 -2n t 1 + 2 -n 1 1 + 2 -n ( 2 + 2 -n ) t вектором правой части b =. Ее обусловленность близка к ( 2 + 2 ) t -n машинной бесконечности при правильно выбранных n (матрица численно вырождена при n=52 для чисел типа double). Вычисление матрицы Якоби этой матрицы может вызывать трудности. В качестве характеристики может выступать значение n, при котором метод обнаруживает численную вырожденность, и значение нормы ошибки при различных значениях n.

Системы линейных уравнений для оценки временных характеристик.

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

Системы нелинейных уравнений.

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

Нелинейное скалярное уравнение Интерполяция Харциева. Данный способ интерполяции предназначен для построения интерполирующей функции, имеющей чередующиеся локальные максимумы и минимумы.

Рассмотрим таблицу {( xi, f ( xi ), i = 1, N }с различными узлами. Отобразим отрезки [xi, xi +1 ] в отрезок [0, ] с помощью функций yi ( x ) = ( x xi ).

xi +1 xi cos n ( y ), cos( y ) Введем вспомогательную функцию w( y ) = и ( cos( y )), cos( y ) n [xi, xi +1 ] определим интерполирующие функции на отрезках как f ( xi +1 ) + f ( xi ) f ( xi +1 ) f ( xi ). Доопределив zi (x ) так, чтобы zi ( x ) = w( y i ( x )) 2 они всюду были равны нулю, кроме отрезка [xi, xi +1 ] получим искомую N Z ( x ) = zi ( x ), интерполирующую функцию имеющую локальные i = минимумы и максимумы в узлах интерполяции. Интерполирующая функция непрерывна вплоть до n-ой производной.


Системы нелинейных уравнений В основу практически всех приведенных ниже проверочных примеров положены тождества из справочника Рыжик И.М. «Таблицы интегралов, сумм, рядов и произведений».

Проверочный пример 1.

Рассмотрим систему уравнений x1 + x2 +.... xn = a1 ;

x * x + x * x +... x * x = a 1 2 n 1 3 n....

x1 * x2 * x3... xn 1 * xn = a n с матрицей Якоби 1 1 1... n n n xi x xi i i =2 i 2 i =..... P1 Pn....

x ;

P = x, x P1 = Pn = i j i i i =2, N i j i =1, N В такой системе просто обеспечить численную вырожденность матрицы Якоби на решении (достаточно выбрать корни кратными).

Система также обладает еще одним важным свойством – любая перестановка компонент вектора (x1, x2, xn) – вновь является решением.

Проверочный пример 2.

Для построения проверочной системы вместо симметрических многочленов S1 = xi ;

S2 = xi x j ;

... ;

Sn = xi ;

i i, j i можно использовать симметрические функции s1,… sn s0 = n;

s1 = xi ;

s2 = xi2 ;

... sn = xin i i i Матрица Якоби в этом случае равна 1 1 1... 2 x 2 x2 2 xn 1..... n 1 nx n n nx1.... n k Данная форма хороша тем, что значения сумм = SUM q известны для q k = всех практически важных для тестирования значений q.

q SUM 2 q = k2 q ( st ( n k + 1,2k + 2) + st ( n k,2k + 2));

k = q SUM 2 q 1 = k2 q 1 st ( n k + 1,2k + 1);

k = где st-числа Стирлинга st(n,k)=st(n-1,k-1)+k*st(n-1,k), st(1,1)=1, st(n,n)=1, k=n, а коэффициенты k2 q ;

k2 q1 задаются рекуррентными соотношениями.

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

Проверочный пример 3.

Система шестого порядка (получается, если положить n=4 в приведенных ниже формулах и добавить два любых уравнения для p и q) может быть построена на базе следующих тождеств:

n 1 n ( p + (k 1)q))( p + kq) = p ( p + nq ) i = n ( 2 p + nq + q ) n ( p + (k 1)q))( p + kq)( p + (k + 1)q) = 2 p( p + q)( p + nq)( p + (n + 1)q) i = n ( p + (k 1)q))( p + kq)...( p + (k + L)q) = A i = 1 1 A= ( L + 1) q p( p + q)...( p + Lq) p( p + nq)( p + ( n + 1) q)...( p + ( n + L) q) n 1n n 1 1 (1 + (k 1)q))(1 + (k 1)q + p) p i=1 (1 + (k 1)q)) i=1 (1 + (k 1)q) + p) ) = ( i = xi = i, i = 1, L –любое целое, уравнения для p, q – любые.

При тестировании использовалась следующая модификация этого примера. Четыре приведенных уравнения были дополнены двумя линейными уравнениями относительно p и q p + (1 + ) q = b (1 + ) p + q = b Проверочный пример 4.

Еще один проверочный пример построен на формулах:

x 2 ( x 2 n 1) n ( x k + k )(x k k ) = n( n + 1)( 2n + 1) ;

x2 1 k = x 2 ( x 2 n 1) y 2 ( y 2 n 1) n ( x k + y k )(x k y k ) = ;

x2 1 y2 k = x 2 ( x 2 n 1) y 2 ( y 2 n 1) n 1 (x ;

+ )(x k k ) = k x2 1 y2 yk y k = x 2 (1 x n ) y 2 (1 y n ) n (x k +1 k + ;

y )= 1 x 1 y k = Число уравнений в этом примере может быть от 4 и выше, если использовать и xi и yi в качестве неизвестных и добавить необходимое число, например линейных уравнений. Точные решения могут быть выбраны как x1=const1;

y1=const2;

x2=( x1)2;

y2=( y1)2 и так далее. В "правую часть" уравнений можно подставлять точные значения, но можно оставить и в приведенном выше виде. В последнем случае матрица Якоби окажется вырожденной.

Проверочный пример 5.

"Замешивание" в одной системе функций с сильно разнящимися производными позволяет построить достаточно трудные для численных методов проверочные примеры. Очередная группа тождеств позволяет построить систему:

a ( n +1) x 1 n + n xn n a kx = * sin kx = sin x sin x ;

;

sin ax 1 2 k =1 2 k = n n sin x * cos 2 kx = * sin x + sin( n + 1) x cos nx ;

2 k = 2n x n 1 x xk sin kx = x * (sin nx 2n cos( 2 ) x sin 2 ) ;

sin 2 k = 1 p * chx p n * chnx + p n +1 * ch ( n 1) x n p k chkx = ;

1 2 pchx + p k = p * shx p n * shnx + p n +1 * sh( n 1) x n p ;

shkx = k 1 2 pchx + p k = Как и в предыдущем случае x – можно считать параметром, а неизвестными - величины xi=i*x;

i=1,n.

Матрица Якоби a x1 ln a a x1 ln a a x1 ln a...

n 1 cos x1 sin x + sin x1 cos x x1 x1 k sin cos x 2... sin cos x n 2 2 k =1 2 2 n cos x ( cos 2 x 2 sin 2 x ).... - 2 sin x1 sin x n cos x n 1 - 2 sin x1 sin x 2 cos x k k = sin x1 (sin x 2 + x 2 cos x 2 ).... sin x1 (sin x n + x n cos x n ) a b..... (1-2 pchx1 + p 2 ) p 2 shxn (1-2 pchx1 + p 2 ) p 2 shx c..... (1-2 pchx1 + p 2 ) p 2 chx n (1-2 pchx1 + p 2 ) p 2 chx n x x x a = 4 sin 1 cos 1 xk sinxk + 4 sin 2 1 (sin x1 + x1 cos x1 ) 2 2 k =1 n b = 2 pshx1 p k chx k + (1 2 pchx1 + p 2 ) shx i = n c = 2 pshx1 p k shxk + (1 2 pchx1 + p 2 )chx i = Проверочный пример 6.

Еще одна группа тождеств позволяет построить систему шестого порядка:

n n sin x * sin 2 kx = * sin x cos(n + 1) x * sin nx ;

k = n n sin x * cos 2 kx = * sin x + cos(n + 1) x * sin nx ;

k = n + 3x n x 3 n 3x * sin * sin 3 kx = * sin sin x * sin x * sin 2 2 k =1 4 2 2 ;

3( n + 1) 1 3n x * sin x * sin x * sin 4 2 2 n + 3x n x 3 n 3x * sin * cos 3 kx = * cos sin x * sin x * sin 2 2 k =1 4 2 2 3( n + 1) 1 3n x + * cos x * sin x * sin 4 2 2 n sin x * sin 2 x * sin 4 kx = (3n cos(n + 1) x * sin nx * sin 2 x ) ;

k = + * cos 2( n + 1) x * sin 2nx * sin x n sin x * sin 2 x * cos 4 kx = (3n + cos(n + 1) x * sin nx * sin 2 x ) ;

k = + * cos 2( n + 1) x * sin 2nx * sin x Матрица Якоби.

a 2 sin x1 cos x 2 sin x 2... 2 sin x1 cos x n sin xn b - 2 sin x1 cos x2 sin x 2... - 2 sin x1 cos x n sin xn x1 3x x1 3x sin 1 sin 2 x 2 cos x2... c 3 sin 3 sin sin sin x n cos x n 2 2 2 x 3x x1 3x d cos x n sin xn - 3 sin 1 sin 1 cos 2 x2 sin x 2.... - 3 sin sin 2 2 2 4 sin x1 sin 2 x1 sin 2 x2 cos x 2... e 4 sin x1 sin 2 x1 sin x n cos x n f 4 sin x1 sin 2 x1 cos 2 xn sin x n - 4 sin x1 sin 2 x1 cos 2 x 2 sin x2...

n a = cos x1 ( sin 2 xk + 2 sin x1 ) k = n b = cos x1 ( sin 2 xk 2 sin x1 ) k = 3x n x 3x x x 3x 1 c = ( cos 1 sin 1 + sin 1 cos 1 ) sin 3 xk + 3 sin 1 sin 1 sin 2 x1 cos x 2 2 2 2 2 2 k =1 2 3x n x 3x x x 3x 1 d = ( cos 1 sin 1 + sin 1 cos 1 ) cos 3 x k 3 sin 1 sin 1 cos 2 x1 sin x 2 2 2 2 2 2 k =1 2 n e = (cos x1 sin 2 x1 + 2 sin x1 cos 3x1 ) sin 4 x k + 4 sin x1 sin 2 x sin 3 x1 cos x k = n f = (cos x1 sin 2 x1 + 2 sin x1 cos 3x1 ) cos 4 xk 4 sin x1 sin 2 x cos 3 x1 sin x k = Проверочный пример 7.

В заключение приведем еще полезных два тождества:

n x2 x (2 ) = ( 2 n sin n ) 2 sin 2 x ;

k sin 2 k 2 r = n 1 x 1 x 2 = n ctg n 2ctg 2 x ;

tg k k 2 2 k = которые можно использовать в качестве дополнительных уравнений, если искомые неизвестные полагать равными xi=i.

Литература 1. Lawson C.L., R.J. Hanson, D.R. Kincaird and F.T. Krogh. Basic linear algebra subprograms for Fortran usage. ACM Tran. Math. Software, 5, pp.

308-323.

2. W. J. Cody. MACHAR: A subroutine to dynamically determine machine parameters, TOMS 14, December, 1988.


3. J.J. Dongora, J.R. Bunch, C.B. Moler and G.W. Stewart. LINPACK Users Guide. Soc. Indust. Appl. Math., Philadelphia, 368 pages.

4. Garbow B.S., J.M.Boyle, J.J. Dongora and C.B. Moler. Matrix Eigen system Routines –EISPACK Guide Extension. Lecture Notes in Computer Science. Vol. 51. Springer-Verlag, Berlin, 343 pages.

5. Smith B.T., J.M.Boyle, J.J. Dongora, B.S. Garbow B.S., Y. Ikebe, V.C.

Klema and C.B. Moler. Matrix System Routines –EISPACK Guide.

Lecture Notes in Computer Science. Vol. 6. Springer-Verlag, Berlin, pages.

6. Дж. Форсайт, К. Молер, М. Малькольм. Машинные методы математических вычислений. М., Мир. 1980, 278 с.

7. Д. Каханер, К. Моулер, С. Неш. Численные методы и программное обеспечение. М., Мир. 1998, 575 с.

8. Дж. Ортега, В. Рейнболт. Итерационные методы решения нелинейных систем уравнений. М., Мир. 1975, 278 с.

9. Gabrow B.S., Hillstrom K.E., and More J.J. Implementation Guide for MINPACK-1. Argonne National Laboratory Report ANL-80-86, Illinois, 1980.

10. More J.J., Gabrow B.S., and Hillstrom K.E. User Guide for MINPACK-1.

Argonne National Laboratory Report ANL-80-74, Illinois, 1980.

11. Э.Хайрер, С.Нерсетт, Г.Ваннер «Решение обыкновенных дифференциальных уравнений. Нежесткие задачи», М., Мир, 1990. стр.

12. E. Hairer, G. Wanner. Solving Ordinary Differential Equations II. Stiff and differential-algebraic problems. Springer-Verlag. 1991. 601 pp.

13. K. E. Brenan, S.L. Campbell, L. R. Petzold. Numerical solution of initial value problems in differential algebraic equations. Elsevier Science Publishing Co., 1989. 205 pp.

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

Препринт 5-84. АН СССР. Сибирское отделение. Институт теоретической и прикладной механики. 1984. 48с.

15. Alan C. Hindmarsh, Odepack, a systematized collection of ODE solvers, in scientific computing, R. S. Stepleman Et Al. (Eds.), North-Holland, Amsterdam, 1983, pp. 55-64.

16. Linda R. Petzold, Automatic selection of methods for solving stiff and nonstiff systems of ordinary differential equations, Siam J. Sci. Stat.

Comput. 4 (1983), pp. 136-148.

17. Alan C. Hindmarsh, Lsode and Lsodi, two new initial value ordinary differential equation solvers, ACM-Signum Newsletter, vol. 15, 4 (1980), pp. 10-11.

18. Enright, W.H., Hull,T.E., Linberg,B., Comparing Numerical Methods for Stiff System of ODE’s. BIT 15(1975) 10- 19. Фаддеева В.Н., Колотилина Л.Ю. Вычислительные методы линейной алгебры. Набор матриц для тестирования. В 3-х томах. Ленинградское отделение Математического института АН СССР, Ленинград, 1982.

20. Берендеева Е.Г., Филиппов С.С. Об эффективности и надежности некоторых программных реализаций одношаговых методов решения обыкновенных дифференциальных уравнеий./ В сб. Численное решение обыкновенных дифференциальных уравнений. Институт прикладной математики АН СССР, Москва 1988, стр. 201-220.

21. Petcu D. Multistep methods for stiff initial value problems. Timisoara, 1995. 185 p.

22. Yu. Kolesov, Yu. Senichenkov. Test problems for Hybrid Simulators./In Recent Advances in Theoretical and Applied Mathematics. WSES 2000, ISBN: 960-8052-21-1,Greece, p. 214-220.

23. Сравнение программных реализаций по точности с помощью машинного эксперимента./ С.П.Воскобойников, Ю.Б. Сениченков. В сб. Труды ЛПИ, 407, Л.: Изд.ЛПИ, 1985, с. 26-29.

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

Воскобойников, Ю.Б. Сениченков, С.М. Устинов. С. Петербург. Труды СПбГТУ, 462, 1996, стр.122-141.

ПРИЛОЖЕНИЕ Список сайтов и зарубежных публикаций по вопросам визуального моделирования и численного исследования гибридных систем Сайты Отечественные.

1. МВТУ. Homepage: http://www.reactors.narod.ru/mvtu/mvtu.htm 2. Anylogic. St. Petersburg Polytechnic University. Homepage:

http://www.xjtek.com 3. Model Vision Studium. St. Petersburg Polytechnic University. Homepage:

http://www.exponenta.ru;

http://www.xjtek.com 4. Stratum. Perm Technical University. Homepage: http://stratum.ac.ru http://stratum.pstu.ac.ru Зарубежные 5. Charon, Department of Computer and Information Science, University of Pennsylvania. Homepage: http://www.cis.upenn.edu/mobies/charon 6. Dymola. Homepage: http://www.Dynasim.se 7. EASY5. Boeing. Homepage: http://www.boeing.com/assocproducts/easy 8. Hybrid CC, hybrid automata, and program verification. Homepage:

9. http://www.parc.xerox.com/spl/projects/mbc/languages.html 10. Hybrid System Software. Homepage: http://www er.df.op.dlr.de/cacsd/hds/software.shtml 11. Hybrid Systems. Homepage:

http://www.seas.upenn.edu/~jme/Hybrid_Sys.html 12. HyTech. Homepage: http://wwww-cad.eecs.berkeley.edu/tah/HyTech 13. Kronos, VERIMAG. Homepage: http://www verimag.imag.fr/TEMPORISE/kronos 14. Matlab, The Mathworks, Inc. Homepage: http://www.mathworks.com 15. Mathmodelica, MathCore. Homepage: http://www.mathcore.com 16. Modelica. Homepage: http://www.modelica.org 17. Modelllus. Homepage: http://www.krev.com 18. OmSim, Omola. Department of Automatic Control, Lund Institue of Technology. Homepage: http://wwww.control.lth.se/cace/omsim.html 19. Ptolemy II, Department of EECS, UC Berkeley.

Homepage:http://ptolemy.eecs.berkeley.edu/ptolemyII 20. Shift, California PATH, UC Berkeley. Homepage:

http://wwww.path.berkeley.edu/shift 21. Simulation news Europe. Homepage: http://www.argesim.org 22. UPPAAL. Homepage: http://www.docs.uu.se/docs/rtmv/uppaal 23. VisSim. Homepage: http://www.vissim.com/vissim.htm 24. UML. Homepage: http://www.rational.com 25. 20-sim. Homepage: http://www.rt.el.utwente.nl/20sim Конференции и тематические сборники статей 26. Real time: Theory in Practice. LNCS. 600, 27. Hybrid Systems I Robert L. Grossman, Anil Nerode, Anders P. Ravn, Hans Rischel (Eds.):

Hybrid Systems. Lecture Notes in Computer Science 736, Springer 1993, ISBN 3-540-57318- 28. Hybrid Systems II Panos J. Antsaklis, Wolf Kohn, Anil Nerode, Shankar Sastry (Eds.): Hybrid Systems II. Lecture Notes in Computer Science 999 Springer 1995, ISBN 3-540-60472- 29. Verification and Control (Lect.Notes Comp.Sci. no.1066), Springer-Verlag, Berlin, 1996. R. Alur, T.A. Henzinger, E.D. Sontag, eds.

30. Hybrid Systems III Panos J. Antsaklis, Wolf Kohn, Anil Nerode, Shankar Sastry (Eds.): Hybrid Systems IV. Lecture Notes in Computer Science 1273 Springer 1997, ISBN 3-540-63358- 31. Hybrid Systems IV Berkeley, California, USA. Thomas A. Henzinger, Shankar Sastry (Eds.):

Hybrid Systems: Computation and Control, First International Workshop, HSCC'98, Berkeley, California, USA, April 13-15, 1998, Proceedings.

Lecture Notes in Computer Science 1386 Springer 1998, ISBN 3-540 64358- 32. Automatica, vol. 35, no. 3, Mar. 1999. Special Issue on Hybrid Systems.

33. HSCC Berg en Dal, The Netherlands. Frits W. Vaandrager, Jan H. van Schuppen (Eds.): Hybrid Systems: Computation and Control, Second International Workshop, HSCC'99, Berg en Dal, The Netherlands, March 29-31, 1999, Proceedings. Lecture Notes in Computer Science 1569 Springer 1999, ISBN 3-540-65734- 34. HSCC Rome, Italy. Maria Domenica Di Benedetto, Alberto L. Sangiovanni Vincentelli (Eds.): Hybrid Systems: Computation and Control, 4th International Workshop, HSCC 2001, Rome, Italy, March 28-30, 2001, Proceedings. Lecture Notes in Computer Science 2034 Springer 2001, ISBN 3-540-41866- 35. HSCC Stanford, CA, USA. Claire Tomlin, Mark R. Greenstreet (Eds.): Hybrid Systems: Computation and Control, 5th International Workshop, HSCC 2002, Stanford, CA, USA, March 25-27, 2002, Proceedings. Lecture Notes in Computer Science 2289 Springer 2002, ISBN 3-540-43321-X 36. HSCC Prague, Czech Republic. Oded Maler, Amir Pnueli (Eds.): Hybrid Systems:

Computation and Control, 6th International Workshop, HSCC 2003 Prague, Czech Republic, April 3-5, 2003, Proceedings. Lecture Notes in Computer Science 2623 Springer 2003, ISBN 3-540-00913- Истоки 37. R. Alur, C. Courcoubetis, T.A. Henzinger, and P.-H. Ho. Hybrid automata:

an algorithmic approach to the specification and verification of hybrid sys tems. In R.L. Grossman, A. Nerode, A. P. Ravn, and II. Rischel, editors, Hybrid Systems I, Lecture Notes in Computer Science 736, pages 209-229.

Springer-Verlag, 1993.

38. R. Alur, C. Courcoubetis, and D. Dill. Model checking in dense real time.

Information and Computation, vol. 104, pp. 2-34, 1993.

39. Alur, R., C. Courcoubetis, N. Halbwachs, T. A. Henzinger, P.-H. Ho, X.

Nicollin, A. Olivero, J. Sifakis, and S. Yovine. The algorithmic analysis of hybrid systems. In Proceedings of the 11th International Conference on Analysis and Optimization of Discrete Event Systems. 1994.

40. R. Alur and D.L. Dill. A theory of timed automata. Theoretical Computer Science, 126:183-235, 1994.

41. R. Alur, and D.L. Dill. Automata for modeling real-time systems. In M.S.

Paterson, editor, ICALP 90: Auotomata, Languages, and Programming, LNCS 443, p.322-335, Springer-Verlag, 1990.

42. R. Alur and T.A. Henzinger. Logics and models of real time: a survey. In J.W. de Bakker, K. Huizing, W.-P. de Roever, and G. Rozenberg, editors, Real Time: Theory in Practice, Lecture Notes in Computer Science 600, pages 74-106. Springer-Verlag, 1992.

43. 0. Maler, Z. Manna, and A. Pnueli. From timed to hybrid systems. In J.W.

de Bakker, K. IIuizing, W.-P. de Roever, and G. Rozenberg, editors, Real Time: Theory in Practice, Lecture Notes in Computer Science 600, pages 447-484. Springer-Verlag, 1992.

44. O. Maler, Z. Manna, and A. Pnueli. A formal approach to hybrid systems.

In Proceedings of REX workshop: Real Time: Theory in Practice, Lecture Notes in Computer Science 600, Springer-Verlag, 1992.

45. Y. Kesten., A. Pnueli. Timed and hybrid statecharts and their textual representation. Tenchnical report. (1993) 46. X. Nicollin, J. Sifacis, and S. Yovine. From ATP to timed graphs and hybrid systems.. In J.W. de Bakker, K. IIuizing, W.-P. de Roever, and G.

Rozenberg, editors, Real Time: Theory in Practice, Lecture Notes in Computer Science 600, pages 549-572. Springer-Verlag, 1992.

47. Xavier Nicollin, Alfredo Olivero, Joseph Sifakis, Sergio Yovine: An Approach to the Description and Analysis of Hybrid Systems. In R.L.

Grossman, A. Nerode, A. P. Ravn, and II. Rischel, editors, Hybrid Systems I, Lecture Notes in Computer Science 736, pages 149-178. Springer-Verlag, 1993.

48. T.A. Hezinger. The theory of hybrid systems. In Proceedings of 11th annual symposium on logics in computer science., p. 278-292. IEEE Computer Society Press, 1996.

Обзоры 49. K. J. strm, H. Elmqvist, S. E. Mattsson. Evolution of continuous-time.

Modeling and simulation. The 12th European Simulation Multiconference, ESM'98, June 16--19, 1998, Manchester, UK 50. P. J. Antsaklis, X. D. Koutsoukos. Hybrid Systems: Review and Recent Progress. http://www.vuse.Vanderbilt.edu/~koutsoxd/index.html 51. R.K. Boel, B. De Schutter, G. Nijsse, J.M. Schumacher, and J.H. van Schuppen. Approaches to modelling, analysis, and control of hybrid systems. Delft University of Technology Fac. of Information Technology and Systems Control Systems Engineering.Technical report bds: 99- 52. Cellier, F. E. (1991). Continuous System Modeling. Springer-Verlag.

53. Cellier, F. E. (1992). Integrated Continuous-System Modeling and Simulation Environments.

54. Cellier, F, Otter, M., & Elmqvist, H. (1995). Bond Graph Modeling of Variable Structure Systems.

55. Engell, S.: Modelling and Analyse of hybrid dynamic systems (in German:

Modellierung und Analyse hybrider dynamischer Systeme).

Automatisierungstechnik (at) 4/97, 1997.

56. G. Davrazos and N. T. Koussoulas. A Review of Stability Results for Switched and Hybrid Systems. University of Patras, Electrical and Computer Engineering Department, Rio Patras, GREECE 57. J. D. Dora, S. Yovine. A Methodology For Analyzing The Dynamics Of Hybrid Systems. http://www-verimag.imag.fr/~yovine/articles/ecc01.pdf 58. Jeandel, Alexandre, and Fabrice Boudaud. "Physical system modeling languages from: ALLAN to Modelica." In Building Simulation '97, IBPSA conference, http://www.modelica.org/papers/p303.pdf, 1997.

59. S. Kowalewski, O. Stursberg, M. Fritz, H. Graf, I. Hoffmann, J. Preuig, S.

Simon, M. Remelhe, and H. Treseler. A Case Study in Tool-Aided Analysis of Discretely Controlled Continuous Systems: the Two Tanks Problem.

Presented at the I5th nternational Workshop on Hybrid Systems (HS V), September 11-13, 1997, Notre Dame, USA.Extended version, submitted for the Proceedings of HS V, LNCS, Springer-Verlag.

60. Lygeros J., Sastry S. “Hybrid systems modeling, analysis, control” Lecture Notes Univ. of Berkeley available in URL http://robotics.eecs.berkeley.edu/~lygeros/Teaching/ ee291E.html 61. P. Mosterman. An overview of hybrid simulation phenomena and their support by simulation packages. In HSCC 99: Hybrid Systems— Computation and Control, volume 1569 of Lecture Notes in Computer Science, pages 165–177. Springer, 1999.

62. Pettersson, S.;

Lennartson, B.: Hybrid Modelling focused on Hybrid Petri Nets. In Proc.of the 2nd European Workshop on Real--time and Hybrid Systems, Grenobel, France, June 1995.

63. Rimvall, M. and F. Cellier (1986): “Evolution And Perspectives Of Simulation Languages Following the CSSL standard.” Modeling, Identification and Control, 6, pp. 181–199.

64. A.J. van der Schaft and J.M. Schumacher, An Introduction to Hybrid Dynamical Systems, vol. 251 of Lecture Notes in Control and Information Science. London: Springer, 2000. Available Nov. 1999.

65. O. Stursberg, S. Kowalewski, I. Hoffmann and Jrg Preuig: Comparing Timed and Hybrid Automata as Approximations of Continuous Systems.

In: Hybrid Systems IV, Lecture Notes in Computer Science 1273, pp. 361 377, Springer-Verlag, 66. Tiechroew, D., J. F. Lubin, and T. D. Truitt (1967): “Discussion of computer simulation and comparison of languages.” Simulation, 9, pp.

181–190.

67. Thoma, J. U. (1990). Simulation by bond graphs. Springer-Verlag.

Сениченков Ю.Б.

ЧИСЛЕННОЕ МОДЕЛИРОВАНИЕ ГИБРИДНЫХ СИСТЕМ Лицензия ЛР № 020593 от 07.08. Налоговая льгота – Общероссийский классификатор продукции ОК 005-93, т.2;

953004 – научная и производственная литература Подписано в печать 01.09.2004. Формат 60x84/ Усл. печ. л. 13,0.Уч.-изд. л. 13,0. Тираж 100. заказ Отпечатано с готового оригинал-макета, предоставленного автором, в типографии Издательства Политехнического университета.

195251, Санкт-Петербург, Политехническая, 29.



Pages:     | 1 |   ...   | 2 | 3 ||
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.