Axiom

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: www.nongnu.org/axiom

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

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

  • Строгая типизация: модель доменов и категорий позволяет явно задавать математические типы и их свойства, что уменьшает класс ошибок и упрощает формальную спецификацию алгоритмов.
  • Интерактивная среда: поддержка сессий с интерактивной разработкой, тестированием выражений и вызовом функций в REPL-подобном режиме.
  • Компилятор: возможность компиляции определений доменов и функций в эффективный машинный код или представления, пригодные для повторного использования.
  • Богатая библиотека доменов: реализованы множества прикладных и фундаментальных структур (числовые типы, полиномы, системы уравнений, матричные операции и т. п.).
  • Модульность и расширяемость: архитектура позволяет добавлять новые домены и пакеты без изменения ядра системы.
  • Комбинированные вычисления: поддержка как символических преобразований, так и точных или приближённых численных расчётов в рамках единой системы типов.
  • Документация и описания: встроенные средства документирования модулей и функций для облегчения изучения и повторного использования компонентов.
  • Поддержка формальных алгоритмов: платформа пригодна для реализации алгоритмов из алгебры, теории чисел, дифференциальных уравнений и других областей математики.
Подробнее