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

Fortran Discussion :

Paramètres d'une routine d'intégration IMSL


Sujet :

Fortran

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Paramètres d'une routine d'intégration IMSL
    Bonjour !

    Dans mon programme FORTRAN, j'utilise la librairie IMSL pour effectuer un calcul de triple intégrale (subroutine QAND). Je suis en phase de test donc les résultats obtenus sont comparés avec des résultats analytiques calculés à la main.

    La routine QAND possède deux paramètres d'entrée ERRABS et ERRREL qui décrivent les erreurs absolue et relative désirées par l'utilisateur. Lorsque ERRABS=ERRREL=0.1 aucun problème, les résultats concordent avec la théorie. Par contre pour ERRABS = ERRREL = 0.01 (précision attendue plus grande), les résultats divergent. Je travaille en réels double précision.

    Impossible de comprendre d'où vient ce comportement. Quelqu'un saurait-il m'aider ?

    Merci d'avance !

    Julien

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut !

    Dans la documentation de QAND, regarde la définition exacte des deux paramètres ERRABS et ERRREL. A priori, la valeur de 0.01 pour ERRREL me semble raisonnable. En ce qui concerne ERRABS, ça dépend de tes données. Je te suggère de faire le petit test suivant; tu passes plusieurs fois ton programme avec ERRREL=0.01, la première avec ERRABS=0.1, la deuxième avec 0.2, la troisième avec 0.5, etc. Il ne m'étonnerait pas que ERRABS ne joue aucun rôle a condition qu'il soit assez grand (mais pas trop).

    Essaie et donne nous des nouvelles.

    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Re-bonjour,

    Merci de votre réponse.
    J'étais justement en train de faire ce genre de tests. Il apparaît que:
    - la valeur de ERRABS mène a une divergence des résultats dès qu'elle est en-dessous de 0.1 ;
    - la valeur de ERRREL ne joue apparemment aucun rôle: pour ERRABS fixé au-dessus de 0.1, les résultats obtenus sont rigoureusement identiques.

    Pour mon programme pas de souci, je sais donc maintenant quel jeu (ERRABS, ERRREL) utiliser - en espérant qu'il fonctionnera avec d'autres cas que celui que je teste - mais j'aimerais comprendre ce résultat plutôt étrange, pour la "culture" !

  4. #4
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut !

    Je n'ai qu'une très antique version de IMSL, où la fonction QAND n'existe pas, mais, pour chaque sous-programme était expliquée très clairement au début du fichier source. C'est là que tu dois regarder.

    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Je vais y jeter un œil de ce pas !

    Merci de votre aide,

    julien

  6. #6
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 35
    Points : 185
    Points
    185
    Par défaut
    Salut,

    Il y a un forum dédié à IMSL, maintenu par l'éditeur de cette librairie (Visual Numerics): Forum IMSL.

    Tu multiplieras ainsi les chances d'obtenir la solution à ton problème !

    SebGR

Discussions similaires

  1. Passer le contenu d'un TDJBCInput comme paramètre dans une routine
    Par ngatchou dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 09/02/2015, 14h36
  2. Réponses: 3
    Dernier message: 20/05/2011, 12h51
  3. [Débutant] Récupérer les paramètres d'une routine
    Par nifty dans le forum Assembleur
    Réponses: 5
    Dernier message: 18/04/2005, 14h35
  4. Récupération des paramètres avec une procedure stockée
    Par samlerouge dans le forum Bases de données
    Réponses: 2
    Dernier message: 31/03/2004, 22h00
  5. Comment obtenir la liste des paramètres d'une SP ?
    Par Le Gritche dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/03/2003, 16h54

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