Как все начиналось
Долгое время существовало мнение, что вычислительные программные средства могут быть полезны только при инженерных расчетах. Там, где дело касалось аналитических вычислений, человеческая интуиция находилась вне всякой конкуренции. Однако пакет Maple — детище канадского университета Waterloo — коренным образом изменил представление о системах подобного класса.
В 1980 году группа исследователей университета Waterloo занялась проблемой создания компьютерной системы, эффективной в решении алгебраических задач и достаточно простой для того, чтобы ее могли использовать не только математики и инженеры, но и студенты. К декабрю того же года стало ясно, что подобный продукт — реальность, и для него начали подбирать название. Как известно, Канада — страна кленов, а ее символ — кленовый лист. Возможно, поэтому программа получила именно "канадское" имя — Maple, что в переводе значит клен.
Новую разработку практически сразу же решили испытать в деле — студенты университета стали изучать систему в рамках курса по алгебраическим алгоритмам "Введение в символьные вычисления". Как утверждают сами разработчики, коммерческая сторона проекта поначалу не очень их интересовала. Видимо, этим и объясняется тот факт, что графический интерфейс пользователя у Maple появился только в начале 90-х. До этого команды в Maple вводились при помощи командной строки.
'; Несмотря на усилия создателей, демонстрировавших начиная с 1982 года возможности продукта на всевозможных конференциях по всему миру, спрос на Maple отмечался в основном среди отдельных специалистов — о массовом признании речь не шла. Однако Maple постоянно совершенствовался. Существенным этапом в развитии Maple стало создание графического интерфейса пользователя. Именно с этого времени пользователями Maple стала армия студентов и аспирантов, причем не только физико-математических специальностей. Командный язык Maple достаточно прост и понятен, и, кроме того, там имеется большое число утилит, рассчитанных именно на студентов, чем во многом и объясняется последующий коммерческий успех.
По признанию Кейта Геддеса (Keith Geddes), соучредителя компании Waterloo Maple Inc., концепция Maple, которая была взята за основу более 20 лет назад, по большому счету, не изменилась и сегодня. Maple — система для решения математических задач. И теперь главной проблемой является привлечение к ее использованию как можно большего числа пользователей. Для этого имеются все основания.
Сегодня распространением и поддержкой Maple занимается учрежденная в 1988 году компания Waterloo Maple Inc. (www.maplesoft.com). Кроме того, в связи с растущей "в геометрической прогрессии" популярностью Maple для поддержки пользователей продукта был создан центр Maple Application Center.
Существует даже специальный центр, занимающийся популяризацией Maple среди студентов (www.maple4students.com). Для эффективного использования Maple необходимо с ним познакомиться поближе — нужно понять базовую концепцию и усвоить основные команды. Как и с любым учебным курсом, в этом случае над собой необходимо сделать некоторые усилия. Именно в этом центр оказывает поддержку. Но все же следует быть откровенным — изучение Maple сродни изучению дополнительного курса по программированию. Так что потрудиться придется — но это того стоит!
Коды команд
В данной книге принималось в расчет то, что самой последней версией является Maple 9. Однако представленные в книге коды разрабатывались так, чтобы они работали и с более ранними версиями (как минимум с Maple 7). В тех местах, где версия продукта все же имеет значение, приведены специальные комментарии. Однако необходимо заметить, что таких мест не очень много.
Как уже отмечалось, вводимые пользователем команды выделены специальным шрифтом. Все команды, которые касаются решения конкретной задачи, размещены в том порядке, в каком они должны быть в рабочем листе. Точно в таком же порядке они должны и выполняться (это важно, поскольку порядок следования команд в рабочем листе не обязательно соответствует очередности их выполнения). При этом начало каждой новой группы вычислений в книге помечено стрелкой (>). Если команда заканчивается точкой с запятой (;), то результат выполнения будет выведен внизу сразу под командой (группой команд). Если вместо точки с запятой в конце команды поставить двоеточие (:), результат выполнения выводиться не будет.
В Maple есть такая команда, как restart. Выполнение этой команды практически эквивалентно новому запуску Maple. Команда restart размещается в начале рабочего листа. Это очень важная команда. Предположим, что пользователь запускает Maple и создает или открывает два рабочих листа. В одном листе переменной х присваивается значение 1 (команда х:=1). Если же теперь в другом рабочем листе ввести команду х и нажать клавишу <Enter>, в области вывода появится значение этой переменной, т.е. 1. Чтобы избежать этого, следует предварительно выполнить команду restart, и тогда в области вывода после выполнения команды х будет х. Про эту особенность Maple следует помнить. В Maple 7, 8 и 9 для выполнения команды restart на панели инструментов яако читатель должен иметь в виду, что решение каждой новой задачи кует начинать с команды restart.
На заметку
Здесь можно найти комментарии и замечания относительно самых разных аспектов ра боты как с графическим интерфейсом пользователя, так и вычислительным ядром Маple
Совет
советы выделяются таким вот образом. Здесь их легче заметить.
Внимание!
Особо важные замечания, которые не следует игнорировать, вынесены в этот раздел.
Все это позволит читателю сконцентрировать свое внимание на ключе! вопросах и не упустить из виду на первый взгляд незначительные, но дал не второстепенные моменты в работе с Maple.
Книга состоит из вступления, семи глав, заключения, двух приложен предметного указателя и списка литературы.
Глава 1 полностью посвящена графическому интерфейсу пользователя ней описывается структура рабочего окна, панель меню, панель инструмен и контекстные панели.
В главе 2 излагаются методы вычисления производных явных функций также функций, заданных в неявном и параметрическом виде. Кроме тс здесь показано, как вычисляются производные высших порядков, предел! как исследуются на экстремум функции. В этой же главе можно узнать, такое частные производные, как дифференцировать неявные функции скольких переменных, выполнять замену переменных в дифференциалы выражениях, исследовать функции на локальный и условный экстремум.
Глава 3 посвящена числовым и функциональным рядам, а именно: ме дам их суммирования, исследованию на сходимость, разложению функций всевозможные ряды, включая ряд Тейлора и Фурье. В этой главе та вкратце описываются приемы работы со специальными функциями.ленных и определенных интегралов, выполнении интегральных преобразований Фурье и Лапласа, а также о двойных, тройных, криволинейных и поверхностных интегралах.
В главе 5 описываются методы решения обыкновенных дифференциальных уравнений (задача Коши), краевых задач, а также уравнении в частных производных (уравнений математической физики).
В главе 6 собраны некоторые задачи из курса классической механики. Эти задачи являются достаточно наглядными в том смысле, что при их решении используется практически весь спектр утилит Maple. Ведь в этом случае приходится решать дифференциальные уравнения, интегрировать функции, отображать графику, создавать анимацию и делать многое другое.
В главе 7 описываются численно-аналитические методы, среди которых особое внимание уделяется задачам интерполирования функций, численному решению уравнений, в том числе дифференциальных, а также численному интегрированию.
Наконец, в приложении А в конце книги размещена справочная информация о некоторых функциях и утилитах Maple.
Общая характеристика Maple
Основной структурной единицей в Maple является рабочий лист, а само окно программы внешне напоминает окна приложений Microsoft Windows: такая же панель меню со стандартным набором команд (часть из них специфична для Maple, но многие, особенно те, которые касаются редактирования документов, вполне знакомы пользователю системы Windows вообще и редактора Word в частности), панель инструментов с кнопками, дублирующими команды панели меню, контекстная панель, рабочая область, строка состояния.
Работа осуществляется в интерактивном режиме: пользователь вводит команду, нажимает <Enter>, после чего в том же рабочем листе под введенной командой отображается результат выполнения операции вычислительным ядром Maple. Сам рабочий лист разбивается на группы. В пределах одной группы выполняются сразу все команды — в порядке их следования в группе. Поэтому формально в Maple выполняется не команда, а группа команд (другое дело, что группа может состоять из одной команды). Что касается самих групп, то их выполнять можно в произвольном порядке, На первый взгляд может показаться, что такой подход создает искусственные трудности в работе. Однако это далеко не так. Грамотно составленный рабочий лист Maple напоминает музыкальный инструмент, в котором роль клавиш играют группы — "сыграть" на нем можно практически любую "мелодию". Это яркое проявление абсолютно новой философии, реализованной командой разработчиков университета Waterloo.
Maple — "аналитик" до мозга костей. Даже в тех случаях, когда вычисления носят численный характер, расчетные алгоритмы очень часто реализуются так, чтобы получить сначала аналитический результат (хотя данный режим может быть отключен — с этой целью предусмотрены специальные опции). Кстати, численные значения могут быть получены с практически любой нужной степенью точности, причем достаточно быстро.
В Maple на сегодня в общей сложности используется более трех тысяч команд, однако некоторые из них (наиболее важные) применяются достаточно часто и составляют костяк базового языка. Они, в основном, имеют отношение к проблемам интегрирования и дифференцирования функций, решения уравнений и т.п. Некоторые команды доступны только при подключении специальных пакетов.
Наглядность данных часто не менее важна, чем их качество. На этот случай в Maple предусмотрено множество графических утилит, которые соответствуют самым требовательным запросам. Важная характеристика заключаете в том, что особые ситуации (вроде отсутствия значений функции в точкг разрыва) обрабатываются, как правило, автоматически и весьма корректно Нет необходимости заботиться об оптимальном шаге для отображения фут ции и даже, по большому счету, области ее определения, как это приходите делать при работе с инженерными пакетами.
Что касается особых ситуаций, начиная с версии Maple 7 предусмотри возможность переопределять результат выполнения некоторых сомнительных действий. Имеется в виду следующее: зачастую при решении каких задач, особенно из области физики, приходится иметь дело с некорректнь ми с математической точки зрения операциями вроде деления 0 на 0 или возведения 0 в степень 0, и при этом предполагается, что такая операщ имеет смысл. Например, может быть, что результат деления 0 на 0 следует считать равным 1. В Maple это не проблема.
Вообще, разработчики Maple пошли по правильному и плодотворному пути, в каждую новую версию продукта добавляются новые пакеты, имеющие вполне конкретное практическое применение, причем в самых разных обла тях — начиная с теоретической физики и чистой математики и заканчив финансами, статистикой, биологией и даже медициной (правда, на ypoвне обработки данных). Часть подобных пакетов разрабатывается отдельными энтузиастами (в основном, специалистами, работающими в соответствующих областях). Но в любом случае даже базовых пакетов вполне достаточно, чт бы решить практически любую задачу.
Еще одна важная особенность заключается в следующем. В связи с последними тенденциями внедрения Web-технологий, в Maple, начиная с сед мой версии, при преобразовании рабочих листов в формат HTML формул где это возможно, запоминаются в формате MathML (а не в виде изображ ний GIF). Преимущество такого подхода состоит в том, что впоследств! выражения из формата MathML могут преобразовываться обратно в комащ Maple. Это делает Maple мощным вычислительным средством, пригоднь для использования и в сети Internet.
Особенности установки и системные требования
При создании Maple в основу были положены два главных критерия, которым определялась эффективность системы — это быстрота в работе экономное использование памяти. Поэтому с точки зрения аппаратне обеспечения Maple крайне нетребователен: он будет работать практичес на любом компьютере, за исключением, возможно, самых "древних" образцов. Скажем, для Maple 7 (а самая последняя версия — Maple 9) вполне достаточно процессора Pentium 90, 16 Мбайт оперативной памяти и 100 Мба свободного места на диске. Но даже если система этим требованиям не уде летворяет — ничего страшного! Можно установить более раннюю вереи Причем здесь прослеживается одна интересная тенденция — изменения в вые версии вносятся таким образом, что предыдущая версия продукта мояиилошипивим команд новой версии, т.е. раоочие листы, выполненные с помощью новой верою Maple, скорее всего, будут работать и при загрузке их посредством предыдущей версии.
Отличительной особенностью Maple является то, что он работает с большинством платформ и операционных систем, в том числе Windows, Unix, Linux, VMS. При этом сам язык Maple для различных операционных систем один и тот же, так что существенной разницы, какая из них используется, нет. Кроме того, в Maple предусмотрены самые широкие возможности для преобразования рабочих документов во всевозможные форматы — RTF, La-Тех, HTML и др. Это делает его незаменимым помощником не только при выполнении вычислений, но и при оформлении документации.
Что касается непосредственно установки Maple, то в справочной документации по Maple сказано, что он будет работать не только на подключенных к сети компьютерах, но и на отдельных машинах. Однако при установке версий, начиная с Maple 7, у пользователей Windows могут возникнуть проблемы. Сама установка, как правило, проходит без проблем, но при попытке первого запуска приложения Maple зависает при загрузке. Чтобы решить проблему, можно, например, выполнить настройку на личный Web-сервер. Для этого следует открыть окно Панель управления, выбрать команду Сеть и в открывшемся окне на вкладке Конфигурация щелкнуть на кнопке Добавить, после чего выбрать из появившегося списка Служба нужную службу и ее изготовителя (лучше Microsoft) и указать протокол. Иногда можно обойтись "малой кровью" — достаточно выполнить установку утилит связи (выбрать пункт Установка Windows в окне Установка и удаление программ панели управления и выделить флажками нужные опции). Проблема связана с использованием динамических библиотек, на которые есть ссылки в сервере регистрации. С версиями вплоть до Maple 6 таких неприятностей не возникает.
Рекомендации читателю
Книга рассчитана на тех, кто знаком, хотя бы в минимальном объеме, основами высшей математики или, по крайней мере, готов ее изучать. В тех случаях, когда для решения задач используются специальные формулы, под ходы или методы, не относящиеся непосредственно к программному язык Maple, прямо в тексте книги представлена краткая справка о них. Это же от носится и к используемым математическим определениям и терминам. Ка правило, сначала кратко излагается суть предлагаемого решения, а затем эт решение реализуется с помощью Maple. Поэтому отсутствие специальной подготовки читателя пугать не должно.
В книге показано, как с помощью Maple можно решать самые разнообраз ные задачи. При этом следует отметить, что не все приведенные методы ре шения являются оптимальными с точки зрения возможностей Maple. В книг реализуется принцип использования минимального числа базовых процедур Объясняется это просто. Во-первых, с помощью незначительного числа ути лит можно решать широкий класс задач, а, во-вторых, это позволяет глубж раскрыть механизмы работы Maple.
Разумеется, некоторые вопросы читателю (особенно пытливому) придете решать самостоятельно. На этот случай в Maple предусмотрена мощная эффективная система справки — правда, на английском языке. Доступ справочной системе пользователь может получить через меню Help (Помоыц на панели меню рабочего окна Maple. Система справки реализована с ис пользованием значительного числа гиперссылок, что весьма удобно и позво ляет быстро и эффективно осуществлять поиск данных по нужной теме.
Справку о любой команде (из рабочего листа) можно получить, навед курсор на эту команду и затем нажав <F1>. Еще один способ — в облает ввода ввести знак вопроса (?) и, без пробела, название интересующей пользе вателя команды, после чего нажать <Enter>. В результате будет выведен справка о данной команде.
Структура сайта и система обозначений
Книга является практическим руководством и ориентирована на описание командного языка Maple. Однако графическому интерфейсу пользователя также уделено достаточное внимание. Описанных в книге элементов графического интерфейса вполне достаточно для последующего решения прикладных задач.
В книге будут использоваться некоторые специфичные для Maple термины — при первом упоминании они выделяются курсивом.
Названия меню, кнопок и прочих элементов графического интерфейса пользователя также выделяются специальным шрифтом. Maple не русифицирован, однако если для названий элементов интерфейса имеется простой и понятный перевод, объясняющий назначение элемента, или данный элемент используется в других русифицированных приложениях, в скобках приводится перевод при первом упоминании этого элемента или в тех случаях, если этот элемент достаточно долго не упоминался.
При описании различных команд используется символ "стрелка" (->). Например, чтобы в рабочем окне открыть новый рабочий лист, необходимо в меню File (Файл) выбрать команду New (Новый). Такая последовательность действий может быть представлена следующим образом: File->New. Для некоторых команд существуют горячие клавиши или горячие комбинации клавиш - команда выполняется, если нажать зеленную клавишу или комбинацию клавиш. В таких случаях клавии которые следует нажимать, выделяются угловыми скобками. Если клавш следует нажимать одновременно, то записывается подобная комбинация с использованием знака "плюс" (+). Например, чтобы открыть новый рабоч лист, достаточно нажать клавишу <Ctrl> и, удерживая ее, нажать клавишу <N>. Все вместе это выглядит как <Ctrl+N>.
Команды языка Maple также выделяются специальным шрифтом. Прич для вводимых пользователем команд и выводимого в рабочем листе результат их выполнения этот шрифт различный. Вот пример шрифта для коман ввода: sin(x) и, соответственно, для вывода: sin(x). Некоторые важные места в книге выделены специальным образом.
Вступление
Вступление Как все начиналось Общая характеристика Maple Особенности установки и системные требования Структура книги и система обозначений Коды команд Рекомендации читателю