1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /117, 1995 г./ | Бонус | Поиск  

Software

Пакет Mathematica – все для профессионала

Евгений Тимофеев


© 2004, Еженедельник «Компьютерра» | http://www.computerra.ru/offline
Этого материала на сайте "Компьютерры", к сожалению, нет

Впервые выпущенный компанией Wolfram Research в 1987 году, пакет Mathematica, о котором пойдет сегодня речь, до сих пор ценится специалистами за то, что обладает весьма внушительным набором средств для решения математических задач. Но сегодня ситуация на рынке матпрограмм такова, что конкурирующие продукты едва ли не наступают на пятки общепризнанного лидера. Поэтому в компании Wolfram Research приняли решение о совершенствовании пакета.

Один из шагов в этом направлении – расширение совместимости с различными платформами. На сегодня Mathematica реализована во всех более-менее известных операционных средах. Из огромного списка выделю лишь версии пакета для DOS, Macintosh, различных UNIX-платформ, Windows (в том числе и для Windows NT), OS/2.

Мобильность Mathematica обеспечивается наличием в программе четко выраженного ядра, являющегося аппаратно-независимым, что и позволяет системе быть многоплатформной, а также вызывать функции Mathematica из "посторонней" среды (например, из Excel). Кроме того, при работе с программой ядро может находиться на удаленном сервере (связь осуществляется по модему, протокол TCP/IP).

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

Остановимся подробней на версии программы под Windows Mathematica, работающая из-под этой ОС, выполнена в двух конфигурациях – стандартной и расширенной (последняя оптимизирована для сопроцессора). Аппаратный минимум работы системы – 386-й процессор, 4 Мб оперативной памяти плюс 8 Мб виртуальной, DOS и Windows версии 3.1.

Структура пакета

В структуру Mathematica входят ядро (Kernel), загружаемое в память при первой же попытке произвести вычисления, интерфейсная часть и приложения .Пакет комплектуется также специальной утилитой MathLmk, позволяющей работать с Mathematica из программ, написанных на С и Visual Basic.

Кроме того, Wolfram Research выпускает отдельный пакет – MathLmk for Excel, чья интерфейсная часть фактически заменяется на среду Excel, и пользователь имеет возможность работать с данными "местного" формата (в том числе и со spreadsheet) средствами Mathematica, так как обращение происходит непосредственно к ядру.

Интерфейс пакета многие считают не очень дружественным. Главный режим, используемый в работе со средой, – командный ("ввод-вывод"). Может, и не очень любезно, зато, на мой взгляд, четко и ясно нужно что-то сделать – вводишь данные в строку "in", хочешь узнать, каков результат – смотри строку "out". Наконец, есть возможность одновременного открытия нескольких рабочих пространств, помещаемых в отдельные окна. Их количество зависит только от ресурсов компьютера.

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

 

 Как и во всякой математической программе, в Mathematica применяются всевозможного рода приложения к основной системе, содержащие специализированные функции для работы в конкретных областях знания. Часть из них выпускается самой Wolfram Research, авторство других программ-приложений принадлежит пользователям пакета со всего мира продукты собираются с помощью Internet и периодически выпускаются на CD по цене 45 долларов за "компакт".

Кроме упомянутой утилиты MathLmk стоило бы выделить такие приложения, как Electrical Engineering Pack, Finance Pack, Optica, Mechanical Systems Pack Полагаю, что их названия говорят сами за себя.

У пользователей пакета наибольший интерес традиционно вызывает принцип построения рабочего пространства. Данные каждого документа, находящегося в среде программы, образуют самую настоящую иерархическую структуру, обеспечивающую по сути гипертекстовый интерфейс. Элементы этой структуры – cells ("ячейки") – всегда доступны и могут быть целиком развернуты на экране.

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

Язык программирования

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

Возможности процедурного программирования, думается, все более или менее представляют. Ну, а под функциональным подразумевается оперирование со встроенными и пользовательскими функциями, являющимися основным инструментом в Mathematica. Каждая функция представляется системой как результат работы другой функции или же может быть разложена на несколько ее составляющих Кроме того, язык позволяет использовать возможности рекурсии.

Но особенно ценна способность языка обеспечивать так называемое продукционное программирование. Например, захотели вы, чтобы дважды два равнялось не 4, а, скажем, 5. Пожалуйста, сколько хотите. Иными словами, в Mathematica позволено переопределять аксиомы, правила вывода и встроенные функции. Понятное дело, простому пользователю незачем"посягать" на основы математической науки, напротив, он жизненно заинтересован в том, чтобы дважды два оставалось равным четырем. Так что данный инструмент ориентирован сугубо на специалистов, которые могли бы с его помощью, например, создавать собственные теории, моделировать личный математический мир.

Подстать языку программирования и имеющиеся в Mathematica возможности определения объектов. Конструирование последних не налагает на пользователя ограничений относительно их природы. Возможно использование списков разнотипных элементов – чисел, текстов, графиков и даже процессов (скажем, идущих на каком-нибудь удаленном сервере). При этом список можно легко возвести в степень либо произвести с ним какую-либо другую операцию.

Теперь несколько слов о вычислительных способностях Mathematica. Система обеспечивает численные (с произвольной разрядностью) и символьные вычисления, операции с полиномами, числовыми и символьными матрицами Работа со списками подразумевает также сортировку, объединение, пересечение, разбиение, подстановки и т.п. Возможны и более специфические операции.

Графика и звук

Одна из приятных особенностей Mathematica – графика пакета. Этот факт обусловлен в первую очередь возможностями системы при воспроизведении поверхностей моделируемых графических объектов. Используются различные режимы отображения каркасное, с цветным фоном, затененное(эмулируется освещение объекта), с отражаемостью и без. Помимо обычных двумерных и пространственных графиков возможно построение контурных и плотностных (цветных или черно-белых), а также изменение стиля кривых и осей и пространственного положения трехмерных графиков.

Кроме того, поддерживается режим анимации модификаций графических объектов "Оживить" последние можно не только с помощью специально предназначенных операций, но и посредством языка программирования, задавая в цикле нужные изменения.

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

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

Другие возможности

Mathematica предусматривает многошрифтовое цветное редактирование, производится также поиск и замена текста по содержанию и ключевым словам.

Вполне приемлем и "хэлп" системы. Здесь возможно проведение поиска нужных функций по тематическому и лексическому признакам. Более того, если пользователь, например, неправильно ввел выражение, Mathematica подскажет наиболее вероятный правильный вариант.

Ввод данных в систему извне осуществляется из файлов или других программ. Кроме, естественно, собственного формата приемлемы ASCII-файлы, для ввода сложных выражений можно воспользоваться Fortran-форматом Вывод же производится в форме исходного текста Fortran- или С-программы. Кроме того, возможен вывод данных в виде таблицы и текста для математического редактора ТеХ. Графический обмен информацией производится на языке PostScript с возможностями редактирования, поддерживается формат BitMap, для Macitosh – PICT и Adobe Illustrator, a для Windows – в форме метафайла.

Распространение продукта

Распространением Mathematica (ее последней версии 2.2.3) занимается и сама Wolfram Research, и целый ряд ее дистрибьюторов Например, в России ею торгует предоставившая материалы для данной статьи корпорация "СофтЛайн" Цена паке та остается пока довольно высокой – 1232 доллара для коммерческих организаций и 917 – для вузов.

 


1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /117, 1995 г./ | Бонус | Поиск  

© 2004, Издательский дом «Компьютерра» | http://www.computerra.ru
Телефон редакции: (095) 232-22-61
E-mail редакции: inform@computerra.ru