Macsyma - Macsyma

Macsyma (/ˈмæksɪмə/; «Символьный манипулятор Project MAC»)[1] один из старейших универсальных системы компьютерной алгебры все еще широко используется. Первоначально он разрабатывался с 1968 по 1982 г. Массачусетский технологический институт с Проект MAC.

В 1982 году Macsyma получила лицензию на Символика и стал коммерческим продуктом. В 1992 году Symbolics Macsyma была выделена в Macsyma, Inc., которая продолжала разрабатывать Macsyma до 1999 года. Эта версия все еще доступна для Microsoft с Windows XP Операционная система.

Версия MIT Macsyma 1982 года оставалась доступной для ученых и правительственных агентств США, и она распространяется США. Департамент энергетики (DOE). Эта версия, DOE Macsyma, поддерживалась Билл Шелтер. Под именем Максима, он был выпущен под GPL в 1999 году и находится на активном техническом обслуживании.

Разработка

Проект был инициирован в июле 1968 г. Карл Энгельман,[2]Уильям А. Мартин (интерфейс, отображение выражений, полиномиальная арифметика) и Джоэл Моисей (упрощение, неопределенная интеграция: heuristic / Риш). Билл Мартин руководил проектом до 1971 года, а Мозес руководил им в течение следующего десятилетия. Энгельман и его сотрудники уехали в 1969 году, чтобы вернуться в Корпорация МИТЕР.[1] Некоторый код взят из более ранних работ, в частности, упрощитель Кнута Корсволда.[3][4] Позже основными разработчиками ядра математики были:[5]Яннис Августис (специальные функции ), Дэвид Бартон (решение алгебраических системы уравнений ), Ричард Боген (специальные функции ), Билл Дубюк (неопределенная интеграция, пределы, степенной ряд, теория чисел, специальные функции, функциональные уравнения, сопоставление с образцом, подписывать запросы, Грёбнер, TriangSys),Ричард Фейтман (рациональные функции, сопоставление с образцом, с плавающей точкой произвольной точности ),Майкл Дженезерет (сравнение, база знаний), Джефф Голден (упрощение, язык, система),Р. В. Госпер (определенный суммирование, специальные функции, упрощение, теория чисел ), Карл Хоффман (общий упрощитель, макросы, некоммутативный Упроститель, порты в Мультики и LispM, система, визуальный редактор формул ), Чарльз Карни (зарисовка), Джон Кулп, Эд Лафферти (ODE решение, специальные функции ), Ставрос Макракис (реальные / мнимые части, компилятор, система), Ричард Павел (ориентировочное тензорное исчисление, общая теория относительности упаковка, обычная и уравнения в частных производных ), Дэвид А. Спир (Грёбнер ),[6][7]Барри Трейджер (алгебраическое интегрирование,[8] факторинг, Грёбнер[9]),Пол Ван (полином факторизация и НОД, сложные числа, пределы, определенная интеграция, Фортран и Латекс генерация кода), Дэвид Ю. Ю. Юнь (полиномиальный НОД ), Гейл Захария (Грёбнер )[9][10]и Рич Циппель (степенной ряд, полином факторизация, теория чисел, комбинаторика ).

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

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

В 1979 году в ответ на запрос Ричарда Фейтмана, тогда профессора Калифорнийский университет в Беркли, MIT предоставил временную лицензию на код Macsyma. Об этом почти сразу же заговорили на новом VAX-11/780 компьютер с использованием диалекта Maclisp, Ференц Лисп, написанная группой Fateman. Массачусетский технологический институт неохотно лицензировал версии VAX Macsyma из Беркли примерно 50 университетам, начиная с Калифорнийского технологического института, при условии, что лицензии будут отозваны после завершения переговоров о надлежащей лицензии. Действительно, это произошло, когда переговоры с Symbolics (см. Ниже) были завершены. Symbolics не хотела лицензировать продукт VAX, так как VAX составлял конкурентоспособное оборудование для их собственных машин Lisp и поэтому подавлял программное обеспечение VAX в течение пяти лет. Калифорнийский университет в Беркли также разместил копии Macsyma на Motorola 68000 -системы, в первую очередь солнце рабочие станции. Символика подавляла и их. В то же время Fateman работал над изменением (теперь отозванной) временной лицензии Macsyma на нечто более постоянное.

