Максима

С Википедије, слободне енциклопедије

Максима (транскрибовано са енглеског: Macsyma - Project MAC’s SYmbolic MAnipulator[1]) је један од најстаријих рачунарских алгебарских система намењен генералној употребикоји се и дан данас користи. Првобитно је развијан од 1968. до 1982. на MIT-у као део пројекта MAC. Године 1982., Максима је имала лиценцу компанија Symbolics, и постала комерцијални производ. Паралелно са тим је остала доступна, под покровитељством америчког департмана за енергетику, за академије и све америчке владине агенције. Верзију за департман енергетике одржава Bill Schelter и под именом Maxima, та верзија је пуштена у промет са ГНУ-овом општом јавном лиценцом 1999. године.

Тим Symbolics је наставио са развојом сопствене верзије програма Максима све до 1999. године. Та верзија је и даље доступна за оперативне системе Microsoft Windows-а XP и раније верзије.

Развој[уреди | уреди извор]

Пројекат је започет у јулу 1968. од стране Карла Енглемана,[2] Вилијама А. Мартина (предњи крај, приказ израза, аритметика полинома) и Џоела Моузеса (упрошћивач, неодређена интеграција: хеуристичка/Ришова). Бил Мартин је водио пројекат све до 1971. године, а Моузес га је предводио деценију потом. Енгелман и његова екипа су напустили пројекат 1969. године и вратили се у MITRE корпорацију. Један део кода је преузет из протеклих пројеката, највише из Кнут Корсволдовог упрошћивача.[3] Касније су највећи допринос дали:

Јанис Августис (специјалне функције), Дејвид Бартон (решавање алгебарских система у једначинама), Ричард Боген (специјалне функције), Бил Дубуку (неодређена интеграција, лимеси, експоненцијални низови, теорија бројева, специјалне функције, функционалне једначине, поклапање узорака, испитивање знака, Гробнер, ТриангСис), Ричард Фејтмен (рационална функција, поклапање узорака, плутајућа тачка проивољне прецизности), Мајкл Џинисерт (упоређивање, база података знања), Џеф Голден (упрошћивач, језик, систем), Бил Госпер (коначна сума, специјалне функције, упрошћавање, теорија бројева), Чарлс Карни (цртање графика), Џон Кулп, Ед Лаферти (ODE решење, специјалне функције), Ставрос Макракис (реални/имагинарни делови, компајлер, систем), Ричард Павел (индицијални тензорни рачун, пакет генералне релативности, обичне и парцијалне диференцијалне једначине), Дејвид А. Спир (Гробнер),[4][5] Бери Трегер (алгебарска интеграција,[6] факторизација, Гробнер[7]), Пол Венг (факторизација полинома и GCD, комплексни бројеви, лимеси, коначна интеграција, генерација кода за Фортран И Латех), Дејвид Јун (полиномски gcds), Гејл Захаријас (Гробнер)[7][8] и Рич Ципел (експоненцијални низови, факторизација полинома, теорија бројева, комбинаторика).

Програм Максима је написан користећи Maclisp и био је у неким случајевима кључни мотив за побољшање овог дијалекта Лисп-а у пољима нумеричког израчунавања, ефикасне компилације и дизајна језика. Маклисп је и сам покретан на PDP-6 и PDP-10 рачунарима, али и такође на Multics ОС-у и на архитектурама Лисп машине. Macsyma је био један од највећих, ако не и највећи Лисп програм свог времена.

Комерцијализација[уреди | уреди извор]

Године 1979., као одговор на захтев Ричарда Фејтмена, тада професора на Берклију, MIT је пружио привремену лиценцу за Macsyma код. Максима је одмах инталиран на новом рачунару VAX-11/780 користећи дијалекат Maclisp-а, Franz Lisp, написан од стране Фејтменове групе. MIT је нерадо пружио лиценце за програм VAX Macsyma за око 50 универзитета, укључујући Беркли. Први универзитет који је добио лиценцу је Caltech, под условом да лиценце буду повучене када договори за одговорајуће лиценцирање буду постигнути. Ово се и десило када су преговори са компанијом Symbolics окончани (видети испод). Компанија Symbolics је тешке воље лиценцирала VAX производ, пошто је VAX производио хардвер који је био конкуренција њеним Lisp Машинама, услед чега је гушила VAX софтвер целих пет година. Беркли је такође набавио копије програма Macsyma за системе који имају Motorola 68000 процесоре, међу којима је најпознатији Sun радна станица. Symbolics је такође и њих гушио. У исто време, Фејтмен је радио на томе да привремена лиценца (сада повучена) за програм Macsyma постане трајна.

