Maksima

S Vikipedije, slobodne enciklopedije

Maksima (transkribovano sa engleskog: Macsyma - Project MAC’s SYmbolic MAnipulator[1]) je jedan od najstarijih računarskih algebarskih sistema namenjen generalnoj upotrebikoji se i dan danas koristi. Prvobitno je razvijan od 1968. do 1982. na MIT-u kao deo projekta MAC. Godine 1982., Maksima je imala licencu kompanija Symbolics, i postala komercijalni proizvod. Paralelno sa tim je ostala dostupna, pod pokroviteljstvom američkog departmana za energetiku, za akademije i sve američke vladine agencije. Verziju za departman energetike održava Bill Schelter i pod imenom Maxima, ta verzija je puštena u promet sa GNU-ovom opštom javnom licencom 1999. godine.

Tim Symbolics je nastavio sa razvojom sopstvene verzije programa Maksima sve do 1999. godine. Ta verzija je i dalje dostupna za operativne sisteme Microsoft Windows-a XP i ranije verzije.

Razvoj[uredi | uredi izvor]

Projekat je započet u julu 1968. od strane Karla Englemana,[2] Vilijama A. Martina (prednji kraj, prikaz izraza, aritmetika polinoma) i Džoela Mouzesa (uprošćivač, neodređena integracija: heuristička/Rišova). Bil Martin je vodio projekat sve do 1971. godine, a Mouzes ga je predvodio deceniju potom. Engelman i njegova ekipa su napustili projekat 1969. godine i vratili se u MITRE korporaciju. Jedan deo koda je preuzet iz proteklih projekata, najviše iz Knut Korsvoldovog uprošćivača.[3] Kasnije su najveći doprinos dali:

Janis Avgustis (specijalne funkcije), Dejvid Barton (rešavanje algebarskih sistema u jednačinama), Ričard Bogen (specijalne funkcije), Bil Dubuku (neodređena integracija, limesi, eksponencijalni nizovi, teorija brojeva, specijalne funkcije, funkcionalne jednačine, poklapanje uzoraka, ispitivanje znaka, Grobner, TriangSis), Ričard Fejtmen (racionalna funkcija, poklapanje uzoraka, plutajuća tačka proivoljne preciznosti), Majkl Džinisert (upoređivanje, baza podataka znanja), Džef Golden (uprošćivač, jezik, sistem), Bil Gosper (konačna suma, specijalne funkcije, uprošćavanje, teorija brojeva), Čarls Karni (crtanje grafika), Džon Kulp, Ed Laferti (ODE rešenje, specijalne funkcije), Stavros Makrakis (realni/imaginarni delovi, kompajler, sistem), Ričard Pavel (indicijalni tenzorni račun, paket generalne relativnosti, obične i parcijalne diferencijalne jednačine), Dejvid A. Spir (Grobner),[4][5] Beri Treger (algebarska integracija,[6] faktorizacija, Grobner[7]), Pol Veng (faktorizacija polinoma i GCD, kompleksni brojevi, limesi, konačna integracija, generacija koda za Fortran I Lateh), Dejvid Jun (polinomski gcds), Gejl Zaharijas (Grobner)[7][8] i Rič Cipel (eksponencijalni nizovi, faktorizacija polinoma, teorija brojeva, kombinatorika).

Program Maksima je napisan koristeći Maclisp i bio je u nekim slučajevima ključni motiv za poboljšanje ovog dijalekta Lisp-a u poljima numeričkog izračunavanja, efikasne kompilacije i dizajna jezika. Maklisp je i sam pokretan na PDP-6 i PDP-10 računarima, ali i takođe na Multics OS-u i na arhitekturama Lisp mašine. Macsyma je bio jedan od najvećih, ako ne i najveći Lisp program svog vremena.

Komercijalizacija[uredi | uredi izvor]

Godine 1979., kao odgovor na zahtev Ričarda Fejtmena, tada profesora na Berkliju, MIT je pružio privremenu licencu za Macsyma kod. Maksima je odmah intaliran na novom računaru VAX-11/780 koristeći dijalekat Maclisp-a, Franz Lisp, napisan od strane Fejtmenove grupe. MIT je nerado pružio licence za program VAX Macsyma za oko 50 univerziteta, uključujući Berkli. Prvi univerzitet koji je dobio licencu je Caltech, pod uslovom da licence budu povučene kada dogovori za odgovorajuće licenciranje budu postignuti. Ovo se i desilo kada su pregovori sa kompanijom Symbolics okončani (videti ispod). Kompanija Symbolics je teške volje licencirala VAX proizvod, pošto je VAX proizvodio hardver koji je bio konkurencija njenim Lisp Mašinama, usled čega je gušila VAX softver celih pet godina. Berkli je takođe nabavio kopije programa Macsyma za sisteme koji imaju Motorola 68000 procesore, među kojima je najpoznatiji Sun radna stanica. Symbolics je takođe i njih gušio. U isto vreme, Fejtmen je radio na tome da privremena licenca (sada povučena) za program Macsyma postane trajna.

