CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2003 ГОД

Восьмой кленовый листок

Константин НОСОВ k_n@ua.fm

Казалось бы, прошло совсем немного времени с тех пор, как мы рассказывали читателям о замечательном математическом пакете Maple 7 (см. статьи «Maple — кленовый символ математики», МК № 3 (174), и «Математические пироги с кленовым сиропом», МК № 10 (181)). Однако производители продукта не долго удовлетворялись достигнутым и уже успели выпустить очередную восьмую версию пакета, обладающую еще более широкими возможностями.

Усовершенствований в новой версии довольно много. Разработчики условно разделяют их на радикальные, существенные и косметические. При описании нововведений уделим главное внимание практической стороне дела, т.е. конкретным преимуществам восьмой версии пакета.

В Maple 8 имеется четыре радикальных (см. упомянутую классификацию) изменения. Разберем их последовательно.

Важнейшее усовершенствование новой версии — небывалое расширение интерактивности пакета благодаря поддержке приложений Maplets. Что это такое? Maplets представляет собой мощную, базирующуюся на Java технологию, соединяющую вычислительные возможности Maple и настраиваемый пользовательский интерфейс. Если раньше Maple действовал исключительно как командный интерпретатор (требовавший все команды и процедуры задавать в строке ввода), то новая версия позволяет скрыть «за кадром» весь код, предоставив пользователю возможность работы с удобным и привычный интерфейсом.

Мы не будем останавливаться на синтаксисе, оставив удовольствие разбираться с этим вопросом читателю. Впоследствии, если данная тема вам покажется интересной, я берусь подготовить отдельный материал по Maplets. Достаточно отметить, что данная технология представлена в Maple особым пакетом, состоящим из нескольких подпакетов, выполняющих специальные задачи. Продемонстрируем Рис. 1работу Maplets на наглядном примере.

На рисунке 1 показан вид окна простейшей программы, написанной с использованием Maplets. Она производит символьное интегрирование функций следующим образом: в поле «Функция» вводится выражение для подынтегрального выражения, а в поле «Переменная» — независимая переменная интегрирования. Нажав кнопку «Интегрировать», в соответствующем окошке получим интеграл от введенной функции в естественной математической нотации.

Пакет Maplets позволяет задействовать практически все элементы интерфейса, используемые в современных приложениях: меню, диалоговые окна, различные списки, кнопки и т.д. Кроме того, он отображает таблицы данных и графики, а также позволяет манипулировать ими. Для начинающих пользователей в пакет Maplets включен специальный обучающий подпакет примеров Examples, с помощью которого на тестовых примерах можно легко ознакомиться со основными приемами программирования приложений Maplets.

Технология Maplets, как указывалось, базируется на платформе Java и для запусков программ Maplets на компьютере необходимо иметь установленную JVM (Java Virtual Machine). Это, безусловно, накладывает некоторые, хотя и не очень существенные, ограничения на использование Maplets. Программы этого пакета могут быть запущены как изнутри самим Maple, так и вне его с помощью специальной утилиты MapletViewer, выполненной в виде отдельного исполнимого модуля. Обратите внимание, данная возможность присутствует только в версии для Windows. Рабочий документ сохраняется в формате Maplets при помощи стандартной команды Save As, файл с Maplets-программой имеет расширение *.maplet.

Безусловно, Maplets — очень перспективная технология для создания сложных вычислительных пакетов, однако ощутимым недостатком ее нынешней версии является отсутствие привычной визуальной среды разработки и полноценных средств отладки. По этому поводу могу только высказать предположение, что будущие версии Maple, скорее всего, будут содержать эти столь необходимые инструменты.

Следующее радикальное обновление — введение в состав пакета Student подпакета Calculus1, который также служит образовательно-обучающей цели. В Calculus1 включены процедуры, помогающие студентам и учащимся наглядно представить основные факты из стандартного курса теории функций одной вещественной переменной. Процедуры пакета разделяются на визуальные (для графической демонстрации материала) и иллюстрирующие одношаговое выполнение вычислений.

