Mathematica
Mathematica – komercyjny system obliczeń symbolicznych i numerycznych opracowany w 1988 przez Stephena Wolframa. W ciągu swojego istnienia stał się popularny w środowisku naukowców i inżynierów.
Mathematicę charakteryzują wysoka wydajność, szerokie możliwości wizualizacji i prezentacji danych oraz przenośność. Obecnie jest dostępna na większość platform 32- i 64-bitowych.
Komercyjną konkurencją dla pakietu Mathematica jest Maple. Spośród wolnego oprogramowania podobne funkcje oferują programy Maxima oraz Sage.
Spis treści
Historia
Prace nad programem rozpoczęły się w 1986. Wersja 1.0 ukazała się w 1989. W 1991 wprowadzony został protokół MathLink służący do komunikacji pomiędzy procesami. W 1993 ukazała się wersja 2.2 programu dla systemu Linux. Od 20 stycznia 2005 dostępna m.in. na procesory AMD64. 1 maja 2007 ukazała się wersja 6.0 programu. Wersja 7.0 programu ukazała się 18 listopada 2008, a wersja 8.0 dwa lata później (15.11.2010).
Rozszerzeniem Mathematiki w kierunku obliczeń rozproszonych jest gridMathematica, pozwalająca na niezależne od architektury węzłów obliczenia na klastrach. Najnowsza wersja produktu ma numer 2.1.
Cechy i możliwości
- Własny język programowania funkcyjnego podobny do języka Lisp, który operuje na listach i posiada bogate możliwości ich przetwarzania.
- Obliczenia na liczbach rzeczywistych, zespolonych i kwaternionach o precyzji definiowanej jako epsilon maszynowy lub duże liczby całkowite.
- Wykonywanie obliczeń równoległych, w tym obliczeń z wykorzystaniem karty graficznej w technologii CUDA.
- Przekształcenia wyrażeń arytmetycznych zawierających wielomiany, wyrażenia trygonometryczne, wykładnicze, logarytmiczne itd.
- Rozwiązywanie równań i nierówności różnych typów oraz ich układów.
- Logika matematyczna i algebra Boole'a.
- Algebra liniowa – operacje na skalarach, wektorach i macierzach pod postacią list, przekształcenia i rozkłady macierzy, rozwiązywanie układów równań liniowych, znajdowanie wartości i wektorów własnych, potęgowanie macierzy i funkcje macierzowe, tensory, macierze rzadkie.
- Algebra wyższa – wielomiany rzeczywiste i zespolone, wielomiany diofantyczne, ciała liczbowe, liczby i równania Frobeniusa, ciała skończone (Galois).
- Matematyka dyskretna – kombinatoryka i optymalizacja kombinatoryczna, równania różnicowe i transformata Z, teoria grafów, teoria grup, automaty skończone i komórkowe.
- Teoria liczb – faktoryzacja, kongruencje, równania diofantyczne, analityczne, addytywne i algebraiczne elementy teorii liczb.
- Szeregi, granice i rezydua – sumy i iloczyny, szeregi potęgowe i ich przekształcenia, rozwiązywanie równań rekurencyjnych, znajdowanie granic i residuów funkcji, przybliżenie Pade, alternatywne funkcje numerycznego obliczania przybliżeń granic, residuów i pochodnych.
- Rachunek różniczkowy i całkowy – różniczkowanie, różniczka zupełna, całkowanie, całki oznaczone, nieoznaczone funkcji jednej i wielu zmiennych, całkowanie po różnych obszarach, teoria pola, rachunek wariacyjny, ciągłe i dyskretne przekształcenia całkowe Fouriera i Laplace'a, numeryczna aproksymacja przekształcenia Fouriera i odwrotnego przekształcenia Fouriera.
- Analityczne rozwiązywanie niektórych typów równań różniczkowych zwyczajnych, cząstkowych i różniczkowo-algebraicznych, zagadnienia brzegowe liniowe i nieliniowe.
- Numeryczne rozwiązywanie równań różniczkowych zwyczajnych (wiele wariantów metod Eulera i Rungego-Kutty), cząstkowych (metoda linii MOL), różniczkowo-algebraicznych (metoda IDA) i równań różniczkowych ze stałym opóźnieniem (metoda kroków), wykrywanie równań sztywnych, rozwiązywanie problemów brzegowych, interfejs graficzny do analizy równań różniczkowych.
- Całkowanie numeryczne – kwadratury Newtona-Cotesa, Gaussa, Lobatto i Clenshawa-Curtissa, metody Monte-Carlo i quasi Monte-Carlo, metody adaptacyjne lokalne i globalne, strategie oscylacyjne, eliminacja osobliwości.
- Optymalizacja statyczna bez ograniczeń – metody Newtona, gradientu sprzężonego, Levenberga-Marquardta, BFGS i Brenta, optymalizacja kroku poszukiwań, stany początkowe i końcowe optymalizacji.
- Optymalizacja statyczna z ograniczeniami – programowanie liniowe (metoda simplex, metoda punktu wewnętrznego), numeryczna optymalizacja nieliniowa (lokalna – metoda punktu wewnętrznego, globalna – metoda sympleksu Neldera-Meada, ewolucja różnicowa, symulowane wyżarzanie, przeszukiwanie losowe), analityczna optymalizacja nieliniowa (metoda CAD, metoda mnożników Lagrange'a), programowanie całkowitoliczbowe.
- Prawdopodobieństwo, statystyka i analiza danych – obliczanie prawdopodobieństw, zmienne losowe i ich parametry, ponad sto dystrybuant rozkładów dyskretnych i ciągłych, interpolacja i aproksymacja, funkcje sklejane, sploty i korelacje, estymacja i testowanie hipotez, modele statystyczne.
- Zastosowania w innych dziedzinach wiedzy – teoria sterowania, przetwarzanie sygnałów i przekształcenia falkowe, przetwarzania obrazu i dźwięku, analiza giełdowa i finansowa, eksploracja danych (analiza skupień, dopasowanie sekwencji i dopasowanie do wzorca) i text mining.
- Biblioteka funkcji matematycznych: generatory liczb pseudolosowych, funkcje teorii liczb, funkcje teorii grup, wielomiany ortogonalne, funkcje specjalne i uogólnione, całki i funkcje eliptyczne, stałe matematyczne, fizyczne i jednostki miar.
- Grafika – wykresy 2D i 3D funkcji w postaci zwykłej, parametrycznej i uwikłanej w różnych układach współrzędnych, wykresy specjalne, rysowanie grafów, bryły platońskie, specjalistyczne wykresy statystyczne, opis i modyfikacja wykresów, animacje interaktywne.
- Import danych różnego typu i zapisywanie wyników pracy pod różnymi postaciami (HTML, LaTeX, PostScript, PDF, RTF, CDF, XML z MathLink).
- Narzędzia integracji z innymi systemami poprzez HTTP, SQL, Java, .NET i C.
- Dostęp do dużej internetowej bazy danych matematycznych, naukowych i socjoekonomicznych w serwisie Wolfram Alpha.
Przykłady
Podstawową strukturą danych w Mathematica jest lista. Przykłady list:
In[1]:= m = { {a11,a12}, {a21,a22} }
Out[1]:= { {a11,a12}, {a21,a22} }
Możliwe jest operowanie na listach, których elementami są zarówno liczby jak i zmienne. Funkcja Det[]
wylicza wyznacznik macierzy.
In[2]:= Det[m]
Out[2]:= -a12 a21 + a11 a22
Linki zewnętrzne
Zobacz też
- SageMath – darmowa alternatywa na licencji GPL.
Kategorie: Systemy algebry komputerowej
Informacje na dzień: 24.09.2021 11:27:12 CEST
Źródło: Wikipedia (Autorzy [Historia]) Licencja: CC-BY-SA-3.0
Zmiany: Wszystkie zdjęcia i większość powiązanych z nimi elementów projektu zostały usunięte. Niektóre ikony zostały zastąpione przez FontAwesome-Icons. Niektóre szablony zostały usunięte (np. „Artykuł wymaga rozszerzenia) lub przypisane (np.„ Przypisy ”). Klasy CSS zostały usunięte lub zharmonizowane.
Usunięto linki do Wikipedii, które nie prowadzą do artykułu lub kategorii (takie jak „Redlinki”, „linki do strony edycji”, „linki do portali”). Każde łącze zewnętrzne ma dodatkową ikonę FontAwesome. Oprócz drobnych zmian w projekcie usunięto kontener multimediów, mapy, pola nawigacji, wersje mówione i geomikroformaty.
Proszę zanotować: Ponieważ podana treść jest automatycznie pobierana z Wikipedii w danym momencie, ręczna weryfikacja była i nie jest możliwa. Dlatego LinkFang.org nie gwarantuje dokładności i aktualności pozyskanych treści. Jeśli istnieją informacje, które są obecnie niepoprawne lub mają niedokładny wygląd, prosimy o Skontaktuj się z nami: e-mail.
Zobacz też: Znak firmowy wydawcy & Polityka prywatności.