Outils pour utilisateurs

Outils du site


teaching:progappchim:polynomes-11

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
teaching:progappchim:polynomes-11 [2016/02/23 13:29]
villersd
teaching:progappchim:polynomes-11 [2017/02/24 11:58] (Version actuelle)
villersd
Ligne 1: Ligne 1:
 ====== Graphe d'une famille de polynômes orthogonaux ====== ====== Graphe d'une famille de polynômes orthogonaux ======
-Voici un programme permettant de visualiser les premiers [[http://​fr.wikipedia.org/​wiki/​Polyn%C3%B4me_de_Tchebychev|polynômes orthogonaux de Tchebyshev]] : +Voici un programme permettant de visualiser les premiers [[wp>fr:Polynôme_de_Tchebychev|polynômes orthogonaux de Tchebyshev]] : 
-<sxh python; title : polycheby.py>​ +<code python polycheby.py>​ 
-#​!/​usr/​bin/​python+#!/usr/bin/env python
 # -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
-"""​graphes de Polynomes de Chebyschev+"""​ 
 +graphes de Polynomes de Chebyschev
 """​ """​
  
Ligne 11: Ligne 12:
  
 def polyeval(x,​a):​ def polyeval(x,​a):​
-    """​application de l'agorithme ​de Horner+    """​ 
 +    ​application de l'algorithme ​de Horner
     cf. http://​fr.wikipedia.org/​wiki/​M%C3%A9thode_de_Ruffini-Horner     cf. http://​fr.wikipedia.org/​wiki/​M%C3%A9thode_de_Ruffini-Horner
     """​     """​
Ligne 17: Ligne 19:
     p = 0.     p = 0.
     for i in range(n,​-1,​-1):​     for i in range(n,​-1,​-1):​
-        p = p*x+a[i]+        p = p * x + a[i]
     return p     return p
  
 def polyscal(s,​a):​ def polyscal(s,​a):​
-    """​polynôme multiplié par un scalaire s """​+    """​ 
 +    ​polynôme multiplié par un scalaire s 
 +    ​"""​
     b = []     b = []
     for coef in a:     for coef in a:
Ligne 28: Ligne 32:
  
 def polyshift(a):​ def polyshift(a):​
-    """​Multiplication du polynôme par la variable x"""​ +    """​ 
-    b = [0]+a   # cela revient à "​shifter"​ la liste des coefficients en insérant un 0 "à gauche"​+    ​Multiplication du polynôme par la variable x 
 +    ​"""​ 
 +    b = [0] + a   # cela revient à "​shifter"​ la liste des coefficients en insérant un 0 "à gauche"​
     return b     return b
  
 def polyadd(a,​b):​ def polyadd(a,​b):​
-    """​ Addition de deux polynômes de coefficients a et b+    """​ 
 +    ​Addition de deux polynômes de coefficients a et b
     """​     """​
     r = a[:] # on travaille sur une copie de a pour ne pas le modifier     r = a[:] # on travaille sur une copie de a pour ne pas le modifier
Ligne 52: Ligne 59:
  
 def polycheby(nmax):​ def polycheby(nmax):​
-    """​Fonction générant les coefficients des polynômes de Tchebyshev jusqu'​à l'​ordre nmax+    """​ 
 +    ​Fonction générant les coefficients des polynômes de Tchebyshev jusqu'​à l'​ordre nmax
     cf. http://​fr.wikipedia.org/​wiki/​Polyn%C3%B4me_de_Tchebychev pour la formule de récurrence     cf. http://​fr.wikipedia.org/​wiki/​Polyn%C3%B4me_de_Tchebychev pour la formule de récurrence
     """​     """​
-    rep = [[1.],​[0.,​1.]] # les deux premiers polynômes (degrés 0 et 1) pour l'​application de la formule de récurrence+    rep = [[1.], [0.,1.]] # les deux premiers polynômes (degrés 0 et 1) pour l'​application de la formule de récurrence
     if nmax < 1: # si nmax est inférieur au degré 1, on renvoie le polynôme de degré 0     if nmax < 1: # si nmax est inférieur au degré 1, on renvoie le polynôme de degré 0
         rep=[[1.]]         rep=[[1.]]
Ligne 66: Ligne 74:
 x = arange(-1.,​1.00001,​0.01) x = arange(-1.,​1.00001,​0.01)
 chebs = polycheby(10) ​  # quelques premiers polynômes de Tchebyshev chebs = polycheby(10) ​  # quelques premiers polynômes de Tchebyshev
-print chebs+print(chebs)
  
 # création des graphes de tous ces polynomes # création des graphes de tous ces polynomes
  
 for pol in chebs: for pol in chebs:
-    print pol+    print(pol)
     plot(x,​polyeval(x,​pol))     plot(x,​polyeval(x,​pol))
  
Ligne 78: Ligne 86:
 legend() legend()
 show() show()
-</sxh>+</code>
  
 On obtient cette figure :​{{:​teaching:​progappchim:​cheby-10.png?​direct&​100|Cliquez pour voir en pleine page}} On obtient cette figure :​{{:​teaching:​progappchim:​cheby-10.png?​direct&​100|Cliquez pour voir en pleine page}}
  
-À ce stade, il est utile de s'​exercer avec d'​autres [[http://​en.wikipedia.org/​wiki/​Classical_orthogonal_polynomials|familles de polynômes orthogonaux]] qui interviennent dans de nombreuses applications de la mécanique quantique.+À ce stade, il est utile de s'​exercer avec d'​autres [[wp>Classical_orthogonal_polynomials|familles de polynômes orthogonaux]] qui interviennent dans de nombreuses applications de la mécanique quantique.
  
 De plus, des modules de calcul scientifique utilisant les familles classiques de polynômes orthogonaux existent dans [[http://​docs.scipy.org/​doc/​numpy/​reference/​routines.polynomials.package.html|NumPy]]. Leur mise en œuvre nécessite simplement l'​étude de la documentation et d'​exemples. De plus, des modules de calcul scientifique utilisant les familles classiques de polynômes orthogonaux existent dans [[http://​docs.scipy.org/​doc/​numpy/​reference/​routines.polynomials.package.html|NumPy]]. Leur mise en œuvre nécessite simplement l'​étude de la documentation et d'​exemples.
  
 [[polynomes-12|Suite à la page suivante !]] [[polynomes-12|Suite à la page suivante !]]
teaching/progappchim/polynomes-11.txt · Dernière modification: 2017/02/24 11:58 par villersd