Документ Sagemath ( Jupyter Notebook ) в веб-браузере | |
изначальный выпуск | 24 февраля 2005 г . |
---|---|
Стабильный выпуск | 9.2 / 24 октября 2020 г . |
Предварительный выпуск | 9.3.beta7 / 7 февраля 2021 г . |
Репозиторий | |
Написано в | Python , Cython |
Операционная система | Linux , macOS , Microsoft Windows , Solaris , Android , iOS |
Платформа | |
Размер | Прибл. 112–3319 МБ |
Тип | Система компьютерной алгебры |
Лицензия | GPLv3 [1] |
Интернет сайт | www |
SageMath (ранее Sage или SAGE , «Система для экспериментов с алгеброй и геометрией» [2] ) - это система компьютерной алгебры (CAS) с функциями, охватывающими многие аспекты математики , включая алгебру , комбинаторику , теорию графов , численный анализ , теорию чисел , исчисление. и статистика .
Первая версия SageMath была выпущена 24 февраля 2005 г. как бесплатное программное обеспечение с открытым исходным кодом в соответствии с условиями Стандартной общественной лицензии GNU версии 2, с первоначальной целью создания «альтернативы с открытым исходным кодом для Magma , Maple , Mathematica и MATLAB. ". [3] Инициатор и руководитель проекта SageMath, Уильям Штейн , был математиком в Университете штата Вашингтон .
SageMath использует синтаксис , напоминающий Python S», [4] , поддерживающие процедурные , функциональные и объектно-ориентированные конструкций.
Развитие [ править ]
При разработке Sage Уильям Стейн осознал, что существует множество математических программных пакетов с открытым исходным кодом, уже написанных на разных языках, а именно на C , C ++ , Common Lisp , Fortran и Python .
Вместо того, чтобы изобретать колесо , Sage (который в основном написан на Python и Cython ) объединяет многие специализированные программные пакеты CAS в общий интерфейс, для которого пользователю необходимо знать только Python. Однако Sage содержит сотни тысяч уникальных строк кода, добавляющих новые функции и создающих интерфейс между его компонентами. [5]
SageMath использует для развития как студентов, так и профессионалов. Развитие SageMath поддерживается как волонтерской работой, так и грантами . [6] Однако только в 2016 году был нанят первый штатный разработчик Sage (финансируемый за счет гранта ЕС ). [7] В том же году Штайн описал свое разочарование в связи с отсутствием академического финансирования и полномочий для разработки программного обеспечения, сославшись на это как на причину своего решения оставить свою постоянную академическую должность, чтобы работать над проектом на полную ставку в недавно созданной компании. , SageMath, Inc. [7]
Достижения [ править ]
- 2007: первая премия в отделе научного программного обеспечения на международном конкурсе бесплатных программ Les Trophées du Libre . [8]
- 2012: один из проектов, отобранных для Google Summer of Code . [9]
- 2013: Приз Дженкса ACM / SIGSAM. [10]
Производительность [ править ]
И двоичные файлы, и исходный код доступны для SageMath на странице загрузки. Если SageMath построен из исходного кода, многие из включенных библиотек, таких как ATLAS , FLINT и NTL, будут настроены и оптимизированы для этого компьютера с учетом количества процессоров, размера их кешей, наличия аппаратной поддержки для Инструкции SSE и т. Д.
Cython может увеличить скорость программ SageMath, как Python код преобразуется в C . [11]
Лицензирование и доступность [ править ]
SageMath - бесплатное программное обеспечение , распространяемое в соответствии с условиями Стандартной общественной лицензии GNU версии 3. [1]
Хотя Microsoft спонсировала собственную версию SageMath для операционной системы Windows , до 2016 года не было планов по созданию собственного порта, и пользователям Windows приходилось использовать технологию виртуализации, такую как VirtualBox, для запуска SageMath. [12] Начиная с SageMath 8.0 (июль 2017 г.), разработка финансируется проектом OpenDreamKit , [7] он успешно построен на Cygwin , и доступен двоичный установщик для 64-разрядных версий Windows . [13]
Дистрибутивы Linux, в которых SageMath доступен в виде пакета, - это Fedora , Arch Linux , Debian , Ubuntu и NixOS . В Gentoo он доступен непрофессионалам в оверлее "sage-on-gentoo" [14] . Пакет, используемый NixOS, доступен для использования в других дистрибутивах из-за того, что его менеджер пакетов Nix не зависит от дистрибутива .
Префикс Gentoo также предоставляет Sage в других операционных системах.
Программные пакеты, содержащиеся в SageMath [ править ]
Философия SageMath заключается в использовании существующих библиотек с открытым исходным кодом везде, где они есть. Поэтому он использует множество библиотек из других проектов.
Пакеты математики, содержащиеся в SageMath [15] | Алгебра | GAP , Singular , КРЕМЕНЬ |
---|---|---|
Алгебраическая геометрия | Единственное число | |
Арифметика произвольной точности | MPIR , MPFR , MPFI , NTL , mpmath , Арбы | |
Арифметическая геометрия | PARI / GP , NTL , mwrank , ECM | |
Исчисление | Maxima , SymPy , GiNaC , Giac , FriCAS | |
Комбинаторика | Симметрика , Шалфей-Комбинат | |
Линейная алгебра | ATLAS , BLAS , LAPACK , NumPy , LinBox , IML , GSL | |
Теория графов | NetworkX | |
Теория групп | ЗАЗОР | |
Численный расчет | GSL , SciPy , NumPy , ATLAS | |
Теория чисел | PARI / GP , FLINT , NTL | |
Статистические вычисления | R , SciPy | |
Другие пакеты, содержащиеся в SageMath | Оболочка командной строки | IPython |
База данных | ЗОДБ , SQLite | |
Графический интерфейс | Блокнот SageMath, jsMath | |
Графика | matplotlib , Tachyon , GD , Jmol | |
Интерактивный язык программирования | Python | |
Сети | Скрученный | |
Другой пакет математики доступен для SageMath | Дифференциальная геометрия и тензорное исчисление | Коллекторы Sage |
См. Также [ править ]
- CoCalc
- Список систем компьютерной алгебры
- Сравнение программ численного анализа
- Сравнение статистических пакетов
Ссылки [ править ]
- ^ a b "COPYING.txt - sage.git" . Хранилище мудрецов . Проверено 4 апреля 2017 года .
- ^ Штейн, Уильям. "SAGE: компьютерная система для экспериментов по алгебре и геометрии" . Проверено 30 марта 2012 года .
- ↑ Стейн, Уильям (12 июня 2007 г.). «Дни мудрецов 4» (PDF) . Архивировано из оригинального (PDF) 27 июня 2007 года . Проверено 2 августа 2007 года .
- ^ Анастассиу, Джордж А.; Мезей, Разван А. (2015). Численный анализ с использованием Sage . Нью-Йорк: Спрингер. стр. x1 и 1. ISBN 9783319167381.
- ^ «Дни мудреца 7: Комбинаторика» . SageWiki . 14 ноября 2008 . Проверено 9 декабря 2013 .
- ^ «Мудрец - Благодарность сторонникам» . Проверено 6 января 2017 года .
- ^ a b c Уильям Штайн: Истоки SageMath - создание жизнеспособной альтернативы с открытым исходным кодом для Magma, Maple, Mathematica и Matlab (презентация, 11 июня 2016 г.)
- ^ «Бесплатное программное обеспечение обеспечивает доступность и прозрачность математики» . Science Daily. 7 декабря 2007 . Проверено 6 января 2017 года .
- ^ "Система математического программного обеспечения Sage" . Google Summer of Code / Архив кода . Проверено 6 января 2017 года .
- ^ "Премия Мемориальной премии Ричарда Димика Дженкса 2013" . Ассоциация вычислительной техники - SIGSAM . Проверено 6 января 2017 года .
- ^ Штейн, Уильям (3 ноября 2010 г.). «Cython, Sage и жажда скорости» . Проверено 6 января 2017 года .
- ↑ Стейн, Уильям (16 марта 2012 г.). "Re: Вопрос о Sage" . Проверено 6 января 2017 года .
- ^ Lelièvre, Самуэль (18 августа 2017). «Установщик SageMath 8.0 для Windows» . Проверено 28 августа 2017 года .
- ^ "sage-on-gentoo Wiki" . Проверено 6 января 2017 года .
- ^ «Стандартные пакеты» . doc.sagemath.org . Проверено 6 января 2017 года .
Внешние ссылки [ править ]
В Викиучебнике есть книга на тему: Мудрец. |
Викискладе есть медиафайлы, связанные с Sage (математическим программным обеспечением) . |
- Официальный веб-сайт