В связи с этим стал меняться взгляд
на назначение компьютера. На первое место вышло применение их для работы с текстовыми
процессорами (например, Microsoft Word) и прикладными программными системами для
автоматизации офисной деятельности. Увы, при этом многие пользователи стали забывать
о том, что ЭВМ изначально создавались для вычислений, а вовсе не для замены ими
популярной, но ставшей неудобной пишущей машинки. Развитие мультимедиа привело
к бурному применению компьютеров в роли игровых автоматов. В результате главный
стимул развития «электронного помощника» создается отнюдь не высокоинтеллектуальными
задачами.
Однако времена
меняются и вечные ценности, к коим принадлежат разум и образование, вновь возвращаются.
В последние годы во всем мире существенно возрос интерес к серьезному применению
ПК, в том числе в области математических расчетов. Этому в большой степени способствовала
разработка специальных компьютерных математических программных систем, резко снизивших
потребность в написании собственных программ при решении математических задач.
Первое поколение таких систем [4-10] было ориентировано на операционную систему
MS-DOS и появилось, казалось бы, совсем недавно — в начале 90-х гг. Так или иначе,
но компьютерный мир вновь заговорил об «искусственном интеллекте»,
понимая под этим способность электронной машины выдавать нетривиальные решения
и обучаться решению новых задач. Интерес к компьютерному моделированию в самых
широких областях заметно возрос после шахматных баталий между суперкомпьютером
фирмы IBM и бывшим чемпионом мира по шахматам Гарри Каспаровым. Как известно,
они завершились триумфальной победой машины — или, точнее говоря, коллективного
разума тех, кто создал ее и ее программное обеспечение.
Игры на деньги
В последние годы показателем
интеллектуальной мощи компьютеров, в том числе и персональных, стали
уже не программы для игры в шахматы, а новейшие программные системы
символьной математики или компьютерной алгебры [17-38]. Созданные для
проведения символьных преобразований математических выражений, эти системы
были доведены до уровня, позволяющего резко облегчить, а подчас и заменить,
труд самой почитаемой научной элиты мира — математиков: теоретиков и
аналитиков. Уже появились открытия, сделанные с помощью таких систем
— но не ими самими! Вряд ли есть хоть один действительно серьезный научный
проект, связанный с математикой, где они не применялись бы в деле. Искусство
Германии В XV—XVI вв. Германия не имела постоянного политического центра.
Роль столицы делили между собой несколько так называемых «имперских
городов». Ахен со времён правления династии Каролингов (751—911 гг.)
был местом совершения коронаций, Нюрнберг хранил в своих стенах императорскую
корону и другие регалии. Император со свитой обычно переезжал из одного
города в другой. Во Франции и Англии уже утвердилась почти абсолютная
власть королей, германских же императоров по обычаям раннего Средневековья
избирал съезд князей, а корону они получали из рук Папы римского. Поэтому
власть германского императора была ограничена не только произволом его
подданных — князей, но и притеснениями Рима. Из всех католических стран
именно Германия оказалась в особенно сильной зависимости от Рима, чем
объясняется обострённая неприязнь её жителей к власти Папы. ОДУ высших
порядков Математика Примеры решения задач
Системы символьной математики долгое время были ориентированы на большие компьютеры,
С появлением ПК класса IBM PC и Macintosh и с ростом их возможностей эти системы
были переработаны под них и доведены до уровня массовых серийных программных систем.
Сейчас системы символьной математики (или компьютерной алгебры) выпускаются самого
разного «калибра» — от рассчитанной «на всех» системы
Mathcad [11-21], поразительно компактной, быстрой и удобной для простых символьных
вычислений системы Derive [22-24] и до компьютерных монстров Mathematica [26-28],
MATLAB [29-31] и Maple [32-38], имеющих тысячи встроенных и библиотечных функций
и изумительные возможности графической визуализации вычислений:
Все эти системы работают на персональных компьютерах, оснащенных популярными операционными
системами класса Windows 95/98/NT/2000. Но не только на них — есть версии под
операционные системы Linux, Unix, Mac и др. Они давно знакомы пользователям больших
компьютеров и даже суперкомпьютеров.
К среднему уровню таких систем относятся интенсивно развиваемые системы класса
Mathcad," имеющие (в дополнение к прекрасным средствам числовых вычислений)
приобретенное по лицензии у фирмы Waterloo Maple Inc. (создателя систем Maple)
ядро символьных вычислений. Ядро системы Maple используется и в другой маститой
системе — MATLAB, придавая ей необычные для нее возможности символьной математики.
В данной книге впервые
дается достаточно полное описание одной из самых мощных и интеллектуальных систем
компьютерной алгебры — Maple под Windows, ее последней реализации — Maple 7. Эта
система была создана группой ученых, занимающихся символьными вычислениями (The
Symbolic Group), организованной Кейтом Геддом (Keith Geddes) и Гастоном Гонэ (Gaston
Gonnet) в 1980 году в университете Waterloo, Канада. Вначале она была реализована
на больших компьютерах и прошла долгий путь апробации, вобрав в свое ядро
и библиотеки большую часть математических функций и правил их преобразований,
выработанных математикой за столетия развития. Есть реализации программы на платформах
ПК Macintosh, Unix, Sun и др.
Системам класса Maple посвящены сотни книг. Отметим лишь некоторые из них [39-56],
изданные за рубежом. Достаточно полный список (около 400 наименований) книг по
системам Maple можно найти на сайте разработчика этой системы — компании Waterloo
Maple Software (www.maplesoft.com). Однако книг по системе Maple 7 (за исключением
фирменных руководств по ней) на момент сдачи рукописи данной книги в этом списке
не было.
Вряд ли
эта мощная математическая система, разделяющая претензии на мировое лидерство
с системами Mathematica фирмы Wolfram Research Inc., нужна секретарше или даже
директору небольшой коммерческой фирмы. Но, несомненно, любая серьезная научная
лаборатория или кафедра вуза должны располагать подобной системой, если они всерьез
заинтересованы в автоматизации выполнения математических расчетов любой степени
сложности. Несмотря на свою направленность на серьезные математические вычисления,
системы класса Maple необходимы довольно широкой категории пользователей: студентам
и преподавателям вузов, инженерам, аспирантам, научным работникам и даже учащимся
математических классов общеобразовательных и специальных школ. Все они найдут
в Maple многочисленные достойные возможности для применения.
По мнению автора данной книги, сравнение системы Maple 7 с лидером среди систем
компьютерной математики — системой Mathematica 4.1 — непродуктивно. У каждой программы
есть свои достоинства и недостатки. А главное — у них есть свои приверженцы, которых
бесполезно убеждать, что иная система в чем-то лучше. Это все равно, что сравнивать
великих исполнителей джазовой и рок-музыки Луи Амстронга и Би Би Кинга. Все, кто
всерьез применяют системы компьютерной математики, должны работать с несколькими
системами, ибо только это гарантирует высокий уровень надежности сложных вычислений.
И все же надо отметить,
что интерфейс Maple 7 более интуитивно понятен, чем у строгой Mathematica 4.1.
Maple 7 на первый взгляд имеет несколько менее мощную графику, но простота управления
параметрами и легкость подготовки графических процедур часто позволяет визуализировать
решения математических задач с меньшими усилиями, чем при использовании системы
Mathematica 4.1. Обе системы в последних реализациях сделали качественный скачок
в направлении эффективности решения задач в численном виде, в частности за счет
повышения скорости выполнения матричных операций.
Особенно эффективно использование
Maple при обучении математике. Высочайший «интеллект» этой системы
символьной математики объединяется в ней с прекрасными средствами математического
численного моделирования и просто потрясающими возможностями графической визуализации
решений. Применение таких систем, как Maple, возможно при преподавании и самообразовании
от самых основ до вершин математики.
Практика (да и личный опыт автора) показывает, что самым трудным является первый
этап освоения системы. Первое знакомство с программой многих пользователей просто
подавляет — убедившись в невероятном множестве возможностей системы и не имея
ее систематизированного описания (а оно поставляется в виде трех книг приличного
размера, включая книги учебного характера [39, 40]), многие пользователи помещают
систему в архив, где она «пылится» без дела.
Эта книга впервые основательно знакомит читателя с новейшей версией системы Maple
— Maple 7 в форме подробного учебного курса. Книга написана на основе ранее изданного
учебного курса по системе Maple 6 [37], существенно переработанного и дополненного.
Среди новых материалов, появившихся в книге, следует отметить:
- полное описание инсталляции
системы Maple 7;
- улучшенное
описание интерфейса;
- обновление
материала по информационной поддержке системы, в том числе через Интернет;
- адаптация примеров
и рисунков к новой версии Maple 7;
- устранение
замеченных в предыдущем издании [37] неточностей и опечаток;
- впервые
представленное описание целого ряда новых встроенных математических пакетов системы
(CurveFitting, LinearFunctionalSystems, PolynomialTools, OrthogonalSeries, RandomTools
и др.);
- описание
расширенной поддержки Интернета и встроенного пакета XMLTools, который ее обеспечивает;
- впервые приведенное
описание новейших средств поддержки стандарта MathML и пакета MathML;
- описание
многочисленных новинок системы Maple 7 в области реализации вычислений и их графической
визуализации;
- десятки
новых примеров применения Maple 7.
Основное внимание в книге уделено обучению основам и приемам эффективной работы
с системой Maple 7. На роль всеобъемлющего справочного руководства книга не претендует,
хотя во многих случаях способна выполнять роль справочника или руководства пользователя
Maple 7. Хотя эта книга одна из самых обширных среди русскоязычных книг, посвященных
системе Maple, автор был вынужден ограничить описание ряда важных возможностей
программы. Основной акцент в книге сделан на описание возможностей системы в области
математических расчетов и интерфейса пользователя. Менее подробно, а порой просто
не описаны средства расширения системы и пакеты узкоспециального назначения (электронная
база данных по системе Maple 7 дает полное представление о всех свыше 3000 операторов
и функций этой системы, большинство из которых используется крайне редко).
Хотя книга посвящена
версии Maple 7, большинство материала может использоваться и пользователями предшествующей
версии Maple 6. В частности, это достигнуто выделением новых возможностей Maple
7 в отдельные разделы книги. Остальные разделы книги без каких-либо ограничений
могут быть отнесены к наиболее распространенной версии Maple — Maple 6.
Структура книги
Книга содержит 17 уроков
и составлена так, что эти уроки постепенно знакомят читателя с возможностями системы.
Уже после прохождения урока 1 вы сможете начать осмысленно и плодотворно работать
с системой. Этот урок является как бы ознакомительным курсом по работе с системой
Maple 7. Он может быть полезен как для быстрого самостоятельного освоения системы
не слишком требовательным пользователем, так и как основа вводного курса по системе
в вузах и школах, где для основательного изучения Maple 7 не предусмотрено достаточного
количества учебных часов. Кроме того, этот урок знакомит читателя с основами интерфейса
пользователя и правилами работы с панелями инструментов и форматирования выражений.
По сравнению с учебным курсом по системе Maple 6 [37] этот урок существенно переработан
и дополнен. В частности, подробно описана инсталляция системы Maple 7 и аппаратные
требования для работы с ней. Последующие уроки расширяют заведенное знакомство
и постепенно готовят читателя к серьезной самостоятельной работе практически без
применения какой-либо иной документации, кроме встроенной в систему справочной
базы данных. Урок 2 посвящен знакомству с мощной справочной базой данных системы
Maple 7 и информационной поддержкой этой системы в Интернете. Данные разделы намеренно
вынесены в начало книги, поскольку успех освоения системы Maple 7 до профессионального
уровня требует обучения работе со справочной базой данных. В уроке 3 описаны основные
приемы работы с файлами документов, которые готовятся в Maple 7. Урок 4 дает систематизированное
описание интерфейса, хотя и без многих подробностей, известных всем пользователям
операционных систем класса Windows 95/98/NT/2000.
Остальные уроки посвящены базовым математическим возможностям системы Maple 7
и основам практической работы в ней. В уроке 5 описаны основные типы данных системы,
а в уроке 6 — основные виды встроенных операторов и функций. Урок 7 посвящен основам
программирования в среде Maple 7. Читатель должен понимать, что все описанные
и в других главах команды системы Maple 7 являются одновременно и командами ее
языка программирования. Именно это позволяет считать язык программирования
Maple 7 языком программирования сверхвысокого уровня, проблемно ориентированным
на математические расчеты. Урок 8 является одним из наиболее важных. Он посвящен
решению типовых задач математического анализа, таких как вычисление сумм и произведений
последовательностей, производных и интегралов, разложений функций в ряд и т. д.
При этом особое внимание уделяется технике аналитических вычислений, где возможности
системы Maple 7 вызывают особый интерес. Но и техника численных расчетов рассмотрена
достаточно детально, в частности арифметика высокой точности. Работа с функциями
и степенными многочленами (полиномами) описана в уроке 9. Урок 10 посвящен изучению
главной «козырной карты» системы Maple 7 — ее возможностям в области
символьной математики. Здесь описано много тонкостей работы с математическими
выражениями и другими объектами системы, позволяющими выполнять множество математических
преобразований и подстановок.
Два больших урока — уроки 11 и 12 — посвящены графическим возможностям системы.
При этом урок 11 описывает обычные графические средства, а в уроке 12 дается описание
расширенных средств, позволяющих эффективно решать задачи визуализации решений
математических проблем — вплоть до подготовки графиков с элементами анимации.
Учитывая огромную роль
дифференциальных уравнений в решении ряда математических, физических и технических
задач, работе с ними посвящен отдельный урок 13. Наряду с решением одиночных дифференциальных
уравнений первого и второго порядка рассматривается решение систем линейных и
нелинейных дифференциальных уравнений как аналитическими, так и численными методами.
Большое внимание уделено графической визуализации решений и построению наглядных
фазовых портретов решения. В уроке отражены новые возможности Maple 7 в решении
дифференциальных уравнений.
В уроке 14 рассмотрены важнейшие пакеты системы Maple 7 математической направленности.
Эти пакеты поставляются вместе с системой, и применение функций из них столь же
важно, как и применение средств ядра системы. Описанные в уроке 14 пакеты рассмотрены
достаточно полно.
В отдельный урок 15 вынесены широко используемые на практике средства решения
задач линейной алгебры. Это операции с векторами и матрицами, различные их преобразования
и техника решения систем линейных уравнений. Здесь описаны такие важные пакеты,
как linalg (стандартные средства линейной алгебры) и LinearAlgebra. В последний
пакет входят новые средства линейной алгебры повышенной эффективности на основе
алгоритмов, заимстованных из знакомого математикам пакета программ NAG (Numbering
Algorithms Group). Впервые описан новый пакет анализа линейных функциональных
систем LinearFunctionalSystems, появившийся в версии Maple 7.
Остальные пакеты, относящиеся к сравнительно узким областям математики и п-редставляющие
ограниченный интерес для большинства читателей, рассмотрены обзорно или в виде
аннотации в уроке 16. К сожалению, материал по всем пакетам расширения Maple 7
настолько обширен, что его невозможно отразить в одной книге (тем более в форме
учебного курса). Тем не менее в отличие от учебного курса по системе Maple 6 [37]
этот урок существенно расширен и в нем впервые описан ряд новых пакетов системы
Maple, в частности пакеты PolymomialTools, OrthogonalSeries, RandomTools, MathML
и XMLTools.
Последний
урок 17 описывает законченное решение ряда конкретных и интересных задач из области
математики, физики и радиоэлектроники. Таким образом, читатель получает возможность
познакомиться с широким спектром применения системы Maple 7 — от примеров простых
расчетов и вычислений (таких в книге тысячи) до решения конкретных научных и технических
проблем. Материал книги иллюстрируется многими сотнями копий экрана как в виде
отдельных рисунков, так и фрагментов вычислений и программных процедур в тексте
книги. Они дают наглядное представление о реальном диалоге с системой и о форматах
ввода и вывода.
Большинство
примеров в книге оригинальны и отражают взгляд автора на методологию изучения
системы Maple. В то же время в книге использованы и лучшие (и наиболее поучительные)
примеры, которые приведены в обширной библиотеке процедур, составленных пользователями
систем Maple разных реализаций со всего мира, и примеры из ряда учебников по системе
— в том числе новейших электронных (таких; как Power Tools), размещенных в Интернете.
Все заимствованные примеры также специально адаптированы применительно к новейшей
версии системе Maple 7, описанной в книге.
Первое
знакомство с системой Maple 7
Информационная поддержка Maple
Работа с файлами
и документами
Управление интерфейсом
пользователя
Типы данных системы
Maple 7
Встроенные операторы
и функции
Типовые средства программирования
Математический анализ
Анализ
функций и полиномов.
Символьные
(аналитические) операции
Типовые
средства построения графиков
Расширенные
средства графики
Решение дифференциальных
уравнений
Математические пакеты
Пакеты линейной алгебры и функциональных
систем
Обзор пакетов специального
назначения
Примеры решения научно-технических
задач
Программа Maple корпорации
Waterloo Maple Inc. — патриарх в мире систем компьютерной математики. Эта система,
снискавшая себе мировую известность и огромную популярность, является одной из
лучших среди систем символьной математики, позволяющих решать математические задачи
в аналитическом виде. Эта книга познакомила читателей с новейшей версией Maple
— Maple 7. Она вобрала в себя не только обширные и мощные возможности- предшествующих
реализаций системы, но и предоставила в распоряжение пользователя ряд новых возможностей.
Прежде всего это целый букет пакетов: CurveFitting, PolynomialTools,
OrthogonalSeries и др.
Maple как система компьютерной математики развивается по ряду характерных направлений.
Одно из них — повышение мощности и достоверности аналитических (символьных) вычислений.
Это направление представлено в Maple наиболее сильно. Maple 7 уже сегодня способна
выполнять сложнейшие аналитические вычисления, которые нередко не под силу даже
опытным математикам. Конечно, Maple не способна на «гениальные догадки»,
но зато рутинные и массовые расчеты система выполняет с блеском. В новой версии
ее возможности существенно расширены, особенно в области решений дифференциальных
уравнений. : Другое важное направление — повышение эффективности численных расчетов.
И тут успехи налицо — начиная с версии Maple 6 в систему включены эффективные
алгоритмы группы NAG, лидирующей в области численных расчетов. Повышена эффективность
и алгоритмов самой системы Maple 7. В результате этого заметно возросла перспектива
использования Maple в численном моделировании и выполнении сложных численных расчетов
— в том числе с произвольной точностью.
Интеграция Maple с другими программными средствами — еще одно важное направление
развития этой системы. Ядро символьных вычислений Maple уже включено в состав
целого ряда систем компьютерной математики — от систем «для всех»
класса Mathcad до одной из лучших систем для численных расчетов и моделирования
— MATLAB. Имеется целый ряд автоматизированных рабочих мест для математиков на
основе ядра системы Maple: Math Office, Scientific Word, Scientific Workplace
и др.
Предусмотрена
и интеграция Maple 7 с Excel 2000 и MATLAB. Однако альянс Maple 7 с Excel трудно
назвать удачным. Во-первых, потому, что куда более распространенная версия Excel
97 связь с Maple 7 не поддерживает. Во-вторых, введенные в Maple 7 средства работы
с таблицами (в том числе новые) в большинстве случаев оказываются более удобными,
чем обычные средства работы с таблицами у Excel. Достаточно отметить, что таблицы
в Maple могут работать с формульными данными и построение рисунков в Maple не
требует создания таблицы данных для них, как это нужно в Excel.
Существенно расширена поддержка системы Maple через Интернет. Появление на сайте
корпорации Waterloo Maple Inc. массы информационных материалов, и прежде всего
обучающих программ и примеров применения Maple, разгрузило саму программу и предоставило
ее пользователям обширные возможности в пополнении своих знаний и навыков работы
с Maple 7.
С другой
стороны, резко повышены возможности Maple 7 для создания web-страниц — основы
Интернета. Здесь прежде всего надо отметить включение в пакеты средств поддержки
языков HTML, XML и (что особенно важно) MathML.
Все эти возможности в сочетании с прекрасно выполненным и удобным пользовательским
интерфейсом и мощной справочной системой делают Maple 7 первоклассной программной
средой для решения самых разнообразных математических задач: от самых простых
до самых сложных. Особо следует отметить возможность создания превосходных электронных
документов, статей, книг и учебников в среде Maple 7 с «живыми» и
модифицируемыми примерами.
Maple — быстро развивающаяся система, и работа с ней не только полезна, но и приятна
для всех категорий пользователей и учащихся. Автор надеется, что эта книга привлечет
внимание наших читателей, и прежде всего специалистов, преподавателей вузов, аспирантов,
студентов и даже школьников, к такому уникальному программному продукту, как система
компьютерной математики Maple 7, и поможет им в решении учебных и реальных научно-технических
задач.