Na kraju je američki departman za energetiku primorao MIT da puste kopiju u biblioteku Nacionalnog Energetskog Softverskog Centra (NESC) 1982., a dozvolio ljudima sa MIT-a da postave restriktivne mere u pogledu cene  i zabrane redistribucije. Ove mere su namenjene zaštiti transfera tehnoligije u kompaniju Symbolics. (Restrikcije su uklonjene oko 2002. godine.) Ovaj program, DOE Macsyma je napisan ponovo na MIT-u u dijalektu NIL lisp, koji je stariji od Komon Lisp-a, nepotpuno implementiran na VAX/VMS-u, vrlo nepopularnom sistemu u akademskim krugovima, gde je BSD bio popularan. DOE Macsyma predstavlja osnovu za kasniji sistem otvorenog koda Maxima.

Godine 1981., Mouzes i Ričard Pavel, zaposleni na MIT-u koji su predlagali da se Macsyma primenjuje u nauci i inženjerstvu, pokušali su da osnuju kompaniju koja bi komercijalizovala program Macsyma. Pavel je napisao mnoštvo naučnih radova koristeći program Macsyma. Sa papirima u rukama, Pavel i Mouzes su otišli u par firmi koje su bile zainteresovane za finansiranje Macsyma startap projekta. Privodeći kraju par potencijalnih dogovora, MIT je odjednom odlučio da MIT osoblje ne bi trebalo da direktno profitira od MIT proizvoda. Početkom 1982., Macsyma je licencirana od strane MIT-a za kompaniju Arthur D. Little, koja je postala trgovinski posrednik za program Macsyma i uskoro licencirala program Macsyma za kompaniju Symbolics kasne 1982. ADL je isterao Mouzesa iz te priče, a a Pavel je postao rukovodeći član odseka za rpogram Macsyma u kompaniji Symbolics. Već je na početku bilo jasno da kompanija Symbolics nije bila toliko zainteresovana za izvorni kod, već da skloni program Macsyma iz kataloga svog konkurenta koji proizvodi Lisp mašine. Poslovni dogovor sklopljen izmeđ kompanija Symbolics i Arthur D. Little je zahtevao isplatu u vrednosti od 15% ukupnog novca zarađenog od prodaje programa Macsyma. Ovo je dovelo do pitanja želju ljudi sa MIT-a i ADL-a da vide uspeh projekta MACSYMA. Razvoj na projektu Macsyma je nastavljen u kompaniji Symbolics nasuprot tome da je njihova kupovina viđena kao diverzija usmerena protiv prodaje Lisp mašina, koje je kompanija Symbolics smatrala za svoj glavni proizvod uprkos tome da je udeo od prodaje programa Macsyma i prodaje Lisp Mašina imao učešće od tek 10% totalne zarade u kopaniji Symbolics kroz dve godine. Uprkos otpuru proženom od strane zaposlenih iz kompanije Symbolics, Macsyma je puštena za računare VAX i Sun radne stanice koje su koristile Berklijev Franz Lisp tokom ranih osamdesetih godina dvadesetog veka.

Međutim, problemi unutar kompanije Symbolics koji su se odnosili na prodaju programa Macsyma za korišćenje na računarima koji nisu proizvedeni od strane kompanije Symbolics su na kraju doveli do pada prodaje programa Macsyma. Tokom prve polovine 1986., prihodi od prodaje programa Macsyma su bili niži nego prihodi od prodaje iz prve polovine 1985. godine, u industriji koja se razvijala. Volframov SMP program i Waterloo Maple su jačali u to vreme, je MACSYMA bio superioran u odnosu na njih u pogledu paketa za simbolička izračunavanja iz matematike.

Pavel je bio na čelu odseka Macsyma sve do početka 1986. U drugoj polovini 1986. tu ulogu je preuzeo Ričard Peti, koji je postao menadžer poslovanja za projekat Macsyma, ne bi li tako smanjio prodaju i izbegao sukob sa zaposlenima u kompaniji Symbolics. Macsyma je skratio listu zaposlenih ali je povećao prodaju i marketing, usmeravajući svoj razvojni tim ka razvoju onoga što korisnici traže. (Na primer, Spir-Zaharijasov (Grobner) bazni algoritam, implemeniran tokom sedamdesetih godina dvadesetog veka na MIT-u nije ubačen u zvaničnu verziju programa Macsyma sve do 1987) 1987., godišnji prihodi od programa Macsyma su se po grubim procenama uvećali za dva puta. Program MACSYMA je postao lakši za korišćenje: dokumentacija i pomoć na internetu su reorganizovane i proširene; neke komande su dobile nova, mnemonička imena. Sistem je portovan na Komon Lisp (tvorac: Kent Pitmen). Peti je bio u stalnoj raspravi sa menadžment timom kompanije Symbolics oko toga da je program Macsyma bio „strateška poslovna jedinica“ koja je trebalo da bude finansirana u zavisnosti od pokazanih performansi i potencijala, a ne zavisna od glavnih poslova matične kompanije. Međutim, kompanija Symbolics je ipak otpustila deo radnika koji su radili na programu Macsyma nakon perioda brzog uspona; kompanija Symbolics je pokušala da iskoristi projekat Macsyma kao svoju kravu muzaru u svrhu povratka izgubljenih sredstava koji su iznosili 30 puta više od vrednosti projekta Macsyma.