На крају је амерички департман за енергетику приморао MIT да пусте копију у библиотеку Националног Енергетског Софтверског Центра (NESC) 1982., а дозволио људима са MIT-a да поставе рестриктивне мере у погледу цене  и забране редистрибуције. Ове мере су намењене заштити трансфера технолигије у компанију Symbolics. (Рестрикције су уклоњене око 2002. године.) Овај програм, DOE Macsyma је написан поново на MIT-у у дијалекту NIL lisp, који је старији од Комон Лисп-а, непотпуно имплементиран на VAX/VMS-у, врло непопуларном систему у академским круговима, где је BSD био популаран. DOE Macsyma представља основу за каснији систем отвореног кода Maxima.

Године 1981., Моузес и Ричард Павел, запослени на MIT-у који су предлагали да се Macsyma примењује у науци и инжењерству, покушали су да оснују компанију која би комерцијализовала програм Macsyma. Павел је написао мноштво научних радова користећи програм Macsyma. Са папирима у рукама, Павел и Моузес су отишли у пар фирми које су биле заинтересоване за финансирање Macsyma стартап пројекта. Приводећи крају пар потенцијалних договора, MIT је одједном одлучио да MIT особље не би требало да директно профитира од MIT производа. Почетком 1982., Macsyma је лиценцирана од стране MIT-а за компанију Arthur D. Little, која је постала трговински посредник за програм Macsyma и ускоро лиценцирала програм Macsyma за компанију Symbolics касне 1982. ADL је истерао Моузеса из те приче, а а Павел је постао руководећи члан одсека за рпограм Macsyma у компанији Symbolics. Већ је на почетку било јасно да компанија Symbolics није била толико заинтересована за изворни код, већ да склони програм Macsyma из каталога свог конкурента који производи Лисп машине. Пословни договор склопљен измеђ компанија Symbolics и Arthur D. Little је захтевао исплату у вредности од 15% укупног новца зарађеног од продаје програма Macsyma. Ово је довело до питања жељу људи са MIT-а и ADL-а да виде успех пројекта MACSYMA. Развој на пројекту Macsyma је настављен у компанији Symbolics насупрот томе да је њихова куповина виђена као диверзија усмерена против продаје Лисп машина, које је компанија Symbolics сматрала за свој главни производ упркос томе да је удео од продаје програма Macsyma и продаје Лисп Машина имао учешће од тек 10% тоталне зараде у копанији Symbolics кроз две године. Упркос отпуру проженом од стране запослених из компаније Symbolics, Macsyma је пуштена за рачунаре VAX и Sun радне станице које су користиле Берклијев Franz Lisp током раних осамдесетих година двадесетог века.

Међутим, проблеми унутар компаније Symbolics који су се односили на продају програма Macsyma за коришћење на рачунарима који нису произведени од стране компаније Symbolics су на крају довели до пада продаје програма Macsyma. Током прве половине 1986., приходи од продаје програма Macsyma су били нижи него приходи од продаје из прве половине 1985. године, у индустрији која се развијала. Волфрамов SMP програм и Waterloo Maple су јачали у то време, је MACSYMA био супериоран у односу на њих у погледу пакета за симболичка израчунавања из математике.

Павел је био на челу одсека Macsyma све до почетка 1986. У другој половини 1986. ту улогу је преузео Ричард Пети, који је постао менаџер пословања за пројекат Macsyma, не би ли тако смањио продају и избегао сукоб са запосленима у компанији Symbolics. Macsyma је скратио листу запослених али је повећао продају и маркетинг, усмеравајући свој развојни тим ка развоју онога што корисници траже. (На пример, Спир-Захаријасов (Гробнер) базни алгоритам, имплемениран током седамдесетих година двадесетог века на MIT-у није убачен у званичну верзију програма Macsyma све до 1987) 1987., годишњи приходи од програма Macsyma су се по грубим проценама увећали за два пута. Програм MACSYMA је постао лакши за коришћење: документација и помоћ на интернету су реорганизоване и проширене; неке команде су добиле нова, мнемоничка имена. Систем је портован на Комон Лисп (творац: Кент Питмен). Пети је био у сталној расправи са менаџмент тимом компаније Symbolics око тога да је програм Macsyma био „стратешка пословна јединица“ која је требало да буде финансирана у зависности од показаних перформанси и потенцијала, а не зависна од главних послова матичне компаније. Међутим, компанија Symbolics је ипак отпустила део радника који су радили на програму Macsyma након периода брзог успона; компанија Symbolics је покушала да искористи пројекат Macsyma као своју краву музару у сврху повратка изгубљених средстава који су износили 30 пута више од вредности пројекта Macsyma.

