Macsyma

Macsyma este un sistem de algebră computerizată care a fost dezvoltat din 1968 la MIT în laboratorul Project MAC . A fost primul sistem cuprinzător de matematică simbolică și unul dintre primele sisteme bazate pe cunoaștere . Scris în întregime în limbajul de programare Lisp (un dialect al MacLisp), pentru vremea sa a fost unul dintre cele mai mari programe scrise în Lisp. Portarea acestui sistem pe platforme de calculatoare mai noi a stimulat crearea mai multor sisteme Lisp în anii 1970 și 1980.

Din 1982, sistemul este distribuit pe bază comercială, în 1999 dezvoltarea lui a fost întreruptă.

Multe dintre ideile care au apărut în Macsyma au fost ulterior împrumutate de sisteme precum Mathematica , Maple și altele. Este strămoșul sistemului de algebră computerizată liberă Maxima .

Dezvoltare

Proiectul a fost inițiat în iulie 1968 de Carl Engelman , William  A. Martin ( interfață cu utilizatorul, maparea expresiei, aritmetică polinomială) și Joel Moses ( motor de simplificare a expresiei , integrale nedefinite: euristică / algoritmul lui Risch ). Bill Martin a fost manager de proiect până în 1971, iar Moise în următorii zece ani. Engelman și echipa sa au părăsit proiectul în 1969 și s-au întors la MITRE Corporation. Ulterior, principalii participanți la dezvoltarea nucleului matematic al programului au fost:   

Macsyma a fost scris în limbajul de programare Maclisp , dezvoltat în proiectul de dialect MAC Lisp . Nevoile Macsyma au influențat caracteristicile acestui dialect, care s-a dezvoltat în același timp, în special, adăugarea unor calcule numerice mai avansate și implementarea unui compilator extrem de eficient. Inițial, Maclisp și Macsyma au lucrat pe computere PDP-6 și PDP-10 care rulau sistemele de operare ITS și TOPS 10/20 , mai târziu pe un computer GE-600 care rulează Multics OS , precum și pe mașini Lisp . La acea vreme, Macsyma era unul dintre cele mai mari, dacă nu cel mai mare, programe Lisp. Necesitatea de a porta Macsyma pe alte platforme hardware a dus la mai multe dialecte noi ale Lisp, în special Franz Lisp .

Comercializare

În 1981, Moses și Richard Pavelle (de asemenea, un coleg MIT și un avocat al aplicării Macsyma în știință și tehnologie) au propus crearea unei companii care să comercializeze Macsyma. Cu toate acestea, nu li s-a permis să facă acest lucru, invocând reglementări care interzic angajaților să obțină venituri din dezvoltările realizate la MIT. La începutul anului 1982, MIT a licențiat Macsyma către ADL ("Arthur D. Little, Inc."), care a intermediat vânzările Macsyma și, în curând (la sfârșitul anului 1982), la rândul său, a licențiat-o către Symbolics .

Tot în 1982, sub presiunea membrului proiectului Richard Feitman, apoi la UC Berkeley , MIT a licențiat Macsyma Departamentului de Energie al Statelor Unite , unul dintre principalii sponsori ai dezvoltării sistemului. Această versiune a fost numită DOE Macsyma. Drept urmare, Symbolics Macsyma s-a confruntat cu pierderea pieței guvernamentale, care a furnizat o cotă semnificativă din veniturile sistemului. Această situație a condus la controverse în cadrul guvernului SUA cu privire la faptul dacă universitatea are dreptul de a licenția tehnologia dezvoltată la universitate și finanțată de guvernul federal către terți. Această problemă a fost rezolvată în mod afirmativ în 1986 prin ordinul executiv al președintelui Reagan .

Simbolice

Dezvoltarea Macsyma a continuat la Symbolics. Inițial, sistemul s-a vândut cu succes, dar deja în 1985-86, veniturile din acesta au scăzut, deși piața a crescut și vânzările concurenților au crescut în aceeași perioadă. Principala slăbiciune a Macsyma a fost analiza numerică, care a fost critică pentru inginerie și calcule științifice simple: aritmetica în virgulă mobilă în Macsyma pentru PC a fost de aproximativ șase ori mai lentă decât în ​​Fortran , iar implementarea ineficientă a matricei a redus viteza algoritmilor cheie cu încă 5-10. ori . Macsyma nu a implementat mulți algoritmi de algebră liniară numerică de bază, cum ar fi descompunerea LU , iar algoritmul lui Gröbner, dezvoltat în anii 1970 la MIT, nu a fost integrat în versiunea comercială până în 1987.

