System algebry komputerowej - Computer algebra system
System algebry komputerowej ( CAS ) lub system algebry symbolicznej ( SAS ) to dowolne oprogramowanie matematyczne umożliwiające manipulowanie wyrażeniami matematycznymi w sposób podobny do tradycyjnych ręcznych obliczeń matematyków i naukowców . Rozwój systemów algebr komputerowych w drugiej połowie XX wieku jest częścią dyscypliny „ algebry komputerowej ” lub „ obliczenia symbolicznego ”, która pobudziła prace nad algorytmami nad obiektami matematycznymi, takimi jak wielomiany .
Systemy algebry komputerowej można podzielić na dwie klasy: specjalistyczne i ogólnego przeznaczenia. Te specjalistyczne poświęcone są określonej części matematyki, takiej jak teoria liczb , teoria grup , czy nauczanie matematyki elementarnej .
Systemy algebry komputerowej ogólnego przeznaczenia mają być przydatne dla użytkownika pracującego w dowolnej dziedzinie naukowej, która wymaga manipulacji wyrażeniami matematycznymi. Aby był użyteczny, system algebry komputerowej ogólnego przeznaczenia musi zawierać różne funkcje, takie jak:
- interfejs użytkownika pozwala użytkownikowi na wprowadzanie i wyświetlanie formuł matematycznych, zazwyczaj z klawiatury, opcje menu, myszy lub rysika.
- język programowania oraz tłumacza (wynikiem obliczeń zwykle ma nieprzewidywalne formy i nieprzewidywalny rozmiaru, dlatego interwencja użytkownika jest często potrzebne),
- Simplifier , który to układ przepisać celu uproszczenia wzorów matematycznych,
- menedżer pamięci , w tym śmieciarza , potrzebne ogromnego rozmiaru danych pośrednich, które mogą pojawić się w trakcie obliczeń,
- arytmetyka o arbitralnej precyzji , potrzebna ze względu na ogromny rozmiar liczb całkowitych, które mogą wystąpić,
- duża biblioteka algorytmów matematycznych i funkcji specjalnych .
Biblioteka musi uwzględniać nie tylko potrzeby użytkowników, ale także potrzeby osoby upraszczającej. Na przykład, obliczanie największych wspólnych dzielników wielomianu jest systematycznie wykorzystywane do uproszczenia wyrażeń obejmujących ułamki.
Ta duża ilość wymaganych możliwości komputerowych wyjaśnia niewielką liczbę systemów algebry komputerowej ogólnego przeznaczenia. Główne z nich to Axiom , Maxima , Magma , Maple , Mathematica i SageMath .
Historia
Systemy algebry komputerowej zaczęły pojawiać się w latach 60. XX wieku i wyewoluowały z dwóch zupełnie różnych źródeł — wymagań fizyków teoretycznych i badań nad sztuczną inteligencją .
Doskonałym przykładem tego pierwszego rozwoju była pionierska praca prowadzona przez późniejszego laureata Nagrody Nobla w dziedzinie fizyki Martinusa Veltmana , który w 1963 r. zaprojektował program do matematyki symbolicznej, zwłaszcza fizyki wysokich energii, nazwany Schoonschip (po holendersku „czysty statek”). Innym wczesnym systemem był FORMAC .
Korzystanie Lisp jako podstawa programowania, Carl Engelman stworzony Mathlab w 1964 roku w MITRE w środowisku badawczym sztucznej inteligencji. Później MATHLAB został udostępniony użytkownikom na systemach PDP-6 i PDP-10 z systemem TOPS-10 lub TENEX na uczelniach. Dziś nadal może być używany w emulacjach SIMH PDP-10. Mathlab ( „ matematyka ematical laboratorium oratorium«) nie powinien być mylony z MATLAB (» mata Rix laboratorium oratorium”), który to system do obliczeń numerycznych zbudowany 15 lat później na University of New Mexico .
Pierwszymi popularnymi systemami algebry komputerowej były muMATH , Reduce , Derive (oparte na muMATH) i Macsyma ; popularna wersja Macsyma typu copyleft o nazwie Maxima jest aktywnie utrzymywana. Reduce stało się wolnym oprogramowaniem w 2008 roku. Na dzień dzisiejszy najbardziej popularnymi systemami komercyjnymi są Mathematica i Maple , które są powszechnie używane przez naukowców, naukowców i inżynierów. Swobodnie dostępne alternatywy obejmują SageMath (który może działać jako interfejs do kilku innych darmowych i niewolnych CAS).
W 1987 roku firma Hewlett-Packard wprowadziła pierwszy ręczny kalkulator CAS z serią HP-28 i po raz pierwszy w kalkulatorze można było układać wyrażenia algebraiczne, różniczkowanie, ograniczoną integrację symboliczną, konstrukcję szeregu Taylora i rozwiązywacz równań algebraicznych. W 1999 roku niezależnie opracowane rozwiązanie CAS Erable dla serii HP 48 stało się oficjalnie zintegrowaną częścią oprogramowania układowego powstającej serii HP 49/50 , a rok później również dla serii HP 40 , podczas gdy HP Prime przyjął system Xcas w 2013.
Firma Texas Instruments w 1995 roku wypuściła kalkulator TI-92 z CAS oparty na oprogramowaniu Derive ; z TI-Nspire zastąpiony czerpać w 2007. TI-89 serii , po raz pierwszy wydany w 1998 roku, zawiera również CAS.
Casio wypuściło swój pierwszy kalkulator CAS z CFX-9970G i zastąpił go serią Algebra FX w latach 1999-2003 oraz obecną serią ClassPad .
Ostatnio systemy algebry komputerowej zostały zaimplementowane przy użyciu sztucznych sieci neuronowych .
Manipulacje symboliczne
Obsługiwane manipulacje symboliczne zazwyczaj obejmują:
- uproszczenie do mniejszego wyrażenia lub jakiejś standardowej formy , w tym automatyczne uproszczenie z założeniami i uproszczenie z ograniczeniami
- podstawienie symboli lub wartości liczbowych dla niektórych wyrażeń
- zmiana formy wyrażeń: rozwinięcie iloczynów i potęg, faktoryzacja częściowa i pełna , przepisywanie jako ułamki częściowe , spełnianie ograniczeń , przepisywanie funkcji trygonometrycznych jako wykładniki, przekształcanie wyrażeń logicznych itp.
- zróżnicowanie częściowe i całkowite
- pewne całkowanie nieoznaczone i oznaczone (patrz całkowanie symboliczne ), w tym całki wielowymiarowe
- symboliczna ograniczona i nieograniczona globalna optymalizacja
- rozwiązywanie równań liniowych i niektórych równań nieliniowych w różnych dziedzinach
- rozwiązywanie niektórych równań różniczkowych i różnicowych
- przyjmuję pewne ograniczenia
- przekształcenia całkowe
- serii operacji, takich jak rozprężanie, sumowania i produktami
- operacje macierzowe obejmujące iloczyny , odwrotności itp.
- obliczenia statystyczne
- dowodzenie i weryfikacja twierdzeń, które jest bardzo przydatne w obszarze matematyki eksperymentalnej
- zoptymalizowane generowanie kodu
W powyższym tekście słowo some wskazuje, że operacja nie zawsze może być wykonana.
Dodatkowe możliwości
Wiele z nich obejmuje również:
- język programowania , dzięki czemu użytkownicy mogą realizować swoje własne algorytmy
- operacje numeryczne o dowolnej precyzji
- dokładna arytmetyka liczb całkowitych i funkcjonalność teorii liczb
- Edycja wyrażeń matematycznych w postaci dwuwymiarowej
- kreślenie wykresów i wykresów parametrycznych funkcji w dwóch i trzech wymiarach oraz ich animowanie
- rysowanie wykresów i diagramów
- API do łączenia go z zewnętrznym programem, takim jak baza danych, lub używanie w języku programowania do korzystania z systemu algebry komputerowej
- manipulowanie ciągami znaków, takie jak dopasowywanie i wyszukiwanie
- dodatki do zastosowania w matematyce stosowanej, takie jak fizyka, bioinformatyka , chemia obliczeniowa i pakiety do obliczeń fizycznych
Niektóre obejmują:
- produkcja i edycja graficzna , taka jak obrazy generowane komputerowo i przetwarzanie sygnału, takie jak przetwarzanie obrazu
- synteza dźwięku
Niektóre systemy algebry komputerowej koncentrują się na wyspecjalizowanych dyscyplinach; są one zazwyczaj opracowywane w środowisku akademickim i są bezpłatne. Mogą być nieefektywne w przypadku operacji numerycznych w porównaniu z systemami numerycznymi .
Rodzaje wyrażeń
Wyrażenia manipulowane przez CAS zazwyczaj zawierają wielomiany w wielu zmiennych; standardowe funkcje wyrażeń ( sinus , wykładniczy , itp.); różne funkcje specjalne ( Γ , ζ , erf , funkcje Bessela itp.); dowolne funkcje wyrażeń; optymalizacja; pochodne, całki, uproszczenia, sumy i produkty wyrażeń; skrócone szeregi z wyrażeniami jako współczynnikami, macierzami wyrażeń i tak dalej. Obsługiwane domeny numeryczne zazwyczaj obejmują zmiennoprzecinkową reprezentację liczb rzeczywistych , liczb całkowitych (o nieograniczonej wielkości), zespoloną (reprezentację zmiennoprzecinkową), przedziałową reprezentację liczb rzeczywistych , liczbę wymierną (dokładną reprezentację) i liczby algebraiczne .
Użyj w edukacji
Było wielu zwolenników zwiększenia wykorzystania systemów algebry komputerowej w klasach szkół podstawowych i średnich. Głównym powodem takiego poparcia jest to, że systemy algebry komputerowej reprezentują matematykę ze świata rzeczywistego bardziej niż matematyka oparta na papierze i ołówku lub ręcznym kalkulatorze. To dążenie do zwiększenia wykorzystania komputerów w klasach matematyki zostało poparte przez niektóre rady edukacyjne. W niektórych regionach został nawet wprowadzony do programu nauczania.
Systemy algebry komputerowej są szeroko stosowane w szkolnictwie wyższym. Wiele uniwersytetów oferuje albo specjalne kursy dotyczące rozwijania ich zastosowań, albo niejawnie oczekuje, że studenci będą z nich korzystać podczas pracy na kursie. Firmy opracowujące systemy algebry komputerowej naciskały na zwiększenie ich rozpowszechnienia wśród programów uniwersyteckich i uniwersyteckich.
Kalkulatory wyposażone w CAS nie są dozwolone w ACT , PLANIE i w niektórych salach lekcyjnych, chociaż mogą być dozwolone we wszystkich testach dozwolonych przez kalkulator College Board , w tym w SAT , niektórych testach przedmiotowych SAT i AP Calculus , Chemistry , Egzaminy z fizyki i statystyki .
Matematyka stosowana w systemach algebry komputerowej
- Algorytm uzupełniania Knutha-Bendixa
- Algorytmy wyszukiwania korzeni
- Integracja symboliczna za pomocą np. algorytmu Rischa lub algorytmu Rischa-Normana
- Sumowanie hipergeometryczne za pomocą np . algorytmu Gospera
- Obliczenia graniczne za pomocą np. algorytmu Gruntza
- Faktoryzacja wielomianowa poprzez np. przez ciała skończone, algorytm Berlekampa lub algorytm Cantora-Zassenhausa .
- Największy wspólny dzielnik poprzez np. algorytm euklidesowy
- Eliminacja Gaussa
- Bazę Gröbnera za pomocą np . algorytmu Buchbergera ; uogólnienie algorytmu Euklidesa i eliminacja Gaussa
- Przybliżony Padé
- Lemat Schwartza-Zippela i testowanie tożsamości wielomianowych
- Chińskie twierdzenie o resztach
- Równania diofantyczne
- Eliminacja kwantyfikatora po liczbach rzeczywistych np. metodą Tarskiego / Cylindryczny rozkład algebraiczny
- Algorytm Landaua (rodniki zagnieżdżone)
- Pochodne funkcji elementarnych i funkcji specjalnych . (np. Zobacz pochodne niepełnej funkcji gamma .)
- Cylindryczny rozkład algebraiczny
Zobacz też
- Lista systemów algebry komputerowej
- Obliczenia naukowe
- Pakiet statystyczny
- Zautomatyzowane dowodzenie twierdzeń
- Język modelowania algebraicznego
- Programowanie z logiką ograniczeń
- Teorie modulo spełnialności
Bibliografia
Zewnętrzne linki
- Definicja i działanie systemu algebry komputerowej
- Program nauczania i ocenianie w epoce systemów algebry komputerowej — z ośrodka informacyjnego o zasobach edukacyjnych Clearinghouse for Science, Mathematics and Environmental Education, Columbus, Ohio .
- Ryszarda J. Fatama. „Eseje w uproszczeniu algebraicznym”. Raport techniczny MIT-LCS-TR-095, 1972. (Historyczne zainteresowanie ukazaniem kierunku badań w algebrze komputerowej. Na stronie internetowej MIT LCS: [1] )