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

Calcul scientifique Python Discussion :

scipy et polynômes d'Hermite (forme physique)


Sujet :

Calcul scientifique Python

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 104
    Points : 49
    Points
    49
    Par défaut scipy et polynômes d'Hermite (forme physique)
    Bonjour,

    Je voudrais intégrer la forme physique des polynômes d'Hermite dans mon code. Du coup, j'ai regardé la documentation de scipy à ce sujet (ici) mais pas moyen de trouver simplement le calcul d'un polynôme. Par exemple, "hermval(x, c[, tensor])" calcule la série d'Hermite avec un coéficient devant chaque polynôme mais moi, je voudrais simplement pouvoir appeler le polynôme d'ordre n et le calculer pour un vecteur de type sp.linspace. Du coup, suis-je bigleux ou bien n'y a-t-il pas le calcul tout simple inclus dans le package "numpy.polynomial.hermite" ?

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2013
    Messages : 388
    Points : 692
    Points
    692
    Par défaut
    Salut,
    Je ne comprends pas ce qui bloque. Il y a la méthode linspace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
     
    import numpy as np
    import numpy.polynomial.hermite as ph
    import matplotlib.pyplot as plt
     
    if __name__ == '__main__':
        n = 6
        for i in range(1, n):
            c = np.zeros(n) ; c[i] = 1
            p = ph.Hermite(c)
            plt.plot(*p.linspace(), label=str(i))
        plt.legend()
        plt.show()
    Nom : poly_hermite.png
Affichages : 1196
Taille : 39,9 Ko

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 104
    Points : 49
    Points
    49
    Par défaut
    Merci pour la réponse.

    J'ai peut-être mal compris le fonctionnement de cette méthode mais n'y a-t-il pas un moyen plus simple ?
    Plus précisément, j'ai une matrice x de nombre réels et je voudrais calculer les valeurs du polynôme pour toutes les valeurs de x avec un truc assez simple. Quelque chose comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    axis = sp.linspace(-length/2,length/2,nb_points)
    x, y = sp.meshgrid(axis,axis)
    n = 3
    result = hermite(n,x)
    où n est l'ordre du polynôme et x contient les valeurs à partir desquelles calculer le polynôme.

    Après, je suis peut-être encore un peu trop habitué à matlab (mais je me soigne) où cette fonction était directement intégrée comme cela.

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2013
    Messages : 388
    Points : 692
    Points
    692
    Par défaut
    Ca n'existe pas tel quel, mais tu peux créer la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def hermite(n, x):
        c = np.zeros(n) ; c[-1] = 1
        return ph.hermval(x, c)

  5. #5
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 104
    Points : 49
    Points
    49
    Par défaut
    Merci pour votre réponse.

    En fait, j'ai finalement trouvé la fonction scipy.special.eval_hermite qui fait cela. Je ne cherchais donc pas au bon endroit.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 87
    Dernier message: 06/07/2011, 15h33
  2. Héritage entre Forms
    Par BarBal dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 17h44
  3. [Kylix] SIGSEGV 11 - creation form
    Par pram dans le forum EDI
    Réponses: 1
    Dernier message: 29/08/2002, 15h24
  4. [FORMS] Chemin des icones (intégré FAQ 150 QR)
    Par jerome62 dans le forum Forms
    Réponses: 2
    Dernier message: 30/07/2002, 08h32
  5. Form principale non visible au demarrage!!!!
    Par toufou dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/07/2002, 21h49

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