Vous connaissez sûrement les suites arithmétiques. Mais savez-vous qu’elles font partie d’une plus grande famille ?
Suites arithmétiques de degré d: introduction
La suite des carrés parfaits
Nous allons prendre l’exemple de la suite des carrés parfaits:$$u_n=n^2$$.
Valeurs de n | Valeurs de n² |
---|---|
0 | 0 |
1 | 1 |
2 | 4 |
3 | 9 |
4 | 16 |
5 | 25 |
6 | 36 |
7 | 49 |
8 | 64 |
9 | 81 |
Maintenant, regardons la suite définie pour tout entier naturel n par:$$v_n=u_{n+1}-u_{n}.$$
Valeurs de n | Valeurs de n² | Valeurs de \(v_n\) |
---|---|---|
0 | 0 | – |
1 | 1 | \(v_0 = 1 – 0 = 1\) |
2 | 4 | \( v_1=4 – 1 = 3\) |
3 | 9 | \(v_2=9 – 4 = 5\) |
4 | 16 | \( v_3=16 – 9 = 7\) |
5 | 25 | \(v_4=25 – 16 = 9\) |
6 | 36 | \(v_5=36 – 25 = 11\) |
7 | 49 | \(v_6=49 – 36 = 13\) |
8 | 64 | \(v_7=64 – 49 = 15\) |
9 | 81 | \(v_8=81 – 64 = 17\) |
La suite \( (v_n) \) est arithmétique de raison r = 2.
On dira alors que \( (u_n) \) est une suite arithmétique de degré 2.
La suite des nombres pentagonaux
On peut représenter cette suite \( (u_n^{(0)}) \) ainsi:
On peut “décomposer” cette suite ainsi:
Valeurs de \(u_n^{(0)}\) | \(u_n^{(1)} = u_n^{(0)} – u_{n-1}^{(0)}\) | \(u_n^{(2)} = u_n^{(1)}-u_{n-1}^{(1)}\) |
---|---|---|
\(u_0=1\) | ||
\(u_1=5\) | 4 | |
\(u_2=12\) | 7 | 3 |
\(u_3=22\) | 10 | 3 |
\(u_4=35\) | 13 | 3 |
Cette suite est aussi une suite arithmétique de degré 2. Dans ce tableau , j’ai volontairement “poussé” jusqu’à obtenir une suite constante pour mettre en relief la raison pour laquelle le degré est 2: on a “décomposé” la suite initiale à l’aide de 2 suites, dont la dernière est constante.
Suites arithmétiques de degré d: généralités
Définition d’une suite arithmétique de degré d
Une suite numérique \( (u_n^{(0)}) \) est arithmétique de degré d s’il existe un ensemble de suites \( \{ (u_n^{(1)}) \}, \{ (u_n^{(2)}) \}, …, \{ (u_n^{(d)}) \} \) telles que:$$\forall p \in [0 ; d-1]\cap\mathbb{N},\ \forall n\in\mathbb{N}^*,\ u_n^{(p)} = u_{n-1}^{(p)}+u_{n-1}^{(p+1)}\,,$$ où \( (u_n^{(d)}) \) est une suite constante.
La raison d’une telle suite est la valeur de \( u_0^{(d)} \).
Un autre exemple
Si on découpe un plan à l’aide de n droites, le nombre maximum de régions du plan est une suite arithmétique de degré 2 et de raison 1.
Terme général d’une suite arithmétique de degré d
Si \( (u_n^{(d)}) \) est une suite arithmétique de degré d et de raison r, alors:$$\forall n\in\mathbb{N},\ u_n^{(0)} = \sum_{m=0}^{d-1}\left(u_0^{(m)}P_m(n)\right)+rP_d(n)\,,$$où la famille de polynômes \(P_k(n)\) est définie par:$$\forall n\in\mathbb{N},\ \begin{cases} P_0(n)=1\\\forall k\in\mathbb{N},\ P_{k+1}(n)=\displaystyle\sum_{j=1}^nP_k(j) \end{cases}$$
La démonstration est plutôt longue mais elle est disponible dans mon livre “Ainsi de suite“, disponible gratuitement en téléchargement au format PDF. Cela se démontre par récurrence.
Conséquences
Ce dernier résultat montre que le terme général d’une suite arithmétique de degré d s’exprime comme un polynôme de degré d:$$\forall\ n\in\mathbb{N},\ u_n^{(d)} = \alpha_dn^d + \cdots + \alpha_1n + \alpha_0.$$ Pour déterminer la valeur des coefficients \(\alpha
_k\), il suffit de résoudre le système linéaire de Vandermonde suivant :$$\begin{cases}u_1^{(0)} & = & \alpha_0 + \alpha_1 + \cdots + \alpha_d\\u_2^{(0)} & = & \alpha_0 + 2\alpha_1 + \cdots + 2^d\alpha_d\\\vdots & & \\u_{d+1}^{(0)} & = & \alpha_0 + (d+1)\alpha_1 + \cdots + (d+1)^d\alpha_d\end{cases} $$
Une application aux suites arithmétiques de degré d: les nombres polygonaux
Nous en avons brièvement parlé précédemment lorsque nous avons regardé la suite pentagonale.
On arrive à démontrer à l’aide du résultat précédent que:$$\forall\; p\geqslant 3,\ u_n^{(p)} = \frac{n\left(4-p+(p-2)n\right)}{2}.$$
Un peu de Python
Je vous propose un programme Python qui permet de voir si une suite est arithmétique de degré d.
def is_ardeg(liste , degre = 0): if len(liste) != 1: comp = [0] * len(liste) if liste == comp: return True , degre-1 else: # on vérifie s'il y a deux éléments identiques dans la liste comp = [ liste[0] ] * len(liste) if liste != comp: for e in liste: i = liste.index(e) L = liste[:i] + liste[i+1:] if e in L: return False u = [] for n in range(1,len(liste)): u.append( liste[n-1] - liste[n] ) return is_ardeg(u,degre+1) else: return False , "Pas assez d'éléments pour conclure."
>>> L = [i**2 for i in range(10)]
>>> is_ardeg(L)
(True, 2)
>>> is_ardeg([1, 3, 5, 7, 8, 9, 11])
False