Najveća slabost programa Macsyma kao proizvoda jeste numerička analiza. Učenje simboličke matematike je bio vrlo težak zadatak; ali su numeričke sposobnosti bile od ključnog značaja za osvajanje dela veoma velikog inženjerskog tržišta i i niskog naučnog tržišta. Na MIT-u, Macsyma je imao vezu sa IMSL (sada Rogue Wave Software) numeričkim bibliotekama, ali je ova veza prekinuta kad se program Macsyma prebacio u kompaniju Symbolics. Ljudi koji su radili na razvoju Lisp-a u kompaniji Symbolics su smatrali da je numerička analiza zastarela tehnologija koja nije bila toliko značajna za Lisp aplikacije, zbog čega su odbili da investiraju u nju. Aritmetika dvostruke tačnosti u programu Macsyma (na PC verziji) je bila oko šest puta sporija nego u jeziku Fortran. Takođe, matrice u programu Macsyma su implementirane kao liste u listi, koje se računaju kao dodatni faktor od 5-10 u brzini za ključne algoritme. Program Macsyma nije posedovao mnoštvo osnovnih algoritama za linearnu numeričku algebru, kao što je LU dekompozicija.

Tokom 1987-'88., Macsyma grupa je pokušala da napravi Macsyma računar sa Gold Hill Lisp-om. (Pre toga, kompanija Symbolics je ugasila sopstveni projekat u svrhu proizvodnje Lisp kompajlera za standardne računare u svrhu izbegavanja takmičenja sa prodajom Lisp mašina. Ovo je bio kontroverzan proces koji je, po nečijem mišljenju, preduzet bez saglasnosti sa višim menadžerima. Kompanija Symbolics je iz nekog razloga takođe odbila saradnju sa firmom Sun za pružanje podrške da Lisp bude dostupan na radnim stanicama proizvedenim u kompaniji Sun.) Gold Hill Lisp je bio isuviše nestabilan i njegova slaba arhitektura nije dozvoljavala programerima da otklone bagove. Ovo je bila ključna mana programa Macsyma. To je značilo da program Macsyma nije mogao da odgovori na personalnim računarima  kada se program Mathematica pojavio na Epl računarima sredinom 1988. Macsyma se pojavio na Windows-u tek avgusta 1989. koristeći se CLOE Lisp-om iz kompanije Symbolics. Međutim, bilo je premalo ljudstva koje je radilo na projektu Macsyma i kojima su falile veštine i znanje da stvore bolju grafiku, sučelje i numeriku od one koju je imao program Mathematica.

Pre 1989. je već bilo jasno da će Peti i kompanija Symbolics implodirati zbog loše proizvodne strategije i da će sa sobom u propast povući i projekat Macsyma. (Neki od problema proizvoda: (1) Softver kompanije Symbolics je dizajniran za ljude koji rade u razvuju poput MIT-a, bez ikakvih ustupaka prema ostalima. (2) Softver svetske klase kompanije Symbolics je gubio tržišni udeo zato što je zavisio od vrlo skupog hardvera. (3) Prilikom prebacivanja na VLSI hardver sredinom osamdesetih godina dvadesetog veka, kompanija Symbolics se odlučila da prebaci veličinu reči 36 bit-a na 40 bit-a, ne obazirući se na činjenicu da je tržišna cena ovog unapređenja bila veoma visoka). Nakon što se od 1986. Peti nije mnogo bavio problemima sa proizvodom, 1988. je pokušao da ubedi rukovodstvo kompanije Symbolics na usvajanje jedne strategije, a jedna od ponuđenih strategija je bila samo proizvodnja softvera; mada, četvrti predsednik kompanije u četiri godine nije hteo ni da čuje ovu ideju. 1990. godine, Peti je napustio kompaniju.

Kompanija Maksima[uredi | uredi izvor]

