GNU Scientific Library
![]() | |
Autor | The GNU Project |
---|---|
Aktualna wersja stabilna | 2.8 (25 maja 2024) [±] |
Platforma sprzętowa | Multi-platform |
Rodzaj | biblioteka numeryczna |
Licencja | GPL |
Strona internetowa |
GNU Scientific library – biblioteka funkcji obliczeniowych i naukowych dla C i C++ dostępna na zasadach GPL. Biblioteka jest częścią Projektu GNU.
Przykład użycia
Poniższy przykładowy program oblicza wartość funkcji Bessela dla argumentu 5[1]:
#include <stdio.h> #include <gsl/gsl_sf_bessel.h> int main(void) { double x = 5.0; double y = gsl_sf_bessel_J0(x); printf("J0(%g) = %.18e\n", x, y); return 0; }
Program musi być skonsolidowany z biblioteką GSL:
gcc $(gsl-config --cflags) example.c $(gsl-config --libs)
Wynik pracy programu jest pokazany poniżej (powinien być poprawny dla podwójnej precyzji):
J0(5) = -1.775967713143382920e-01
Możliwości
Biblioteka zawiera ponad tysiąc funkcji, dotyczących:
- liczb rzeczywistych i zespolonych
- wektorów i macierzy
- wielomianów
- operacji na zbiorach
- algebry liniowej
- wartości własnych
- transformat Fouriera i Hankela
- liczb pseudolosowych
- statystyki
- całkowania Monte Carlo
- równań różniczkowych
- interpolacji
- istotnych stałych fizycznych
- i wiele innych
Wsparcie dla C++
Biblioteka GSL może być używana w C++, ale nie może używać wskaźników do metod lecz tylko wskaźników do zwykłych funkcji[2]. Zamiast tego, programiści C++ mogą użyć statycznych funkcji przekierowujących do właściwej metody klasy. Adres używany do statycznych metod w C++ jest kompatybilny z GSL. Dostępne są gotowe wrappery C++ do GSL[3].
Przypisy
- ↑ GNU Scientific Library – Reference Manual: An Example Program [online], www.gnu.org [dostęp 2017-11-23] .
- ↑ [30] Pointers to member functions, C++ FAQ Lite [online], www-igm.univ-mlv.fr [dostęp 2017-11-23] .
- ↑ Christian Holm CHRISTENSEN @ CERN - C++ packages [online], cholm.home.cern.ch [dostęp 2017-11-23] [zarchiwizowane z adresu 2015-01-29] .
Linki zewnętrzne
![]() | Zobacz publikację Programowanie w systemie UNIX/GSL w Wikibooks |
![]() | Zobacz multimedia związane z tematem: GNU Scientific Library |
- Strona domowa projektu
- p
- d
- e
Historia | |
---|---|
Licencje | |
Programy |
|
Postacie |
|