În ciuda opoziției multora de la Symbolics, Macsyma a fost lansat pentru computerele DEC VAX-11 și stațiile de lucru Sun Microsystems în 1986 și 1987, pentru care Franz Lisp a fost implementat pe acele platforme .

În a doua jumătate a anului 1986, Pavelle a fost înlocuit de Richard Petty ca șef al departamentului. Personalul a fost redus, departamentul de vânzări și marketing a fost extins, dezvoltatorii s-au concentrat să adauge sistemului caracteristicile de care clienții le solicitau, ca urmare, în 1987, veniturile de la Macsyma s-au dublat. Interfața cu utilizatorul a fost îmbunătățită, documentația și sistemul de ajutor au fost reorganizate și extinse, iar numele unor comenzi au fost schimbate pentru a fi mai ușor de reținut. Petty a încercat să convingă conducerea că Macsyma ar trebui să fie un punct strategic al companiei și să fie finanțat pe baza propriilor realizări și potențial, dar după începerea unei creșteri puternice a vânzărilor, Symbolics a redus personalul Macsyma. De fapt, compania a încercat să folosească Macsyma pentru a compensa pierderile din afacerea stațiilor de lucru, care a fost de 30 de ori mai mare.

În 1987-88, grupul Macsyma a încercat să port sistemul pe PC, dar nu a reușit. Symbolics și-a închis anterior propriul proiect de a construi un compilator Lisp pentru computere standard, astfel încât să nu concureze cu vânzările de mașini Lisp și a refuzat să colaboreze cu Sun pe Lisp din același motiv. Gold Hill Lisp care a fost ales pentru a porta sistemul pe PC s-a dovedit a fi prea instabil, iar arhitectura sa slabă a făcut imposibilă remedierea erorilor. Acest eșec a jefuit Macsyma de piața computerelor personale, în timp ce Mathematica a apărut pe computerele Apple în același timp . O versiune Windows a Macsyma , folosind CLOE Lisp de la Symbolics, a apărut în august 1989, dar personalul de dezvoltare era prea mic pentru a implementa grafică, interfață și capabilități numerice precum Mathematica.

Până în 1989, a devenit evident că Symbolics era în criză. În ciuda nivelului ridicat de software produs, acesta s-a dovedit a fi necompetitiv din cauza dependenței de hardware scump, a cărui dezvoltare nu a fost aliniată cu nevoile pieței (la mijlocul anilor 1980, Symbolics a trecut la o platformă hardware cu un 40 -cuvânt de biți în loc de un cuvânt de 36 de biți fără a conduce o rațiune economică pentru această schimbare foarte costisitoare). Petty a încercat să convingă conducerea să schimbe strategia, dar al patrulea președinte al companiei în patru ani nu a vrut să audă nimic despre asta. Din cauza lipsei de interacțiune cu MIT, nu a fost posibil să se adună un grup pentru a cumpăra drepturile de dezvoltare a Macsyma. Soarta lui Macsyma a rămas incertă, în 1990, Petty a părăsit Symbolics pentru a-și forma propria companie.

Macsyma Inc.

Macsyma Inc. a fost fondată în 1992 de Russell  Noftsker ( Președintele Consiliului de Administrație, co-fondator al Symbolics ) și Richard Petty. Ea a cumpărat drepturile asupra Macsyma de la Symbolics. Până în acest moment, Macsyma pierduse deja piața: în 5 ani, din 1987 până în 1992, cota sa de piață a scăzut de la 70% la 1%, iar la începutul anului 1993, când creșterea pieței a încetinit, Mathematica și Maple au devenit standardul de facto. În plus, din 1992, Mathsoft a început să-și distribuie Mathcad la prețuri mici , care a ocupat cea mai mare parte a nișei de piață rămase.