Визуальные процедуры представляют в виде графиков и рисунков такие базовые понятия анализа, как первообразная и интеграл, аппроксимация отрезком ряда Тейлора, нахождение корней методом Ньютона и некоторые другие. На нашем рисунке (рис. 2) наглядно показано, как вычисляется интеграл Римана с помощью сумм Дарбу.

Значение одношаговых процедур по достоинству могут оценить студенты, выполняющие контрольные задания по высшей математике. Maple и раньше мог решить любую задачу на нахождение пределов, производных и интегралов. Однако пользователя зачастую интересует не только ответ, но и подробно расписанное решение. Подпакет Calculus1 дает возможность представить всю процедуру.

Опять-таки, не углубляясь в синтаксис, приведем наглядный пример. Допустим, нам необходимо продифференцировать некоторую функцию. Пошаговое дифференцирование состоит в последовательном применении к функции основных правил дифференцирования (теорем о производной суперпозиции, частного, произведения и т.д.) и основной таблицы производных. Используя Calculus1, пользователь может последовательно применять эти операции и прослеживать, как преобразуется исходное выражение. В конце вычислений остается лишь вывести полное решение (рис. 3), которое остается только переписать в тетрадь и заверить Рис. 2преподавателя, что все это сделано собственноручно :-).

Следующее радикальное нововведение — пакет ScientificConstants — переносит нас из математики в область физики и химии. Он вполне способен заменить несколько объемных справочников по этим дисциплинам (содержит до 13 тыс. констант!) и позволяет использовать эту информацию в научных и инженерных расчетах. Пакет предоставляет доступ к двум главным типам физических постоянных —фундаментальным физическим константам и свойствам химических элементов периодической системы Менделеева. Фундаментальные физические константы могут быть получены в нескольких системах измерения; кроме того, каждая константа может быть изменена. У пользователя также есть возможность ввести неограниченное количество собственных констант. Аналогично можно получать детальные сведения о химических элементах периодической системы (атомный вес, температуру точек замерзания и кипения, плотность, энергию ионизации и бета-распада, электропроводность и т.д.) и их изотопах. Пользуясь данной информацией, несложно, к примеру, наглядно представить связь между такими важнейшими характеристиками элементов, как атомный вес, число нейтронов и стабильность ядра (на рисунке 4 область стабильности выделена красным цветом).

К радикальным новшествам относится и введение новых методов решения дифференциальных уравнений. Хотя Maple и раньше являлся мощным инструментом решения задач этого вида, нынешняя версия значительно расширила и усовершенствовала прежние методы. Не будем детально вдаваться в эту область, а только отметим несколько моментов. В 8-ой версии появились принципиально новые средства численного интегрирования граничных задач для дифференциальных уравнений (как обыкновенных, так и в частных производных), а также введены специальные графические процедуры для визуализации найденных численных решений.

Перейдем теперь к обновлениям, характеризуемым как существенные. К ним прежде всего относится введение ряда новых пакетов (специальных внутренних модулей Maple, расширяющих область применения приложения). Мы остановимся только на наиболее важных.

Хорошая новость для пользователей, работающих одновременно с Maple и программами на других языках. В новую версию включен пакет CodeGeneration, преобразующий процедуры Maple в программы на C, Fortran 77 и Java. Он значительно расширяет функции пакета codegen, использовавшегося для этих целей в предыдущих версиях.

А вот пакет LargeExpressions поможет пользователю в работе с большими выражениями. Он содержит удобный механизм преобразования громоздких выражений. Чтобы сделать эти формулы обозримыми и наглядными, вводятся новые обозначения (замены).

Рис. 3   Рис. 4

Пакет MatrixPolynomialAlgebra включает набор процедур для алгебраических преобразований матричных полиномов. С его помощью можно выполнять такие часто используемые функции, как определение степеней и коэффициентов полинома, матрично-полиномиальное деление, представление матричного полинома в специальных формах и некоторые другие.

