Системы компьютерной алгебры можно разделить на два класса: специализированные и общего назначения. Специализированные посвящены определенному разделу математики, например, теории чисел , теории групп или преподаванию элементарной математики .
Системы компьютерной алгебры общего назначения призваны быть полезными пользователю, работающему в любой научной области, требующей манипулирования математическими выражениями. Чтобы быть полезной, система компьютерной алгебры общего назначения должна включать в себя различные функции, такие как:
пользовательский интерфейс , позволяющий пользователю вводить и отображать математические формулы, обычно с помощью клавиатуры, пунктов меню, мыши или стилуса.
язык программирования и интерпретатор (результат вычислений обычно имеет непредсказуемую форму и непредсказуемый размер, поэтому часто требуется вмешательство пользователя),
упроститель , который представляет собой систему переписывания для упрощения математических формул,
менеджер памяти , включая сборщик мусора , необходимый из-за огромного размера промежуточных данных, которые могут появиться во время вычислений,
арифметика произвольной точности , необходимая из-за огромного размера целых чисел, которые могут возникнуть,
Библиотека должна обеспечивать не только потребности пользователей, но и потребности упрощателя. Например, вычисление полиномиальных наибольших общих делителей систематически используется для упрощения выражений, включающих дроби.
Такое большое количество необходимых компьютерных возможностей объясняет небольшое количество систем компьютерной алгебры общего назначения. Важнейшие системы включают Axiom , GAP , Maxima , Magma , Maple , Mathematica и SageMath .
История
Системы компьютерной алгебры начали появляться в 1960-х годах и развивались из двух совершенно разных источников — требований физиков-теоретиков и исследований в области искусственного интеллекта .
Ярким примером первой разработки была новаторская работа, проведенная впоследствии лауреатом Нобелевской премии по физике Мартинусом Вельтманом , который в 1963 году разработал программу для символической математики, особенно физики высоких энергий, под названием Schoonschip (по-голландски «чистый корабль»). Другой ранней системой был FORMAC .
Используя Lisp в качестве основы программирования, Карл Энгельман создал MATHLAB в 1964 году в MITRE в рамках исследовательской среды искусственного интеллекта. Позже MATHLAB стал доступен пользователям систем PDP-6 и PDP-10, работающих под управлением TOPS-10 или TENEX в университетах. Сегодня его все еще можно использовать в SIMH- эмуляциях PDP-10. MATLAB (« математическая лаборатория ») не следует путать с MATLAB (« матричная лаборатория » ), которая представляет собой систему численных вычислений, созданную 15 лет спустя в Университете Нью-Мексико .
Первыми популярными системами компьютерной алгебры были muMATH , Download , Derive (на основе muMATH) и Macsyma ; версия Macsyma с авторским левом называется Maxima . Редукция стала свободным программным обеспечением в 2008 году. [3] Коммерческие системы включают Mathematica [4] и Maple , которые обычно используются математиками-исследователями, учеными и инженерами. Свободно доступные альтернативы включают SageMath (который может выступать в качестве интерфейса для нескольких других бесплатных и несвободных CAS). Другие важные системы включают Axiom , GAP , Maxima и Magma .
Переход к веб-приложениям в начале 2000-х годов ознаменовался выпуском WolframAlpha , онлайн-поисковой системы и CAS, включающего возможности Mathematica . [5]
Совсем недавно системы компьютерной алгебры были реализованы с использованием искусственных нейронных сетей , хотя по состоянию на 2020 год они коммерчески недоступны. [6]
Символические манипуляции
Поддерживаемые символические манипуляции обычно включают:
упрощение до меньшего выражения или некоторой стандартной формы , включая автоматическое упрощение с предположениями и упрощение с ограничениями
замена символов или числовых значений для определенных выражений
API-интерфейсы для его связывания с внешней программой, такой как база данных, или использования на языке программирования для использования системы компьютерной алгебры.
Некоторые системы компьютерной алгебры ориентированы на специализированные дисциплины; они обычно разрабатываются в научных кругах и бесплатны. Они могут быть неэффективны для числовых операций по сравнению с числовыми системами .
Было много сторонников более широкого использования систем компьютерной алгебры в классах начальной и средней школы. Основная причина такой пропаганды заключается в том, что системы компьютерной алгебры отражают реальную математику больше, чем математика, основанная на бумаге и карандаше или ручном калькуляторе. [12]
Это стремление к увеличению использования компьютеров в математических классах было поддержано некоторыми советами по образованию. В некоторых регионах это даже включено в учебную программу. [13]
Системы компьютерной алгебры широко используются в высшем образовании. [14] [15] Многие университеты либо предлагают специальные курсы по развитию их использования, либо подразумевают, что студенты будут использовать их в своей курсовой работе. Компании, разрабатывающие системы компьютерной алгебры, стремятся увеличить их распространенность в программах университетов и колледжей. [16] [17]
Калькуляторы, оборудованные CAS, не разрешены на экзаменах ACT , PLAN и в некоторых классах [18], хотя они могут быть разрешены на всех тестах Совета колледжей , разрешенных к использованию калькуляторов, включая SAT , некоторые предметные тесты SAT и AP Calculus. Экзамены по химии , физике и статистике . [19]
Математика, используемая в системах компьютерной алгебры
^ Нельсон, Ричард. «Первые калькуляторы Hewlett-Packard». Hewlett Packard. Архивировано из оригинала 3 июля 2010 г.
^ Кунс, Альберт (октябрь 1999 г.), «Начало работы с системами символьной математики: инструмент повышения производительности», Technology Tips, The Mathematics Teacher , 92 (7): 620–622, doi : 10.5951/mt.92.7.0620, JSTOR 27971125
^ «Система компьютерной алгебры REDUCE в SourceForge» . уменьшить-algebra.sourceforge.net . Проверено 28 сентября 2015 г.
↑ Интервью с Гастоном Гонне, соавтором Maple. Архивировано 29 декабря 2007 г. в Wayback Machine , SIAM History of Numerical Analysis and Computing, 16 марта 2005 г.
^ Бхаттачарья, Джотирмой (12 мая 2022 г.). «Wolfram | Alpha: бесплатная онлайн-система компьютерной алгебры». Индус . ISSN 0971-751X . Проверено 26 апреля 2023 г.
^ Орнес, Стивен. «Символическая математика наконец уступает место нейронным сетям». Журнал Кванта . Проверено 4 ноября 2020 г.
^ Дана-Пикар, Тьерри Ноа. «Компьютерные доказательства и автоматизированные методы в математическом образовании». arxiv.org . Проверено 23 июня 2024 г.
^ «dsolve — Помощь по программированию Maple» . www.maplesoft.com . Проверено 9 мая 2020 г.
^ "DSolve - Документация по языку Wolfram" . www.wolfram.com . Проверено 28 июня 2020 г.
^ «Основы алгебры и исчисления — Учебное пособие Sage v9.0». doc.sagemath.org . Проверено 9 мая 2020 г.
^ «Символическая алгебра и математика с Xcas» (PDF) .
^ «Обучение детей настоящей математике с помощью компьютеров» . Тед.ком . Проверено 12 августа 2017 г.
^ «Математика - Образование Манитобы» . Edu.gov.mb.ca. Проверено 12 августа 2017 г.
^ «Математика для преподавателей, сотрудников и студентов: информационные технологии - Северо-Западный университет» . It.northwestern.edu . Проверено 12 августа 2017 г.
^ «Математика для студентов - информационные технологии Колумбийского университета» . cuit.columbia.edu . Проверено 12 августа 2017 г.
^ «Математика для высшего образования: использование для курсов в университетах и колледжах» . Вольфрам.com . Проверено 12 августа 2017 г.
^ "MathWorks - Академия - MATLAB и Simulink" . Mathworks.com . Проверено 12 августа 2017 г.
^ Тесты CAAP ACT: использование калькуляторов в тесте по математике CAAP. Архивировано 31 августа 2009 г., в Wayback Machine.
^ «Политика калькулятора экзаменов AP» . Студенты АП . Совет колледжа . Проверено 24 мая 2024 г.
^ аб Б. Бухбергер; Дж. Е. Коллинз; Р. Лоос (29 июня 2013 г.). Компьютерная алгебра: символьные и алгебраические вычисления. Springer Science & Business Media. ISBN978-3-7091-3406-1.
^ Иоахим фон цур Гатен; Юрген Герхард (25 апреля 2013 г.). Современная компьютерная алгебра. Издательство Кембриджского университета. ISBN978-1-107-03903-2.
^ Кейт О. Геддес; Стивен Р. Чапор; Джордж Лабан (30 июня 2007 г.). Алгоритмы компьютерной алгебры. Springer Science & Business Media. ISBN978-0-585-33247-5.
Ричард Дж. Фейтман. «Очерки по алгебраическому упрощению». Технический отчет MIT-LCS-TR-095, 1972 г. (Представляет исторический интерес, показывая направление исследований в области компьютерной алгебры. На сайте MIT LCS: [1])