Table des matières
Utilisation de polynômes orthogonaux avec NumPy
Voici un programme permettant d'obtenir le même graphe que celui obtenu précédemment, en utilisant les modules spécifiques de NumPy. Cet exemple montre tout l'intérêt d'utiliser des modules pré-existants. Le programme est réduit à 3 lignes pour l'importation, 4 pour la création des graphes et 4 pour commander la représentation.
- polycheby_numpy.py
#! /usr/bin/env python # -*- coding: utf-8 -*- """ Représentations des polynômes de Chebyshev avec utilisation de matplotlib et numpy Références : http://docs.scipy.org/doc/numpy/reference/routines.polynomials.package.html http://docs.scipy.org/doc/numpy/reference/routines.polynomials.chebyshev.html http://docs.scipy.org/doc/numpy/reference/generated/numpy.polynomial.chebyshev.chebval.html http://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html http://docs.scipy.org/doc/numpy/reference/generated/numpy.ones.html http://docs.scipy.org/doc/numpy/reference/generated/numpy.zeros.html http://docs.scipy.org/doc/numpy/reference/generated/numpy.append.html """ import numpy as np import matplotlib.pyplot as plt from numpy.polynomial.chebyshev import chebval x = np.linspace(-1, 1, 100) for n in range(10): y = chebval(x,np.append(np.zeros(n),np.ones(1))) plt.plot(x,y) plt.axis([-1,1,-1,1]) # xmin, xmax, ymin, ymax plt.title('Polynomes de Tchebyshev') plt.legend() plt.show()
Ce code fonctionne aussi bien en Python version 2 qu'en version 3. Il suffit que les librairies nécessaires (matplotlib, numpy) soient installées !
Application : oscillateur harmonique quantique
La mécanique quantique permet de décrire la vibration de molécules biatomiques par le modèle de l'oscillateur harmonique quantique.
Il serait facile d'écrire un programme représentant les fonctions d'ondes, et les présentant sous la même forme que cette figure sur Wikimedia.
Application : orbitales atomiques
Programmation objet et création d'une classe spécifique aux polynômes
- cf. par exemple Mathématiques et Python - apprendre à créer une classe Polynome en Python avec la surcharge des opérateurs, Denis Hulo, 8 décembre 2022