Еще одно нововведение — пакет SoftwareMetrics — поддерживает набор уникальных функций, позволяющих оценить сложность кода процедур Maple (как пользовательских, так и встроенных). С его помощью можно вычислить цикломатическую метрику МакКэйба (связанную с количеством логических условий в коде), алгоритмическую метрику Хэлстэда (которая является комплексной оценкой кода и отражает его объем, сложность и даже меру использования программистом возможностей языка) и метрику глубины (характеризует глубину вложенности конструкций в коде программы).

Новая версия Maple наконец-то может быть использована в такой важной и нетривиальной области анализа, как вариационное исчисление. С помощью пакета VariationalCalculus можно находить уравнения Эйлера-Лагранжа для простейших интегральных функционалов, проверять некоторые достаточные условия экстремумов функционалов и решать другие смежные задачи.

Новый пакет векторного исчисления VectorCalculus дополняет унаследованные из предыдущих версий алгебраические пакеты. Основное его назначение — обеспечить работу с различными системами координат и предоставить пользователю новые процедуры для действий с многомерными массивами.

Пакет Worksheet обеспечивает взаимодействие рабочих документов Maple (worksheets) с XML-документами. Вообще говоря, работа с форматом XML не является чем-то новым для программы. В Maple по-прежнему поддерживается пакет XMLTools (пришедший из прошлых версий), содержащий десятки функций для манипулирования форматом XML. Но введенный в 8-ую версию пакет Worksheet делает следующий шаг к более глубокому взаимодействия с XML-форматом. С его помощью можно как экспортировать документы Maple в XML-формат, так и осуществлять обратную операцию путем импорта. Пакет включает синтаксический анализатор (parser) для корректного построение XML-документа и средства форматирования документа Maple для адекватной передачи структуры XML. Таким образом, благодаря использованию Worksheet, наш кленовый пакет приобретает некоторые черты XML-редактора.

Также изменения коснулись многих старых пакетов и функций, но мы не станем вдаваться в столь мелкие детали, равно как и останавливаться на косметических усовершенствованиях. Из важных нововведений отметим такое мощное и удобное средство, как построитель графиков (Interactive Plot Builder). В предыдущих версиях для глубокой настройки графиков (т.е. для задания нужной толщины кривых, палитры заливки, шрифтов надписей и других многочисленных атрибутов) необходимо было глубоко вникать в синтаксис команд и характеристики многочисленных параметров. И если для профессионала это не составляло труда, то новичок обычно ограничивался поверхностным использованием обширного ассортимента возможностей. В новой версии благодаря Plot Builder начинающий пользователь может создавать сложнейшие графики с такой же легкостью, как и многоопытный гуру. Построитель графиков, представляющий собой удобный мастер, позволит в несколько шагов построить нужный график, причем без явного использования синтаксиса графических команд.

Подведем краткие итоги. Не будем повторять того, что сказано о Maple в предыдущих материалах (имею в виду его исключительное, практически уникальное место в классе вычислительных пакетов). Попробуем определить тенденцию, которая наметилась в развитии этой замечательной программы (за три неполных года на рынок были выпущены три новые версии, что позволяет выявить некоторые закономерности).

Итак, что же главное, по мнению автора, в эволюции продукта? Прежде всего, оставаясь профессиональным математическим пакетом, Maple приобретает все больше функциональных возможностей для широкого применения в образовательной и обучающей сфере. В 8-ой версии, наконец, сделан решительный шаг к созданию современного дружественного интерфейса, что позволяет избавиться от устаревшего способа взаимодействия с пакетом через командную строку. Обращает на себя внимание расширение возможностей работы с различными форматами (XML, MathML, LaTeX и HTML) и включение в область применения пакета новых дисциплин (физика, химия).

Завершая материал, хочется выразить надежду, что наметившиеся тенденции будут продолжены и в следующих версиях и, кроме того, появятся новые, не менее важные и перспективные направления развития.

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov