Система компьютерной алгебры
Система компьютерной алгебры ( CAS ) или система символьной алгебры ( SAS ) — это любое математическое программное обеспечение , способное манипулировать математическими выражениями аналогично традиционным ручным вычислениям математиков и ученых . Развитие систем компьютерной алгебры во второй половине 20-го века является частью дисциплины « компьютерная алгебра » или «символьные вычисления», что стимулировало работу над алгоритмами над математическими объектами, такими как полиномы .
Системы компьютерной алгебры можно разделить на два класса: специализированные и общего назначения. Специализированные посвящены определенному разделу математики, например, теории чисел , теории групп или преподаванию элементарной математики .
Системы компьютерной алгебры общего назначения призваны быть полезными пользователю, работающему в любой научной области, требующей манипулирования математическими выражениями. Чтобы быть полезной, система компьютерной алгебры общего назначения должна включать в себя различные функции, такие как:
- пользовательский интерфейс , позволяющий пользователю вводить и отображать математические формулы, обычно с помощью клавиатуры, пунктов меню, мыши или стилуса.
- язык программирования и интерпретатор (результат вычислений обычно имеет непредсказуемую форму и непредсказуемый размер, поэтому часто требуется вмешательство пользователя),
- упроститель систему , который представляет собой переписывания для упрощения математических формул,
- менеджер памяти , включая сборщик мусора , необходимый из-за огромного размера промежуточных данных, которые могут появиться во время вычислений,
- арифметика произвольной точности , необходимая из-за огромного размера целых чисел, которые могут возникнуть,
- большая библиотека математических алгоритмов и специальных функций .
Библиотека должна обеспечивать не только потребности пользователей, но и потребности упрощателя. Например, вычисление полиномиальных наибольших общих делителей систематически используется для упрощения выражений, включающих дроби.
Такое большое количество необходимых компьютерных возможностей объясняет небольшое количество систем компьютерной алгебры общего назначения. Важнейшие системы включают Axiom , GAP , Maxima , Magma , Maple , Mathematica и SageMath .
История
[ редактировать ]Системы компьютерной алгебры начали появляться в 1960-х годах и развивались из двух совершенно разных источников — требований физиков-теоретиков и исследований в области искусственного интеллекта .
Ярким примером первой разработки была новаторская работа, проведенная впоследствии лауреатом Нобелевской премии по физике Мартинусом Вельтманом , который разработал программу для символической математики, особенно физики высоких энергий, под названием Schoonschip (по-голландски «чистый корабль») в 1963 году. Другой ранней системой был FORMAC .
Используя Lisp в качестве основы программирования, Карл Энгельман создал MATHLAB в 1964 году в MITRE в рамках исследовательской среды искусственного интеллекта. Позже MATHLAB стал доступен пользователям систем PDP-6 и PDP-10, работающих под управлением TOPS-10 или TENEX в университетах. Сегодня его все еще можно использовать в SIMH- эмуляциях PDP-10. MATLAB (« математическая Университете лаборатория ») не следует путать с MATLAB (« матричная Мексико лаборатория »), которая представляет собой систему численных вычислений, созданную 15 лет спустя в Нью- .
В 1987 году компания Hewlett-Packard представила первый портативный калькулятор CAS серии HP-28 . [1] Другие ранние портативные калькуляторы с возможностями символьной алгебры включали серию Texas Instruments TI-89 и калькулятор TI-92 , а также Casio CFX-9970G . [2]
Первыми популярными системами компьютерной алгебры были 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]
Символические манипуляции
[ редактировать ]Поддерживаемые символические манипуляции обычно включают:
- упрощение до меньшего выражения или некоторой стандартной формы , включая автоматическое упрощение с предположениями и упрощение с ограничениями
- замена символов или числовых значений для определенных выражений
- изменение формы выражений: разложение произведений и степеней, частичная и полная факторизация , перезапись в простейшие дроби , удовлетворение ограничений , переписывание тригонометрических функций в экспоненты, преобразование логических выражений и т.д.
- частичная и полная дифференциация
- некоторое неопределенное и определенное интегрирование (см. символическое интегрирование ), включая многомерные интегралы
- символическая ограниченная и неограниченная глобальная оптимизация
- решение линейных и некоторых нелинейных уравнений в различных областях
- решение некоторых дифференциальных и разностных уравнений
- принимая некоторые ограничения
- интегральные преобразования
- рядные операции, такие как разложение, суммирование и произведение
- матричные операции, включая произведения , обратные и т. д.
- статистические вычисления
- доказательство и проверка теорем , что очень полезно в области экспериментальной математики.
- оптимизированная генерация кода
В приведенном выше слове слово some указывает на то, что операцию не всегда можно выполнить.
Дополнительные возможности
[ редактировать ]Многие из них также включают в себя:
- язык программирования , позволяющий пользователям реализовывать свои собственные алгоритмы
- произвольной точности числовые операции
- точная целочисленная арифметика и функциональность теории чисел
- Редактирование математических выражений в двумерной форме
- построение графиков и параметрических графиков функций в двух и трех измерениях и их анимация
- рисование схем и диаграмм
- API-интерфейсы для его связывания с внешней программой, такой как база данных, или использования на языке программирования для использования системы компьютерной алгебры.
- манипуляции со строками, такие как сопоставление и поиск
- дополнения для использования в прикладной математике, такой как физика, биоинформатика , вычислительная химия и пакеты для физических вычислений. [7]
- решатели дифференциальных уравнений [8] [9] [10] [11]
Некоторые включают в себя:
- графическое производство и редактирование, такое как компьютерные изображения и обработка сигналов, например обработка изображений
- синтез звука
Некоторые системы компьютерной алгебры ориентированы на специализированные дисциплины; они обычно разрабатываются в научных кругах и бесплатны. Они могут быть неэффективны для числовых операций по сравнению с числовыми системами .
Типы выражений
[ редактировать ]Выражения, которыми управляет CAS, обычно включают полиномы от нескольких переменных; стандартные функции выражений ( синус , экспонента и т. д.); различные специальные функции ( Γ , ζ , erf , функции Бесселя и т. д.); произвольные функции выражений; оптимизация; производные, интегралы, упрощения, суммы и произведения выражений; усеченные ряды с выражениями в виде коэффициентов, матриц выражений и т. д. Поддерживаемые числовые домены обычно включают представление действительных чисел с плавающей запятой , целые числа (неограниченного размера), комплексные (представление с плавающей запятой), интервальное представление действительных чисел , рациональные числа (точное представление) и алгебраические числа .
Использование в образовании
[ редактировать ]Было много сторонников более широкого использования систем компьютерной алгебры в классах начальной и средней школы. Основная причина такой пропаганды заключается в том, что системы компьютерной алгебры отражают реальную математику больше, чем математика, основанная на бумаге и карандаше или ручном калькуляторе. [12] Это стремление к более широкому использованию компьютеров в классах математики было поддержано некоторыми советами по образованию. В некоторых регионах это даже включено в учебную программу. [13]
Системы компьютерной алгебры широко используются в высшем образовании. [14] [15] Многие университеты либо предлагают специальные курсы по развитию их использования, либо подразумевают, что студенты будут использовать их в своей курсовой работе. Компании, разрабатывающие системы компьютерной алгебры, стремятся увеличить их распространенность в программах университетов и колледжей. [16] [17]
Калькуляторы, оборудованные CAS, не разрешены в ACT , PLAN и в некоторых классах. [18] хотя это может быть разрешено на всех тестах Совета колледжей , разрешенных к использованию калькуляторов, включая SAT , некоторые предметные тесты SAT и экзамены AP по исчислению , химии , физике и статистике . [19]
Математика, используемая в системах компьютерной алгебры
[ редактировать ]- Алгоритм завершения Кнута – Бендикса [20]
- Алгоритмы поиска корня [20]
- Символьное интегрирование, например, с помощью алгоритма Риша или алгоритма Риша – Нормана.
- Гипергеометрическое суммирование, например, с помощью алгоритма Госпера.
- Предельное вычисление, например, с помощью алгоритма Грунца.
- Полиномиальная факторизация , например, по конечным полям, [21] Алгоритм Берлекампа или алгоритм Кантора–Зассенхауза .
- Наибольший общий делитель, например, с помощью алгоритма Евклида
- Исключение по Гауссу [22]
- Базис Грёбнера, например, с помощью алгоритма Бухбергера ; обобщение алгоритма Евклида и исключения Гаусса
- Аппроксимант Паде
- Лемма Шварца – Циппеля и проверка полиномиальных тождеств.
- Китайская теорема об остатках
- Диофантовы уравнения
- Устранение кванторов над действительными числами, например, с помощью метода Тарского/ цилиндрического алгебраического разложения.
- Алгоритм Ландау (вложенные радикалы)
- Производные элементарных функций и специальных функций . (например, см. производные неполной гамма-функции .)
- Цилиндрическое алгебраическое разложение
См. также
[ редактировать ]- Список систем компьютерной алгебры
- Научные вычисления
- Статистический пакет
- Автоматизированное доказательство теорем
- Алгебраический язык моделирования
- Программирование логики ограничений
- Теории выполнимости по модулю
Ссылки
[ редактировать ]- ^ Нельсон, Ричард. «Первые калькуляторы 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 г.
- ^ Jump up to: а б Б. Бухбергер; Дж. Е. Коллинз; Р. Лоос (29 июня 2013 г.). Компьютерная алгебра: символические и алгебраические вычисления . Springer Science & Business Media. ISBN 978-3-7091-3406-1 .
- ^ Иоахим фон цур Гатен; Юрген Герхард (25 апреля 2013 г.). Современная компьютерная алгебра . Издательство Кембриджского университета. ISBN 978-1-107-03903-2 .
- ^ Кейт О. Геддес; Стивен Р. Чапор; Джордж Лабан (30 июня 2007 г.). Алгоритмы компьютерной алгебры . Springer Science & Business Media. ISBN 978-0-585-33247-5 .
Внешние ссылки
[ редактировать ]- Учебная программа и оценка в эпоху систем компьютерной алгебры. Архивировано 1 декабря 2009 г. в Wayback Machine — из Информационного центра образовательных ресурсов по науке, математике и экологическому образованию, Колумбус, Огайо .
- Ричард Дж. Фейтман. «Очерки по алгебраическому упрощению». Технический отчет MIT-LCS-TR-095, 1972 г. (Представляет исторический интерес, показывая направление исследований в области компьютерной алгебры. На веб-сайте MIT LCS: [1] ).