Введение.Возникновение и развитие систем компьютерной математики
1.2 Классификация, структура и возможности систем компьютерной математики
1.2.1 Классификация систем компьютерной математики
В настоящее время системы компьютерной математики (СКМ) можно разделить на семь основных классов: системы для численных расчётов, табличные процессоры, матричные системы, системы для статистических расчётов, системы для специальных расчётов, системы для аналитических расчётов (компьютерной алгебры), универсальные системы.
Каждая система компьютерной математики имеет нюансы в своей архитектуре или структуре. Тем не менее можно прийти к выводу, что у современных универсальных СКМ следующая типовая структура:
Центральное место занимает ядро системы — коды множества заранее откомпилированных функций и процедур, обеспечивающих достаточно представительный набор встроенных функций и операторов системы.
Интерфейс даёт пользователю возможность обращаться к ядру со своими запросами и получать результат решения на экране дисплея. Интерфейс современных СКМ основан на средствах популярных операционных систем Windows 95/98/NT и обеспечивает присущие им удобства работы.
Функции и процедуры, включённые в ядро, выполняются предельно быстро. Поэтому объём ядра ограничивают, но к нему добавляют библиотеки более редких процедур и функций.
Кардинальное расширение возможностей систем и их адаптация к решаемым конкретными пользователями задачам достигаются за счёт пакетов расширения систем. Эти пакеты (нередко и библиотеки) пишутся на собственном языке программирования той или иной СКМ, что делает возможным их подготовку обычными пользователями.
Ядро, библиотеки, пакеты расширения и справочная система современных СКМ аккумулируют знания в области математики, накопленные за тысячелетия её развития.
Возрастающий интерес к алгебраическим алгоритмам возник в результате осознания центральной роли алгоритмов в информатике. Их легко описать на формальном и строгом языке и с их помощью обеспечить решение задач, давно известных и изучавшихся на протяжении веков. В то время как традиционная алгебра имеет дело с конструктивными методами, компьютерная алгебра интересуется ещё и эффективностью, реализацией, а также аппаратными и программными аспектами таких алгоритмов. Оказалось, что при принятии решения об эффективности и определении производительности алгебраических методов требуются многие другие средства, например, теория рекурсивных функций, математическая логика, анализ и комбинаторика.
В начальный период применения вычислительных машин в символьной алгебре быстро стало очевидным, что непосредственные методы из учебников часто оказывались весьма неэффективными. Вместо обращения к методам численной аппроксимации компьютерная алгебра систематически изучает источники неэффективности и ведёт поиск иных алгебраических методов для улучшения или даже замены таких алгоритмов.
1.2.2 Задачи систем компьютерной алгебры
Первые ЭВМ изначально создавались для того, чтобы проводить сложные расчёты, на которые человек тратил очень много времени. Следующим шагом развития ЭВМ стали ПК. Эти машины могут проводить вычисления разной сложности (от самых простых до самых сложных).Такая их особенность использовалось в разных областях знаний. Развитие компьютерных математических систем привело к появлению отдельного класса программ, который получил названия Системы Компьютерной Алгебры (CAS).
Главная задача CAS — это обработка математических выражений в символьной форме. Символьные операции обычно включают в себя: вычисление символьных либо числовых значений для выражений, преобразование, изменение формы выражений, нахождение производной одной или нескольких переменных, решение линейных и нелинейных уравнений, решение дифференциальных уравнений, вычисление пределов, вычисление определённых и неопределённых интегралов, работа с множествами, вычисления и работа с матрицами. В дополнение к перечисленному, большинство CAS поддерживают разнообразные численные операции: расчёт значений выражений при определённых значениях переменных, построение графиков на плоскости и в пространстве.
Большинство CAS включают в себя высокоуровневый язык программирования, который позволяет реализовать свои собственные алгоритмы. Наука которая изучает алгоритмы, применяемые в CAS, называется компьютерной алгеброй.
1.2.3 Место компьютерной алгебры в информатике
Компьютерная алгебра есть та часть информатики, которая занимается разработкой, анализом, реализацией и применением алгебраических алгоритмов. От других алгоритмов алгебраические алгоритмы отличаются наличием простых формальных описаний, существованием доказательств правильности и асимптотических границ времени выполнения, которые можно получить на основе хорошо развитой математической теории. Кроме того, алгебраические объекты можно точно представить в памяти вычислительной машины, благодаря чему алгебраические преобразования могут быть выполнены без потери точности и значимости. Обычно алгебраические алгоритмы реализуются в программных системах, допускающих ввод и вывод информации в символьных алгебраических обозначениях.
Благодаря всему этому специалисты, работающие в информатике, математике и в прикладных областях, проявляют всё больший интерес к компьютерной алгебре. Опираясь на противопоставление, можно сказать, что компьютерная алгебра рассматривает такие объекты, которые имеют слишком вычислительный характер, чтобы встречаться в книгах по алгебре, и слишком алгебраический характер, чтобы быть представленными в учебниках по информатике. Многие алгоритмы компьютерной алгебры можно рассматривать как получисленные (в смысле Кнута).