Wykorzystanie wolnego oprogramowania w nauce



Podobne dokumenty
Architektura dużych projektów bioinformatycznych

Wspomaganie obliczeń matematycznych. dr inż. Michał Michna

dr inż. Michał Michna WSPOMAGANIE OBLICZEŃ MATEMATYCZNYCH

Obliczenia Naukowe. Wykład 11:Pakiety do obliczeń: naukowych i inżynierskich Przegląd i porównanie. Bartek Wilczyński

Obliczenia inżynierskie. oprogramowanie matematyczne

Komputerowe Wspomaganie Obliczeń. dr Robert Kowalczyk

Pisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane.

PWSZ w Tarnowie Instytut Politechniczny Elektrotechnika

Wspomaganie obliczeń matematycznych. dr inż. Michał Michna

Pakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki

Informatyka. Wykład 0. Witold Dyrka 13/2/2012

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Architektura dużych projektów bioinformatycznych

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Statystyka I z R. Bartosz Maćkiewicz. 2 października 2017

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 7. Karol Tarnowski A-1 p.

Podstawy Informatyki Computer basics

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

Wykorzystanie programów komputerowych do obliczeń matematycznych, cz. 2/2

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Matlab - zastosowania Matlab - applications. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Rok akademicki: 2013/2014 Kod: STC s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Pakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki

Podstawy programowania w Qt4

WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

egroupware czy phpgroupware jest też mniej stabilny.

Wykorzystanie programów komputerowych do obliczeń matematycznych, cz. 2/2

Zajęcia nr 5 Algorytmy i wskaźniki. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Tworzenie macierzy pełnych Generowanie macierzy pełnych Funkcje przekształcające macierze pełne

KARTA MODUŁU (część I)

GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

Algorytmy, reprezentacja algorytmów.

PRZEWODNIK PO PRZEDMIOCIE

KARTA KURSU (realizowanego w module specjalności) Metody numeryczne

Wykorzystanie programów komputerowych do obliczeń matematycznych

Programowanie w C. dr inż. Stanisław Wszelak

KARTA MODUŁU (część I, 2013/2014)

System opracowywania dokumentów: L A TEX

Rozwiązywanie równań różniczkowych zwyczajnych za pomocą komputera

Programowanie proceduralne w języku C++ Podstawy

Zastosowanie programu SMath Studio w nauczaniu przedmiotów geodezyjnych

Dostawa oprogramowania. Nr sprawy: ZP /15

REFERAT PRACY DYPLOMOWEJ

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2018/2019

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Simulink MATLAB Przegląd obiektów i przykłady zastosowań

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

Zadanie 2: Arytmetyka symboli

Czym jest całka? Całkowanie numeryczne

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

GUI - projektowanie interfejsów

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

REFERAT O PRACY DYPLOMOWEJ

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Podstawy analizy danych numerycznych w języku Python

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

Nowoczesne metody nauczania przedmiotów ścisłych

Top 38 w roku GeoGebra

Elementy metod numerycznych - zajęcia 9

Odniesienie do kierunkowych efektów kształcenia Zna podstawowe możliwości pakietu Matlab

Naukowe Koło Nowoczesnych Technologii

PDM wbudowany w Solid Edge

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

OPIS MODUŁU KSZTAŁCENIA (przedmiot lub grupa przedmiotów)

Analiza Algebra Podstawy programowania strukturalnego. Podstawowe wiadomości o funkcjach Podstawowe wiadomości o macierzach Podstawy programowania

Studentom zostaną dostarczone wzory lub materiały opisujące. Zachęcamy do wykonania projektów programistycznych w postaci apletów.

Pakiety matematyczne INP2708W,L

PRZETWARZANIE I ORGANIZOWANIE DANYCH: ARKUSZ KALKULACYJNY

Proste algorytmy w języku C

1 Podstawy c++ w pigułce.

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Pakiety matematyczne i informatyczne. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:

KARTA MODUŁU (część I)

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Tytuł pracy dyplomowej

Podstawy języka skryptowego Lua

Elementy statystyki STA - Wykład 1

Analiza Algebra Podstawy programowania strukturalnego. Podstawowe wiadomości o funkcjach Podstawowe wiadomości o macierzach Podstawy programowania

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Narzędzia uruchomieniowe dla systemów Embedded firmy Total Phase

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 7 maja K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31

