Компьютерная алгебра в ИПМ им. М.В. Келдыша 1

Ефимов Г.Б., Зуева Е.Ю., Щенков И.Б.
Институт прикладной математики им. М.В. Келдыша РАН, Москва

Аннотация:

Дается краткий исторический обзор и основная библиография по развитию и использованию компьютерной алгебры (КоАл) или символьных преобразований в Институте прикладной математики имени М.В.Келдыша Российской академии наук. Компьютерная алгебра использовалась сотрудниками Института в различных областях: прикладной небесной механике, математике, робототехнике, гидромеханике, численных методах. Разрабатывались программные системы разного типа для символьных преобразований; велась работа по описанию и классификации их свойств. Был организован ряд конференций и семинаров по применению КоАл в механике. В Институте был разработан язык рекурсивных функций Рефал, который затем активно развивался и разнообразно использовался, в том числе для КоАл. История работ, выполненных в Институте по КоАл и в смежных областях, содержит много идей и результатов, интересных и в наши дни.

Мысли о символьных вычислениях возникли вскоре после создания ЭВМ как желание научить их работать с громоздкими формулами и облегчить труд физика или механика. Эти мысли исходили из общей идеи кибернетики - воспроизведения способностей и действий человека на компьютере. Хотя Алексей Андреевич Ляпунов сам и не занимался символьными вычислениями, однако эта область науки несомненно относится к кибернетике, которую он интенсивно развивал, в том числе и в Институте прикладной математики, одним из основаетелей которого он был. Институт прикладной математики Российской Академии Наук был создан для решения важнейших комплексных научных задач. Он объединил специалистов различных областей - физиков, математиков, механиков, программистов и создателей вычислительных машин. Среди них - такие крупные ученые как М.В. Келдыш, А.Н.Тихонов, К.И.Бабенко, И.М.Гельфанд, И.Б.Зельдович, С.П. Курдюмов, А.А.Ляпунов, А.Н.Мямлин, Д.Е.Охоцимский, А.А.Самарский, К.А.Семендяев, М.Р.Шура-Бура, Т.М.Энеев, В.С.Яблонский и многие другие. Соединение сложных задач и разнообразных математических методов с активным, пионерским использованием вычислительной техники, энтузиазмом развития ее - дали немало ярких идей. Старые работы по КоАлг заслуживают внимания - они не все получили должную известность; немало идей, в них заключенных, сохранили ценность и в наши дни.

1. Первой областью применения КоАлг была прикладная небесная механика. Здесь был классический задел работы с полиномами разного вида и целый ряд громоздких задач. Первые попытки автоматизировать эту работу относятся к началу 60-х годов. Выкладки с тригонометрическими и степенными рядами были проделаны З.П.Власовой и И.Б.Задыхайло еще на советском компьютере "Стрела" (неопубликованная работа). Д.Е.Охоцимский построил (на "Стреле") универсальное решение для разгона космического аппарата с малой тягой. Две асимптотики монотонно изменяющегося решения строились в виде степенных формальных рядов вблизи сингулярных точек и соединялись в регулярной области численно. Эта работа - в числе самых первых по КоАлг в нашей стране. Г.Б. Ефимов развивал этот подход для простей их рядов Пуассона (тригонометрически-степенных) при построении с помощью КоАлг оптимальной траекторий разгона с малой тягой. Программировала обе задачи Т.И.Фролова.

М.Л.Лидовым и его учениками, начиная с 60-х годов, проводились эксперименты по КоАлг. З.П.Довженко в 1963г. использовала полиномиальную систему аналитических вычислений (САВ) на Алголе для задачи Хилла. Л.М.Бакума на Рефале создавала систему для рядов Пуассона. Дефицит ресурсов при использовании языков высокого уровня не позволил уйти дальше экспериментов. М.Л.Лидовым был предложен численно-аналитический метод, позволяющий избежать громоздких выкладок (выполняемых с помощью КоАлг). Для расчета эволюции спутниковых орбит при возмущениях различного рода аналитически стро-илась функция Гамильтона. Дифференцирование ее, нужное для преобразования координат (от точных к осредненным) и вычисления правых частей уравнений движения, проводилось разностным способом, численно. Этим методом был решен ряд задач динамики спутников (М.А.Вашковьяк, Ю.Ф.Гордеева, А.А. Соловьев). Однако существовавший на тот момент задел в области КоАлг не удовлетворял требованиям задач механики. Становилось ясно, что алгоритмы и программы КоАлг являются самостоятельной областью и требуют специальной разработки. Среди механиков попытку создать универсальную САВ для БЭСМ-6 предприняли Ю.А.Садов и Е.Ю.Зуева.

