Как видите, все довольно просто. Правда, и задачи тоже простые — они выбраны такими для иллюстрации. Но главная сила САВ в том, что они способны решать чрезвычайно громоздкие задачи. Например, Axiom может взять любой интеграл, если только он «берется» в элементарных функциях. Более того: в отличие от численных расчетов, являющихся по своей природе приближенными и потому не имеющих «доказательной силы» с точки зрения чистой математики, аналитические результаты, полученные с помощью САВ, вполне можно использовать для строгих математических доказательств. Но даже если вы не профессионал в математике и подобные возможности вам ни к чему, все равно использование САВ в виде интеллектуального калькулятора может быть весьма полезным.
Математика и свобода
Из далеко не полного перечисления общих возможностей САВ ясно, что подобные программы весьма сложны и требуют для своего создания больших усилий. Трудозатраты на такую систему оцениваются в несколько десятков человеко-лет и требуют от программиста солидной математической подготовки. Откуда тогда могли появиться свободные системы аналитических вычислений Maxima и Axiom? На самом деле оба пакета имеют весьма длительную историю.
Особенно любопытна «биография» Maxima. Все началось в 1967 году в Массачусетском технологическом институте. В рамках проекта создания искусственного интеллекта была инициирована разработка первой системы компьютерной алгебры Macsyma. Далее программа в течение многих лет использовалась и развивалась в университетах Северной Америки, где появилось множество вариантов системы. Maxima является одним из таких вариантов, созданным профессором Вильямом Шелтером (William Schelter) в 1982 году. В 1998 году он получил официальное разрешение Министерства энергетики США на выпуск Maxima под лицензией GPL. А начиная с 2001 года Maxima развивается как свободный международный проект, базирующийся на SourceForge.
История 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. К сожалению, вся документация только на английском языке.
Читать дальше