Mathematica

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Mathematica - komercyjny system obliczeń symbolicznych i numerycznych opracowany w 1988 przez Stephena Wolframa. W ciągu przeszło 20 lat istnienia Mathematica stała się bardzo popularna 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.

Historia[edytuj | edytuj kod]

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[edytuj | edytuj kod]

  • własny język programowania funkcyjnego podobny do języka LISP, który operuje na listach i posiada bogate możliwości ich przetwarzania
  • 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
  • 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
  • szeregi, granice i residua - 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
  • 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
  • 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
  • dostęp do dużej internetowej bazy danych matematycznych, naukowych i socjoekonomicznych w serwisie Wolfram Alpha

Przykłady[edytuj | edytuj kod]

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[edytuj | edytuj kod]