się bardzo dobrze, jednak jego omówienie wykracza poza ramy tego kursu, to łączenie ze sobą różnych aplikacji lub opakowywanie istniejących programów przyjaznymi interfejsami użytkownika.
Osoba skonfrontowana z praktycznym problemem do rozwiązania, o ile nie zajmuje się zawodowo analizą numeryczną, raczej nie będzie miała czasu i środków, aby samodzielnie rozwinąć i zaimplementować odpowiedni algorytm numeryczny. I z reguły nie będzie takiej potrzeby, bo z biegiem lat powstało wiele bibliotek numerycznych, które pozwalają korzystać z gotowych implementacji wielu algorytmów obliczeniowych.
Programistów C/C-H- zainteresować powinna przede wszystkim darmowa biblioteka GSL [12], która oferuje ponad 1000 funkcji bibliotecznych z różnych dziedzin metod numerycznych (patrz dodatek C). Znajdziemy w niej m.in. implementacje prawie wszystkich algorytmów omówionych w tym skrypcie.
Pisząc programy w Fortranie, będziemy mogli skorzystać z LAPACKa [13] - bardzo dobrej biblioteki do algebry liniowej1. LAPACK stworzony został z myślą o procesorach wektorowych i równoległych, ale można stosować go z powodzeniem również na zwykłych komputerach osobistych. Gdyby interesowały nas inne darmowe biblioteki, możemy przeszukać zasoby Fortran Library [14]. Duży wybór procedur na każdą okazję znajdziemy również w „Numerical Reci-pes” [15].
Decydując się na Pythona, możemy skorzystać z bardzo dobrych modułów NumPy/SciPy [16] oraz ScientificPython [17]. Znajdziemy w nich implementacje do większości algorytmów omówionych w tekście. Warto również zainteresować się projektem PyGSL [18], który pozwala korzystać z biblioteki GSL z poziomu Pythona.
W tym miejscu można zadać pytanie o sens nauczania metod numerycznych ludzi, którzy zajmują się praktycznymi obliczeniami. Skoro większość algorytmów i tak jest już zaimplementowana, czy nie wystarczyłoby przedstawić listę odpowiednich funkcji bibliotecznych w wybranym języku? Otóż nie. Stosowanie bibliotek numerycznych nie zwalnia użytkownika od uważnego przeanalizowania sposobów rozwiązania problemu. Znajomość mocnych i słabych stron metody, po implementację której sięgamy, pozwoli uniknąć wielu niespodzianek i lepiej zrozumieć uzyskany wynik.
Biblioteki numeryczne znacznie upraszczają rozwiązywanie praktycznych problemów, jednak ciągle jeszcze wymagają pewnego wysiłku programistycznego od użytkownika. Aby wysiłek ten zredukować do niezbędnego minimum, stworzono kilka środowisk dedykowanych obliczeniom numerycznym. Wyposażone są one zwykle w narzędzia do analizy, manipulacji i wizualizacji danych oraz rozbudowane biblioteki numeryczne o uproszczonym interfejsie. Pozwalają na pracę
9
Istnieje również CLAPACK, czyli wersja biblioteki przetłumaczona na język C za pomocą narzędzia f2c.