Présentation de la GSL



Documents pareils
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Stratégie de sécurité grâce au logiciel libre. Frédéric Raynal Cédric Blancher

Table des matières. I Mise à niveau 11. Préface

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h

Examen d informatique première session 2004

Initiation. àl algorithmique et à la programmation. en C

Sauvegardes à l'observatoire Astronomique de Strasbourg

Algorithmique et Programmation, IMA

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

MCMC et approximations en champ moyen pour les modèles de Markov

I. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes):

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Python - introduction à la programmation et calcul scientifique

Plan du cours Cours théoriques. 29 septembre 2014

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Algorithmique I. Algorithmique I p.1/??

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

Programmation stochastique

Systèmes en réseau : Linux 1ère partie : Introduction

Cours 7 : Utilisation de modules sous python

INSTALLATION MYSQL POUR WINDOWS (XP OU 2000)

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

Mathcad Ces capacités font de Mathcad l outil de calcul technique le plus utilisé au monde.

Introduction à WebSphere MQ

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Cours Langage C/C++ Programmation modulaire

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Introduction à MATLAB R

UE Programmation Impérative Licence 2ème Année

Algebra & Trigonometry High School Level Glossary English / French

PROFIL EXPERIENCE ARCHITECTE LINUX, OPEN SOURCE, COORDINATEUR SÉCURITÉ EMEA

Peut-on faire confiance au calcul flottant?

NOTICE DOUBLE DIPLÔME

Master Sciences, Technologies, Santé Mention Ingénierie Mathématique Spécialité Calcul Scientifique

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Licence STS mention Mathématiques Parcours Ingénieur Télécom Bretagne (ITB)

Notes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon

1. Développement embarqué. André KPOZEHOUE DOMAINES DE COMPETENCES CONNAISSANCES TECHNIQUES

I00 Éléments d architecture

SRS DAY: Problématique liée à la virtualisation

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Principe de symétrisation pour la construction d un test adaptatif

Environnement Informatique EMSE Linux

Rapport de stage Master 2

Manuel de System Monitor

Exemple d implantation de fonction mathématique sur ST240

WebSphere MQ & Haute Disponibilité

Echantillonnage Non uniforme

Sauvegarde des données au LAAS

Le matériel informatique

Mesure de la dépense énergétique

ASR3. Chap. 1 Notion de système d'exploitation

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Symantec Backup Exec 11d

Introduction. Mathématiques Quantiques Discrètes

Clusters de PCs Linux

Fonctions de plusieurs variables

Catalogue de formation

Rencontre sur la thématique du Calcul Haute Performance - 13 juin Better Match, Faster Innovation

I. Introduction aux fonctions : les fonctions standards

TABLE DES MATIÈRES CHAPITRE I. Les quanta s invitent

Introduction au langage C

Optimisation de logiciels de modélisation sur centre de calcul

Mon premier rpm. 7 juin Avant de commencer RPM URPMI RPMBUILD... 2

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

PowerShield 3 fournit toutes les informations nécessaires pour un diagnostic de premier niveau.

Cours 1. I- Généralités sur R II- Les fonctions de R et autres objets III-Les vecteurs

UE C avancé cours 1: introduction et révisions

Portails d'entreprise sous GNU/Linux

Le langage C. Séance n 4

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

10ème Congrès Français d'acoustique Lyon, Avril 2010

3IS - Système d'exploitation linux - Programmation système

Virtual Box Mettez un PC dans votre... PC

Outils pour la pratique

SUJET ZÉRO Epreuve d'informatique et modélisation de systèmes physiques

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

-1 - Postes de travail graphiques

Évaluation de la régression bornée

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

as Architecture des Systèmes d Information

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières

FIMA, 7 juillet 2005

Résolution de systèmes linéaires par des méthodes directes

Projet De Stijl Plate-forme pour robots mobiles

Loi binomiale Lois normales

Master of Science en mathématiques

Programmation linéaire

Introduction. René J. Chevance

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

5.2 Théorème/Transformée de Fourier a) Théorème

OpenSSH. Présentation pour le groupe SUR (Sécurité Unix et Réseaux) 08/03/2005. Saâd Kadhi

Outrepasser les limites des techniques classiques de Prise d'empreintes grâce aux Réseaux de Neurones

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Le langage C. Introduction, guide de reference

4.2 Unités d enseignement du M1

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Transcription:

Université de Limoges

1 Introduction 2 3 Déclaration Initialisation Exemple 4 Déclaration Allocation mémoire Libération de la mémoire Accéder aux données Vecteurs et fichiers 5 Définition Transformée de Fourier inverse Fichiers d en-tête Fonctions gsl Format du tableau

