Статьи Соросовского Образовательного журнала в текстовом формате
Системы компьютерной математики - новые средства, автоматизирующие выполнение как численных, так и аналитических вычислений. Они аккумулируют и предоставляют пользователю возможности, накопленные за многовековой опыт развития математики, имеют прекрасную цветную графику. Позволяют готовить электронные уроки и книги с живыми примерами и представляют большой интерес для системы образования.
КОМПЬЮТЕРНАЯ МАТЕМАТИКАВ. П. ДЬЯКОНОВ
Смоленский государственный педагогический университет
ВВЕДЕНИЕ
В последнее время мы стали свидетелями появления нового, актуального и полезного научного направления - компьютерной математики. Ее можно определить как совокупность теоретических, алгоритмических, аппаратных и программных средств, предназначенных для эффективного решения на компьютерах всех видов математических задач с высокой степенью визуализации всех этапов вычислений. Последнее играет решающую роль во внедрении систем компьютерной математики (СКМ) в образование - как высшее, так и начальное.
Системы компьютерной математики уже используются для решения учебных, научных и инженерных задач, наглядной визуализации данных и результатов вычислений и в качестве удобных и полных справочников по математическим вычислениям. Они стали мощным инструментом для подготовки электронных уроков, курсов лекций и электронных книг с живыми примерами, которые учащийся может менять.
СРЕДСТВА КОМПЬЮТЕРНОЙ МАТЕМАТИКИ
Средства компьютерной математики применяются в современных микрокалькуляторах, персональных компьютерах (ПК), в математических сопроцессорах, звуковых и видеопроцессорах. Они включены в состав новейших микропроцессоров Pentium MMX, Pentium II, Pentium III, K6 и др. А новые поколения программируемых микрокалькуляторов освоили аналитические (символьные) вычисления и графику (рис. 1).
Однако главной ударной силой этого направления стали современные программные СКМ. Пользователи-математики с их помощью способны решать очень сложные математические задачи. К сожалению, новаторские работы школы советского академика В.М. Глушкова в области создания компьютеров для аналитических вычислений (серии "Мир") в бывшем СССР не были поддержаны. Поэтому сейчас системы компьютерной математики представлены разработками крупных западных фирм (MathSoft, MathWorks, Waterloo Maple, Wolfram и др.). Учитывая присущее открытому обществу стремление к интеграции в области передовых информационных, образовательных и научных технологий, а также растущее значение фундаментальной компоненты образования, актуально знакомство научно-педагогической общественности и учащихся с поистине уникальными возможностями СКМ.
КЛАССИФИКАЦИЯ И СТРУКТУРА СКМ
В настоящее время СКМ можно подразделить на семь основных классов: системы для численных расчетов, табличные процессоры, матричные системы, системы для статистических расчетов, системы для специальных расчетов, системы для аналитических расчетов (компьютерной алгебры), универсальные системы.
Каждая система компьютерной математики имеет нюансы в своей архитектуре или структуре. Тем не менее можно прийти к выводу, что у современных универсальных СКМ следующая типовая структура:
Центральное место занимает ядро системы - коды множества заранее откомпилированных функций и процедур, обеспечивающих достаточно представительный набор встроенных функций и операторов системы.
Интерфейс дает пользователю возможность обращаться к ядру со своими запросами и получать результат решения на экране дисплея. Интерфейс современных СКМ основан на средствах популярных операционных систем Windows 95/98/NT и обеспечивает присущие им удобства работы.
Функции и процедуры, включенные в ядро, выполняются предельно быстро. Поэтому объем ядра ограничивают, но к нему добавляют библиотеки более редких процедур и функций.
Кардинальное расширение возможностей систем и их адаптация к решаемым конкретными пользователями задачам достигаются за счет пакетов расширения систем. Эти пакеты (нередко и библиотеки) пишутся на собственном языке программирования той или иной СКМ, что делает возможным их подготовку обычными пользователями.
Ядро, библиотеки, пакеты расширения и справочная система современных СКМ аккумулируют знания в области математики, накопленные за тысячелетия ее развития.
ВОЗМОЖНОСТИ СИСТЕМ
КОМПЬЮТЕРНОЙ МАТЕМАТИКИ
На возможность применения той или иной СКМ решающее влияние имеют минимальные аппаратные требования к ПК, на которые могут устанавливаться СКМ (табл. 1).
Особенности современных СКМ
Отраженное в работах [1-5] и других исследование современных СКМ позволяет оценить их возможности в образовании и науке. Соответствующие данные представлены в табл. 2.
ПРИМЕРЫ РАБОТЫ С СИСТЕМАМИ КОМПЬЮТЕРНОЙ МАТЕМАТИКИ
Благодаря мощной графике, средствам визуального программирования и использованию техники мультимедиа (рис. 2) роль СКМ далеко выходит за пределы автоматизации только математических расчетов. Они уже широко используются в образовании в качестве инструментальных средств для подготовки высококачественных электронных примеров, уроков и даже книг.
Удобные средства для этого предоставляет система "для всех" Mathcad (последняя версия 2000) [1]. На рис. 3 представлен простой документ этой системы в стиле notebook (блокнот), поясняющий геометрический смысл вычисления определенных интегралов. Видны задание интегралов в естественной форме и простота их вычислений (как в численном, так и в аналитическом виде) средствами системы Mathcad. Документы класса notebook содержат одновременно текстовые пояснения, математические формулы и результаты решения в различной форме.
В обучении, например, основам геометрии достаточно сложным является восприятие трехмерных поверхностей и образов, особенно при различном их положении в пространстве и при взаимном пересечении. Построение графика даже одной поверхности отнимает уйму времени и потому практикуется в обучении крайне редко. Между тем все современные СКМ имеют развитые средства для построения как двумерных, так и трехмерных графиков. Стоит просто задать матрицы высот поверхностей и выбрать подходящие средства построения (рис. 4). В числе таких средств функциональная окраска поверхностей, учет световых эффектов, перспективы, расположения поверхностей и т.д. Многие системы (та же Mathcad или Maple V R5) позволяют вращать 3D-графики мышкой, добиваясь оптимального вида фигур и имеют упрощенные средства построения 3D-графиков.
Долгое время математические программы (Eureka, Mercury, ранние версии Mathcad и MATLAB) развивались как системы для численных расчетов. Однако в начале 90-х годов XX века быстрое развитие получили системы символьной математики (компьютерной алгебры). Им подвластны такие интеллектуальные виды аналитических вычислений, как нахождение пределов функций и их производных, вычисление определенных и неопределенных интегралов, разложение функций в ряд, подстановки и комбинирование и т.д.
В большинстве систем вычисления реализуется по методу: задал вопрос - получил ответ. Вот так, к примеру, выглядит диалог в системе начального уровня Derive:
1: "Вычисление факториала и гамма-функции"
2: 5!
3: 120
4: 0.5!
5: 0.886226
6: GAMMA (- 3.2)
7: 0.689056
8: "Вычисление сумм и произведений в символьном виде"
9:
10:
11:
12: n!
13. "Вычисление предела"
14:
15: 1
16: "Вычисление производной"
17. DIF (SIN(a x^2),x)
18: 2 a x COS (a x2)
19: "Решение системы линейных уравнений"
20: SOLVE ([3 a+2 b+c=4, a+b-c=1, a-2 b+c= 3], [a, b, c])
21: [a=1.7 b=-0.6 c=0.1]
22: "Реализация метода наименьших квадратов"
23:
24: 2.00930 #e + 0.985000 x + 2.97562
Здесь каждый пример представлен коротким комментарием (в кавычках), строкой ввода и строкой вывода результата вычислений. Строки нумеруются подряд.
Почти аналогично происходит диалог в куда более мощной системе Mathematica 3 или Mathematica 4 (последняя имеет повышенную скорость численных расчетов) [2]:
"Задание функции пользователя";
fun[x]:=x^3-2*x^2-3*x-4
"Вычисление производной функции fun[x]";
D[fun[x],x]
- 3 - 4x + 3x2
"Вычисление производной от явного выражения";
D[x^3-2*x^2-3*x-4,x]
- 3 - 4x + 3x2
"Вычисление неопределенного интеграла в символьном виде";
"Вычисление двойного определенного интеграла";
"Вычисление корней уравнения fun[x]";
Solve[fun[x]==0,x]
(здесь I - мнимая единица, I 2 = -1).
Большие возможности открывает система Maple V R5 (и новая реализация Maple 6) [3]. В ней ввод можно задавать как в форме записей функций, так и в виде операторов, привычных математикам (например, в виде знака интеграла при задании вычисления интеграла). Как и в системах Mathcad и Mathematica, в Maple широко используются палитры математических знаков, с помощью которых можно с помощью мышки легко задавать ввод математических знаков.
Наряду с решением многих классов дифференциальных уравнений в аналитическом виде СКМ позволяют решать системы дифференциальных уравнений и численными методами. На рис. 5 дан пример решения классической задачи из биологии на изменение популяции хищников и жертв в среде их обитания - модель Лотка-Вольтерра.
Самой мощной из численных СКМ для ПК является матричная система MATLAB 5.0/5.3.1 [4, 5]. В нее входит уникальная система блочного моделирования Simulink с примерами на моделирование автопилотов для самолетов и вертолетов, систем телекоммуникаций, систем управления химическим производством и даже сливной системы унитаза (с соответствующим звуком).
ЗАКЛЮЧЕНИЕ
Любой серьезный научный и образовательный проект в области естествознания сейчас просто немыслим без применения СКМ. Уже в нынешнем виде они способны помочь пользователю в выполнении как простых, так и сложных расчетов, которые ранее были доступны лишь математикам-аналитикам. Возможность подготовки в СКМ документов и электронных книг в стиле notebook (блокнот), снабженных наглядными графическими иллюстрациями и живыми примерами, делает данные системы незаменимыми в образовании, в том числе дистанционном. Этому и способствует и возможность прямой работы некоторых СКМ в Internet и возможность совместной работы над исследовательскими и учебными проектами коллективов ученых из разных стран.
Появление в вузах и школах современных ПК делает применение СКМ не только полезным, но и необходимым несмотря на определенные недостатки таких систем. К ним следует отнести отказ от решения порой даже тривиальных задач, необходимость настройки под решение отдельных классов задач, вывод решений, порой отличных от их представления в справочниках, разбухание результатов некоторых аналитических расчетов и др. Однако многие из этих недостатков устраняются в новых реализациях систем компьютерной математики, и они становятся удобными помощниками для опытных пользователей и средствами предоставления математических знаний для начинающих.
ЛИТЕРАТУРА
1. Дьяконов В.П. Компьютерная математика. Теория и практика. М.: Нолидж, 2001. 1296 c.
2. Дьяконов В.П. Системы символьной математики Mathematica 2 и Mathematica 3. М.: СК ПРЕСС, 1998. 328 с.
3. Дьяконов В.П. Математическая система Maple V R3/R4/R5. М.: Солон, 1998. 400 c.
4. Дьяконов В.П., Абраменкова И.В. MATLAB 5.0/5.3. Система символьной математики. М.: Нолидж, 1999. 640 c.
5. Потемкин В.Г. Система инженерных и научных расчетов MATLAB 5.x. М.: Диалог-МИФИ, 1999. Т. 1. 366 с.; Т. 2. 304 с.
Рецензент статьи Ю.Г. Мартыненко
* * *
Владимир Павлович Дьяконов, доктор технических наук, профессор, зав. кафедрой физической и информационной электроники Смоленского государственного педагогического университета, действительный член Международной академии наук педагогического образования. Область научных интересов - компьютерная математика и применение ее систем для решения фундаментальных задач естествознания и образования. Автор свыше 450 научных работ, включая 32 книги и 61 авторское свидетельство на изобретения.