Система компьютерной алгебры
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
в качестве аргумента и возвращает поле дробей своего аргумента. Другой пример: кольцо матриц с рациональными элементами будет построено как . Конечно, при работе в этой области интерпретируется как единичная матрица и дает обратную матрицу , если она существует.![{\displaystyle 4\times 4}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
SquareMatrix(4, Fraction Integer)
1
A^-1
A
Несколько операций могут иметь одно и то же имя, а типы аргументов и результата используются для определения того, какая операция применяется (см. перегрузку функции ).
Axiom поставляется с языком расширения SPAD. Все математические знания Аксиомы записаны на этом языке. Переводчик принимает примерно тот же язык.
Функции
В среде интерпретатора Axiom использует вывод типов и эвристический алгоритм, чтобы сделать явные аннотации типов практически ненужными.
Он имеет HyperDoc, интерактивную справочную систему, похожую на браузер, и может отображать двух- и трехмерную графику, а также предоставляет интерактивные функции, такие как вращение и освещение. Он также имеет специализированный режим взаимодействия для Emacs , а также плагин для редактора TeXmacs .
HyperDoc, отображающий доступные операции для домена
Аксиома отображения поверхности
Интерфейс браузера Axiom Firefox
Аксиома, упрощающая уравнение теплопроводности
Манипулирование матрицей аксиом
Аксиома вычисления интеграла Риша
В Axiom есть реализация алгоритма Риша для элементарного интегрирования, разработанная Мануэлем Бронштейном и Барри Трэгером. Хотя эта реализация может найти большинство элементарных первообразных и узнать, существуют ли они, она имеет некоторые нереализованные ветки и вызывает ошибку, когда такие случаи встречаются во время интеграции. [9] [10]
Смотрите также
Рекомендации
- ^ "Теги Дейли / аксиомы" . Докер-хаб . Проверено 25 марта 2022 г.
- ↑ Fitch, Джон (23 июля 2012 г.). «Джеймс Грисмер 1929–2011». ACM-коммуникации в компьютерной алгебре . 46 (1/2): 10–11. дои : 10.1145/2338496.2338499 . S2CID 36788754.
- ^ "Система компьютерной алгебры Axiom" . axiom-developer.org .
- ^ "Биографические данные Ричарда Д. Дженкса" . www.eecis.udel.edu .
- ^ "ЕВРОКАЛ '85 | SpringerLink" . 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.
- Ричард Д. Дженкс (1971). META/PLUS — Средство расширения синтаксиса для SCRATCHPAD (отчет об исследовании). Исследовательский центр IBM Томаса Дж. Уотсона . РП 3259.
- Джеймс Х. Грисмер; Ричард Д. Дженкс (1972). «Опыт работы с онлайн-системой символьной математики | Материалы конференции ONLINE72». 1 . Университет Брюнеля : 457–476.
- Джеймс Х. Грисмер; Ричард Д. Дженкс (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.
- Э. Люкен (1977). Ueberlegungen zur Implementierung eines Formelmanipulationssystems (Магистерская диссертация) (на немецком языке). Германия: Технический университет Кароло-Вильгельмина цу Брауншвейг .
- Джордж Э. Эндрюс (1984). «Рамануджан и SCRATCHPAD | Материалы конференции пользователей MACSYMA 1984 года». Скенектади: General Electric : 383–408.
- Джеймс Х. Давенпорт; П. Джанни; Ричард Д. Дженкс; В. Миллер; Скотт Моррисон; М. Ротштейн; К. Сундаресан; Роберт С. Сьютор; Барри Трегер (1984). «Блокнот». Отдел математических наук, Исследовательский центр Томаса Дж. Уотсона IBM .
- Ричард Д. Дженкс (1984). «Новый язык и система SCRATCHPAD для компьютерной алгебры». Материалы конференции пользователей MACSYMA 1984 г .: 409–416.
- Ричард Д. Дженкс (1984). «Букварь: 11 ключей к новому блокноту | Труды Международного симпозиума по символьным и алгебраическим вычислениям '84». Спрингер: 123–147.
- Роберт С. Сьютор (1985). «Язык и система компьютерной алгебры Scratchpad II | Материалы международного симпозиума по символьным и алгебраическим вычислениям '85». Спрингер: 32–33.
- Рюдигер Гебауэр; Х. Михаэль Мёллер (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.
- Клэр Дикрещенцо; Доминик Дюваль (1989). П. Джанни (ред.). «Алгебраические расширения и алгебраическое замыкание в Scratchpad II | Символические и алгебраические вычисления». Спрингер: 440–446.
- Тимоти Дейли «Аксиома — тридцать лет Лиспа»
- Приглашенный доклад Тимоти Дейли «Аксиома», Конференция по свободному программному обеспечению, Лион, Франция, май 2002 г.
- Приглашенный доклад Тимоти Дейли «Аксиома», встреча Libre Software, Мец, Франция, 9–12 июля 2003 г.
Внешние ссылки
СМИ, связанные с Axiom (программное обеспечение компьютерной алгебры) на Викискладе?
- Домашняя страница Аксиомы
- Онлайн-песочница, где можно попробовать Axiom
- Репозитории исходного кода: Github, SourceForge, GNU Savannah.
- Дженкс Р.Д. и Сьютор Р. «Аксиома, система научных вычислений»
- Дейли, Т. «Аксиома, том 1: Учебное пособие»
Программные форки:
- OpenAxiom (SourceForge)
- ПтCAS (SourceForge)