- Система компьютерной алгебры
-
Для улучшения этой статьи желательно?: Система компьютерной алгебры (СКА, англ. computer algebra system, CAS) — это программное приложение для символьных вычислений, то есть выполнения преобразований и работы с математическими выражениями в аналитической (символьной) форме.
Содержание
Символьные вычисления
Системы компьютерной алгебры различаются по возможностям, но обычно поддерживают следующие символьные действия:
- упрощение выражений до меньшего размера или приведение к стандартному виду, включая автоматическое упрощение с использованием предположений и ограничений
- подстановка символьных и численных значений в выражения
- изменение вида выражений: раскрытие произведений и степеней, частичная и полная факторизация (разложение на множители)
- разложение на простые дроби, удовлетворение ограничений, запись тригонометрических функций через экспоненты, преобразование логических выражений
- дифференцирование в частных и полных производных
- нахождение неопределённых и определённых интегралов (символьное интегрирование)
- символьное решение задач оптимизации: нахождение глобальных экстремумов, условных экстремумов и т. д.
- решение линейных и нелинейных уравнений
- алгебраическое (нечисленное) решение дифференциальных и конечно-разностных уравнений
- нахождение пределов функций и последовательностей
- интегральные преобразования
- оперирование с рядами: суммирование, умножение, суперпозиция
- матричные операции: обращение, факторизация, решение спектральных задач
- статистические вычисления
- автоматическое доказательство теорем, формальная верификация
- синтез программ
Дополнительные возможности
Многие из СКА также включают:
- язык программирования, позволяющий пользователям составлять собственные алгоритмы
- числовые операции произвольной точности
- целочисленную арифметику для больших чисел и поддержку функции теории чисел
- Редактирование математических выражений в двумерной форме (с индексами, обычными дробями и т. д.)
- построение графиков функций в двух или трёх измерениях и их анимаций
- рисование графиков и диаграмм
- API для использования внешними программами (базы данных) или в языках программирования для использования системы компьютерной алгебры
- операции со строками (поиск подстроки)
- дополнительные модули прикладной математики для таких областей, как физика, биоинформатика, вычислительная химия и пакеты для инженерно-физических вычислений
Некоторые также включают:
- создание и редактирование графики (создание компьютерных изображений, а также обработку сигналов и анализ изображений)
- синтез звука
Некоторые СКА направлены на специфическую область использования; обычно такие программы разрабатываются академическим сообществом и распространяются бесплатно. Они могут быть не столь эффективны в численных расчетах, как системы для численных методов.
История
СКА появились в начале 1960-х и развивались, в основном, в двух направлениях: теоретическая физика и создание искусственного интеллекта.
Первым успешным примером была новаторская работа Мартина Велтмана (позднее удостоенная Нобелевской премии по физике), который в 1963 создал программу для символьных вычислений (для нужд физики высоких энергий), которая была названа Schoonschip.
Используя LISP, Карл Энгельман в 1964 создал MATHLAB в рамках проекта MITRE (по исследованию искусcтвенного интеллекта). Позже MATHLAB стал доступным в университетах для пользователей мейнфреймов PDP-6 и PDP-10 с такими ОС как TOPS-10 или TENEX. Сейчас он может быть всё ещё запущен на SIMH эмуляциях PDP-10. MATHLAB («mathematical laboratory») не стоит путать с MATLAB («matrix laboratory»), системой для численных расчётов, созданной 15 лет спустя в университете Нью-Мехико.
Первыми популярными системами компьютерной алгебры были muMATH, Reduce, Derive (основана на muMATH), Macsyma. Сейчас наиболее популярные коммерческие системы — это Mathematica и Maple, которые широко используются математиками, учёными и инженерами. Бесплатные альтернативы — Sage, Maxima.
В 1987 Hewlett-Packard представила первый карманный аналитический калькулятор (HP-28), и в нём впервые для калькуляторов были реализованы организация алгебраических выражений, дифференциирование, ограниченное аналитическое интегрирование, разложение в ряд Тейлора и поиск решений алгебраических уравнений.
Компания Texas Instruments в 1995 году выпустила калькулятор TI-92 с революционными на тот момент расширениями CAS на основе программного обеспечения Derive. Этот калькулятор и последовавшие за ним, в том числе TI-89 и серии TI-Nspire CAS, выпущенный в 2007 году, продемонстрировали возможность создания сравнительно компактных и недорогих систем компьютерной алгебры.
Разделы математики, используемые в системах компьютерной алгебры
- Символьное интегрирование — алгоритм Риша
- Гипергеометрическое суммирование — алгоритм Госпера
- Предел (математика) — алгоритм Грюнтза (Gruntz)
- Факторизация полиномов. Для ограниченных областей используются алгоритм Берлекампа или алгоритм Кантора—Цассенхауза.
- Наибольший общий делитель — алгоритм Евклида
- Метод Гаусса
- Базис Грёбнера — алгоритм Бухбергера
- Аппроксимация Паде
- Лемма Шварца-Зиппела и проверка равенства полиномов
- Китайская теорема об остатках
- Диофантово уравнение
- Элиминация кванторов над действительными числами — метод Тарского
- Алгоритм Ландау
- Производные от элементарных и специальных функций (например, смотри неполная гамма-функция)
Примечания
Ссылки
- Definition and workings of a computer algebra system
- Curriculum and Assessment in an Age of Computer Algebra Systems — From the Education Resources Information Center Clearinghouse for Science, Mathematics, and Environmental Education, Columbus, Ohio.
- Richard J. Fateman Essays in algebraic simplification. — 1972. — 191 p. — (Technical report MIT-LCS-TR-095).
- STACK - система обучения и тестирования на основе компьютерной алгебры
- A collection of computer algebra systems
Системы компьютерной алгебры Retail ClassPad Manager • LiveMath • Magma • Maple • Mathcad • Mathematica • MuPAD • TI InterActive! Свободные Axiom • CoCoA • GAP • GiNaC • Macaulay2 • Mathomatic • Maxima • OpenAxiom • PARI/GP • Reduce • Sage • SINGULAR • SymPy • Xcas • Yacas Бесплатные/shareware Fermat • KANT Discontinued CAMAL • Derive • Macsyma • muMATH Категория • Сравнение Математическое программное обеспечение Open source Символьные вычисления: Axiom • GAP • Maxima • ; Численные вычисления: Fityk • FreeMat • GNU Octave • gretl • LabPlot • QtiPlot • R • Sage • SciDAVis • Scilab • Proprietary Символьные вычисления: Mathcad • Maple • Mathematica • SMath Studio ; Численные вычисления: GAUSS • LabVIEW • MagicPlot • MATLAB • Origin • SigmaPlot • Speakeasy • VisSim Категории:- Математическое программное обеспечение
- Вычислительная алгебра
Wikimedia Foundation. 2010.