Највећа слабост програма Macsyma као производа јесте нумеричка анализа. Учење симболичке математике је био врло тежак задатак; али су нумеричке способности биле од кључног значаја за освајање дела веома великог инжењерског тржишта и и ниског научног тржишта. На MIT-у, Macsyma је имао везу са IMSL (сада Rogue Wave Software) нумеричким библиотекама, али је ова веза прекинута кад се програм Macsyma пребацио у компанију Symbolics. Људи који су радили на развоју Лисп-а у компанији Symbolics су сматрали да је нумеричка анализа застарела технологија која није била толико значајна за Лисп апликације, због чега су одбили да инвестирају у њу. Аритметика двоструке тачности у програму Macsyma (на PC верзији) је била око шест пута спорија него у језику Фортран. Такође, матрице у програму Macsyma су имплементиране као листе у листи, које се рачунају као додатни фактор од 5-10 у брзини за кључне алгоритме. Програм Macsyma није поседовао мноштво основних алгоритама за линеарну нумеричку алгебру, као што је LU декомпозиција.

Током 1987-'88., Macsyma група је покушала да направи Macsyma рачунар са Gold Hill Lisp-ом. (Пре тога, компанија Symbolics је угасила сопствени пројекат у сврху производње Lisp компајлера за стандардне рачунаре у сврху избегавања такмичења са продајом Лисп машина. Ово је био контроверзан процес који је, по нечијем мишљењу, предузет без сагласности са вишим менаџерима. Компанија Symbolics је из неког разлога такође одбила сарадњу са фирмом Sun за пружање подршке да Lisp буде доступан на радним станицама произведеним у компанији Sun.) Gold Hill Lisp је био исувише нестабилан и његова слаба архитектура није дозвољавала програмерима да отклоне багове. Ово је била кључна мана програма Macsyma. То је значило да програм Macsyma није могао да одговори на персоналним рачунарима  када се програм Mathematica појавио на Епл рачунарима средином 1988. Macsyma се појавио на Windows-у тек августа 1989. користећи се CLOE Lisp-ом из компаније Symbolics. Међутим, било је премало људства које је радило на пројекту Macsyma и којима су фалиле вештине и знање да створе бољу графику, сучеље и нумерику од оне коју је имао програм Mathematica.

Пре 1989. је већ било јасно да ће Пети и компанија Symbolics имплодирати због лоше производне стратегије и да ће са собом у пропаст повући и пројекат Macsyma. (Неки од проблема производа: (1) Софтвер компаније Symbolics је дизајниран за људе који раде у развују попут MIT-а, без икаквих уступака према осталима. (2) Софтвер светске класе компаније Symbolics је губио тржишни удео зато што је зависио од врло скупог хардвера. (3) Приликом пребацивања на VLSI хардвер средином осамдесетих година двадесетог века, компанија Symbolics се одлучила да пребаци величину речи 36 bit-а на 40 bit-а, не обазирући се на чињеницу да је тржишна цена овог унапређења била веома висока). Након што се од 1986. Пети није много бавио проблемима са производом, 1988. је покушао да убеди руководство компаније Symbolics на усвајање једне стратегије, а једна од понуђених стратегија је била само производња софтвера; мада, четврти председник компаније у четири године није хтео ни да чује ову идеју. 1990. године, Пети је напустио компанију.

Компанија Максима[уреди | уреди извор]

