SageMath
![]() | |
![]() Документ Sagemath ( Jupyter Notebook ) в веб-браузере | |
Первоначальный выпуск | 24 февраля 2005 г |
---|---|
Стабильная версия | 10.3 [1] ![]() |
Предварительный выпуск | 10.3.rc2 / 4 марта 2024 г |
Репозиторий | |
Написано в | Питон , Китон |
Операционная система | Linux , macOS , Microsoft Windows , Solaris , Android , iOS |
Платформа |
|
Размер | Прибл. 112–3319 МБ |
Тип | Система компьютерной алгебры |
Лицензия | лицензия GPLv3 [2] |
Веб-сайт | www |
SageMath (ранее Sage или SAGE , «Система для экспериментов по алгебре и геометрии»). [3] ) — система компьютерной алгебры (CAS), функции которой охватывают многие аспекты математики , включая алгебру , комбинаторику , теорию графов , теорию групп , дифференцируемые многообразия , численный анализ , теорию чисел , исчисление и статистику .
Первая версия SageMath была выпущена 24 февраля 2005 года как бесплатное программное обеспечение с открытым исходным кодом в соответствии с условиями Стандартной общественной лицензии GNU версии 2 с первоначальными целями создания «альтернативы с открытым исходным кодом Magma , Maple , Mathematica и MATLAB» . ". [4] Создатель и руководитель проекта SageMath Уильям Стейн был математиком из Вашингтонского университета .
SageMath использует синтаксис, напоминающий синтаксис Python : [5] поддержка процедурных , функциональных и объектно-ориентированных конструкций.
Развитие [ править ]