Qu est-ce que la GSL? La GSL......signifie GNU Scientific Library. Il s agit d une bibliothèque numérique pour les programmeurs C et C++. C est un logiciel libre sous licence GNU General Public Licence Contenu La GSL fournit plus de 1000 fonctions mathématiques au total!

Sujets couverts par la GSL Complex Numbers Roots of Polynomials Special Functions Vectors and Matrices Permutations Sorting Linear Algebra Eigensystems Fast Fourier Transforms Quadrature Random Numbers Quasi-Random Sequences Random Distributions Statistics Histograms Monte Carlo Integration Simulated Annealing Differential Equations Interpolation Numerical Differentiation Chebyshev Approximation Series Acceleration Discrete Hankel Transforms Root-Finding Minimization Least-Squares Fitting Physical Constants Présentation IEEE de la GSL Floating-Point

Sujets couverts par la GSL Complex Numbers Roots of Polynomials Special Functions Vectors and Matrices Permutations Sorting Linear Algebra Eigensystems Fast Fourier Transforms Quadrature Random Numbers Quasi-Random Sequences Random Distributions Statistics Histograms Monte Carlo Integration Simulated Annealing Differential Equations Interpolation Numerical Differentiation Chebyshev Approximation Series Acceleration Discrete Hankel Transforms Root-Finding Minimization Least-Squares Fitting Physical Constants Présentation IEEE de la GSL Floating-Point

Licence Introduction Problème de licence Contrairement aux bibliothèques numériques propriétaires, la licence de la GSL ne restreint pas la coopération scientifique. Elle vous permet de partager librement vos programmes avec d autres.

Motivations Introduction Avantages de la GSL facilite la collaboration, la bibliothèque est disponible librement pour tous vous pouvez adapter le code source à vos besoins vous pouvez contribuer à son amélioration

Plates-formes supportées La GSL peut être utilisée sur : Compatible PC / gcc SunOS 4.1.3 et Solaris 2.x (Sparc) Alpha GNU/Linux, gcc HP-UX 9/10/11, PA-RISC, gcc/cc IRIX 6.5, gcc m68k NeXTSTEP, gcc Compaq Alpha Tru64 Unix, gcc FreeBSD, OpenBSD et NetBSD, gcc Cygwin Apple Darwin 5.4 Hitachi SR8000 Super Technical Server, cc

Important Introduction Important La bibliothèque est écrite par des physiciens et s adresse à des scientifiques ordinaires. Toute personne sachant programmer en C sera capable d utiliser directement la GSL

Systèmes de mesure La GSL fournit un grand nombre de constantes physiques, dans deux systèmes de mesures : MKSA (mètres, kilogrammes, secondes, ampères) CGSM (centimètres, secondes, grammes, gauss) Fichiers d en-tête #include <gsl/gsl_const_mksa.h> pour MKSA #include <gsl/gsl_const_cgsm.h> pour CGSM #include <gsl/gsl_const_num.h> pour les constantes sans dimensions (purement numériques)

Exemple #include <stdio.h> #include include <gsl/gsl_const_mksa.h> #include include <gsl/gsl_const_num.h> int main(void) { double lambda = 1064 * GSL_CONST_NUM_NANO; double nu; nu = GSL_CONST_MKDA_SPEED_OF_LIGHT / lambda; } return 0;

Déclaration Initialisation Exemple Type complexe et fichiers d en-tête Type de variable gsl_complex z ; définit un nombre complexe nommé z Fichiers d en-tête #include <gsl/gsl_complex.h> #include <gsl/gsl_complex_maht.h>

Déclaration Initialisation Exemple Initialisation gsl_complex gsl_complex_rect(double x,double y) gsl_complex gsl_complex_polar(double r,double t) GSL_SET_COMPLEX(zp,x,y) GSL_SET_REAL(zp,x) GSL_SET_IMAG(zp,y) Exemple gsl_complex z; z = gsl_complex gsl_complex_rect(1.2,-2.4); z = gsl_complex_polar(2.68,-1.11); GSL_SET_COMPLEX(&z,1.2,-2.4) GSL_SET_REAL(&z,1.2); GSL_SET_IMAG(&z,-2.4);

Déclaration Initialisation Exemple Rapport de deux complexes #include <stdio.h> #include <gsl/gsl_complex.h> #include <gsl/gsl_complex_math.h> gsl_complex z1, z2, z3; z1 = gsl_complex_rect( 1.2, -2.4 ); z2 = gsl_complex_rect( -3.2, 1.1 ); z3 = gsl_complex_div( z1, z2 );