Компанију Macsyma Инкорпорејтед су основали 1992. Расел Нофтскер (директор предузећа, кооснивач компаније Symbolics) и Ричард Пети (председник, који је једно време радио на пројекту Macsyma у компанији Symbolics) путем подизања средстава и куповине права на пројекат Macsyma од ослабљене компаније Symbolics. Иако је тржиште брзо расло, продаја програма Macsyma је и даље падала током 1991. и првим делом 1992. Удео програма Macsyma на тржишту софтвера за симболичка израчунавања је пао са 70% из 1987. на 1% у 1992. До 1993., раст тржишта се успорио, а тржиште се стандардизовало на основу програма Mathematica и Maple. Ова два програма су имала развојне тимове 4-8 пута веће од развојног тима програма Macsyma током деведесетих година двадесетог века.

Почетком 1995., компанија је издала верзију програма Macsyma 2.0.5, са многим унапређењима: На Вестеровом великом тесту за симболичка израчунаавања, програм Macsyma 2.0.5 је изборио бољи резултат од својих конкурената: 10% бољи од програма Maple и 15% бољи од програма Mathematica.[9] Иако је програм Macsyma 2.0.5 и даље био врло спор у раду са нумерицима, значајно су му унапређене способности за нумеричку анализу и рутине линеарне алгебре. (1996. у програм Macsyma је додат LAPACK који је значајно увећао брзину нумеричких операција унутар линеарне алгебре.) .

У развојном тиму су овог пута били укључени Џеф Голден (језик, компајлер, итд.), Бил Госпер (специјалне функције, сумирање), Хауард Кенон (корисничко сучеље, оптимизација) и неколико консултаната. Бил Дубуку је радио на интегралима, решавању једначина, бази података и оптимизацији. Кристофер Стејси и Давид Х. Вуд су предавали језик Macsyma MATLAB, и матричну функционалност. Остали програмери су пружили кључан допринос у пољима нумеричке анализе, графике и система помоћи.

Није било могуће одржати константан напредак и надјачавање осталих тимова који су били 4-8 пута већи, а уз то мењајући стање на тржишту. Удео на тржишту није прешао 2%, зато што се конкуренција утврдила на кључним тачкама, прелазак на нови производ је био скуп, па је јр раст акција стао. Такође, почевши од 1992. или 1993., Mathsoft је почео са новом стратегијом која је коштала 10 милиона долара, слање директне поште са веома ниском ценом, које је узело највећи део раста на тржишту, баш када је компанија Macsyma Inc. покушавала да обнови свој производ светске класе.

1999., компанију Macsyma је купила фирма Tenedos LLC, иста компанија која је претходно купила и компанију Symbolics. Нова власничка компанија није поново пустила у промет програм Macsyma, али је он наставио да се дистрибуира од стране компаније Symbolics.

Доступне верзије[уреди | уреди извор]

Постоји и верзија програма лиценцирана под ГНУовом јавном лиценцом, а назива се Maxima, заснована на верзији DOE Macsyma из 1982. године, која је накнадно адаптирана за Common Lisp и побољшана од стране Вилијама Шелтера. И даље се развија и може се компајлирати под неколико Common Lisp система. .exe датотеке за преузимање су доступне за оперативне системе GNU/Linux, Microsoft Windows, Mac OS X и остале, укључујући графичке корисничке интерфејсе. Програм Maxima не садржи мноштво додатака који су додати у периоду 1982–1999, али је тренутно и даље бесплатан, са отвореном базом кодова са много додатака, неколико различитих предњих крајева и ради са одређеним делом Комон Лисп машина. Ово је резултовало са одређеном некомпатибилношћу између програма Macsyma и Maxima, али се програми написани на Macsyma алгебарском језику се често могу покренути, са малим изменама, на оба система.

Референце[уреди | уреди извор]

  1. ^ Moses, Joel (May 2008).
  2. ^ "Carl Engelman Memorial Fund" Архивирано на сајту Wayback Machine (28. април 2003) (PDF).
  3. ^ Korsvold, Knut (1966). „An on line program for non-numerical algebra”. Proceedings of the first ACM symposium on Symbolic and algebraic manipulation - SYMSAC '66. стр. 1301—1314. S2CID 40467425. doi:10.1145/800005.807963. 
  4. ^ Spear, David (July 1977).
  5. ^ Mora, Teo (2005).
  6. ^ Trager, Barry (1984).
  7. ^ а б Gianni, Patrizia; Trager, Barry; Zacharias, Gail (1988).
  8. ^ Zacharias, Gail (June 1978).
  9. ^ "A Critique of the Mathematical Abilities of CA Systems". Вестерове рецензије из 1995. и 1999.

Спољашње везе[уреди | уреди извор]