Software de calcul simbolic

Software-ul de calcul simbolic este un software matematic cu capacitatea de a manipula expresii matematice într-un mod similar cu calculele manuale tradiționale ale matematicienilor și oamenilor de știință, spre deosebire de alte software-uri matematice, care sunt orientate pe calculul numeric. Dezvoltarea sistemelor algebrice computerizate în a doua jumătate a secolului al XX-lea face parte din disciplina calculului simbolic⁠(d), care a stimulat dezvoltarea de algoritmi ce operează cu obiecte matematice, cum ar fi polinoamele.

Sistemele software de calcul simbolic pot fi împărțite în două clase: cele specializate și cele de uz general. Cele specializate sunt dedicate unei anumite părți a matematicii, cum ar fi teoria numerelor, teoria grupurilor sau predarea matematicii elementare.

Software-ul de uz general își propune să fie util unui utilizator care lucrează în orice domeniu științific care necesită manipularea expresiilor matematice.

Pentru a fi util, un software de calcul simbolic de uz general trebuie să includă diverse caracteristici, cum ar fi:

  • O interfață cu utilizatorul care permite unui utilizator să introducă și să afișeze formule matematice, de obicei de la o tastatură, eventual prin selecții din meniuri, mouse sau stylus.
  • un limbaj de programare și un interpretor (rezultatul unui calcul are de obicei o formă imprevizibilă și o dimensiune imprevizibilă; prin urmare, intervenția utilizatorului este frecvent necesară);
  • un simplificator, care este un sistem de rescriere pentru simplificarea formulelor matematice,
  • un manager de memorie, inclusiv un garbage collector⁠(d), necesar pentru dimensiunea uriașă a datelor intermediare care pot apărea în timpul unui calcul,
  • o aritmetică cu precizie multiplă, necesară pentru dimensiunile uriașe ale numerelor întregi care pot apărea,
  • o bibliotecă mare de algoritmi matematici și funcții speciale.
A Texas Instruments TI-Nspire⁠(d) calculator that contains a computer algebra system

Sistemele de calcul simbolic au început să apară prin anii 1960 și au evoluat din două surse destul de diferite —cerințele fizicienilor teoreticieni și cercetarea în domeniul inteligenței artificiale.

Un exemplu ilustrativ pentru primele dezvoltări de astfel de software-uri îl constituie activitatea de pionierat din 1963 a lui Martinus Veltman (viitor laureat al Premiului Nobel pentru Fizică), care a proiectat un program de matematică simbolică, dedicat fizicii energiilor înalte, denumit Schoonschip⁠(d) (literalmente, tradus din neerlandeză, „navă curată”).

Folosind Lisp ca bază de programare, Carl Engelman⁠(d) a creat MATHLAB⁠(d) în 1964 la MITRE⁠(d), în cadrul unui mediu de cercetare în inteligența artificală. Ulterior MATHLAB a fost pus la dispoziția utilizatorilor pe platforme PDP-6 și PDP-10 care rulau TOPS-10 sau TENEX în universități. Astăzi, poate fi încă utilizat pe emulatoare SIMH⁠(d) ale platformei PDP-10. MATHLAB („mathematical laboratory”) nu trebuie confundat cu MATLAB („matrix laboratory”), care este un sistem de calcul numeric construit 15 mai târziu la Universitatea Statului New Mexico⁠(d).

În 1987, Hewlett-Packard a introdus primul calculator de mână cu calcul simbolic: HP-28 series⁠(d), care, pentru prima dată la un calculator,[1] putea aranja expresii algebrice, diferențieri, integrare simbolică limitată, construcții cu serii Taylor și un rezolvitor de ecuații algebrice. În 1999, software-ul Erable⁠(d), dezvoltat independent, pentru HP 48 series⁠(d) a devenit oficial parte intrată a firmware-ului calculatoarelor științifice HP 49/50 series⁠(d), și un an mai târziu și la HP 40 series⁠(d), în timp ce HP Prime a adoptat sistemul Xcas⁠(d) în 2013.

Compania Texas Instruments a lansat în 1995 calculatorul TI-92⁠(d) cu un sistem de calcul simbolic bazat pe software-ul Derive⁠(d); TI-Nspire series⁠(d) a luat locul lui Derive în 2007. TI-89 series⁠(d), lansat în premieră în 1998, conținea și el funcționalități de calcul simbolic.

Primele sisteme populare de calcul simbolic au fost MuMATH⁠(d), Reduce⁠(d), Derive⁠(d) (bazat pe muMATH), și Macsyma⁠(d); o versiune copyleft de Macsyma numită Maxima este încă activ menținută. Reduce⁠(d) a devenit software liber în 2008.[2] În ziua de azi, cele mai populare sisteme de calcul simbolic comerciale sunt Mathematica⁠(d)[3] și Maple⁠(d), utilizate frecvent de matematicieni, oameni de știință și ingineri. Printre alternativele liber disponibile se numără SageMath (care poate funcționa ca front-end la mai multe alte sisteme de calcul simbolic libere sau nelibere); Axiom⁠(d); GAP⁠(d); Maxima; și Magma⁠(d).

Tranziția către aplicații cu interfață web din anii 2000 a adus lansarea lui WolframAlpha, un motor de căutare și sistem de calcul simbolic online care include capabilitățile din Mathematica⁠(d).[4]

Mai recent, s-au implementat și sisteme de calcul simbolic pe bază de rețele neurale artificiale, dar în 2020 încă nu erau disponibile comercial.[5]

  1. ^ Nelson, Richard. „Hewlett-Packard Calculator Firsts”. Hewlett-Packard. Arhivat din original la . 
  2. ^ „REDUCE Computer Algebra System at SourceForge”. reduce-algebra.sourceforge.net. Accesat în . 
  3. ^ Interview with Gaston Gonnet, co-creator of Maple Arhivat în , la Wayback Machine., SIAM History of Numerical Analysis and Computing, March 16, 2005.
  4. ^ Bhattacharya, Jyotirmoy (). „Wolfram|Alpha: a free online computer algebra system”. The Hindu (în engleză). ISSN 0971-751X. Accesat în . 
  5. ^ Ornes, Stephen. „Symbolic Mathematics Finally Yields to Neural Networks”. Quanta Magazine (în engleză). Accesat în .