История axiom почти столь же долгая. Система аналитических вычислений Scratchpad развивалась с 1971 года как научный проект исследовательского центра имени Томаса Ватсона фирмы IBM. В начале 1990-х годов Scratchpad был продан фирме NaG (Numerical algorithms Group) и переименован в axiom. А в 2002 году NaG выпустила axiom под свободной лицензией типа лицензии BSD (здесь можно попробовать axiom в действии через веб-интерфейс).

Многообразие и свобода

Maxima и Axiom – полнофункциональные системы аналитических вычислений и по возможностям сравнимы с Mathematica и Maple. Тем не менее каждая из них имеет свои особенности. И в этом тоже есть элемент свободы – пользователи самого разного уровня подготовки и потребностей смогут найти себе подходящее орудие для работы.

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

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

Математика – наука точная. Все свойства и взаимосвязи математических объектов четко определены или доказываются при помощи строгих логических рассуждений. Axiom является единственной САВ, которая последовательно реализует данный подход на уровне компьютерной программы. Для этого язык Axiom сделан строго типизированным. Концепция строгой типизации в языках программирования хорошо известна, но в Axiom это выливается в нечто необычное – типы языка представляют собой типы математических объектов (числа, полиномы, ряды и т. д.). Axiom «знает» около тысячи иерархически организованных математических категорий и типов. Строгая математическая типизация Axiom уникальна, ничего подобного нет ни в одной другой системе аналитических вычислений.

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

Компьютеры и свобода

Есть еще один элемент свободы – свобода выбора платформы. Особенно в этом отношении хороша Maxima. Она успешно работает на всех современных операционных системах: Windows (готовые сборки доступны на сайте проекта), Linux и UNIX, Mac OS и даже на КПК под управлением Windows CE/Mobile. Переносимость Axiom чуть хуже: система работает под Linux, UNIX, а под Windows пока не работает построение графиков.

Главную роль в переносимости Maxima и Axiom играет язык Lisp, на котором они написаны. Исторически Lisp имеет очень большое количество несовместимых друг с другом диалектов, но сейчас эпоха разнообразия закончилась, поскольку появился официальный стандарт ANSI Common Lisp. Maxima была модифицирована в соответствии с этим стандартом, и в результате она может работать под управлением разных реализаций Common Lisp, как свободных, так и проприетарных. Axiom пока работает только с GCL (GNU Common Lisp), но принципиальных сложностей с переносом на другие Common Lisp системы не существует.

Компьютеры и человек

До сих пор мы говорили о математических возможностях Axiom и Maxima.Но есть еще один важный аспект – взаимодействие с программой. Традиционно все системы аналитических вычислений, включая Axiom, Maxima, а также Maple и Mathematica, имеют простой текстовый интерфейс. И это создает определенные проблемы – как отобразить в удобочитаемом виде математические выражения со всеми их радикалами, скобками и знаками интегралов? Приходится прибегать к своеобразному ASCII Art. Пример того, что получается, представлен на рис. 5, где изображен результат вычисления интеграла и произведения в системе Axiom. Довольно неплохо, но вряд ли вполне соответствует современным потребностям. Поэтому все системы аналитических вычислений имеют графические пользовательские оболочки, способные представить данные красиво и облегчающие взаимодействие с пользователем.

Журнал «Компьютерра» № 16 от 25 апреля 2006 года - _636d9v5.jpg

Одной из таких оболочек для Axiom и Maxima является TeXmacs. TeXmacs – это вполне самостоятельная программа, научный WYSIWYG-редактор[См. статью Павла Протасова «Вижу то, что имею в виду» в «КТ» #555]. Помимо своего основного назначения, он может использоваться как графическая оболочка для ряда программ с текстовым интерфейсом. На рис. 6 изображена работа Axiom под управлением TeXmacs: те же самые интеграл и произведение, что и на рис. 5.

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

И это не конец

axiom и Maxima – результат коллективного труда сотен людей. Несмотря на свой солидный возраст, системы продолжают активно развиваться. Новые релизы axiom выпускаются каждые несколько месяцев, ежегодно проводится семинар, целиком посвященный axiom.

Журнал «Компьютерра» № 16 от 25 апреля 2006 года - _636l9g6.jpg

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

И наконец, ответ на вопрос мини-викторины: на рис. 4 изображен график модуля гамма-функции на комплексной плоскости в районе 0.

Софтерринки

Автор: Илья Шпаньков

KOffice
Журнал «Компьютерра» № 16 от 25 апреля 2006 года - _636n10y1.jpg

ОС: GNU/Linux, Mac OS X

Адрес: www.koffice.org

Версия: 1.5.0

Интерфейс: русский

Цена: бесплатно

Лицензия: GPL-совместимые

Вышла очередная версия популярного набора офисных пакетов KOffice для GNU/Linux. Отныне в качестве основного формата документов используется OASIS OpenDocument (ODF); в программу для управления базами данных Kexi добавлена поддержка импорта данных из MySQL и MS Access; впервые в пакет вошла тестовая версия приложения для управления проектами KPlato. Особое внимание в продукте уделено средствам для работы пользователей с ограниченными возможностями.

Celestia
Журнал «Компьютерра» № 16 от 25 апреля 2006 года - _636n10n2.jpg

ОС: Windows, Linux, Mac OS X

Адрес: www.shatters.net/celestia

Версия: 1.4.1

Размер: 14,5–18,7 Мбайт

Интерфейс: английский

Цена: бесплатно

Лицензия: GPL

Celestia– трехмерный симулятор, позволяющий наглядно изучать бескрайние просторы Вселенной. При создании программы используются официальные данные крупнейших астрономических и научных организаций включая NASA, благодаря чему с достаточной правдоподобностью можно исследовать далекие планеты и в режиме реального времени повторять маршруты практически всех известных космических аппаратов, начиная от легендарного советского «Спутник-1» и заканчивая новейшими межпланетными станциями. В дополнение к внушительным базовым библиотекам программы силами энтузиастов создан специализированный онлайновый архив различных модулей, позволяющих не только расширить «модельный ряд» космических аппаратов, но и окунуться в атмосферу и декорации популярных фантастических кинопроизведений «Звездные войны», «Звездный путь», «Вавилон-5» и др.