IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Référence pour simulation numérique / programmation scientifique


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Points : 4
    Points
    4
    Par défaut Référence pour simulation numérique / programmation scientifique
    Bonjour tout le monde,

    Je fais partie de monde scientifique mais pas vraiment du côté "informatique pour les sciences". J'ai quand même passé pas mal de temps à faire des codes sous matlab/scilab, mais j'aimerais bien voir ce que peut donner, en terme de performances, les mêmes calculs "compilés" et non plus "interprétés". C'est plus pour mon "enrichissement personnel" que pour le boulot, donc ce n'est pas grave si je perds du temps à apprendre un autre langage !

    Comme langage compilé, le Fortran est pas mal répandu dans la communauté scientifique. Il y a d'ailleurs une petite guéguerre fortran / c. De mon côté, comme, encore une fois, c'est pour mon plaisir personnel, je préfère me lancer dans le c (puis c++) parce que la communauté est large et que je voudrai peut-être un jour faire autre chose que des simulations numériques !

    Je commence donc à petits pas grâce des tutos pour comprendre le c et tout ce qui est différent par rapport à un langage "haut niveau" (je veux dire loin de la machine) comme matlab. Par contre les tuto ne sont jamais vraiment orientés calcul scientifique, d'où ma question (oui, je sais, l'intro était un peu longue) :

    est-ce que vous connaissez un (bon) bouquin pour l'initiation à la programmation scientifique en c ?

    J'ai connaissance de "Numerical recipes in C" en anglais, existe-t-il d'autre sources en anglais ou en français ?

    Merci !
    midel

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Bon, après quelques recherches, je suis tombé sur les cours de M. Saramito. C'est très appliqué aux éléments finis et je ne comprends pas vraiment tout, mais dans l'esprit c'est ce genre de chose que je recherche...

    http://ljk.imag.fr/membres/Pierre.Sa...eignement.html

  3. #3
    Membre actif Avatar de quetzacoatl
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 168
    Points : 223
    Points
    223
    Par défaut
    Bonsoir,

    La bibliothèque math.h contient les principales fonctions mathématiques traditionnelle

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Oui, j'ai vu à plusieurs endroits que cette bibliothèque était celle de base pour l'analyse numérique.

    Je suis encore loin de faire quoi que ce soit de bien fameux mais je suis déjà parvenu à créer un tableau pour le vecteur "x" et un autre avec les valeurs de "exp(-x^2)"...

    C'est déjà une étape de malade ;-)

    midel

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Points : 4
    Points
    4
    Par défaut GNU Scientific Library
    Re bonjour tout le monde,

    Je continue mes recherches encore et encore ! Il semble clair que les "Numerical Recipes 3rd edition" répondent à mon besoin, mais l'utilisation des codes est sous licence restrictive je crois.

    Etant un peu sensible à la cause du logiciel libre, j'ai été heureux de tomber sur une bibliothèque scientifique sous licence GNU GPL (en C, mais apparemment utilisable facilement en C++... je débute, je ne sais pas encore si c'est si simple que ça ou pas !)

    http://www.gnu.org/software/gsl/

    Elle semble assez complète et active. Malheureusement elle manque un peu de documentation "pédagogique" (il y a un gros manuel qui décrit toutes les fonctions, mais je n'ai pas trouvé de doc type "tutoriel"). Je ne sais pas à quel point elle est facile d'accès, mais en tous les cas merci à la communauté du libre !

    midel

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Je continue de chercher...

    Et voici un exemple d'utilisation de la GSL... Que je n'arrive pas encore à compiler, mais je bosse dessus !

    http://www.tangentex.com/Gsl.htm

  7. #7
    Membre actif Avatar de quetzacoatl
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 168
    Points : 223
    Points
    223
    Par défaut
    Bonjour,

    Si vous voulez apprendre un peu plus en avant les différentes possibilités du C, vous pourriez peut-être essayé de créer vous-même les fonctions dont vous avez besoin.
    Elles seront bien sûr moins performantes que celles des bibliothèques, mais je pense que cela vous sera très instructif.
    Après si vous ne voulez vous servir du C vraiment comme un outil mathématique, c'est vrai que ce n'est pas la peine.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    En fait, ayant déjà pas mal pratiqué MatLab/SciLab, l'application de la programmation à la résolution de problèmes physiques/mathématiques est déjà un peu (modestement) naturel pour moi. C'est surtout le langage que je veux apprendre. Je préfère ne pas perdre trop de temps à programmer moi-même une fonction de Bessel mais plutôt comprendre comment les utiliser. J'aurai des résultats un peu plus rapidement et ça m'aidera à me motiver pour aller plus dans les détails.

    Donc je suis content de voir des "library" avec les fonctions déjà faites. A moi maintenant de les utiliser correctement !

    midel

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Bon, j'ajoute encore un petit mot et j'arrête

    Après discussion sur ce forum très intéressant : http://physiquex.1fr1.net/

    On m'a conseillé ce livre, qui semble tout à fait adapté à ce que je cherchais (apparemment uniquement c++ et pas c, mais bon, je n'ai rien contre )

    [ame="http://www.amazon.fr/Course-Computational-Physics-Object-Oriented-Programming/dp/0521827787"]A First Course in Computational Physics and Object-Oriented Programming with C++: Amazon.fr: David Yevick: Livres en anglais@@AMEPARAM@@http://ecx.images-amazon.com/images/I/51MQX0SWPGL.@@AMEPARAM@@51MQX0SWPGL[/ame]

    En plus c'est la première fois que je vois un livre qui est moins cher sur amazon.fr que sur amazon.com ou amazon.co.uk !

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 122
    Points : 66
    Points
    66
    Par défaut
    Bonjour,

    Le livre ci-dessous, disponiole chez ce vendeur par exemple, sans faire de pub bien sûr [ame="http://www.amazon.fr/Teach-Yourself-Programming-21-Days/dp/0672307367/ref=sr_1_10?ie=UTF8&qid=1295781094&sr=8-10"]Teach Yourself C Programming in 21 Days: Amazon.fr: Peter G. Aitken, Bradley L. Jones: Livres en anglais@@AMEPARAM@@http://ecx.images-amazon.com/images/I/519TZ5MMJ3L.@@AMEPARAM@@519TZ5MMJ3L[/ame] est pas mal, c'est celui que j'ai utilisé lorsque j'ai débuté en C. Il est en Anglais et les explications sont clairs.

    Bon courage !

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Merci pour ce conseil Mécaplus !

    J'ai commandé celui que j'ai présenté dans mon dernier message, je verrai bien ce que ça donne. Pour celui que tu m'as recommandé, je pense qu'il est trop "général". Comme mon angle d'attaque pour l'apprentissage ce sera la programmation "scientifique", je préfère commencer avec un livre qui parle directement de ça.

    Mais encore merci de m'avoir répondu !

    midel

Discussions similaires

  1. Choix de bonnes références pour débuter dans la programmation d'OS
    Par nschoe dans le forum Programmation d'OS
    Réponses: 8
    Dernier message: 01/04/2009, 15h42
  2. Définir une base numérique pour tout un programme
    Par stevin dans le forum Langage
    Réponses: 1
    Dernier message: 21/11/2007, 21h36
  3. programme pour simuler un serveur dhcp
    Par franckywood dans le forum Linux
    Réponses: 2
    Dernier message: 02/04/2007, 06h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo