Macsyma

Macsyma

Macsymaсистема компьютерной алгебры, первая версия которой была разработана с 1968 по 1982 год в MIT в лаборатории Project MAC, а впоследствии распространялась на коммерческой основе. Это была первая всеобъемлющая система символьной математики и одна из ранних систем, основанных на знаниях. Многие из идей, появившихся в Macsyma впоследствии были заимствованы такими системами как Mathematica, Maple, и другими.

Содержание

Разработка

Проект был инициирован в июле 1968 года Карлом Энгельманом (англ. Carl Engelman), Вильямом Мартином (англ. William A. Martin) (интерфейс пользователя, отображение выражений, арифметика полиномов) и Джоэлем Мозесом (англ. Joel Moses) (механизм упрощения выражений, неопределённые интегралы: эвристики/алгоритм Риша). Бил Мартин был руководителем проекта до 1971 года, а Мозес следующие десять лет. Энгельман и его команда покинули проект в 1969 и вернулись в MITRE Corporation. Впоследствии, основными участниками разработки математического ядра программы были:

Macsyma была написана на языке программирования Maclisp, и являлась, в некоторых случаях, ключевым мотиватором для улучшения этого диалекта Лиспа в области числовых вычислений, эффективной компиляции, и дизайна самого языка. Maclisp работал в основном на компьютерах PDP-6 и PDP-10, а кроме того под операционной системой Multics и на Лисп-машинах. В то время Macsyma была одной из самых больших, если не самой большой программой на лиспе.

Коммерциализация

В 1981, Мозес и Ричард Павелль — сотрудник MIT и сторонник применения Macsyma в науке и технике — предложили создать компанию для коммерциализации Macsyma. Однако MIT применила ранее не применявшуюся политику, предотвращающую персонал от получения выгоды от разработок сделанных в MIT. В начале 1982, MIT лицензировал Macsyma компании «Arthur D. Little, Inc.», которая стала посредником в продажах Macsyma и вскоре (в конце 1982 года) лицензировала её компании Symbolics, которая таким образом предотвратила Macsyma от попадания в каталог программной продукции её соперника в деле производства Лисп-машин — компании LMI. Деловое соглашение между Symbolics и Arthur D. Little требовало отчислений в пользу ADL в размере 15 % с выручки от продаж Macsyma. Это привело к появлению сомнений в желании MIT и ADL видеть как MACSYMA процветает. Разработка Macsyma продолжалась в Symbolics несмотря на факт, что это выглядело как отступление от продаж Лисп-машин, которые Symbolics считали своим главным делом. Продажи Macsyma и возросшие благодаря ей продажи Лисп-машин в течение двух лет достигли 10 % общего объёма продаж в Symbolics. Несмотря на сопротивления многих в Symbolics, MACSYMA была выпущена для компьютеров DEC VAX-11 и рабочих станций Sun Microsystems с помощью Berkeley Franz Lisp в 1986 и 1987.

Однако, проблемы в Symbolics и в самой группе MACSYMA привели к закату Macsyma. В первой половине 1986 года, выручка от MACSYMA была ниже чем в первой половине 1985, и это на фоне растущей индустрии. В это время программы SMP фирмы Wolfram и Waterloo Maple росли, хотя MACSYMA легко превосходила эти другие пакеты в символьной математике.

В 1982 году, под давлением участника проекта Ричарда Фейтмана, в то время работавшего в Калифорнийском университете в Беркли, MIT лицензировал копию Macsyma Департаменту энергетики США, одному из главных спонсоров разработки Macsyma. Эта версия называлась DOE Macsyma. Symbolics MACSYMA столкнулась с потерей правительственного рынка в пользу версии DOE, что было солидной долей. Этот 'раскол' способствовал разногласиям в правительстве о том имел ли право какой-либо университет лицензировать третьим лицам технологию разработанную в университете и финансируемую федеральным правительством. Этот вопрос был решён положительно исполнительным приказом президента Рейгана примерно в 1986 году (приблизительно) в попытке улучшить национальную технологическую конкурентоспособность.

Павелль руководил подразделением MACSYMA в Symbolics вплоть до начала 1986 года. Во второй половине 1986 руководителем направления MACSYMA стал Ричард Петти. MACSYMA урезала персонал, но расширила свой отдел продаж и маркетинга, и больше сфокусировала своих разработчиков на возможности, которые просили покупатели. (Например, алгоритм Грёбнера разработанный в 1970-х в M.I.T. не был встроен в продававшуюся версию MACSYMA вплоть до 1987.) В 1987 году ежегодные доходы MACSYMA приблизительно удвоились. MACSYMA получила более дружественный к пользователю интерфейс: документация и онлайновая помощь были реорганизованы и расширены; имена некоторых команд были изменены на более легко запоминающиеся. Петти убеждал руководство Symbolics в том, что MACSYMA была 'стратегическим подразделением' которое должно финансироваться отталкиваясь от его достжений и потенциала, а не на перспективах главного бизнеса рабочих станций. Однако после этого периода резкого роста Symbolics урезала персонал MACSYMA; Symbolics пыталась использовать MACSYMA в качестве дойной коровы чтобы компенсировать потери от бизнеса рабочих станций, который был в 30 раз больше.