В конечном итоге Министерство энергетики США наложил на MIT требование о выпуске копии в Национальный центр программного обеспечения для энергетики (NESC) в 1982 году, позволяя Массачусетскому технологическому институту устанавливать ограничения с точки зрения высокой цены и отсутствия повторного распространения. Это было сделано для защиты передачи технологии Symbolics. (Такие ограничения были сняты с 2002 года или около того.) Эта так называемая Macsyma Министерства энергетики была переписана в Массачусетском технологическом институте в предварительном порядке.Common Lisp диалект называется NIL lisp, не полностью реализовано на VAX / VMS, непопулярная система в академических кругах, где Berkeley VAX Unix было обычным явлением. DOE Macsyma легла в основу гораздо более позднего проекта с открытым исходным кодом Максима система.

В 1981 году Моисей и Ричард Павел, сотрудник Массачусетского технологического института и сторонник применения Macsyma в инженерии и науке, попытался создать компанию для коммерциализации Macsyma. Павел написал много научных статей, используя Macsyma. С документами в руках Павел и Моисей обратились к нескольким венчурным компаниям, которые проявили интерес к финансированию стартапа Macsyma. Поскольку потенциальные сделки близки к завершению, MIT внезапно решил, что персонал MIT не должен напрямую получать прибыль от разработок MIT. В начале 1982 года Macsyma получила лицензию MIT на Артур Д. Литтл, Inc. (ADL), которая стала брокером Macsyma и вскоре передала Macsyma лицензию на Символика в конце 1982 г. Моисей был вытеснен ADL, и Павел стал главой подразделения Macsyma в Symbolics. Было очевидно, что Symbolics была заинтересована не столько в коде, сколько в том, чтобы убрать Macsyma из каталога программного обеспечения своего конкурента в бизнесе Lisp Machine. LMI. Деловое соглашение между Symbolics и Артуром Д. Литтлом требовало выплаты роялти ADL в размере 15% от валовых продаж Macsyma. Этот гонорар породил слухи о желании MIT и ADL видеть процветание MACSYMA. Разработка Macsyma продолжалась в Symbolics, несмотря на то, что это рассматривалось как отвлечение от продаж Лисп-машины, который Symbolics считал своим основным бизнесом, несмотря на то, что продажи Macsyma и продажи Lisp Machines с использованием заемных средств достигли 10% от общих продаж Symbolics в течение двух лет. Несмотря на сопротивление многих в Symbolics, Macsyma была выпущена для DEC Компьютеры VAX и рабочие станции Sun, использующие Berkeley's Ференц Лисп в начале-середине 80-х гг.

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

Павел руководил отделом Macsyma в Symbolics до начала 1986 года. Во второй половине 1986 года. Ричард Петти стал менеджером бизнеса Macsyma, чтобы снизить продажи и избежать конфликтов с сотрудниками Symbolics. Macsyma сократила численность персонала, но расширила свои продажи и маркетинг, а также сосредоточила внимание разработчиков на функциях, которые просили клиенты. (Например, Копье-Захария (Грёбнер ) Базовый алгоритм, реализованный в 1970-х годах в Массачусетском технологическом институте, не был установлен в поставляемой Macsyma до 1987 года.) В 1987 году годовая выручка Macsyma увеличилась примерно вдвое. MACSYMA стала более удобной для пользователя: документация и он-лайн справка были реорганизованы и расширены; некоторые имена команд были изменены, чтобы стать более мнемоническими. Система была перенесена на Common Lisp (автор: Кент М. Питман ). Петти заявил руководству Symbolics, что Macsyma - это «стратегическая бизнес-единица», которую следует финансировать на основе ее производительности и потенциала, а не на основе перспектив основного бизнеса по производству рабочих станций. Однако после этого периода резкого роста компания Symbolics сократила численность персонала Macsyma; Symbolics пыталась использовать Macsyma как крохотную дойную корову, чтобы покрыть убытки бизнеса рабочих станций, которые в 30 раз превышали его размер.