Kompaniju Macsyma Inkorporejted su osnovali 1992. Rasel Noftsker (direktor preduzeća, koosnivač kompanije Symbolics) i Ričard Peti (predsednik, koji je jedno vreme radio na projektu Macsyma u kompaniji Symbolics) putem podizanja sredstava i kupovine prava na projekat Macsyma od oslabljene kompanije Symbolics. Iako je tržište brzo raslo, prodaja programa Macsyma je i dalje padala tokom 1991. i prvim delom 1992. Udeo programa Macsyma na tržištu softvera za simbolička izračunavanja je pao sa 70% iz 1987. na 1% u 1992. Do 1993., rast tržišta se usporio, a tržište se standardizovalo na osnovu programa Mathematica i Maple. Ova dva programa su imala razvojne timove 4-8 puta veće od razvojnog tima programa Macsyma tokom devedesetih godina dvadesetog veka.

Početkom 1995., kompanija je izdala verziju programa Macsyma 2.0.5, sa mnogim unapređenjima: Na Vesterovom velikom testu za simbolička izračunaavanja, program Macsyma 2.0.5 je izborio bolji rezultat od svojih konkurenata: 10% bolji od programa Maple i 15% bolji od programa Mathematica.[9] Iako je program Macsyma 2.0.5 i dalje bio vrlo spor u radu sa numericima, značajno su mu unapređene sposobnosti za numeričku analizu i rutine linearne algebre. (1996. u program Macsyma je dodat LAPACK koji je značajno uvećao brzinu numeričkih operacija unutar linearne algebre.) .

U razvojnom timu su ovog puta bili uključeni Džef Golden (jezik, kompajler, itd.), Bil Gosper (specijalne funkcije, sumiranje), Hauard Kenon (korisničko sučelje, optimizacija) i nekoliko konsultanata. Bil Dubuku je radio na integralima, rešavanju jednačina, bazi podataka i optimizaciji. Kristofer Stejsi i David H. Vud su predavali jezik Macsyma MATLAB, i matričnu funkcionalnost. Ostali programeri su pružili ključan doprinos u poljima numeričke analize, grafike i sistema pomoći.

Nije bilo moguće održati konstantan napredak i nadjačavanje ostalih timova koji su bili 4-8 puta veći, a uz to menjajući stanje na tržištu. Udeo na tržištu nije prešao 2%, zato što se konkurencija utvrdila na ključnim tačkama, prelazak na novi proizvod je bio skup, pa je jr rast akcija stao. Takođe, počevši od 1992. ili 1993., Mathsoft je počeo sa novom strategijom koja je koštala 10 miliona dolara, slanje direktne pošte sa veoma niskom cenom, koje je uzelo najveći deo rasta na tržištu, baš kada je kompanija Macsyma Inc. pokušavala da obnovi svoj proizvod svetske klase.

1999., kompaniju Macsyma je kupila firma Tenedos LLC, ista kompanija koja je prethodno kupila i kompaniju Symbolics. Nova vlasnička kompanija nije ponovo pustila u promet program Macsyma, ali je on nastavio da se distribuira od strane kompanije Symbolics.

Dostupne verzije[uredi | uredi izvor]

Postoji i verzija programa licencirana pod GNUovom javnom licencom, a naziva se Maxima, zasnovana na verziji DOE Macsyma iz 1982. godine, koja je naknadno adaptirana za Common Lisp i poboljšana od strane Vilijama Šeltera. I dalje se razvija i može se kompajlirati pod nekoliko Common Lisp sistema. .exe datoteke za preuzimanje su dostupne za operativne sisteme GNU/Linux, Microsoft Windows, Mac OS X i ostale, uključujući grafičke korisničke interfejse. Program Maxima ne sadrži mnoštvo dodataka koji su dodati u periodu 1982–1999, ali je trenutno i dalje besplatan, sa otvorenom bazom kodova sa mnogo dodataka, nekoliko različitih prednjih krajeva i radi sa određenim delom Komon Lisp mašina. Ovo je rezultovalo sa određenom nekompatibilnošću između programa Macsyma i Maxima, ali se programi napisani na Macsyma algebarskom jeziku se često mogu pokrenuti, sa malim izmenama, na oba sistema.

Reference[uredi | uredi izvor]

  1. ^ Moses, Joel (May 2008).
  2. ^ "Carl Engelman Memorial Fund" Arhivirano na sajtu Wayback Machine (28. april 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. str. 1301—1314. S2CID 40467425. doi:10.1145/800005.807963. 
  4. ^ Spear, David (July 1977).
  5. ^ Mora, Teo (2005).
  6. ^ Trager, Barry (1984).
  7. ^ a b Gianni, Patrizia; Trager, Barry; Zacharias, Gail (1988).
  8. ^ Zacharias, Gail (June 1978).
  9. ^ "A Critique of the Mathematical Abilities of CA Systems". Vesterove recenzije iz 1995. i 1999.

Spoljašnje veze[uredi | uredi izvor]