С 1970 года А.П.Маркеев использовал КоАлг для нормализации гамильтоновых систем и анализа устойчивости периодических решений. Дальнейшие шаги в этом направлении были сделаны его учеником А.Г.Сокольским. Созданная ими научная школа успешно развивалась затем в Московском авиационном институте и Институте теоретической астрономии РАН, где уже работала известная школа по КоАлг В.А.Брумберга. В МАИ работы по КоАлг развивались и в направлении компьютерного обучения. В.А.Сарычев и С.А.Гутник применили КоАлг в задаче об устойчивости равновесия спутника. О работах по небесной механике школы А.Д. Брюно скажем ниже.

2. Интересной страницей в отечественной кибернетике является алгоритмический язык Рефал В.Ф.Турчина, основанный на новом принципе программирования - ассоциативной обработке текстов на основе теории рекурсивных функций, без адресного управления программой. КоАлг оказалась среди потенциальных областей приложения нового языка. Его история содержит много замечательного. Первая реализация языка носила скорее ``научный'', чем прикладной характер, язык оказался изолированным от ``обычного'' матобеспечения - численных пакетов, поддержки библиотек, распределения памяти и т.д. Потребовались дополнительные усилия многих людей, чтобы сделать дальнейшие модификации Рефала практически используемыми, в частности, для приложений в КоАлг. С.Н.Флоренцев, С.А.Романенко, А.В.Климов и другие были авторами первых эффективных Рефал-компиляторов.

Первым применением Рефала в компьютерной алгебре было решение В.Ф.Турчиным и др. задачи ядерной физики. И.Б. Щенков разработал САВ общего назначения SANTRA и позже модифицировал ее. На ее основе вместе с М.Ю.Шашковым была создана специальная прикладная система DISLAN для построения нестандартных разностных схем. М.Л.Лидов и Л.М.Бакума были среди первых пользователей Рефала в приклад-ной области. Аналогичные попытки в теории групп были предприняты Н.Х.Ибрагимовым и И.Б.Щенковым.

Группа энтузиастов Рефала и КоАлг объединялась вокруг ИПМ и работала с ним в тесном контакте. В.Л.Топунов и его кол-леги из МГПИ им.В.И.Ленина использовали САВ на Рефале в дифференциальной геометрии. Вместе с В.П.Шапеевым и другими учениками Н.Н.Яненко в Новосибирске (пионера применения КоАлг и первого ученого секретаря ИПМ) они реализовали метод внешних форм Картана и исследовали характеристики дифференциальных схем - в развитие работ в ИТПМ СО АН СССР. Л.В.Проворов в ЦАГИ им.Жуковского широко использовал САВ АЛЬКОР в инженерных приложениях . О.М.Городецкий и А.В.Корлюков (Гродно, Москва) создали САВ для моделирования динамики гироскопических систем, реализовали алгоритмы специальных арифметик. Л.В.Белоус в Харькове с помощью Рефала объединял несколько различных САВ в единую систему.

В ИПМ под руководством А.Н.Мямлина, И.Б.Задыхайло и В.К.Смирнова изучались возможности повышения эффективности ЭВМ с помощью Рефал-процессора. Л.К.Эйсымонт проводил анализ эффективности Рефала и его аппаратной реализации, в том числе с точки зрения создания САВ. Под руководством В.К.Смирнова на ЕС-2635 с микропрограммированием был создан Рефал-процессор ЕС-2702, работавший с ЭВМ ЕС . На нем решались как задачи трансляции, так и задачи КоАлг.

