Максима
Macsyma ( / ˈ m æ k s ɪ m ə / ; «Символический MAnipulator проекта MAC») [1] общего назначения, — одна из старейших систем компьютерной алгебры которая до сих пор широко используется. Первоначально он разрабатывался с 1968 по 1982 год в рамках института Массачусетского технологического проекта MAC .
В 1982 году лицензия на Macsyma была передана компании Symbolics и стала коммерческим продуктом. В 1992 году компания Symbolics Macsyma была выделена в компанию Macsyma, Inc., которая продолжала разрабатывать Macsyma до 1999 года. Эта версия до сих пор доступна для Windows Microsoft XP операционной системы .
Версия MIT Macsyma 1982 года оставалась доступной для ученых и правительственных учреждений США и распространяется Министерством энергетики США (DOE). Эту версию, DOE Macsyma, поддерживал Билл Шелтер . Под названием Maxima он был выпущен под лицензией GPL в 1999 году и до сих пор находится на активной поддержке.
Разработка
[ редактировать ]Проект был инициирован в июле 1968 года Карлом Энгельманом . [2] Уильям А. Мартин (интерфейс, отображение выражений, полиномиальная арифметика) и Джоэл Мозес (упрощение, неопределенное интегрирование : эвристика/Риш). Мартин руководил проектом до 1971 года, а Мозес руководил им в течение следующего десятилетия. Энгельман и его сотрудники уехали в 1969 году, чтобы вернуться в корпорацию MITRE . [1] Некоторый код взят из более ранних работ, в частности, из упрощения Кнута Корсволда. [3] [4] Позже основными участниками основного математического движка были: [5] Яннис Августис ( специальные функции ),Дэвид Бартон (решение алгебраических систем уравнений ),Ричард Боген ( специальные функции ),Билл Дюбук ( неопределённое интегрирование , пределы, степенные ряды, теория чисел , специальные функции , функциональные уравнения, сопоставление с образцом , знаковые запросы, Грёбнер , TriangSys), Ричард Фэйтман ( рациональные функции , сопоставление с образцом , числа с плавающей запятой произвольной точности ), Майкл Генесерет (сравнение, база знаний),Джефф Голден (упроститель, язык, система), Р.В. Госпер (определенное суммирование , специальные функции , упрощение, теория чисел ),Карл Хоффман (общий упроститель, макросы, некоммутативный упроститель, порты на Multics и LispM , система, редактор визуальных уравнений ),Чарльз Карни (сюжет),Джон Калп,Эд Лафферти ( ОДУ решение , специальные функции ),Ставрос Макракис ( действительные/мнимые части , компилятор, система),Ричард Павелль ( индициальное тензорное исчисление , пакет общей теории относительности , обыкновенные уравнения и уравнения в частных производных ),Дэвид А. Спир ( Грёбнер ), [6] [7] Барри Трэгер (алгебраическое интегрирование, [8] факторинг , Грёбнер [9] ), Пол С. Ван (полиномиальная факторизация и НОД , комплексные числа , пределы, определенное интегрирование , Fortran и LaTeX генерация кода ),Дэвид Ю.Ю. Юн (полиномиальные НОД ),Гейл Захариас ( Грёбнер ) [9] [10] иРич Зиппель ( степенной ряд , полиномиальная факторизация , теория чисел , комбинаторика ).
Macsyma была написана на Maclisp и в некоторых случаях была ключевым мотиватором для улучшения этого диалекта Lisp в области числовых вычислений, эффективной компиляции и проектирования языка. Сам Maclisp работал в основном на компьютерах PDP-6 и PDP-10 , а также на Multics ОС и на архитектурах Lisp Machine . Macsyma была одной из крупнейших, если не самой крупной, программой на Лиспе того времени.
Коммерциализация
[ редактировать ]В 1979 году в ответ на запрос Ричарда Фейтмана, тогда профессора Калифорнийского университета в Беркли , Массачусетский технологический институт предоставил временную лицензию на код Macsyma. Это было почти сразу же реализовано на новом компьютере VAX-11/780 с использованием диалекта Maclisp, Franz Lisp , написанного группой Фейтмана. Массачусетский технологический институт неохотно лицензировал версии VAX Macsyma из Беркли примерно 50 университетам, начиная с Калифорнийского технологического института, при условии, что лицензии будут отозваны, когда переговоры о соответствующей лицензии будут завершены. Действительно, это произошло, когда переговоры с Символикой (см. ниже) были завершены. Компания Symbolics не хотела лицензировать продукт VAX, поскольку VAX представляла собой конкурентоспособное оборудование для их собственных Lisp-машин, и поэтому закрыла программное обеспечение VAX на пять лет. Калифорнийский университет в Беркли также представил копии Macsyma для систем на базе Motorola 68000 , в первую очередь для Sun. рабочих станций Символика подавляла и их. В то же время Fateman работал над изменением (теперь отозванной) временной лицензии Macsyma на нечто более постоянное.
В конечном итоге в 1982 году Министерство энергетики США наложило на MIT требование выпустить копию в библиотеку Национального центра энергетического программного обеспечения (NESC), одновременно разрешив MIT устанавливать ограничения с точки зрения высокой цены и отсутствия перераспределения. Это было сделано для защиты передачи технологий в символику. (Такие ограничения были сняты примерно в 2002 году.) Эта так называемая DOE Macsyma была переписана в Массачусетском технологическом институте на диалекте, существовавшем до появления Common Lisp , под названием NIL lisp , не полностью реализованном на VAX/VMS , непопулярной системе в академических кругах, где Беркли VAX Unix был обычным явлением. Министерство энергетики США Macsyma легло в основу более поздней системы Maxima с открытым исходным кодом .
В 1981 году Мозес и Ричард Павелль , сотрудник Массачусетского технологического института и сторонник применения Macsyma в технике и науке, попытались создать компанию для коммерциализации Macsyma. Павел написал множество научных статей, используя Macsyma. Имея документы на руках, Павел и Мозес обратились к нескольким фирмам венчурного капитала, которые проявили интерес к финансированию стартапа Macsyma. Поскольку потенциальные сделки были близки к завершению, MIT внезапно решил, что персонал MIT не должен получать прямую прибыль от разработок MIT. В начале 1982 года Массима получила лицензию MIT на компанию Arthur D. Little , Inc. (ADL), которая стала брокером Macsyma и вскоре в конце 1982 года передала лицензию на Macsyma компании Symbolics. ADL вытеснила Моисея из поля зрения, и Павел стала руководитель подразделения Macsyma в компании Symbolics. Было очевидно, что компания Symbolics была заинтересована не столько в коде, сколько в том, чтобы не допустить включения Macsyma в каталог программного обеспечения своего конкурента в бизнесе Lisp Machine, LMI . Деловое соглашение между символикой и Артуром Д. Литтлом предусматривало выплату ADL роялти в размере 15% от валового объема продаж Macsyma. Этот гонорар привел к предположениям о желании MIT и ADL добиться процветания MACSYMA. Разработка Macsyma продолжалась в Символике, несмотря на то, что это рассматривалось как отвлечение от продаж Lisp-машины , которые символика считала своим основным бизнесом, несмотря на то, что продажи Macsyma и продажи Lisp Machines с использованием заемных средств достигли 10% от общего объема продаж в символике в течение двух лет. Несмотря на сопротивление многих представителей символики, Macsyma была выпущена для компьютеров DEC Беркли VAX и рабочих станций Sun с использованием Franz Lisp в начале-середине 80-х.
Однако проблемы у Symbolics с продажами Macsyma на компьютерах, отличных от символики, в конечном итоге привели к падению продаж Macsyma. В первой половине 1986 года доходы Macsyma были ниже, чем в первой половине 1985 года в растущей отрасли. Wolfram Программа SMP компании и Waterloo Maple в то время развивались, хотя MACSYMA легко превосходил эти другие пакеты в символьной математике.
Павел руководил подразделением Macsyma в компании Symbolics до начала 1986 года. Во второй половине 1986 года Ричард Петти стал менеджером бизнеса Macsyma, чтобы сократить продажи и избежать конфликтов с сотрудниками символики. Macsyma сократила штат сотрудников, но расширила отдел продаж и маркетинга, а также сосредоточила внимание разработчиков на функциях, которые просили клиенты. (Например, базовый алгоритм Спира-Захариаса ( Грёбнера ), реализованный в 1970-х годах в Массачусетском технологическом институте, не был установлен в поставляемой Macsyma до 1987 года.) В 1987 году годовая выручка Macsyma примерно удвоилась. MACSYMA стала более удобной для пользователя: документация и онлайн-справка были реорганизованы и расширены; имена некоторых команд были изменены и стали более мнемоническими. Система была портирована на Common Lisp ( Кент М. Питман ). Петти утверждал руководству символики, что Macsyma — это « стратегическое бизнес-подразделение », которое следует финансировать исходя из его производительности и потенциала, а не исходя из перспектив основного бизнеса по производству рабочих станций. Однако после периода резкого роста компания Symbolics сократила численность персонала Macsyma; Символика пыталась использовать Macsyma как крошечную дойную корову для покрытия убытков бизнеса по производству рабочих станций, который превышал ее размер в 30 раз.
Самым большим недостатком продукта Macsyma был численный анализ. Овладение символической математикой было непростой задачей; но численные возможности имели решающее значение для получения части гораздо более крупных инженерных и более дешевых научных рынков. В Массачусетском технологическом институте у Macsyma была связь с числовыми библиотеками IMSL (теперь продукт Perforce Software ), но эта связь была разорвана, когда Macsyma перешла в символику. Разработчики Lisp из компании Symbolics обычно считали, что численный анализ — это старая технология, не имеющая значения для приложений Lisp, поэтому они отказывались вкладывать в нее средства. двойной точности Арифметика в Macsyma (версия для ПК ) была примерно в шесть раз медленнее, чем в Фортране. Кроме того, матрицы Macsyma были реализованы в виде списков списков, что привело к увеличению скорости ключевых алгоритмов еще в 5–10 раз. У Максимы не было многих основных алгоритмов числовой линейной алгебры , таких как LU-разложение .
В 1987-88 годах группа Macsyma пыталась создать ПК Macsyma с Gold Hill Lisp . (Ранее компания Symbolics свернула собственный проект по созданию компилятора Lisp для стандартных компьютеров, чтобы не конкурировать с продажами машин Lisp. Это был спорный шаг, который, по некоторым сведениям, был предпринят без одобрения высшего руководства. Символика также отказалась сотрудничать с Sun сделала Lisp доступным на рабочих станциях Sun по той же причине.) Gold Hill Lisp был слишком нестабильным, а его слабая архитектура не позволяла Gold Hill устранять ошибки. Это была решающая неудача для Macsyma. Это означало, что Macsyma не могла отвечать на ПК, когда Mathematica появилась на компьютерах Apple в середине 1988 года. Macsyma появилась на ПК с ОС Windows в августе 1989 года с использованием CLOE Lisp от Symbolics. Однако штат Macsyma был слишком мал, и ему не хватало навыков, необходимых для добавления такой графики, интерфейса ноутбука и более качественных вычислений, которые были в Mathematica .
К 1989 году Петти стало ясно, что символика рухнет из-за плохой продуктовой стратегии и что она заберет с собой Macsyma. (Некоторые проблемы с продуктом: (1) Программное обеспечение символики было разработано для разработчиков программного обеспечения класса MIT без достаточных уступок другим. (2) Программное обеспечение мирового класса символики теряло долю на рынке из-за зависимости от очень дорогого оборудования. (3) При переходе на аппаратное обеспечение СБИС в середине 1980-х годов компания Symbolics перешла с 36-битного размера слова на 40-битный, без оправдания рынком огромных затрат на разработку этого изменения.) Macsyma не смогла собрать наша команда из-за отсутствия сотрудничества со стороны MIT. После достаточного молчания с 1986 года о проблемах с продуктом, Петти в конце 1988 года попытался убедить символику принять стратегию только программного обеспечения или стратегии на уровне платы; но четвертый президент за четыре года ничего об этом не услышал. В 1990 году Петти покинул символику и основал стартап.
Максима, ООО
[ редактировать ]Компания Macsyma, Inc. была основана в 1992 году Расселом Нофтскером (председателем, который был соучредителем символики ) и Ричардом Петти (президентом, который на какое-то время изменил Macsyma в символике) путем сбора средств и покупки прав на Macsyma у больная Символика. [11] Хотя рынок быстро рос, продажи Macsyma в 1991 и начале 1992 года все еще быстро падали. Доля Macsyma на рынке программного обеспечения для символьных математических вычислений упала с 70% в 1987 году до 1% в 1992 году. К 1993 году рост рынка замедлился, и рынок стандартизировался на Mathematica и Maple. На протяжении 1990-х годов у конкурентов был штат разработчиков в 4–8 раз больше, чем у Macsyma Inc.
В начале 1995 года компания выпустила Macsyma 2.0.5 со многими улучшениями: в большом тесте символьной математики Вестера Macsyma 2.0.5 показала результаты на 10% лучше, чем Maple, и на 15% лучше, чем Mathematica. [12] Хотя Macsyma 2.0.5 все еще была очень медленной в числовых вычислениях, в ней был значительно расширен набор функций численного анализа и линейной алгебры. (В 1996 году Macsyma добавила LAPACK , что значительно увеличило скорость большинства численных операций линейной алгебры.)
В команду разработчиков в то время входили Джефф Голден (язык, компилятор и т. д.), Билл Госпер (специальные функции, суммирование), Говард Кэннон (пользовательский интерфейс, оптимизация) и несколько консультантов. Билл Дубьюк занимался интеграцией, решением уравнений, базой данных и оптимизацией. Кристофер Стейси и Дэвид Х. Вуд добавили MATLAB язык и функциональность матрицы. Другие разработчики внесли большой вклад в численный анализ, графику и справочные системы.
Компания не могла бесконечно продолжать опережать штат сотрудников в 4-8 раз и обратить вспять рыночную динамику. Доля рынка не выросла выше 2%, поскольку конкуренты закрепились во всех ключевых клиентах, переход на новый продукт требует очень больших затрат времени на обучение, а рост рынка замедлился. Кроме того, начиная с 1992 или 1993 годов Mathsoft использовала стратегию расходования 10 миллионов долларов на прямую почтовую рассылку по очень низким ценам, что обеспечило большую часть оставшегося роста на рынке символических математических вычислений, как раз в то время, когда Macsyma Inc. боролась за восстановление своего мира. классный продукт.
В 1999 году Macsyma была приобретена Tenedos LLC , холдинговой компанией, которая ранее приобрела символику. Холдинговая компания не перевыпускала и не перепродавала Macsyma, но Macsyma продолжает распространяться компанией Symbolics для версий Microsoft Windows вплоть до Windows XP . [13]
Доступные версии
[ редактировать ]Существует также версия под лицензией GPL , называемая Maxima , основанная на версии DOE Macsyma 1982 года, впоследствии адаптированная для Common Lisp и улучшенная Уильямом Шелтером . Он находится в активной разработке и может быть скомпилирован в нескольких Common Lisp системах загружаемые исполняемые файлы для Linux , Microsoft Windows , Mac OS X и других систем, включая графические пользовательские интерфейсы . Доступны . Maxima не включает в себя многие из многочисленных функций, добавленных в период коммерческой разработки между 1982–1999 годами, но представляет собой текущую бесплатную открытую базу кода, которая включает в себя множество дополнительных функций, несколько альтернативных интерфейсов и работает с рядом движков Common Lisp. . Хотя это привело к некоторой несовместимости между Macsyma и Maxima, программы, написанные на алгебраическом языке Macsyma, часто можно запускать с небольшими изменениями в любой системе.
Доступна ITS Macsyma примерно 1982 года, большинство файлов находится в каталоге MAXSRC .
Ссылки
[ редактировать ]- ^ Перейти обратно: а б Моисей, Джоэл (май 2008 г.). «Максима: Личная история» (PDF) . Вехи компьютерной алгебры. . См. также Джоэл Мозес (2012), «Масима: личная история», Журнал символических вычислений , 47 (2): 123–130, doi : 10.1016/j.jsc.2010.08.018
- ^ «Мемориальный фонд Карла Энгельмана» (PDF) . Информационный бюллетень FINITE STRING . Американский журнал компьютерной лингвистики, том 9, номера 3–4, июль – декабрь 1983 г. Архивировано из оригинала (PDF) 28 апреля 2003 г.
- ^ Ричард Дж. Фейтман, «Общий упрощенец MACSYMA: философия и работа», Конференция пользователей Macsyma , 1979 г., полный текст , раздел 2
- ^ Кнут Корсволд, «Онлайн-программа для нечисловой алгебры», SYMSAC '66 Материалы первого симпозиума ACM по символическим и алгебраическим манипуляциям, с. 1301-1314 гг. дои : 10.1145/800005.807963
- ^ Макконе, Клод (2012). Математический SETI: статистика, обработка сигналов, космические миссии . Спрингер. п. 75. ИСБН 978-3-642-27436-7 .
- ^ Спир, Дэвид (июль 1977 г.). «Конструктивный подход к коммутативной теории колец» . Материалы конференции пользователей MACSYMA 1977 года.
- ^ Мора, Тео (2005). Глава 26, Спир, в: Решение систем полиномиальных уравнений II: парадигма Маколея и технология Грёбнера . ISBN 9780521811569 .
- ^ Трагер, Барри (1984). Интегрирование алгебраических функций. доктор философии диссертация, Массачусетский технологический институт, Кембридж, Массачусетс (Диссертация). Массачусетский технологический институт. hdl : 1721.1/15391 .
- ^ Перейти обратно: а б Джанни, Патриция ; Трагер, Барри; Захариас, Гейл (1988). «Базисы Грёбнера и первичное разложение полиномиальных идеалов». Журнал символических вычислений . 6 (2–3): 149–167. дои : 10.1016/S0747-7171(88)80040-3 .
- ^ Захариас, Гейл (июнь 1978 г.). «Обобщенные базисы Грёбнера в коммутативных кольцах полиномов». Бакалавр наук диссертация, Массачусетский технологический институт, Кембридж, Массачусетс».
{{cite web}}
: Отсутствует или пусто|url=
( помощь ) - ^ Макконе, Клаудио (30 августа 2012 г.). Математический SETI: статистика, обработка сигналов, космические миссии . Springer Science & Business Media. ISBN 9783642274374 .
- ^ «Критика математических способностей систем CA» . Обзор Вестера 1995 года и обзор 1999 года
- ^ Домашняя страница Macsyma, http://www.symbolics-dks.com/Macsyma-1.htm
Внешние ссылки
[ редактировать ]- Краткое изложение истории коммерческой Macsyma Ричардом Петти 30 октября 2003 г.
- Сага о Macsyma Ричард Петти, 2 ноября 2003 г.
- Символика Максима