При разработке Sage Штейн понял, что существует множество с открытым исходным кодом пакетов математического программного обеспечения , уже написанных на разных языках , а именно C , C++ , Common Lisp , Fortran и Python .
Вместо того, чтобы изобретать велосипед , Sage (который написан в основном на Python и Cython ) интегрирует множество специализированных пакетов программного обеспечения CAS в общий интерфейс, для чего пользователю необходимо знать только Python. Однако Sage содержит сотни тысяч уникальных строк кода, добавляющих новые функции и создающих интерфейсы между его компонентами. [6]
SageMath использует для разработки как студентов, так и профессионалов. Развитие SageMath поддерживается как волонтерской работой, так и грантами . [7] Однако только в 2016 году был нанят первый штатный разработчик Sage (финансируемый грантом ЕС ). [8] В том же году Штейн описал свое разочарование отсутствием академического финансирования и полномочий для разработки программного обеспечения, назвав это причиной своего решения оставить свою постоянную академическую должность и работать полный рабочий день над проектом в недавно основанной компании SageMath. Инк. [8]
Достижения [ править ]
- 2007: первая премия в категории научного программного обеспечения на Les Trophées du Libre . международном конкурсе свободного программного обеспечения [9]
- 2012: один из проектов, отобранных для Google Summer of Code . [10]
- 2013: ACM / SIGSAM . Премия Дженкса [11]
Производительность [ править ]
как двоичные файлы , так и исходный код На странице загрузки доступны SageMath. Если SageMath собран из исходного кода, многие из включенных библиотек, таких как OpenBLAS , FLINT , GAP (система компьютерной алгебры) и NTL , будут настроены и оптимизированы для этого компьютера с учетом количества процессоров , размера их кэшей. , есть ли аппаратная поддержка инструкций SSE и т. д.
Cython может увеличить скорость программ SageMath, поскольку код Python преобразуется C. в [12]
Лицензирование и доступность [ править ]
SageMath — бесплатное программное обеспечение , распространяемое на условиях GNU General Public License версии 3. [2]
Хотя Microsoft спонсировала собственную версию SageMath для операционной системы Windows, до 2016 года не было планов по созданию собственного порта, и пользователям Windows приходилось использовать технологию виртуализации, такую как VirtualBox, для запуска SageMath. [13] SageMath 8.0 (июль 2017 г.), разработка которого финансируется проектом OpenDreamKit , [8] успешно построен на Cygwin , и был доступен двоичный установщик для 64-битных версий Windows. [14] Начиная с версии SageMath 10.0 (май 2023 г.), для нее требуется подсистема Windows для Linux версии 2. [15] что, в свою очередь, требует, чтобы Windows работала в качестве клиента Hyper-V .
Дистрибутивами Linux , в которых SageMath доступен в виде пакета, являются Fedora , Arch Linux , Debian , Ubuntu и NixOS . В Gentoo он доступен через непрофессионала в «sage-on-gentoo». [16] наложение. Пакет, используемый NixOS, доступен для использования в других дистрибутивах из-за независимого от дистрибутива характера его менеджера пакетов Nix .
Префикс Gentoo также предоставляет Sage в других операционных системах.
содержащиеся в SageMath программного обеспечения , Пакеты
Философия SageMath заключается в использовании существующих библиотек с открытым исходным кодом везде, где они существуют. Поэтому он использует множество библиотек из других проектов.
Пакеты математики содержится в SageMath [17] | Алгебра | ГЭП , Единственное число , КРЕМЕНЬ |
---|---|---|
Алгебраическая геометрия | Единственное число | |
Арифметика произвольной точности | GMP , MPFR , MPFI , NTL , mpmath , Arb | |
Арифметическая геометрия | PARI/GP , NTL , mwrank , ECM | |
Исчисление | Максима , SymPy , GiNaC , Giac , FriCAS | |
Комбинаторика | Симметрика , Сейдж-Комбинат | |
Линейная алгебра | ATLAS , BLAS , LAPACK , NumPy , LinBox , IML , GSL | |
Теория графов | СетьX | |
Теория групп | ЗАЗОР | |
Численные вычисления | GSL, SciPy , NumPy , АТЛАС | |
Теория чисел | ПАРИ/ГП , ФЛИНТ , НТЛ | |
Статистические вычисления | Р , SciPy | |
Другие пакеты содержится в SageMath | Оболочка командной строки | IPython |
База данных | ЗОДБ , SQLite | |
Графический интерфейс | Блокнот SageMath, MathJax [18] (ранее jsMath ) | |
Графика | matplotlib , Тахион , GD , Jmol | |
Интерактивный язык программирования | Питон | |
сеть | витой | |
Другой пакет математики доступно для SageMath | Дифференциальная геометрия и тензорное исчисление | Мудрые коллекторы |
См. также [ править ]
- КоКалк
- Сравнение программного обеспечения для численного анализа
- Сравнение статистических пакетов
- Список систем компьютерной алгебры
Ссылки [ править ]
- ^ «Выпуск 10.3» . 20 марта 2024 г. Проверено 25 марта 2024 г.
- ^ Jump up to: Перейти обратно: а б «КОПИРОВАНИЕ.txt — sage.git» . Репозиторий мудрецов. Архивировано из оригинала 14 марта 2017 года . Проверено 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 г.
- ^ Jump up to: Перейти обратно: а б с Уильям Штайн: Истоки SageMath – создание жизнеспособной альтернативы с открытым исходным кодом Magma, Maple, Mathematica и Matlab (презентация, 11 июня 2016 г.)
- ^ «Свободное программное обеспечение делает математику доступной и прозрачной» . Наука Дейли. 7 декабря 2007 года . Проверено 6 января 2017 г.
- ^ «Система математического программного обеспечения Sage» . Google Summer of Code / Архив Code-in . Проверено 6 января 2017 г.
- ^ «Премия памяти Ричарда Димика Дженкса 2013 года» . Ассоциация вычислительной техники – SIGSAM . Проверено 6 января 2017 г.
- ^ Штейн, Уильям (3 ноября 2010 г.). «Ситон, Мудрец и жажда скорости» . Проверено 6 января 2017 г.
- ^ Штейн, Уильям (16 марта 2012 г.). «Re: Вопрос о Сейдже» . Проверено 6 января 2017 г.
- ^ Лелиевр, Самуэль (18 августа 2017 г.). «Установщик SageMath 8.0 для Windows» . Проверено 28 августа 2017 г.
- ^ «Добро пожаловать в Руководство по установке Sage» . 1 мая 2023 г. Проверено 28 июля 2023 г.
- ^ "Sage-on-Gentoo Wiki" . Гитхаб . Проверено 6 января 2017 г.
- ^ «Стандартные пакеты» . doc.sagemath.org . Проверено 6 января 2017 г.
- ^ «Внешние пакеты — Внешние пакеты» .
Внешние ссылки [ править ]


- Программное обеспечение системы компьютерной алгебры для Linux
- Программное обеспечение системы компьютерной алгебры для macOS
- Программное обеспечение системы компьютерной алгебры для Windows
- Бесплатное программное обеспечение Android с открытым исходным кодом.
- Бесплатные системы компьютерной алгебры
- Бесплатное образовательное программное обеспечение
- Бесплатное математическое программное обеспечение
- Бесплатное программное обеспечение, написанное на Python.
- Математическое программное обеспечение
- Научные библиотеки Python (язык программирования)