Первоначально РЕФАЛ планировался как мета-язык. И действительно, он использовался в работе с языками программирования, при создании трансляторов, в широком круге текстовых задач, смежных с КоАлг в разной степени. В.А.Фисун, А.И.Хоро-шилов и другие на базе Рефала реализовали языки моделирования Симула-1, ДИНАМО, комплекс для космических тренажеров ТРИКС, конвертор Алгол-Фортран для физических пакетов. Были созданы эмуляторы специальных ЭВМ, например, Ю.Ф. Голубевым для бортовой ЭВМ спутника. Под руководством И.Б.Задыхайло и Л.К.Эйсымонта автоматизировалось масштабирование вычислений бортовой ЭВМ для компенсации потери точности из-за фиксированной запятой. А.Н.Андрианов и К.Н. Ефимкин в системе Норма автоматизировали программирование разностных схем.

3. Пропагандировались возможности и распространялся опыт применения КоАлг и САВ, особенно в задачах механики - например, на последовательных этапах вычислительного эксперимента. Удалось использовать КоАлг для автоматизации построения разностных схем в областях нерегулярности. Эта работа привлекла внимание А.А.Самарского, одного из лидеров Института и отечественной вычислительной математики. С его помощью Институт стал одним из основных организаторов Всесоюзной конференции по применениям КоАлг в механике (Горький, 1984), которая явилась демонстрацией достижений и подведением итогов работ по КоАлг в стране за двадцать лет. Работы по разностным схемам развивались в Институте, в том числе в контакте с учениками Н.Н.Яненко в Новосибирске, давно применявшего КоАлг в этой области. По гидро и газодинамике были сделаны и другие работы.

4. Еще одной областью применения КоАлг является динамика сложных механических систем - гироскопов, роботов и манипуляторов, космических систем. Здесь объектом применения КоАлг является формирование уравнений движения системы, их преобразования и анализ - поиск стационарных решений, областей устойчивости и т.д. Г.Б.Ефимовым была разработана система аналитических вычислений "ПАС" с большим числом переменных, использованная в задачах двуногого шагания и управления. Проводился анализ возможностей группы отечественных САВ этого направления - областей применения, стыковки КоАлг с численными и графическими возможностями, а также описание и сравнение их свойств. Активно функционировала рабочая группа по САВ для сложных систем механики. Системы этого типа использовались в компьютерном и механическом образовании, например, учеником В.В.Белецкого Д.Ю.Погореловым.

5. Опыт работы математиков, прикладников и программистов давал основу для обобщений, объединения и четкого разделения различных точек зрения на САВ. Г.Б.Ефимовым, М.В. Грошевой, Е.Ю.Зуевой была предпринята работа по описанию САВ, классификации их и их свойств по образцу пакетов прикладных программ. Сводные таблицы характеристик ряда наиболее известных отечественных САВ оказались интересными как для пользователей, так и для разработчиков. По заказу ВИНИТИ был сделан обзор по приложениям КоАлг в механике, но из-за трудностей издательства он вышел лишь как Отчет ИПМ и Института Механики МГУ. Что касается разработки систем КоАлг (САВ), то в первое время создавались, как правило, специализированные системы для конкретных задач. На Рефале развивались и универсальные и специализированные системы. Затем наступила пора известных современных САВ и реализации на них алгоритмов. В системе REDUCE, например, работали М.Ю. Шашков, С.А.Гутник и другие. Теперь КоАлг в составе больших пакетов программ используется как необходимый и привычный инструмент, часто без специального упоминания.

6. Среди направлений применения КоАлг в ИПМ в последние годы отметим работы по небесной механике и многогранникам Ньютона, проводимые А.Д.Брюно и его школой. В.Ф. Еднерал реализовал алгоритмы нормализации гамильтоновых систем. С.Ю.Садов и В.П. Варин исследовали устойчивость движения в задачах небесной механики и периодические решения уравнений колебаний спутников.


1
Работа поддержана грантами РФФИ N 00-15-96036 и 01-01-00015.

Ваши комментарии
[SBRAS]
[Головная страница]
[Конференции]
[СО РАН]

© 2001, Сибирское отделение Российской академии наук, Новосибирск
© 2001, Объединенный институт информатики СО РАН, Новосибирск
© 2001, Институт вычислительных технологий СО РАН, Новосибирск
© 2001, Институт систем информатики СО РАН, Новосибирск
© 2001, Институт математики СО РАН, Новосибирск
© 2001, Институт цитологии и генетики СО РАН, Новосибирск
© 2001, Институт вычислительной математики и математической геофизики СО РАН, Новосибирск
© 2001, Новосибирский государственный университет
Дата последней модификации Saturday, 06-Oct-2001 16:34:40 NOVST