Pakiet matlab odpowiednie narzędzie w nowoczesnym laboratorium. Karol Józefowicz. Państwowa Wyższa Szkoła Zawodowa w Lesznie, Instytut Politechniczny

Opracowanie dodatkowego rodzaju pytań dla systemu Moodle

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Algorytmy Komunikacyjne dla Trójwymiarowych Sieci Opartych na Plastrze Miodu. Ireneusz Szcześniak. Politechnika Śląska 20 czerwca 2002 r.

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2014/2015


Rok akademicki: 2016/2017 Kod: JIS s Punkty ECTS: 6. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

KARTA MODUŁU PRZEDMIOTU

Macierze Lekcja I: Wprowadzenie

Transkrypt:

Wykorzystanie wolnego oprogramowania w nauce Piotr Gawron, Jarek Miszczak 24 stycznia 2007 Streszczenie Celem pracy jest porównanie komercyjnych pakietów służących do prac naukowych z ich wolnymi odpowiednikami. Postaramy się porównać cechy dużych pakietów pogrupowanych w trzy kategorie: obliczenia numeryczne, statystyka i obliczenia symboliczne. 1 Wstęp Skupimy się na kilku dużych komercyjnych pakietach oprogramowania i ich wolnych odpowiednikach. Postaramy się dokonać przeglądu i ocenić jakość tych produktów z punktu widzenia studenta czy pracownika naukowego. Szczególną uwagę zwrócimy na wachlarz możliwości (ilość dostępnych funkcji, łatwość pisania rozszerzeń) oraz wygodę użytkowania i interfejs użytkownika. 2 Obliczenia numeryczne W tej kategorii omówimy trzy duże pakiety oprogramowania: komercyjny Matlab oraz dwa darmowe pakiety, które starają się go zastąpic: GNU Octave oraz Scilab. 2.1 Matlab Produkt firmy MathSoft jest jedym z najbardziej zaawansowanych narzędzi przeznaczonych do zastosowań inżynierskich. Matlab jest rozwijany od przełomu lat siedemdziesiątych i osiemdziesiątych. Cleve Moler, wykładowca algebry na Uniwersytecie Nowy Meksyk, napisał w Fortranie prosty język skryptowy umożliwiający studentom korzystanie z bibliotek numerycznych 1

bez konieczności pisania w Fortranie. Co ciekawe język ten był rozprowadzany na zasadach public domain. W roku 1983 powstała firma MathWorks, która zastąpiła Fortrana językiem C i dodała zintegrowana grafikę i zaczeła sprzedawać Matlaba. Matlab jest dostępny na systemy operacyjne Windows, Linux oraz Macintosh. Wersja dla studentów kosztuje 99 $, wersja do użytku akademickiego dla uczelni to wydatek 500 $ za jedno stanowisko, natomiast wersja komercyjna kosztuje 1900 $. Jest to spory koszt, ale Matlab to de facto standard jeżeli chodzi o obliczenia numeryczne. Porównanie wydajności [7] z Octavem i Scilabem wskazuje też na przewagę Matlaba. Niestety dokupienie dodatkowych pakietów jest bardzo kosztowne dla studentów jeden toolbox kosztuje od 50 do 90 $, natomiast dla instytucji komercyjnych dodatkowe pakiety kosztują od 700 do 4000 $ każdy. 2.2 GNU Octave Octave powstał pod koniec lat osiemdziesiątych XX wieku jako specialistyczne narzędzie przeznaczone do obliczeń chemicznych. Od tamtej pory został rozwinięty w narzędzie pozwalające na elastyczne operowanie na danych. Jest rozprowadzany na licencji GPL. Podstawową strukturą danych w GNU Octave jest macierz bez problemu można wykonywać dodawanie, mnożenie i odwracanie macierzy. Przykładowo octave:1> a = [1,2;3,4]; octave:2> a a = 1 2 3 4 octave:3> a**-1 ans = -2.00000 1.00000 1.50000-0.50000 Można też łatwo definiować funkcje, operować na strukturach, napisach i tablicach. Język GNU Octave jest bardzo prosty, przypominający nieco fortrana i nie wymaga od użytkownika zbyt wielkiej dbałości o szczegóły. 2

