Sage
3 Січня, 2017
Sage (с англ. - ”мудрец”) – система компьютерной алгебры, покрывающая много областей математики, включая алгебру, комбинаторику, вычислительную математику и матанализ.
Первая версия Sage была выпущена 24 февраля 2005 года в виде свободного программного обеспечения с лицензией GNU General Public License. Первоначальной целью проекта было “создание открытого программного обеспечения альтернативного системам Magma, Maple, Mathematica, и MATLAB”. Разработчиком Sage является Уильям Стейн – математик Университета Вашингтона.
Работает под управлением операционных систем Microsoft Windows, Mac OS X и Linux.
Возможности Sage
Многочисленные возможности Sage включают:
- Интерфейс Notebook для просмотра и повторного использования введённых команд и полученных результатов, включая графики и текстовые аннотации, доступный из большинства современных веб-браузеров.
Доступно защищённое соединение через протокол HTTPS, когда конфиденциальность имеет значение. Также Sage может выполняться как локально, так и удалённо.
- Интерфейс ввода на основе командной строки, с использованием мультипарадигменного языка Python.
- Поддержка параллельных вычислений с использованием как многоядерных процессоров, так и многопроцессорных систем и систем распределённых вычислений.
- Матанализ реализован на основе систем Maxima и SymPy.
- Линейная алгебра реализована на основе систем GNU Scientific Library, SciPy и NumPy.
- Библиотеки элементарных и специальных математических функций.
- Плоские и трёхмерные графики для функций и данных.
- Средства работы с матрицами и массивами данных с поддержкой разрежённых массивов.
- Различные статистические библиотеки функций, использующие функциональность R и SciPy.
- Набор инструментов для добавления собственного пользовательского интерфейса к вычислениям и приложениям.
- Средства для обработки изображений с использованием PyLab и Python.
- Средства визуализации и анализа теории графов.
- Процедуры для импорта и экспорта различных форматов данных:
изображений, видео, аудио, САПР, ГИС, документов и медицинских форматов.
- Поддержка комплексных чисел, символьных и вычислений с произвольной точностью.
- Подготовка научно-технической документации с использованием редактора формул и возможностью встраивания Sage в документацию формата LaTeX.
- Сетевые инструменты для соединения с базами данных SQL, поддержка сетевых протоколов, включая HTTP, NNTP, IMAP, SSH, IRC, FTP.
- Программные интерфейсы для работы с системами Mathematica, Magma, и Maple.
Хотя это не представлено непосредственно, Sage может быть вызван из интерфейса Mathematica.
Философия разработки Sage
В процессе разработки Sage Уильям Стейн основывался на следующих фактах:
- Для создания достойной альтернативы системам Magma, Maple, Mathematica, и MATLAB потребуются сотни или тысячи человеко-лет, если начинать процесс разработки с нуля.
- Существует большое количество готового математического программного обеспечения с открытым исходным кодом, но написанного на различных языках программирования, из которых наиболее встречаемыми являются C, C++, Fortran и Python.
Таким образом, вместо того, чтобы начинать с нуля, было решено объединить всё специализированное математическое программное обеспечение в систему с общим интерфейсом. Конечному пользователю необходимо лишь знать язык Python.
Если для какой-то частной задачи не существовало программного обеспечения с открытым кодом, тогда стояла задача написания соответствующего блока для Sage. Но Sage не изобретает колесо, и в отличие от коммерческих систем компьютерной алгебры может открыто использовать исходные коды свободного программного обеспечения.
К разработке Sage привлекаются как профессионалы, так и студенты. Разработчики работают на общественных началах и поддерживаются грантами.
Награды Sage
В 2007 году Sage выиграл первый приз международного конкурса свободного программного обеспечения Les Trophées du Libre в разделе научного программного обеспечения.
Ссылки
Сайт Sage
Скачать Sage