Иллюстрированный самоучитель по Mathematica
Математические системы Mathematica
Системы класса Mathematica 2.x
В 80-е годы
возможностями символьной математики увлекся защитивший докторскую диссертацию
Стивен Вольфрам (Stephen Wolfram) из США (рис. 1.1). Его интересы были столь
серьезны, что он основал фирму Wolfram Research, Inc., приступившую к созданию
проекта престижной математической системы Mathe-
matica. Версия
Mathematica 1.0 этой системы, появившаяся в 1988 г., уже устарела, и самой известной
разработкой фирмы стала версия 2.0 системы Mathematica 2, появившаяся в 1991
г. и благополучно дожившая до наших дней. У нас она впервые стала известна благодаря
обзорам.
Рис.
1.1.
Страница Интернет-сайта фирмы StatSoft.
Цели нового
проекта были достаточно амбициозными — разработка мощного и универсального ядра
системы (Kernel), способного работать на различных компьютерных платформах,
создание многофункционального языка программирования, ориентированного на математические
приложения, подготовка современного пользовательского интерфейса и обширного
набора прикладных пакетов и расширений системы
(Packages), мощного языка программирования
математических преобразований и вычислений. Система приобрела свойства адаптации
и обучения новым математическим законам и закономерностям.
В разработках
систем Mathematica, наряду с головной фирмой Wolfram
Research, Inc., принимали
участие ряд других фирм и сотни специалистов высокой квалификации (в том числе
математики и программисты). Среди них есть и представители пользующейся уважением
и «спросом» за рубежом математической школы России. Системы Mathematica
являются одними из самых крупных программных систем, они реализуют самые эффективные
алгоритмы вычислений и имеют множество
новинок. К их числу относится механизм контекстов,
исключающий появление
в программах побочных эффектов.
Система Mathematica
2 всегда рассматривалась как мировой лидер среди компьютерных систем символьной
математики для ПК, обеспечивающих не только возможности выполнения сложных численных
расчетов с выводом их результатов в самом изысканном графическом виде, но и
проведение особо трудоемких аналитических вычислений и преобразований. Версии
системы под Windows имеют современный пользовательский интерфейс и позволяют
готовить документы в форме Notebooks
(«записных книжек»).
Они объединяют исходные данные, описание алгоритмов решения задач, программ
и результатов решения в самой разнообразной форме (математические формулы, числа,
векторы, матрицы, графики).
Mathematica
2 была задумана как система, максимально автоматизирующая труд научных работников
и математиков-аналитиков. Она заслуживала изучения как типичный представитель
элитных и высокоинтеллектуальных программных продуктов высшей степени сложности.
Однако куда больший интерес она представляет как мощный и гибкий математический
инструментарий, который может оказать неоценимую помощь большинству научных
работников, преподавателей университетов и вузов, студентов и инженеров и даже
школьников.
С самого
начала большое внимание уделялось графике, в том числе динамической, и даже
возможностям мультимедиа — воспроизведению динамических изображений и синтезу
звуков с поддержкой звуковой платы (аудиоадаптера). Набор функций графики и
меняющих их действие опций и директив весьма полон. Графика всегда была козырной
картой систем Mathematica и обеспечивала им лидерство среди систем компьютерной
математики.
Рождение
столь мощной и сложной системы, как Mathematica 2, шло не без трудностей. Первые
версии Mathematica 2 для MS-DOS имели примитивный пользовательский интерфейс,
заметно уступающий интерфейсу конкурирующей системы Maple V 1.0 для
MS-DOS.
Однако фирма Wolfram быстро сумела оценить возможности графической оболочки
Windows и одной из первых создала версию своей системы для
Windows. В книге
приведены многие десятки недостатков версии Mathematica 2, практически устраненных
в последующих версиях.
Mathematica
2 — одна из самых крупных и изощренных математических программных систем своего
времени (начала 90-х годов). На протяжении ряда лет эта система модернизировалась
и улучшалась. Ее расширенная версия (Mathematica 2.2.2) для IBM-совместимых
ПК класса 386/486/Pentium требует ОЗУ объемом не менее 8 Мбайт. Сейчас это вряд
ли ограничивает применение системы — компьютеры класса Pentium
II/III и даже
Pentium MMX с таким объемом памяти и частотами работы процессоров от 166 до
450 МГц можно приобрести в России по цене порой менее $300. Множество подходящих
для этой системы ПК есть в системе образования и в индивидуальном владении пользователей.
Если по части
графических возможностей лидерство системы Mathematica 2 не вызывало особых
споров, то в части выполнения аналитических преобразований и надежности работы
система неоднократно подвергалась заслуженной критике. В частности, приводились
данные не только об отказе системы выполнять некоторые
типы символьных вычислений, но и даже о получении при этом явно неверных результатов.
Однако такие нарекания относятся лишь к версиям системы 2.1 и ниже. При этом
в справедливо указывалось, что недоработки системы обусловлены ее новизной,
сложностью и обширными возможностями.
Раньше грубые
просчеты пользователя могли привести к зависанию системы. Однако уже в версии
2.2.2 это было практически исключено. Кроме того, оно устраняется обычным для
Windows способом — одновременным нажатием клавиш Ctrl+Alt+Del При этом работа
с системой Mathematica может прерваться, но общего краха системы Windows обычно
не происходит. Нажатие клавиши Enter возвращает нас в менеджер программ
Windows.
Тем, кто
слишком щепетильно относится к возможностям ошибок в символьных вычислениях,
стоит напомнить, что от неверных результатов не застрахован даже самый талантливый
математик-аналитик. За рубежом (но только не у нас!) такой специалист получает
в месяц заработную плату, намного превосходящую стоимость среднего ПК вместе
с установленной на нем системой Mathematica. Так что стоит подумать о том, какие
средства вам нужны для решения ваших задач и сколько вы готовы за них заплатить!
Несмотря
на отмеченные недоделки, система быстро заняла ведущие позиции на рынке математических
систем. Особенно привлекательны были обширные графические возможности системы
и реализация интерфейса типа Notebook («записная книжка»), позволяющего
сочетать в пределах одного документа программы и команды с данными, представленными
в формульном, текстовом, табличном и графическом видах. При этом система обеспечивала
динамическую связь между ячейками документов в стиле электронных таблиц даже
при решении символьных задач, что принципиально и выгодно отличало ее от других
систем.
Система Mathematica 3
У разных
фирм различны подходы к обозначению новых версий своих программных продуктов.
MathSoft, Inc., к примеру, за какие-то пять лет породила добрый десяток новых
версий популярной системы Mathcad — 3.0, 4.0, 5.0, Plus 5.0, 6.0, Plus 6.0,
7.0, Plus 7.0, 8.0, 8.0 PRO и даже Mathcad 2000 PRO/Premium. И почти каждый
раз отмечала их новой цифрой, хотя революционными отличия этих версий друг от
друга назвать трудно.
Фирма Wolfram
Research, Inc. (разработчик систем Mathematica) явно относится к числу тех фирм,
у которых малейший намек на изменение версии означает существенную ее переработку.
В итоге версии Mathematica 3 и 4 на фоне более старых Mathematica 2.0, 2.1 и
2.2 выглядят кардинально новыми системами с новым превосходным пользовательским
интерфейсом и обширными математическими возможностями.
В июле 1996
г. на бета-тестирование поступила система Mathematica 3. Вскоре (середина 1997
г.) она стала серийным продуктом, начались ее поставки на рынок. Был кардинально
переработан пользовательский интерфейс системы, он вобрал в себя массу новинок
— от раздельного вывода на экран деталей и панелей
интерфейса
до мощной и прекрасно реализованной справочной системы. Устранен недостаток
предшествующих версий — небольшое число примеров в справочной системе. Все примеры
стали «живыми» — их в любой момент можно переиначить на свой лад
и перенести в свои документы.
Продолжая
линию развития универсального ядра системы, фирма Wolfram обеспечила применение
этой системы на целом ряде операционных систем — Windows 95, Windows
NT, Macintosh,
Power Macintosh, SunOS, Solaris, HP-UX, SGI, Linux и др. Это делает систему
доступной самым различным категориям пользователей и позволяет распределять
решение математических задач любой сложности по оптимальным для этого компьютерным
платформам.
Для системы
Mathematica 3 на массовой платформе Windows установлены следующие требования
к аппаратной части:
-
процессор Intel 80386
и выше;
-
операционная система
Windows 95 или Windows NT 3.51 и старше;
-
дисковое пространство
— минимальное 24 Мбайт, стандартное 83 Мбайт и максимальное около 120 Мбайт;
-
запуск с жесткого
диска или с CD-ROM;
-
емкость ОЗУ — минимальная
8 Мбайт, желательная 16 Мбайт.
Система поставляется
на CD-ROM в комплекте с электронным учебником и документацией. Возможен запуск
системы прямо с компакт-диска, что экономит пространство на жестком диске, но
замедляет файловые операции. Любопытно отметить, что большую часть памяти на
дисках (жестком и CD-ROM) занимает справочная база данных системы.
Из других
возможностей системы Mathematica 3 можно отметить:
-
повышение эффективности
численных методов, в частности, функций одномерной и многомерной интерполяции,
решения дифференциальных уравнений, решения систем линейных уравнений и др.;
-
введение адаптивного
контроля за вычислениями численными методами;
-
расширенный диапазон
аналитических преобразований, в том числе для уравнений с частными производными;
-
введение новой функции
полного упрощения Full Simplify, способной упрощать выражения со специальными
математическими функциями;
-
расширение числа форматов
файлов, в которых можно сохранять документы (в их числе популярные форматы
файлов EPS, TIFF, GIF, HPML и др.);
-
повышенное (полиграфическое)
качество документов; О улучшенное использование памяти ОЗУ.
Благодаря
этим и другим описанным выше возможностям сферы применения системы Mathematica
3 заметно расширились. Было создано свыше двух десятков профессиональных пакетов
расширения системы.
Система Mathematica 4
Ожидалось,
что, как и предшествующие реализации 1 и 2, система Mathematica 3 даст начало
многолетнему марафону постепенного усовершенствования этой системы. Но вопреки
этому фирма Wolfram совершила довольно неожиданный для нее шаг — не успели пользователи
разобраться с многими новациями Mathematica 3, как в июне 1999 г. на рынок была
выпущена новейшая реализация системы — Mathematica 4. При этом имеющиеся данные
свидетельствуют о коренном пересмотре базовых концепций, заложенных в систему.
Видимо, роль в этом сыграло приближение 2000 года.
Новая система
получила развитие прежде всего как система для быстрых и объемных
численных
вычислений при сохранении всего ее могущества в области
символьной
математики.
Значительно повышена скорость основных численных вычислений и операций с произвольной
разрядностью. Улучшена плотность упаковки массивов, введен ряд новых встроенных
функций. Повышена скорость работы пользовательского интерфейса, он стал более
удобным. Чего стоит, к примеру, такая мелочь, как изменение цвета элементов
выражений в ходе их ввода — это облегчает устранение ошибок при вводе сложных
выражений.
Теперь уже
окончательно ясно — разработчики системы продолжают интенсивно работать над
ней и превратили Mathematica 4 в мощную универсальную СКМ. И первые данные о
новой версии системы, которые читатель найдет в этой книге, ясно говорят о том,
что разработчики систем этого класса отнюдь не намерены уступать первенство
в создании наиболее сложных и продвинутых систем компьютерной алгебры. Возможности
новой системы весьма впечатляют!
Важно отметить,
что весьма обширные новые возможности Mathematica 4 относятся почти исключительно
к количественным показателям системы и никоим образом не влияют на статический
вид интерфейса систем (в сравнении с Mathematica 3) и на вид готовящихся документов-блокнотов
(notebooks). Поэтому в дальнейшем мы под системой Mathematica будем иметь в
виду одновременно обе версии — ставшую у нас хорошо известной Mathematica 3
и новейшую Mathematica 4. Указание на конкретную версию будет делаться только
в том случае, если описываются ее специфические возможности. Многочисленные
внутренние отличия системы Mathematica 4 от Mathematica 3 будут рассмотрены
по ходу дела.
Работа
с системами Mathematica 3 и Mathematica 4 происходит практически одинаково.
Небольшое ускорение при ряде манипуляций с интерфейсом Mathematica 4 внешне
не сказывается на такой работе. Поэтому, за редкими (и оговоренными) исключениями,
все, что описано применительно к системе Mathematica 4, применимо и к Mathematica
3. Однако отличия ранних версий Mathematica 2.x от описанных в книге версий
нового поколения достаточно серьезны, поэтому их пользователям описание пользовательского
интерфейса Mathematica 3/4 не подходит, хотя набор операторов и функций ранних
версий является сокращенным набором этих средств, описанных в данной книге.