Utilisation de GSL

gnu



Produit
Nom
GSL : GNU Scientific Library
 
Machines d'installation
sgi32 et regatta
 
Description
GSL est une bibliothèque de fonctions scientifiques faisant partie du projet GNU.
C'est une collection de routines pour le calcul numérique (par opposition à tout ce qui est symbolique).
Les routines sont écrites à partir de zéro par l'équipe GSL, en ANSI C. Elles sont conçues pour fournir une API (Applications Programming Interface) moderne aux programmeurs en C et pour permettre l'écriture d'emballages pour des langages de très haut niveau.

La librairie couvre les domaines ci-dessous :
  • Nombres complexes
  • Racines de polynômes
  • Fonctions spéciales
  • Vecteurs et matrices
  • Permutations
  • Classement
  • Support de BLAS
  • Algèbre linéaire
  • Valeurs et vecteurs propres
  • Transformée de Fourier rapide
  • Intégration
  • Nombres aléatoires
  • Suites quasi-aléatoires
  • Distributions aléatoires
  • Statistiques
  • Histogrammes
  • N-uples
  • Intégration par Monte Carlo
  • Simulation en anneaux
  • Equations différentielles
  • Interpolation
  • Dérivation numérique
  • Approximations de Chebyshev
  • Accélération de séries
  • Transformées de Hankel discrètes
  • Calcul de racines
  • Minimisation
  • Approximation par moindres carrés
  • Constantes physiques
  • Flottants IEEE

 
 
Fonctionnement
Utilisation
  • Appel de la bibliothèque GSL dans votre programme :
       #include <gsl/gsl_sf_bessel.h>

  • Appel de la bibliothèque GSL dans les commandes de compilation :
    • $CC -L/usr/local/lib -o app app.c -lgsl
    • $CC -c app.c
      $CC -L/usr/local/lib app.o -lgsl
Où $CC est égal à cc (ou gcc) sur sgi32 et à xlc (ou gcc) sur regatta.

Exemple
  • Le programme app.c ci-dessous fait appel à bibliothèque GSL en calculant la valeur de la fonction de bessel J_0(x) pour x=5 :

    #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;
    }

  • Compilation du programme app.c :
    $CC -L/usr/local/lib -o app app.c -lgsl

  • Exécution de l'exécutable :
    app
    J0(5) = -1.775967713143383200e-01

 
Aide



[retour]