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] villersdteaching: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
  • de villersd