Jedną z największych zalet Octava jest możliwość rozszerzania języka. Wykorzystując bibliotekę liboctave można pisać moduły, które mogą być następnie wykorzystywane identycznie jak wbudowane funkcje. Działają one przy tym znacznie szybciej niż funkcje napisane w języku GNU Octave. Jeżeli chodzi o pakiety rozszerzeń to projekt GNU Octave Repository [3] skupia wiele użytecznych dodatków do GNU Octave. Teoretycznie Octave może wykorzystywać skrypty napisana dla Matlaba, ale w praktyce nie zawsze to działa. 2.3 Scilab Konkurencją dla GNU Octava jest Scilab [8]. Zosał on stworzony przez Institut National de Recherche en Informatique et en Automatique i Ecole Nationale des Ponts et Chaussées jako zastępstwo Matlaba. Program ten jest zaopatrzony w interfejs użytkownika, który nie jest może zbyt estetyczny, ale wystarczająco funkcjonalny. Ze Scilabem powiązany jest pakiet Scicos, który przeznaczony jest do modelowania i symulacji układów dynamicznych. Scilab posiada silne wsparcie dla importu programów z Matlaba. Rysunek 1: Scilab w pracy Składnia Scilaba jest bardzo podobna do składni Octava. -->a = [1,2;3,4] 3

a =! 1. 2.!! 3. 4.! -->a**(-1) ans =! - 2. 1.!! 1.5-0.5! Najsłabszą stroną Scilaba jest jego wydajność. Nieco poprawiła się ona w nowo wydanej wersji 3.0 pakietu. 3 Pakiety statystyczne Niestety nie istnieje zbyt wiele wolnych pakietów z oprogramowaniem dedykowanym do badań statystycznych. Najbardziej rozbudowany wolny pakiet to GNU R. Dorównuje on pod względem możliwości komercyjnej Statistice. Scilab i Octave posiadają szeroką gamę funkcji statystycznych, jednakże nie są one przeznaczone ściśle do obrabiania danych statystycznych. Wyraźnie brakuje wolnego oprogramowania, które posiadałoby przyjazny użytkownikowi interfejs graficzny. 3.1 Statistica firmy StatSoft Statistica jest pakietem przeznaczonym do prowadzenia obliczeń statystycznych. Pakiet programów z tej rodziny jest bardzo rozbudowany, jednakże my skupimy się tylko na możliwości zastosowania go do obliczeń naukowych, a w szczególności medycznych. Statistica została zaimplementowana jedynie dla systemów operacyjnych z rodziny Windows. Zawiera wsparcie dla mechanizmu OLE, własny interepreter języka Visual Basic oraz możliwość komunikacji z bazami danych. Do zalet programu można zaliczyć to, iż wszystkie opcje dostępne są z poziomu GUI oraz z poziomu Visual Basica. Ta druga możliwość jednak nie jest przydatna przeciętnemu użytkownikowi. Program posiada wiele zaimplementowanych testów i algorytmów, które dodatkowo są dobrze udokumentowane. Interefejs graficzny niestety pozostawia wiele do życzenia. Na pierwszy rzut oka jest on przyjazny, jednakże wykonanie jakichkolwiek trochę bardziej zaawansowanych obliczeń wymaga przedzierania się przez 4

Rysunek 2: Prezentacji wyników obliczeń w Statistice dziesiątki okienek, które zostały bardzo źle zaprojektowane. Początkujący użytkownik nie ma szans na wykonanie obliczeń w szybkim czasie. Program udostępnia możliwość automatycznego generowania raportów, jednkaże często się zdarza, że trzeba dokonywać wielu poprawek ręcznie, aby raport nadawał się do odczytania lub wydruku. W zakresie podstawowych operacji pakiet sprawuje się dobrze, jeżeli pozna się szereg sztuczek, które omijają błędy i niedociągnięcia programu. Program jest też stosunkowo niestabilny i trzeba być przygotowanym na utratę wyników. Koszty zakupu pakietu Statistica w wersji jednostanowiskowej wynoszą około 6000 złotych. Przy zakupie tego oprogramowania dla laboratorium dydaktycznego (25 stanowisk) należy się liczyć z koszami w granicy 10000 złotych. Warto zauważyć, że mimo swojej bardzo wysokiej ceny, Statistica jest standardem na polskich uczelniach. 3.2 GNU R GNU R jest to zarazem pakiet jak i język stworzony na potrzeby obliczeń statystycznych. Pierwowzorem języka i środowiska był rozwijany przez 5