Самым большим недостатком Macsyma был численный анализ. Освоение символической математики было титанической задачей; но числовые возможности были критически важны для выхода на гораздо более крупные инженерные и более мелкие научные рынки. В MIT Macsyma была ссылка на IMSL (теперь продукт Программное обеспечение Perforce ) числовые библиотеки, но эта ссылка была разорвана, когда Macsyma перешла на Symbolics. Разработчики Lisp в Symbolics в целом полагали, что численный анализ - это старая технология, которая не важна для приложений Lisp, поэтому они отказались инвестировать в нее. Двойная точность арифметика в Macsyma (на ПК version) был примерно в шесть раз медленнее, чем Fortran. Кроме того, матрицы Macsyma были реализованы в виде списков списков, что стоило еще 5-10 раз в скорости ключевых алгоритмов. У Macsyma не было многих основных алгоритмов числовой линейной алгебры, таких как LU разложение.

В 1987-88 годах группа Macsyma пыталась создать Macsyma для ПК с Голд Хилл Лисп. (Ранее Symbolics закрыла свой собственный проект по созданию компилятора Lisp для стандартных компьютеров, чтобы избежать конкуренции с продажами машин Lisp. Это был спорный шаг, который, по некоторым сведениям, был предпринят без одобрения высшего руководства. Symbolics также отказалась сотрудничать с Sun сделала Lisp доступным на рабочих станциях Sun по той же причине.) Gold Hill Lisp был слишком нестабильным, и его слабая архитектура не позволяла Gold Hill устранять ошибки. Это был серьезный провал Macsyma. Это означало, что Macsyma не могла отвечать на ПК, когда Mathematica появилась на компьютерах Apple в середине 1988 года. Macsyma появилась на Windows ПК в августе 1989 года с использованием CLOE Lisp от Symbolics. Тем не менее, персонал Macsyma был слишком мал и не обладал набором навыков, необходимых для добавления графики, интерфейса ноутбука и улучшенных числовых показателей, которые Mathematica имел.

К 1989 году Петти стало ясно, что Symbolics рухнет из-за плохой стратегии продукта и что Macsyma унесет с собой. (Некоторые проблемы с продуктом: (1) программное обеспечение Symbolics было разработано для разработчиков программного обеспечения класса MIT без достаточных уступок другим. (2) Программное обеспечение мирового класса Symbolics теряло долю на рынке из-за зависимости от очень дорогостоящего оборудования. (3) При переходе на СБИС оборудования в середине 1980-х, Symbolics преобразовала из 36-битного размер слова до 40-разрядной версии, без объяснения рынка огромных затрат на разработку этого изменения.) Macsyma не смогла собрать команду по выкупу из-за отсутствия сотрудничества с MIT. После того, как с 1986 года в достаточной степени умалчивает о проблемах, связанных с продуктом, Петти в конце 1988 года попытался убедить Symbolics принять стратегию, касающуюся только программного обеспечения или уровня платы; но четвертый президент через четыре года ничего об этом не услышит. В 1990 году Петти ушел из Symbolics и основал свой стартап.

Macsyma, Inc.

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

В начале 1995 года компания выпустила Macsyma 2.0.5 со многими улучшениями: на большом тесте Вестера по символьной математике Macsyma 2.0.5 набрала на 10% больше баллов, чем Maple, и на 15% лучше, чем Mathematica.[12] Хотя Macsyma 2.0.5 все еще была очень медленной в вычислениях, в ней был значительно усилен портфель программ численного анализа и линейной алгебры. (В 1996 году Macsyma добавил ЛАПАК что значительно увеличило скорость большинства числовой линейной алгебры.).

В команду разработчиков в это время входили Джефф Голден (язык, компилятор и т.д.), Билл Госпер (специальные функции, суммирование), Говард Кэннон (пользовательский интерфейс, оптимизация) и несколько консультантов. Билл Дубюк работал над интеграцией, решением уравнений, базами данных и оптимизацией. Кристофер Стейси и Дэвид Х. Вуд добавили MATLAB язык и функциональность матрицы. Другие разработчики внесли большой вклад в численный анализ, графику и справочные системы.

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

