Wąsy cioci i Mathematica

Przeczytałem artykuł "Czekając na "trójkę"" (CW nr 8 z 19 lutego 1996 r.) dotyczący programu Mathematica 2.2.3 dla Windows. Autor: dr inż. Marek Rabiński, fizyk, pracownik Instytutu Problemów Jądrowych w Świerku, pisze o tym programie zdecydowanie krytycznie, podając m.in. że:

Przeczytałem artykuł "Czekając na "trójkę"" (CW nr 8 z 19 lutego 1996 r.) dotyczący programu Mathematica 2.2.3 dla Windows. Autor: dr inż. Marek Rabiński, fizyk, pracownik Instytutu Problemów Jądrowych w Świerku, pisze o tym programie zdecydowanie krytycznie, podając m.in. że:

- Przy wykorzystaniu grafiki trójwymiarowej program cytuję: tworzy hermetyczny świat rzeczywistości wykreowanej z analitycznych funkcji - co uznane zostało za ograniczenie możliwości programu. I co gorsze, dla wyników obliczeń numerycznych wymusza reaproksymację na monotonicznie rozłożone punkty.

- Stosowanie metody Rungego-Kutty co najwyżej czwartego rzędu jest nieuzasadnionym marnotrawstwem, a klasa dających się rozwiązać równań cząstkowych jest śmiesznie wąska i w ogóle lepiej stosować pakiet Gaera.

I tak dalej, same mankamenty, aż do konkluzji: Mathematica nie jest dla naukowców, lecz raczej dla uczniów szkoły średniej. I jeszcze mentorskie pouczenie, jeżeli Stephen Wolfram nie zmieni, i to poczynając od wersji 3.0, filozofii programu - to przegra z, ponownie cytuję: SURFER-em/GRAPHER-em i różnymi CAD-ami.

Każdy ma prawo osobiście ocenić przydatność programu komputerowego do swojej pracy. Tylko że z oceny fizyka

teoretycznego nie wynika uniwersalna ocena przydatności programu Mathematica. I dlatego podejmuję polemikę. Czy Mathematica jest przydatna dla naukowców? I tak, i nie. Jest takie żartobliwe rozumowanie logiczne. Przyjmuje się dwie przesłanki: (A) "każdy samiec ma wąsy" i (B) "moja ciocia ma wąsy". Wniosek (X) jest straszny: ciocia jet samcem! Prezentowana w artykule ocena przydatności programu Mathematica wynika z analogicznego schematu wnioskowania A ^ B -> X:

A. Każdy jest fizykiem naukowcem.

B. Program Mathematica nie jest przydatny dla fizyka teoretycznego.

Nieubłagane reguły logiki zmuszają wręcz do wniosku: Mathematica nie jest dla naukowców. I tu zdecydowany protest! Tylko że o ile płeć cioci nie budzi żadnych wątpliwości (powiedzmy, że miała dzieci), to ocena programu Mathematica wymaga pewnych argumentów. Szanuję fizyków; czekam, jak i oni, na dalsze informacje o wewnętrznej

strukturze kwarków. Nauka nie kończy się jednak na fizyce. Dowód formalny: w strukturze PAN występują inne dyscypliny naukowe, np. bliskie mi nauki techniczne. A i Nobel, o którego nagrodzie marzą fizycy, wyróżnił nie tylko fizykę, lecz i chemię, fizjologię lub medycynę, a od pewnego czasu przyznaje się nagrody w dziedzinie ekonomii. Nikt nie zaprzeczy, że w wielu z tych dyscyplin naukowych stosuje się matematykę i to często bliską temu, co zawiera Mathematica. Wystarczy np. zajrzeć do monografii A. C. Chianga: Fundamental Methods of Mathematical Economics.

Może więc warto rzetelnie poinformować o tym, co proponuje program Mathematica. Otóż nie ma to być - jak sugeruje M. Rabiński - uniwersalne narzędzie do wizualizacji danych. Mathematica to program, który umożliwia:

- Obliczenia numeryczne i symboliczne w szerokim zakresie tzw. matematyki wyższej. A więc przede wszystkim klasycznej analizy matematycznej. Jest też teoria liczb i statystyka matematyczna, są wektory, macierze i tensory, a dodatkowe pakiety proponują m.in. logikę rozmytą, matematykę finansową itd. Nie sposób w tych ramach wszystkiego systematycznie wymienić.

- Realizację grafiki matematycznej (2D, 3D) z elementami multimedialnymi: dźwięk i animacja.

- Pisanie programów w języku Mathematica; to cecha ważna i często zapomina się, że bardziej zaawansowane zagadnienia matematyczne są rozwiązywane właśnie w ten sposób. Powoduje to, że za granicą wydano już wiele monografii poświęconych wyłącznie zadaniom matematycznym rozwiązywanym za pomocą programu Mathematica (osobiście posiadam ok. 10 pozycji). Tematyka różna, od rozmaitości matematycznych, do symulacji sieci neuronowych. I tu zgoda, że w języku polskim jest ich rzeczywiście mało (znam trzy poważniejsze).

Mathematica nie konkuruje z różnymi CAD-ami; systemy CAD/CAM/CIM etc. to zupełnie inne zagadnienia. Sądzę, że

jedynym poważnym konkurentem jest program Maple V (Waterloo Maple Software), bardzo zbliżony pod względem możliwości funkcjonalnych. I może jeszcze MATLAB (MathWorks), choć jego zastosowania są bardziej specjalistyczne (Simulink, Toolbox-y). Produkty programistyczne Golden Software konkurują głównie w zakresie grafiki i nie mogą być porównywalne całościowo z programem Mathematica. Wymieniono też w artykule program Mathcad Plus 5.0, jako bardziej puszysty. To zagadnienie marginalne, Mathematica jest lepsza, gdyż liczy dokładniej. Nie zdarzają się jej takie wpadki, jak odwrócenie macierzy osobliwej (czyni to niestety Mathcad - pisałem o tym w cyklu Matematyka & Komputer - MECHANIK 1- 12/95).

Innymi słowy: program Mathematica jest szczególnie użyteczny dla tych, którzy muszą rozwiązywać zadania matematyczne. W określonym obszarze matematyki uwalnia od uciążliwości techniki obliczeniowej, umożliwiając koncentrację na istocie problemu. To program dla każdego - od ucznia i studenta, przez inżyniera, ekonomistę itp., do naukowca. Dla jednych Mathematica oferuje zbyt mało, bez wątpienia należą do nich fizycy teoretyczni. Dla innych możliwości programu Mathematica są zbyt... duże - dla nich pozostaje Mathcad lub Derive, a w szczególnych zastosowaniach np. Statgraphics. Jednak dla bardzo wielu Mathematica to program właściwy i w pełni wystarczający. I dlatego należy o nim pisać rzetelnie.

Ponieważ w CW artykuł o Mathematica umieszczony został w dziale Systemy inżynierskie, użyję samochodowego porównania: Mathematica to nie bolid Formuły 1, ale też nie maluch, osobiście klasyfikuję go na poziomie np. forda mondeo. I najlepiej samemu się o tym przekonać.

--

Prof. dr hab. inż Zbigniew Polański jest pracownikiem Politechniki Krakowskiej.