Exercice 1—Produit scalaire sur les polynômes et projection
Exercice tombé en 2020 · RMS 1063 · Python
Énoncé
Pour et dans, on pose
- Montrer que est l’unique produit scalaire sur rendant la base canonique orthonormée.
- On pose . Montrer qu’il existe un unique tel que .
- Écrire une fonction Python qui renvoie .
- On poseAfficher à l’aide de Python la matrice pour différentes valeurs de . Conjecture ?
- Montrer la conjecture.
- En déduire une expression simple de et la vérifier.
Indication›
Montrer que est une base orthonormée de , puis utiliser la formule du projeté orthogonal de sur .
Corrigé›
1. Le produit scalaire
La formule
est bilinéaire, symétrique et définie positive. De plus, pour la base canonique ,
Réciproquement, si un produit scalaire rend cette base orthonormée, la bilinéarité impose nécessairement
D’où l’unicité.
2. Existence du projeté
est un sous-espace vectoriel de , donc il est de dimension finie. Le théorème de projection orthogonale assure l’existence et l’unicité du projeté orthogonal de sur . Ce projeté est précisément l’unique tel que
3. Python
from numpy.polynomial import Polynomial
def ps(P, Q):
res = 0
p, q = P.degree(), Q.degree()
for k in range(min(p, q) + 1):
res += P.coef[k] * Q.coef[k]
return res4. Expérimentation
import numpy as np
from numpy.polynomial import Polynomial
def Polpi(n):
c = [-1] * (n + 1)
c[n] = n
return Polynomial(c) / np.sqrt(n * (n + 1))
def gram(n):
G = np.zeros((n, n))
for i in range(n):
for j in range(n):
G[i, j] = ps(Polpi(i + 1), Polpi(j + 1))
return G
print(gram(4))On obtient la matrice identité. On conjecture que la famille est orthonormée.
5. Preuve de l’orthonormalité
Si , les seuls degrés communs aux deux polynômes sont . On obtient
Et
Ainsi
6. Calcul de
On a pour tout . Comme , la famille précédente est une base orthonormée de . Le projeté de vaut donc
Or
Après simplification télescopique,
Vérification directe : , donc . De plus
Une base de est , et
Donc , ce qui confirme que est bien le projeté orthogonal.