AT&T język S. Komercyjnym odpowiednikiem GNU R jest S-PLUS firmy Insightful 1. Zarówno GNU R jaki i S-PLUS są dostępne na systemy UNIXowe i Windows. R jest językiem wysokiego poziomu. Użytkownik może operować na zaawansowanych strukturach danych takich jak: lista, wektor, tablica wielowymiarowa. Pakiet R pozwala także na operowanie na typach takich jak dataframe, który umożliwia łatwe obrabianie danych statystycznych. Zawansowany przykład użycia pakietu R krzywa Kaplana-Meyera: # załaduj bibliotekę -- analiza przeżycia library(survival); # utwórz obiekt z danymi na podstawie pliku CSV datasheet <- read.csv2("2004last1.csv"); # wybierz podzbiór danych datasheet <- subset(datasheet, datasheet["czascado"]>60); # utwórz obiekt przeżycia surv1 <- Surv(data.matrix(datasheet["CZASCADO"]), data.matrix(datasheet["los.cado"])); # wykonaj analizę przeżycia sf <- survfit(surv1); # przygotuj wyjście do pliku PDF pdf(encoding="isolatin2", file="r.pdf"); # narysuj wykres plot(sf, xlab="dni", ylab="procent przeżywających"); # opatrz go stosownym komentarzem title(paste("krzywa Kaplana-Meyera dla osób poddanych dializie")) # deaktywuj wyjście graficzne dev.off() Wynik działania tego programu jest przedstawiony na Rys.3. Istnieje kilka projektów mających na celu stworzenie GUI ułatwiającego pracę. Są to między innymi: R Commander, RGtk czy świeżo powstający i rokujący duże nadzieje RKward. R jest bardzo aktywnie rozwijany. Odznacza się bardzo dużą ilością dostępnych pakietów dodatkowych. Mogą one być w prosty sposób zainstalowane z jednego z wielu serwerów lustrzanych CRAN (Comprehensive R Archive Network). 1 http://www.insightful.com/ 6

Krzywa Kaplana Meyera dla osób poddanych dializie Procent przeżywających 0.0 0.2 0.4 0.6 0.8 1.0 0 500 1000 1500 2000 2500 3000 3500 Dni Rysunek 3: Wynik działania programu w R 4 Obliczenia symboliczne 4.1 Mathematica Pakiet Mathematica został stworzony w latach osiemdziesiątych przez S. Wolframa [5] ma już 15 lat. Program dostępny jest na wiele systemów operacyjnych, m.in. MS Windows, Linux 32 i 64 bitowy, HP Tru64 Unix 5.1, HP-UX 11, IBM AIX 5.1, SGI IRIX 6.5, Mac OS X 10.2 oraz 10.3. Matematica umożliwia symboliczne i numeryczne rozwiązywanie układów równań, całkowanie i rozwiązywanie układów równań różniczkowych. Wraz z programem dostarczanych jest wiele wyspecjalizowanych pakietów, przykładowo do operacji na grafach czy definujących stałe fizyczne. Bardzo silną stroną pakietu jest zintegrowana grafika. Przykład wykorzystania jest przedstawiony poniżej: In[1]:= a = {{1,2}, {3,4}} Out[1]= {{1, 2}, {3, 4}} In[2]:= Det[a] Out[2]= -2 (** Operacja na poszczególnych elementach **) In[3]:= a^-1 7

