Аксиома (система компьютерной алгебры)
Разработчик(и) | Независимая группа людей |
---|---|
Стабильная версия | |
Предварительный выпуск | Мастер Сурсгорна / 6 февраля 2022 г |
Репозиторий | https://sourceforge.net/p/axiom/code/ |
Написано в | Лисп |
Операционная система | Кросс-платформенный |
Тип | Система компьютерной алгебры |
Лицензия | Модифицированная лицензия BSD |
Веб-сайт | www |
Axiom — бесплатная общего назначения система компьютерной алгебры . Он состоит из среды интерпретатора, компилятора и библиотеки, которая определяет строго типизированную иерархию.
История [ править ]
Две системы компьютерной алгебры под названием Scratchpad были разработаны IBM . Первый из них был основан в 1965 году Джеймсом Грисмером. [2] по просьбе Ральфа Гомори и написан на Фортране . [3] Разработка этого программного обеспечения была остановлена до его публичного выпуска. Второй блокнот, первоначально называвшийся Scratchpad II , разрабатывался с 1977 года в Исследовательском центре Томаса Дж. Уотсона под руководством Ричарда Димика Дженкса. [4]
Разработка в основном принадлежит Ричарду Д. Дженксу (IBM Research), Джеймсу Х. Давенпорту (Университет Бата), Барри М. Трэгеру (IBM Research), Дэвиду Ю. Юну (Южный методистский университет) и Виктору С. Миллеру (IBM Research). ). Первыми консультантами проекта были Дэвид Бартон (Калифорнийский университет, Беркли) и Джеймс Тэтчер (IBM Research). В реализации участвовали Роберт Сутор (IBM Research), Скотт С. Моррисон (Калифорнийский университет, Беркли), Кристин Дж. Сундаресан (IBM Research), Тимоти Дейли (IBM Research), Патриция Джанни (Университет Пизы), Альбрехт Фортенбахер (Университет Карлсруэ). ), Стивен М. Ватт (IBM Research и Университет Ватерлоо), Джош Коэн (Йельский университет), Майкл Ротштейн (Кентский государственный университет), Мануэль Бронштейн (IBM Research), Майкл Монаган (Университет Саймона Фрейзера), Джонатан Штайнбах (IBM Research) ), Уильям Бердж (IBM Research), Джим Вен (IBM Research), Уильям Сит (Городской колледж Нью-Йорка) и Клифтон Уильямсон (IBM Research) [5]
Scratchpad II был переименован в Axiom , когда примерно в 1990 году IBM решила сделать его коммерческим продуктом. Через несколько лет он был продан NAG . В 2001 году он был отозван с рынка и перевыпущен под модифицированной лицензией BSD . С тех пор ведущим разработчиком проекта является Тим Дейли.
В 2007 году Axiom разветвлялась дважды с открытым исходным кодом , в результате чего возникло два разных проекта : OpenAxiom. [6] и FriCAS , [7] после «серьезных разногласий по поводу целей проекта». [8] Проект Axiom продолжал развивать Тим Дейли.
Текущее направление исследований — «Доказательство разумности аксиомы» , то есть логичности, рациональности, рассудительности и здравости.
Дизайн [ править ]
В Axiom каждый объект имеет тип. Примерами типов являются математические структуры (такие как кольца , поля , полиномы ), а также структуры данных из информатики (например, списки , деревья , хеш-таблицы ).
Функция может принимать тип в качестве аргумента, и ее возвращаемое значение также может быть типом. Например, Fraction
это функция, которая принимает IntegralDomain
в качестве аргумента и возвращает поле долей своего аргумента. Другой пример: кольцо матрицы с рациональными элементами будут построены как SquareMatrix(4, Fraction Integer)
. Конечно, работая в этой области, 1
интерпретируется как единичная матрица и A^-1
даст обратную матрицу A
, если он существует.
Несколько операций могут иметь одно и то же имя, а типы аргументов и результата используются для определения того, какая операция применяется (см. перегрузку функции ).
Axiom поставляется с языком расширения SPAD. Все математические знания Аксиомы записаны на этом языке. Переводчик принимает примерно тот же язык.
Особенности [ править ]
В среде интерпретатора Axiom использует вывод типов и эвристический алгоритм, чтобы сделать явные аннотации типов практически ненужными.
Он имеет HyperDoc, интерактивную справочную систему, похожую на браузер, и может отображать двух- и трехмерную графику, а также предоставляет интерактивные функции, такие как вращение и освещение. Он также имеет специализированный режим взаимодействия для Emacs , а также плагин для редактора TeXmacs .
- HyperDoc, отображающий доступные операции для домена
- Аксиома отображения поверхности
- Интерфейс браузера Axiom Firefox
- Аксиома, упрощающая уравнение теплопроводности
- Манипулирование матрицей аксиом
- Аксиома вычисления интеграла Риша
В Axiom есть реализация алгоритма Риша для элементарного интегрирования, разработанная Мануэлем Бронштейном и Барри Трэгером. Хотя эта реализация может найти большинство элементарных первообразных и узнать, существуют ли они, она имеет некоторые нереализованные ветки и вызывает ошибку, когда такие случаи встречаются во время интеграции. [9] [10]
См. также [ править ]
Ссылки [ править ]
- ^ «Теги Дейли/Аксиомы» . Докер-хаб . Проверено 25 марта 2022 г.
- ^ Фитч, Джон (23 июля 2012 г.). «Джеймс Грисмер 1929–2011» . ACM-коммуникации в компьютерной алгебре . 46 (1/2): 10–11. дои : 10.1145/2338496.2338499 . S2CID 36788754 .
- ^ «Система компьютерной алгебры Аксиома» . axiom-developer.org .
- ^ «Биографические сведения о Ричарде Д. Дженксе» . www.eecis.udel.edu .
- ^ «ЕВРОКАЛ '85 | СпрингерЛинк» . www.springer.com .
- ^ «OpenAxiom: Открытая платформа научных вычислений» . www.open-axiom.org .
- ^ «FriCAS 18a5ef5d99c796a89efeac06df40043a85b3d44d — FriCAS» . fricas.github.io .
- ^ «История — FriCAS» . fricas.github.io .
- ^ Бронштейн, Мануэль (5 сентября 2003 г.). «Мануэль Бронштейн об интеграционных возможностях Axiom» . groups.google.com . Проверено 10 февраля 2023 г.
- ^ «интеграция. Существует ли полная реализация алгоритма Риша?» . MathOverflow . 15 октября 2020 г. Проверено 10 февраля 2023 г.
Дальнейшее чтение [ править ]
- Джеймс Х. Грисмер; Ричард Д. Дженкс (1971). «SCRATCHPAD/1: Интерактивное средство для символьной математики | Материалы второго симпозиума ACM по символическим и алгебраическим манипуляциям (SYMSAC '71)»: 42–58.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - Ричард Д. Дженкс (1971). META/PLUS — средство расширения синтаксиса для SCRATCHPAD (отчет об исследовании). IBM Исследовательский центр Томаса Дж. Уотсона . РП 3259.
- Джеймс Х. Грисмер; Ричард Д. Дженкс (1972). «Опыт работы с онлайн-системой символьной математики | Материалы конференции ONLINE72». 1 . Университет Брунеля : 457–476.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - Джеймс Х. Грисмер; Ричард Д. Дженкс (1972). «Блокнот». Уведомления ACM SIGPLAN . 7 (10): 93–102. дои : 10.1145/942576.807019 .
- Ричард Д. Дженкс (1974). «Язык блокнота». Бюллетень ACM SIGSAM . 8 (2): 20–30. дои : 10.1145/1086830.1086834 . S2CID 14537956 .
- Артур К. Норман (1975). «Вычисления с формальным степенным рядом». Транзакции ACM в математическом программном обеспечении . 1 (4): 346–356. дои : 10.1145/355656.355660 . ISSN 0098-3500 . S2CID 18321863 .
- Ричард Д. Дженкс (1976). «Компилятор шаблонов | Материалы третьего симпозиума ACM по символическим и алгебраическим манипуляциям (SYMSAC '76)»: 60–65.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - Э. Люкен (1977). Рекомендации по внедрению системы манипулирования формулами (магистерская диссертация) (на немецком языке). Германия: Технологический университет имени Кароло-Вильгельмины в Брауншвейге .
- Джордж Э. Эндрюс (1984). «Рамануджан и SCRATCHPAD | Материалы конференции MACSYMA пользователей 1984 года». Скенектади: General Electric : 383–408.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - Джеймс Х. Давенпорт; П. Джанни; Ричард Д. Дженкс; В. Миллер; Скотт Моррисон; М. Ротштейн; К. Сундаресан; Роберт С. Сьютор; Барри Трегер (1984). «Блокнот». Отдел математических наук, Исследовательский центр Томаса Дж. Уотсона IBM .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - Ричард Д. Дженкс (1984). «Новый язык и система SCRATCHPAD для компьютерной алгебры». Материалы конференции пользователей MACSYMA 1984 г .: 409–416.
- Ричард Д. Дженкс (1984). «Букварь: 11 ключей к новому блокноту | Труды Международного симпозиума по символьным и алгебраическим вычислениям '84». Спрингер: 123–147.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - Роберт С. Сьютор (1985). «Язык и система компьютерной алгебры Scratchpad II | Труды международного симпозиума по символьным и алгебраическим вычислениям '85». Спрингер: 32–33.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - Рюдигер Гебауэр; Х. Михаэль Мёллер (1986). Алгоритм Бухбергера и шахматные линейные базисы | Труды пятого симпозиума ACM по символическим и алгебраическим вычислениям (Международный симпозиум по символическим и алгебраическим вычислениям '86) . АКМ. стр. 218–221. ISBN 978-0-89791-199-3 .
- Ричард Д. Дженкс; Роберт С. Сьютор; Стивен М. Ватт (1986). Scratchpad II: абстрактная система типов данных для математических вычислений (отчет об исследовании). IBM Исследовательский центр Томаса Дж. Уотсона . РЦ 12327.
- Майкл Лакс; Брюс В. Чар (1986). Быстрая реализация полиномиальной факторизации | Материалы SYMSAC '86 . АКМ. стр. 228–232. ISBN 978-0-89791-199-3 .
- Дж. Пуртило (1986). Применение системы взаимосвязи программного обеспечения в средах решения математических задач | Материалы SYMSAC '86 . АКМ. стр. 16–23. ISBN 978-0-89791-199-3 .
- Уильям Х. Бердж; Стивен М. Ватт (1987). Бесконечная структура в SCRATCHPAD II (отчет об исследовании). IBM Исследовательский центр Томаса Дж. Уотсона . РЦ 12794.
- Паскаль Сенешо; Франсуаза Зиберт; Жиль Виллар (1987). Блокнот II: Представляем новый язык компьютерной алгебры . ТИМ (Отчет об исследовании) (на французском языке). IMAG , Технологический институт Гренобля . 640-М.
- Роберт С. Сьютор; Ричард Д. Дженкс (1987). «Средства вывода типа и приведения типов в интерпретаторе блокнота II». Доклады симпозиума по устным переводчикам и методам перевода - SIGPLAN '87 . стр. 56–63. дои : 10.1145/29650.29656 . ISBN 978-0-89791-235-8 . S2CID 17700911 .
- Джордж Э. Эндрюс (1988). Р. Янссен (ред.). Применение SCRATCHPAD для решения задач по специальным функциям и комбинаторике | Тенденции в компьютерной алгебре . Конспекты лекций по информатике . Спрингер. стр. 159–166.
- Джеймс Х. Давенпорт; Ивон Сирет; Эвелин Турнье (1993) [1988]. Компьютерная алгебра: системы и алгоритмы алгебраических вычислений . Академическая пресса . ISBN 978-0122042300 .
- Рюдигер Гебауэр; Х. Михаэль Мёллер (1988). «Об установке алгоритма Бухбергера» . Журнал символических вычислений . 6 (2–3): 275–286. дои : 10.1016/s0747-7171(88)80048-8 . ISSN 0747-7171 .
- Фриц Шварц (1988). Р. Янссен (ред.). Программирование с абстрактными типами данных: пакет симметрии (SPDE) в Scratchpad | Тенденции в компьютерной алгебре . Конспекты лекций по информатике. Спрингер. стр. 167–176.
- Дэвид Шеннон; Мосс Свидлер (1988). «Используя базисы Грёбнера для определения принадлежности к алгебре, расщепляемые гомоморфизмы сюръективной алгебры определяют бирациональную эквивалентность» . Журнал символических вычислений . 6 (2–3): 267–273. дои : 10.1016/s0747-7171(88)80047-6 .
- Ханс-Дж. Бём (1989). «Вывод типа при наличии абстракции типа». Уведомления ACM SIGPLAN . 24 (7): 192–206. дои : 10.1145/74818.74835 .
- Мануэль Бронштейн (1989). «Упрощение действительных элементарных функций | Труды Международного симпозиума по символьным и алгебраическим вычислениям (SIGSAM '89)». АКМ: 207–211.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - Клэр Дикрещенцо; Доминик Дюваль (1989). П. Джанни (ред.). «Алгебраические расширения и алгебраические замыкания в Scratchpad II | Символические и алгебраические вычисления». Спрингер: 440–446.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - Тимоти Дейли «Аксиома — тридцать лет Лиспа»
- Приглашенный доклад Тимоти Дейли «Аксиома», Конференция по свободному программному обеспечению, Лион, Франция, май 2002 г.
- Приглашенный доклад Тимоти Дейли «Аксиома», встреча Libre Software , Мец, Франция, 9–12 июля 2003 г.
Внешние ссылки [ править ]
СМИ, связанные с Axiom (программное обеспечение компьютерной алгебры) на Викискладе?
- Домашняя страница Аксиомы
- Онлайн-песочница, где можно попробовать Axiom
- Репозитории исходного кода: Github , SourceForge , GNU Savannah.
- Дженкс Р.Д. и Сьютор Р. «Аксиома, система научных вычислений»
- Дейли, Т. «Аксиома, том 1: Учебное пособие»
Программные форки:
- OpenAxiom ( SourceForge )
- ПтCAS ( SourceForge )