Главной слабостью MACSYMA был численный анализ. Выполнение символьной математики было геркулесовой задачей, но численные возможности были критичными для получения доли на гораздо большем рынке инженерных и простейших научных расчётов. В MIT MACSYMA использовались численные библиотеки IMSL (сегодня Visual Numerics), но эта связь была разорвана, когда MACSYMA перешла к Symbolics. Лисп-программисты в Symbolics как правило считали, что численный анализ был устаревшей технологией, которая была не важна для приложений на Лисп, так что они отказались вкладывать в неё средства. Арифметика с плавающей запятой двойной точности в MACSYMA (в PC версии) была примерно в шесть раз медленнее чем на FORTRAN. Также матрицы в MACSYMA были реализованы как списки списков, что стоило ещё вероятно коэффициент 5-10 в скорости для ключевых алгоритмов. MACSYMA не имела многих базовых алгоритмов численной линейной алгебры, таких как LU-разложение.

В 1987-88, группа Macsyma пыталась перенести Macsyma на PC с помощью Gold Hill Lisp[1]. Gold Hill Lisp был слишком нестабильным, и его слабая архитектура сделала невозможным для Gold Hill устранить ошибки. Это была решающая неудача для Macsyma. Она означала что Macsyma не могла ответить на платформе PC, когда Mathematica появилась на компьютерах Apple в середине 1988. Версия MACSYMA для Windows, использующая CLOE Lisp от Symbolics, появилась в августе 1989. Однако, штат разработчиков Macsyma был слишком маленьким и нуждался в смеси способностей требующихся для добавления того типа графики, интерфейса пользователя и улучшенных численных возможностей, которые были в Mathematica.

К 1989 году Петти стало ясно, что Symbolics разрушится из‑за слабой стратегии развития продуктов, и что она утянет MACSYMA с собой:

  1. Программное обеспечение Symbolics было разработано для MIT-class software developers без достаточных уступок другим.
  2. Программное обеспечение Symbolics было высочайшего уровня, но теряло свою долю рынка из‑за зависимости от очень дорогостоящего оборудования.
  3. Перейдя в середине 1980‑х на VLSI hardware, Symbolics перешла с 36‐битного слова на 40‐битное, без рыночного обоснования огромной стоимости разработки этого изменения.

Из-за отсутствия взаимодействия с MIT Macsyma не могла собрать команду, заинтересованную в выкупе прав на её дальнейшую разработку. После вынужденного безмолвия о судьбе продукта с 1986 года, в конце 1988 года Петти попытался убедить Symbolics изменить стратегию на software-only или board-level strategy; но четвёртый по счёту президент компании за четыре года не хотел ничего слышать об этом. В 1990 Петти покинул Symbolics, чтобы создать свою собственную компанию.

Macsyma Inc.

Macsyma Inc., была основана в 1992 году Расселом Нофтскером (англ. Russell Noftsker) (председателем совета директоров, сооснователем Symbolics) и Ричардом Петти наращиванием средств и покупкой права на Macsyma у больной Symbolics. Хотя рынок быстро рос, продажи Macsyma в 1991 и начале 1992 всё ещё быстро падали. Рыночная доля Macsyma в программах символьной математики упала с 70 % в 1987 до 1 % в 1992. К началу 1993, рост рынка замедлился и рынок принял в качестве стандарта Mathematica и Maple. В течение 1990-х конкуренты имели группы разработчиков, которые были в 4-8 раз больше группы в Macsyma Inc.

В начале 1995 компания выпустила Macsyma 2.0.5, с следующими улучшениями:

  1. On Wester’s large test of symbolic math, Macsyma 2.0.5 показала результаты на 10 % лучше, чем Maple и на 15 % лучше, чем Mathematica. Вместо того, чтобы быть очень медленной, она в среднем была быстрее, чем Mathematica и почти такой же быстрой, как и Maple.
  2. Macsyma 2.0.5 имела лучший notebook interface, чем любой из конкурентов, который умел отображать математические формулы, форматированный текст, гиперссылкми, и самый лучший научный графический интерфейс в индустрии математического программного обеспечения.
  3. Обозревателями единогласно решено, что Macsyma имела лучшую систему помощи в промышленности (включая гипертекст, демонстрации, примеры, шаблоны функций, and later Mathtips natural language query). Macsyma также значительно улучшила свою бумажную документацию.
  4. Хотя Macsyma 2.0.5 всё ещё была очень медленной при работе с числами, она имела значительно усиленный портфель подпрограмм численного анализа и линейной алгебры[2]. Обзор в PC Magazine (англ.)русск. восторженно говорил, что «Macsyma является лидером на рынке математических программ.»

