Введение
Математическое программное обеспечение
Компьютерная алгебраическая система (CAS) или символическая алгебраическая система (SAS) – это любое математическое программное обеспечение, обладающее способностью манипулировать математическими выражениями аналогично традиционным ручным вычислениям, выполняемым математиками и учеными. Развитие компьютерных алгебраических систем во второй половине 20-го века является частью дисциплины "компьютерная алгебра" или "символьные вычисления", которая стимулировала разработку алгоритмов для математических объектов, таких как полиномы. Компьютерные алгебраические системы можно разделить на два класса: специализированные и общего назначения. Специализированные системы посвящены конкретной области математики, такой как теория чисел, теория групп или обучение элементарной математике. Компьютерные алгебраические системы общего назначения предназначены для пользователей, работающих в любой научной области, требующей манипулирования математическими выражениями. Чтобы быть полезной, компьютерная алгебраическая система общего назначения должна включать в себя различные функции, такие как:
пользовательский интерфейс, позволяющий пользователю вводить и отображать математические формулы, как правило, с помощью клавиатуры, выбора меню, мыши или стилуса;
язык программирования и интерпретатор (результат вычисления обычно имеет непредсказуемую форму и размер, поэтому часто требуется вмешательство пользователя);
упроститель – система преобразований для упрощения математических формул;
менеджер памяти, включая сборщик мусора, необходимый из-за большого объема промежуточных данных, которые могут возникать в процессе вычисления;
арифметика произвольной точности, необходимая для работы с целыми числами большого размера;
обширная библиотека математических алгоритмов и специальных функций. Библиотека должна удовлетворять не только потребности пользователей, но и потребности упростителя. Например, вычисление наибольшего общего делителя многочленов систематически используется для упрощения выражений, содержащих дроби. Этот большой объем требуемых вычислительных ресурсов объясняет небольшое количество компьютерных алгебраических систем общего назначения. К значимым системам относятся Axiom, GAP, Maxima, Magma, Maple, Mathematica и SageMath.
a user interface allowing a user to enter and display mathematical formulas, typically from a keyboard, menu selections, mouse or stylus. a programming language and an interpreter (the result of a computation commonly has an unpredictable form and an unpredictable size; therefore user intervention is frequently needed),
a simplifier, which is a rewrite system for simplifying mathematics formulas,
a memory manager, including a garbage collector, needed by the huge size of the intermediate data, which may appear during a computation,
an arbitrary precision arithmetic, needed by the huge size of the integers that may occur,
a large library of mathematical algorithms and special functions. The library must not only provide for the needs of the users, but also the needs of the simplifier. For example, the computation of polynomial greatest common divisors is systematically used for the simplification of expressions involving fractions. This large amount of required computer capabilities explains the small number of general purpose computer algebra systems. Significant systems include Axiom, GAP, Maxima, Magma, Maple, Mathematica, and SageMath.
История
Компьютерные алгебраические системы начали появляться в 1960-х годах и развивались из двух совершенно разных источников — требований теоретических физиков и исследований в области искусственного интеллекта. Ярким примером первого направления стала новаторская работа, проведённая будущим лауреатом Нобелевской премии по физике Мартинусом Велтманом, который в 1963 году разработал программу для символьной математики, особенно для физики высоких энергий, под названием Schoonschip (голландское слово, означающее «чистый корабль»). Другой ранней системой была FORMAC. Используя Lisp в качестве основы программирования, Карл Энгельман создал MATHLAB в 1964 году в MITRE в рамках исследовательской среды искусственного интеллекта. Позже MATHLAB стал доступен пользователям на системах PDP 6 и PDP 10, работающих под управлением TOPS 10 или TENEX в университетах. Сегодня его всё ещё можно использовать на эмуляторах SIMH для PDP 10. MATHLAB («математическая лаборатория») не следует путать с MATLAB («матричная лаборатория»), которая представляет собой систему для численных вычислений, разработанную через 15 лет в Университете Нью-Мексико. В 1987 году Hewlett Packard представила первый портативный калькулятор с CAS — серию HP 28, и впервые в калькуляторе стало возможным упорядочивать алгебраические выражения, выполнять дифференцирование, ограниченную символьную интеграцию, построение рядов Тейлора и решать алгебраические уравнения. В 1999 году независимо разработанная CAS Erable для серии HP 48 стала официально интегрированной частью прошивки новой серии HP 49/50, а год спустя — и серии HP 40, в то время как HP Prime перешла на систему Xcas в 2013 году. Компания Texas Instruments в 1995 году выпустила калькулятор TI 92 с CAS, основанным на программном обеспечении Derive; серия TI Nspire заменила Derive в 2007 году. Серия TI 89, впервые выпущенная в 1998 году, также содержит CAS. Casio выпустила свой первый калькулятор CAS с CFX 9970G и сменила его серией Algebra FX в 1999–2003 годах и текущей серией ClassPad. Первыми популярными системами компьютерной алгебры были muMATH, Reduce, Derive (основанный на muMATH) и Macsyma; популярная версия Macsyma с открытым исходным кодом под названием Maxima активно поддерживается. Reduce стала свободным программным обеспечением в 2008 году. На сегодняшний день наиболее популярными коммерческими системами являются Mathematica и Maple, которые широко используются исследователями-математиками, учёными и инженерами. Свободно доступные альтернативы включают SageMath (который может выступать в качестве интерфейса к нескольким другим свободным и несвободным CAS). Другие значимые системы включают Axiom, GAP, Maxima и Magma. Переход к веб-приложениям в начале 2000-х годов привёл к выпуску WolframAlpha — онлайн-поисковой системы и CAS, включающей в себя возможности Mathematica. В последнее время системы компьютерной алгебры стали разрабатываться с использованием искусственных нейронных сетей, однако по состоянию на 2020 год они не были доступны в коммерческой продаже.
Типы выражений
Выражения, с которыми обычно работает CAS, включают многочлены от нескольких переменных, стандартные функции выражений (синус, экспонента и т.п.), различные специальные функции (гамма-функция, дзета-функция, функция ошибок, функции Бесселя и т.д.), произвольные функции выражений, задачи оптимизации, вычисление производных и интегралов, упрощение выражений, суммирование и умножение выражений, усеченные ряды с выражениями в качестве коэффициентов, матрицы, состоящие из выражений, и многое другое. Поддерживаемые числовые типы данных обычно включают представление действительных чисел с плавающей точкой, целые числа (произвольной точности), комплексные числа (представление с плавающей точкой), интервальные представления действительных чисел, рациональные числа (точное представление) и алгебраические числа.
Использование в образовании
Было много сторонников расширения использования компьютерных алгебраических систем в классах начальной и средней школы. Главная причина этой поддержки заключается в том, что компьютерные алгебраические системы более точно отражают реальные математические задачи, чем традиционные методы с использованием бумаги и карандаша или ручных калькуляторов. Это стремление к увеличению использования компьютеров на уроках математики было поддержано некоторыми органами управления образованием и даже включено в учебные программы отдельных регионов. Компьютерные алгебраические системы широко используются в высшем образовании. Многие университеты предлагают специальные курсы по их освоению или подразумевают, что студенты будут использовать их при выполнении учебных заданий. Компании, разрабатывающие компьютерные алгебраические системы, активно продвигают их внедрение в учебные программы университетов и колледжей. Калькуляторы, оснащенные CAS, не разрешены к использованию на экзаменах ACT и PLAN, а также в некоторых классах, хотя их использование может быть разрешено на всех экзаменах, допускающих использование калькуляторов, проводимых College Board, включая SAT, некоторые специализированные тесты SAT и экзамены AP по математике, химии, физике и статистике.