Sistem de algebră computațională

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Prin termenul de sistem algebră computațională (sau, de asemenea, cu termenul englezesc computer algebra system și acronimul său CAS) ne referim la un sistem software capabil să faciliteze executarea elaborărilor simbolice . Funcționalitatea de bază a unui CAS este manipularea expresiilor matematice în formă simbolică. Studiul algoritmilor și structurilor informaționale care pot fi utilizate în mod concret pentru sistemele CAS se numește algebră computațională sau chiar algebră computerizată.

Tipuri de expresii

Expresiile pe care un CAS le poate manipula includ de obicei polinoame și funcții raționale într-una și mai multe variabile; funcții elementare standard (putere, exponențială, logaritm, sinus, cosinus, tangentă, variante hiperbolice, funcții inverse, ...); diverse funcții speciale (gamma, zeta, erf, Bessel, ...); compoziții ale funcțiilor anterioare; derivate, integrale, sume, produse de expresii tratabile; serii trunchiate cu coeficienți dați de expresii, tablouri de expresie și așa mai departe. Mai precis, setul de expresii care pot fi manipulate de un CAS este identificat printr-o definiție recursivă căreia îi corespund mecanismele interne de recunoaștere a expresiilor și determinarea schemelor de manipulare și evaluare a acestora.

Manipulări simbolice care pot fi efectuate

Manipulările simbolice acceptate includ de obicei

  • simplificare , inclusiv simplificare automată și simplificare cu prezumții;
  • substituirea valorilor simbolice sau numerice pentru expresii;
  • schimbări în forma expresiilor prin: dezvoltarea produselor și puterilor, rescrierea sub formă de fracții parțiale, rescrierea funcțiilor trigonometrice ca exponențiale, ...;
  • diferențierea față de una sau mai multe variabile;
  • optimizare simbolică globală sub constrângeri sau fără constrângeri;
  • factoring parțial și complet;
  • soluția ecuațiilor liniare și a unor ecuații neliniare pe diverse domenii;
  • rezolvarea unor ecuații diferențiale și a unor ecuații diferențiale ;
  • evaluarea limitelor ;
  • integrare nedeterminată și integrare definitivă a diferitelor funcții, inclusiv integrale multidimensionale;
  • transformări integrale;
  • trunchiate în mod adecvat dezvoltările seriilor Taylor , Laurent și Puiseux ;
  • dezvoltări ale unor serii infinite;
  • adăugarea unor serii;
  • operațiuni pe matrice, cum ar fi sume, produse, inversiuni , produse directe , ...;
  • prezentarea bidimensională a expresiilor matematice sub formele de tipografie matematică tradițională, folosind adesea sisteme de tipografiere similare cu TeX (vezi și tipar frumos )

Cuvântul „unele” din multe expresii anterioare subliniază faptul că un sistem CAS este capabil să efectueze o operație dată numai pe anumite seturi de expresii, adică numai pe anumite seturi de funcții. Trebuie remarcat faptul că toate sistemele CAS care reușesc să rămână pe piață extind treptat aceste seturi.

Alte funcții

Multe sisteme CAS vă permit să efectuați operații numerice:

  • algebră numerică liniară;
  • evaluarea expresiilor pentru anumite valori ale variabilelor și parametrilor;
  • calcule de foarte mare precizie ( aritmetică de precizie nelimitată ), care, de exemplu, vă permit să evaluați numere algebrice precum 2 1/3 cu 10.000 cifre zecimale;
  • trasarea graficelor și diagramelor parametrice ale funcțiilor care se dezvoltă în două și trei dimensiuni.

Multe sisteme CAS au, de asemenea, propriul limbaj de programare specific la nivel înalt , care permite utilizatorilor să își implementeze proprii algoritmi și funcții. Uneori aceste limbaje pot fi dezvoltate în medii de dezvoltare cu instrumente bune pentru programatori.

În cele din urmă, unele sisteme au instrumente de gestionare a fișierelor și arhivelor de date pentru a fi utilizate în procesare sau produse de acestea.

Timpii de execuție ai programelor care necesită în principal operațiuni numerice implementate în sistemele CAS sunt în mod normal mai mari decât cele ale programelor echivalente care pot fi implementate în sisteme de calcul precum MATLAB și GNU Octave sau prin limbaje de nivel mediu-scăzut, cum ar fi Fortran și C , deoarece CAS sunt programate pentru a putea gestiona elaborări simbolice de înaltă generalitate și tind să nu poată face operațiunile numerice ale mașinii să intervină în modul cel mai direct pentru majoritatea funcțiilor lor.

fundal

Primele sisteme de algebră de calcul au devenit disponibile la începutul anilor 1970 , derivate și din cercetări în inteligența artificială ; cele două sectoare ale algebrei de calcul și ale inteligenței artificiale s-au separat în curând destul de brusc. Primele sisteme care au atins popularitate au fost Reduce , Derive și Macsyma , toate sistemele încă disponibile în comerț; o versiune copyleft a lui Macsyma numită Maxima este menținută activ. Liderii actuali de piață sunt Mathematica și Maple ; ambele sunt utilizate pe scară largă pentru cercetare și dezvoltare de către matematicieni, oameni de știință și ingineri. Un alt sistem comercial popular este MuPAD ; este disponibil într-o versiune gratuită cu o interfață ușor restricționată pentru cercetare non-profit și utilizare educațională. Există, de asemenea, multe alte sisteme de algebră de calcul disponibile, de exemplu CoCoA , care își concentrează performanța pe arii de calcul specifice; pentru unele domenii de aplicare restricționate, aceste sisteme specializate sunt adesea mult mai eficiente decât cele cu un domeniu mai general, deoarece implementează algoritmi valabili pentru situații foarte particulare; acestea sunt de obicei dezvoltate în medii academice și sunt gratuite.

Noțiuni matematice utilizate în sistemele de algebră de calcul

Alte articole conexe

Bibliografie

  • Richard J. Fateman (1972): „Eseuri în simplificare algebrică”. Raport tehnic MIT-LCS-TR-095. (Raport tehnic de interes istoric pentru primele direcții de cercetare în algebră computațională. Accesibil pe site-ul web al MIT LCS [1] )

linkuri externe

Matematica Portalul de matematică : accesați intrările Wikipedia care se ocupă de matematică