Данное достижение было возможным потому что Macsyma Inc. имела значительное число разработчиков мирового класса, включая Джефа Голдена (англ. Jeff Golden) (который сделал большую часть символьной математики), Била Госпера (англ. Bill Gosper) (который сделал специальные функции, summations and other areas), Howard Cannon (вице-президент по разработке всего ПО), и периодические консультации Bill Dubuque (для интегрирования и решения уравнений). Другие разработчики сделали важный вклад в численный анализ, графику, и систему помощи.

Компания не могла бесконечно продолжать соперничество с командами разработчиков в 4-8 раз большими и развернуть рынок на себя. Рыночная доля не выросла выше 2 %, потому что конкуренты укрепились во всех ключевых позициях, переход на новый продукт требует много сил на обучение, а рост рынка замедлился и новых пользователей не появлялось. Также, начиная с 1992 или 1993 года, Mathsoft предприняла Пиррову стратегию, потратив 10 миллионов долларов на прямую почтовую рассылку по очень низким ценам, что позволило ей захватить большую часть оставшегося роста на рынке символьной математики, как раз в тот момент, когда Macsyma Inc. пыталась модернизировать свой продукт мирового класса.

В 1999, Macsyma была куплена Tenedos LLC, холдинговой компанией, которая ранее купила Symbolics. Tenedos не стала снова выпускать или перепродавать Macsyma, однако Symbolics продолжает распространять Macsyma.

Доступные версии

Существует выпущенная под GNU General Public License и основанная на DOE Macsyma 1982 года версия которая называется Maxima, перенесённая впоследствии на Common Lisp и улучшенная В. Шелтером. Она находится в активной разработке, и может быть скомпилирована под несколько различных реализаций Common Lisp. Можно скачать исполняемые файлы для GNU/Linux, Microsoft Windows, Mac OS X и других систем, включая графический интерфейс пользователя. Maxima не включает ничего из многочисленных улучшений сделанных в коммерческой версии Macsyma между 1982—1999 годами. Из‑за этого могут потребоваться значительные усилия чтобы перенести код с Macsyma в Maxima.

Примечания

  1. Ранее, Symbolics убила свой собственный проект создания компилятора Lisp для стандартных компьютеров чтобы избежать соревнования с продажами Лисп-машин. Это был спорный шаг, который по некоторым оценкам был сделан без санкции высшего руководства. Symbolics также отказалась сотрудничать с Sun чтобы сделать Лисп доступным на рабочих станциах Sun по той же причине.
  2. В 1996 Macsyma добавила LAPACK, который значительно увеличил скорость работы большинства числовых вычислений линейной алгебры.

Ссылки


Wikimedia Foundation. 2010.

Смотреть что такое "Macsyma" в других словарях:

  • Macsyma — is a computer algebra system that was originally developed from 1968 to 1982 at MIT as part of Project MAC and later marketed commercially. It was the first comprehensive symbolic mathematics system and one of the earliest knowledge based… …   Wikipedia

  • Macsyma — ist ein Computeralgebrasystem, das in der Sprache Lisp implementiert ist. Maxima ist eine Open Source Version von Macsyma. Geschichte Ursprünglich wurde Macsyma 1968 bis 1982 im Labor für künstliche Intelligenz (en) des MIT als Teil des DARPA… …   Deutsch Wikipedia

  • MACSYMA — Projekt •SYmbolic MAnipulation system …   Acronyms

  • MACSYMA — Projekt [3]SYmbolic MAnipulation system …   Acronyms von A bis Z

  • MACSYMA — acronym project MAC s SYmbolic MAnipulation System …   United dictionary of abbreviations and acronyms

  • Franz Lisp — Franz Lisp, written at UC Berkeley by the students of Professor Richard J. Fateman, was a Lisp system based largely on Maclisp, but written specifically to be a host for running the Macsyma computer algebra system on a Digital Equipment Corp… …   Wikipedia

  • Maxima (software) — For other uses, see Maxima (disambiguation). Maxima wxMaxima screenshot …   Wikipedia

  • Maxima — Maxima …   Википедия

  • Bill Gosper — Infobox Person name = Ralph William Gosper, Jr image size = 150px birth date = 1943 birth place = occupation = Programmer employer = residence = nationality = American field = computer scientist, mathemtician work institutions = Xerox PARC,… …   Wikipedia

  • NIL (programming language) — This is about the programming language. For other uses see Nil. Nil Paradigm(s) multi paradigm: functional, procedural Appeared in 1970s Designed by Jon L White Developer Jon L White, Guy L. Steele, Jr. and …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»