В 1999 году Macsyma были приобретены ООО «Тенедос», холдинговая компания, ранее купившая Symbolics. Холдинговая компания не переиздавала и не перепродавала Macsyma, но компания Symbolics продолжает распространять Macsyma для Майкрософт Виндоус версии до Windows XP.[13]

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

Также есть GPL -лицензионная версия, называемая Максима, основанный на версии DOE Macsyma 1982 года, впоследствии адаптированной для Common Lisp и улучшенной Уильям Шелтер. Он находится в активной разработке и может быть скомпилирован под несколько Common Lisp системы. Загружаемые исполняемые файлы для GNU /Linux, Майкрософт Виндоус, Mac OS X и другие системы, в том числе графический пользовательский интерфейс доступны. Maxima не включает многие из многочисленных функций, добавленных в период коммерческой разработки между 1982–1999 гг., Но представляет собой текущую бесплатную открытую базу кода, которая включает в себя множество дополнительных функций, несколько альтернативных интерфейсов и работает с рядом движков Common Lisp. . Хотя это привело к некоторой несовместимости между Macsyma и Maxima, программы, написанные на алгебраическом языке Macsyma, часто можно запускать с небольшими изменениями в любой системе.

Рекомендации

  1. ^ а б Моисей, Иоиль (май 2008 г.). "Macsyma: личная история" (PDF). Вехи в компьютерной алгебре.. Смотрите также Джоэл Моисей (2012), «Macsyma: личная история», Журнал символических вычислений, 47 (2): 123–130, Дои:10.1016 / j.jsc.2010.08.018
  2. ^ «Мемориальный фонд Карла Энгельмана» (PDF). Информационный бюллетень FINITE STRING. Американский журнал компьютерной лингвистики, том 9, номера 3-4, июль – декабрь 1983 г. Архивировано из оригинал (PDF) на 2003-04-28.
  3. ^ Ричард Дж. Фейтман, "Общее упрощение MACSYMA: философия и принцип действия", Конференция пользователей Macsyma 1979 полный текст, раздел 2
  4. ^ Кнут Корсвольд, "Онлайн-программа для нечисловой алгебры", SYMSAC '66 Материалы первого симпозиума ACM по символическому и алгебраическому манипулированию п. 1301-1314 Дои:10.1145/800005.807963
  5. ^ Макконе, Клод (2012). Математический SETI: статистика, обработка сигналов, космические миссии. Springer. п. 75. ISBN  978-3-642-27436-7.
  6. ^ Копье, Дэвид (июль 1977 г.). «Конструктивный подход к коммутативной теории колец». Материалы конференции пользователей MACSYMA 1977 года.
  7. ^ Мора, Тео (2005). Глава 26, Копье, в: Решение систем полиномиальных уравнений II: Парадигма Маколея и технология Гребнера. ISBN  9780521811569.
  8. ^ Трагер, Барри (1984). "Интегрирование алгебраических функций. Кандидатская диссертация, Массачусетский технологический институт, Кембридж, Массачусетс". HDL:1721.1/15391.
  9. ^ а б Джанни, Патриция; Трейджер, Барри; Захария, Гейл (1988). «Базисы Грёбнера и примарное разложение полиномиальных идеалов». Журнал символических вычислений. 6 (2–3): 149–167. Дои:10.1016 / S0747-7171 (88) 80040-3.
  10. ^ Захария, Гейл (июнь 1978 г.). «Обобщенные базисы Грёбнера в коммутативных кольцах многочленов». B.Sc. докторская диссертация, Массачусетс, Кембридж, Массачусетс ". Отсутствует или пусто | url = (помощь)
  11. ^ Макконе, Клаудио (30 августа 2012 г.). Математический SETI: статистика, обработка сигналов, космические миссии. Springer Science & Business Media. ISBN  9783642274374.
  12. ^ «Критика математических способностей систем CA». Обзор Вестера 1995 г. и обзор 1999 г.
  13. ^ Домашняя страница Macsyma, http://www.symbolics-dks.com/Macsyma-1.htm

внешняя ссылка