La Macsyma Inc. Au lucrat dezvoltatori de talie mondială, inclusiv Jeff Golden ( ing.  Jeff Golden ) (care a făcut cea mai mare parte a matematicii simbolice), Bill Gosper ( ing.  Bill Gosper ) (funcții speciale, însumare și alte elemente), Howard Cannon (VP de dezvoltare). de software) și Bill Dubuque (integrare și rezolvare de ecuații). Alți dezvoltatori au adus contribuții importante la analiza numerică , grafică și sistemul de ajutor. La începutul anului 1995, a fost lansat Macsyma 2.0.5, cu următoarele îmbunătățiri:

  1. Viteza crescuta semnificativ. Dacă înainte Macsyma era cel mai lent, acum a devenit mai rapid decât Mathematica și aproape la fel de rapid ca Maple.
  2. Interfața a suportat afișarea de formule matematice, text formatat, hyperlinkuri. A fost mai bun decât oricare dintre concurenți și, în general, cel mai bun GUI științific din industria software-ului de matematică.
  3. Recenziile susțin că Macsyma a avut cel mai bun sistem de ajutor din industrie (inclusiv hipertext, demonstrații, exemple, șabloane de funcții, suport ulterioară pentru interogări în limbaj natural). Documentația pe hârtie a fost, de asemenea, îmbunătățită semnificativ.
  4. Deși Macsyma 2.0.5 era încă foarte lent în metodele numerice, avea un portofoliu semnificativ consolidat de analize numerice și rutine de algebră liniară. În 1996, i s-a adăugat LAPACK , ceea ce a crescut semnificativ viteza majorității calculelor numerice de algebră liniară. O recenzie a PC Magazine a declarat: „Macsyma este lider de piață în software-ul de matematică”.

În ciuda dezvoltării cu succes a sistemului, cota sa de piață nu a crescut niciodată peste 2%: până la lansarea Macsyma 2.0.5, aproape că nu existau utilizatori noi, iar piața existentă era deja împărțită între concurenți. În plus, echipele de dezvoltare ale concurenților au fost de 4-8 ori mai mari decât în ​​Macsyma Inc. și a fost imposibil să concurezi cu ei mult timp.

În 1999 , Macsyma a fost cumpărată de Tenedos LLC, holdingul care cumpărase anterior Symbolics. Tenedos nu a relansat și nu a revândut Macsyma. Acesta este sfârșitul sistemului original.

Maxima

Profesorul William Schelter de la Universitatea din Texas din Austin a continuat să sprijine și să îmbunătățească versiunea DOE a Macsyma din 1982, inclusiv portarea sistemului la Common Lisp . În 1998, cu permisiunea Departamentului de Energie al SUA, Shelter a publicat codul sursă DOE Macsyma sub Licența Publică Generală GNU , iar în 2000 a creat proiectul Maxima pe SourceForge.net pentru a menține și dezvolta în continuare acest sistem ca software gratuit. De la moartea lui Shelter în 2001, proiectul a continuat să evolueze prin comunitatea de dezvoltatori consacrată.

Maxima este în curs de dezvoltare activă, poate fi compilat pentru mai multe implementări diferite ale Common Lisp , iar versiunile sunt disponibile pentru GNU/Linux , Microsoft Windows , Mac OS X și alte sisteme. Disponibil în mai multe opțiuni GUI . Maxima conține multe modificări post-split și nu include niciuna dintre multele îmbunătățiri aduse versiunii comerciale a Macsyma între 1982-1999. Din acest motiv, poate fi necesar un efort semnificativ pentru a porta codul de la Macsyma la Maxima. Datorită deschiderii sistemului, acesta stă la baza unui număr de dezvoltări derivate, de exemplu, sistemul Stack, conceput pentru verificarea automată a corectitudinii expresiilor matematice [1] [2] [3] .

Note

  1. Grant Keady, Gary Fitz-Gerald, Greg Gamble, Chris Sangwin. Evaluare asistată de calculator în științe matematice . Arhivat din original pe 11 octombrie 2019.
  2. Aplicații ale evaluării asistate de calculator în educația matematică Al patrulea colocviu finlandez-eston de matematică și zilele finlandeze de matematică 2014 Antti Rasila Aalto University, Helsinki, Finland University of Helsinki, 9-10 ianuarie 2014
  3. Christopher Sangwin. Evaluarea asistată de calculator a matematicii folosind STACK  //  Prelegeri regulate selectate de la cel de-al 12-lea Congres Internațional de Educație Matematică / Sung Je Cho. — Springer International Publishing, 2015. — P. 695–713 . — ISBN 9783319171869 , 9783319171876 . - doi : 10.1007/978-3-319-17187-6_39 . Arhivat din original pe 4 iulie 2020.

Link -uri