1 1 1 Out[3]= {{1, -}, {-, -}} 2 3 4 (** Odwrócenie macierzy**) In[4]:= Inverse[a] 3 1 Out[4]= {{-2, 1}, {-, -(-)}} 2 2 (** Rozwiązanie równania logarytmicznego **) In[5]:= Solve[Log[x]*x==Log[y],{y}] x Out[5]= {{y -> x }} Interfejs użytkownika nie jest zbyt przyjazny, ale na pewno jest lepszy niż w przypadku programu Maxima. Możliwa też jest praca pod konsolą. Mathematica dostarcza doskonałego systemu pomocy, który może służyć za encyklopedię matematyki. Zaletą programu jest także dostępność literatury w języku polskim opisującej możliwości programu. Pakiety MathLink i J/Link dają możliwość pisania rozszerzeń przy użyciu C++ czy interfejsu użytkownika w Javie. Cechą, która odstrasza, jest cena pakietu. Według strony firmy Gambit, polskiego dystrybutora programu, Mathematica 5.0.1 Win + Premier Service wersja jednostanowiskowa edukacyjna po rabacie 20%: kosztuje 4517,14 zł + 22% VAT, natomiast wersja komercyjna z rabatem 20% kosztuje 7733,95 zł + 22% VAT. 4.2 Maxima Wśród wolnego oprogramowania za odpowiednika pakietu Mathematica uważana jest Maxima. Jest to następca programu Macsyma rozwijanego od lat 60-tych w MIT. W 1998 roku kod programu został opublikowany dzięki staraniom Williama Scheltera na licencji GPL. Możliwości programu są spore, ale jak piszą sami twórcy, jest jeszcze sporo do zrobienia. Program może pracować zarówno w środowisku graficznym, jak i pod konsolą. Graficzny interfejs użytkwnika nie jest zbyt przyjazny jest nieco podoby do interfejsu programu Mathematica, ale przy tym znacznie uboższy. System pomocy jest dostępny poprzez wbudowaną w program przeglądarkę WWW. Z naszego punktu widzenia najważniejsze zalety to możliwość symblicznego rozwiązywania równań różniczkowych oraz różniczkowanie i całkowanie 8

symboliczne. Program umożliwia programowanie w języku LISP, wykonywanie operacji na macierzach oraz wykonywanie wykresów. Program pozwala na zapis wyników pracy w TEX-u, a wykresów w Post- Scripcie. Możliwa jest także współpraca Maximy z TEXmacsem. Rysunek 4: Maxima w pracy 4.3 GiNaC Na zakończenie tego rozdziału opiszemy pokrótce pakiet GiNaC (GiNaC is Not a CAS 2 ). Jest to biblioteka, która pozwala na wykonywanie obliczeń symbolicznych bezpośrednio z poziomu języka C++. Może być ona alternatywą dla dwóch wcześniej opisanych pakietów, chociaż jego możliwości są uboższe. Poniżej podany jest za tutorialem przykład wykorzystania GiNaCa do generowania współczynników wielomianu. #include <iostream> #include <ginac/ginac.h> using namespace std; 2 CAS - Computer Algebra System 9

using namespace GiNaC; int main() { symbol x("x"), y("y"); ex poly; for (int i=0; i<3; ++i) poly += factorial(i+16)*pow(x,i)*pow(y,2-i); } cout << poly << endl; return 0; Minimalistyczna powłoka ginsh rozprowadzana z biblioteką pozwala na wykorzystanie niektórych dostępnych funkcji. GiNaC dostarcza także skryptów do wykorzystania w trakcie zarządzania projektem narzędzi GNU autotools. GiNaC bazuje na bibliotece CLN (ang. Class Library for Numbers) zawierającej klasy C++ do operacji na wielu rodzajach liczb. 5 Podsumowanie Przedstawiony opis nie wyczerpuje bogactwa oprogramowania dostępnego dla naukowców i studentów nie opisaliśmy chociażby dość popularnych programów Maple 3 czy MathCAD 4. Istnieje też cała gama wolnych programów i bibliotek, które mogą być przydatne w zależności od celów jakie przyświecają użytkownikowi. Warto wspomnieć tu dwa rozwiązania oparte na popularnych językach programowania są to Perl Data Language 5 oraz ScientificPython 6. Największą zaletą pakietów komercyjnych jest spójność dostarczanych środowisk. W zakresie wolnego oprogramowania ciekawym rozwiązaniem jest TEXmacs. Pozwala on na intergrację wielu pakietów wraz ze środowiskiem do tworzenia publikacji opartych na TEX-u. 3 http://www.maplesoft.com/ 4 http://www.mathsoft.com 5 http://pde.perl.org/ 6 http://starship.python.net/ hinsen/scientificpython/ 10

Literatura [1] J. Eaton, GNU Octave Manual, Network Theory Ltd., 2002. [2] W. N. Venables, D. M. Smith oraz R Development Core Team, An Introduction to R, Network Theory Ltd, 2002. [3] http://octave-forge.sourceforge.net/ [4] M. Murphy, Octave: A Free, High-Level Language for Mathematics, Linux Journal, Issue 39. [5] S. Wolfram, The Mathematica Book, Wolfram Media/Cambridge University Press, 1999. [6] http://www.ginac.de/, http://www.ginac.de/cln [7] http://www.sciviews.org/other/benchmark.htm [8] http://www.scilab.org/ 11