Sage (англ. мудрец) — система компьютерной алгебры, покрывающая много областей математики, включая алгебру, комбинаторику, вычислительную математику и матанализ.
Первая версия Sage была выпущена 24 февраля 2005 года в виде свободного программного обеспечения с лицензией GNU GPL. Первоначальной целью проекта было «создание открытого программного обеспечения альтернативного системам Magma, Maple, Mathematica, и MATLAB». Разработчиком Sage является Уильям Стейн — математик Университета Вашингтона.
- Возможности:
- Интерфейс notebook для просмотра и повторного использования введённых команд и полученных результатов, включая графики и текстовые аннотации, доступный из большинства современных веб-браузеров. Доступно защищённое соединение через протокол HTTPS, когда конфиденциальность имеет значение. Так же Sage может выполняться как локально, так и удалённо.
- Интерфейс ввода на основе командной строки, с использованием мультипарадигменного языка Python.
- Поддержка параллельных вычислений с использованием как многоядерных процессоров, так и многопроцессорных систем и систем распределённых вычислений.
- Матанализ реализован на основе систем Maxima и SymPy.
- Линейная алгебра реализована на основе систем GSL, SciPy и NumPy.
- Библиотеки элементарных и специальных математических функций.
- Плоские и трёхмерные графики для функций и данных.
- Средства работы с матрицами и массивами данных с поддержкой разрежённых массивов.
- Различные статистические библиотеки функций, использующие функциональность R и SciPy.
- Набор инструментов для добавления собственного пользовательского интерфейса к вычислениям и приложениям.
- Средства для обработки изображений с использованием pylab и Python.
- Средства визуализации и анализа теории графов.
- Процедуры для импорта и экспорта различных форматов данных: изображений, видео, аудио, САПР, ГИС, документов и медицинских форматов.
- Поддержка комплексных чисел, символьных и вычислений с произвольной точностью.
- Подготовка научно-технической документации с использованием редактора формул и возможностью встраивания Sage в документацию формата LaTeX.
- Сетевые инструменты для соединения с базами данных SQL, поддержка сетевых протоколов, включая HTTP, NNTP, IMAP, SSH, IRC, FTP.
- Программные интерфейсы для работы с системами Mathematica, Magma, и Maple.
- Хотя это не представлено непосредственно, Sage может быть вызван из интерфейса Mathematica.
Исходный код и исполняемые файлы Sage доступны для скачивания. Если компиляция производится на конечном компьютере, многие входящие в комплект библиотеки будут автоматически настроены для оптимальной работы на данном оборудовании, принимая в расчёт количество процессоров, размер кэш-буферов и поддержку специальных наборов инструкций, например SSE.