Тридцать пять лет назад развилось очень интересное новшество в математической инфраструктуре —
Программу Macsyma, которую с 1967 по 1982 г. разрабатывали в MIT Уильям Мартин, Карл Энгельман и Джоэль Мозес, можно назвать революционной, поскольку это был первый многофункциональный пакет
К слабым сторонам Macsyma нужно отнести то, что она могла работать только на очень мощном компьютере, и язык ее программирования по сути был языком искусственного интеллекта. Программировать на Macsyma было сложно. Но на протяжении многих лет ничего подобного не существовало. Например, найти собственные значения матрицы 20x20 вручную крайне сложно. Macsyma справлялась с этой задачей в мгновение ока. Практически невозможно решить систему десяти обыкновенных дифференциальных уравнений с десятью переменными вручную; для Macsyma же в этом нет ничего сложного. Хотя в наше время существует много программных продуктов, превзошедших Macsyma, от нее осталось наследие в виде подпрограмм; например, для изучения вопросов общей теории относительности. Так что Macsyma все еще используется.
В начале 1980-х гг. природа манипуляций с символами существенно изменилась. Лауреат стипендии Мак-Артура Стивен Вольфрам разработал новый пакет под названием Mathematica. У этого продукта много преимуществ перед Macsyma:
• Mathematica может запускаться на персональном компьютере[91]
, например на PC или Macintosh.• У Mathematica прозрачный и интуитивно ясный синтаксис. Человек с математической подготовкой может программировать на Mathematica без затруднений.
• Mathematica — очень быстрая программа. Она может с высокой скоростью выполнять вычисления с любой точностью.
• Mathematica блестяще строит графики функций одной или двух переменных. Пользователь просто вводит формулу, неважно, насколько сложную, и через считанные секунды видит график. На него можно смотреть с любой точки и его можно вращать в пространстве (Macsyma, по крайней мере ее первые воплощения, вовсе не умела строить графики. В последних версиях появился дополнительный функционал[92]
).• Mathematica виртуозно отображает данные.
Стивен Вольфрам довольно агрессивно продвигал свой новый продукт на рынке, но на самом деле большой нужды в этом не было (см. также разд. 7.2). Если когда-либо существовал новый продукт, который показывал нам то, что раньше мы не видали, который считал то, о чем раньше мы и не мечтали, — то это Mathematica. Он был и остается довольно дорогим, и политика лицензирования компании Wolfram Research (которая производит пакет Mathematica) накладывает много ограничений. Однако Mathematica продается как горячие пирожки. На рис. 8.1 изображен пример графика, построенного в этом пакете.
Рис. 8.1.
График, созданный в пакете MathematicaНекоторым продуктам удается успешно конкурировать с Mathematica. Среди них — Maple от Waterloo и MATLAB компании MathWorks. Каждый из них в чем-то отличен от Mathematica. Например, многие предпочитают синтаксис Maple синтаксису Mathematica. Кроме того, Maple считается более надежной программой и предлагает некоторые функции, которых нет у Mathematica. Инженеры предпочитают MATLAB, поскольку эта программа лучше приспособлена для работы с числами, чем другие. Кроме того, MATLAB содержит в себе ядро Maple! А поэтому обладает некоторыми привлекательными чертами Maple.