Suites et séries numériques
Les suites numériques et les séries numériques constituent des notions fondamentales des mathématiques appliquées et de l'informatique. Une suite permet de représenter une succession ordonnée de valeurs, tandis qu'une série correspond à l'addition progressive des termes d'une suite. Ces deux concepts apparaissent dans l'analyse des algorithmes, les méthodes numériques, les probabilités, les simulations, les calculs financiers, le traitement du signal et l'étude des phénomènes évoluant par étapes.
En programmation, une suite peut être produite par une boucle, une relation de récurrence, une formule explicite ou un générateur. Elle peut représenter les valeurs successives d'un calcul, les résultats d'une simulation, les mesures d'un phénomène ou les états d'un algorithme. Une série peut servir à approximer une fonction, à calculer une somme infinie, à analyser une erreur numérique ou à déterminer la convergence d'un processus.
L'étude des suites et des séries permet de comprendre comment une quantité évolue lorsque son indice augmente. Elle introduit notamment les notions de limite, de convergence, de divergence, de monotonie, de bornes, de sommes partielles et de vitesse de convergence.
Suite numérique
Une suite numérique est une fonction définie sur les entiers naturels et prenant ses valeurs dans un ensemble numérique.
Une suite réelle peut être décrite par :
| u : ℕ → ℝ |
À chaque entier naturel n, la suite associe un nombre réel :
| u(n) = un |
Les valeurs :
| u0, u1, u2, u3, ... |
sont appelées les termes de la suite.
L'entier n est appelé l'indice du terme.
Notation
Une suite est généralement notée :
| (un) |
ou :
| (un)n∈ℕ |
Le terme d'indice n est noté :
| un |
Par exemple :
| un = 2n + 1 |
définit la suite :
| 1, 3, 5, 7, 9, ... |
si l'indexation commence à :
| n = 0 |
La convention d'indexation doit toujours être précisée, car certaines suites commencent à 0 et d'autres à 1.
Définition explicite
Une suite possède une définition explicite lorsque son terme général peut être calculé directement à partir de son indice.
Par exemple :
| un = n2 |
donne :
|
u0 = 0 u1 = 1 u2 = 4 u3 = 9 u4 = 16 |
La formule explicite permet de calculer n'importe quel terme sans devoir calculer les termes précédents.
Définition par récurrence
Une suite est définie par récurrence lorsqu'un terme dépend d'un ou de plusieurs termes précédents.
Par exemple :
| u0 = 2 |
et :
| un+1 = un + 3 |
Cette définition produit :
| 2, 5, 8, 11, 14, ... |
Pour calculer u4, il faut normalement connaître les termes précédents, sauf si une formule explicite équivalente est trouvée.
Suite finie
Une suite est finie lorsqu'elle contient un nombre limité de termes.
Par exemple :
| 3, 6, 9, 12 |
peut être décrite comme une suite définie pour :
| 0 ≤ n ≤ 3 |
En programmation, les suites sont souvent représentées par des tableaux ou des listes de taille finie.
Suite infinie
Une suite est infinie lorsqu'elle est définie pour une quantité illimitée d'indices.
Par exemple :
| 1, 1/2, 1/3, 1/4, ... |
est une suite infinie définie par :
| un = 1/(n+1) |
Une suite infinie ne peut pas être entièrement stockée en mémoire. Elle doit être décrite par une règle de calcul ou produite progressivement.
Suite arithmétique
Une suite arithmétique est une suite dans laquelle la différence entre deux termes consécutifs est constante.
Cette constante est appelée la raison arithmétique.
La relation de récurrence est :
| un+1 = un + r |
où r représente la raison.
Par exemple :
| 2, 5, 8, 11, 14, ... |
est une suite arithmétique de raison :
| r = 3 |
Terme général d'une suite arithmétique
Si le premier terme est :
| u0 |
alors :
| un = u0 + nr |
Si l'indexation commence à 1, on écrit généralement :
| un = u1 + (n-1)r |
Par exemple, pour :
| u0 = 2 |
et :
| r = 3 |
on obtient :
| un = 2 + 3n |
Ainsi :
| u4 = 2 + 3 × 4 = 14 |
Somme d'une suite arithmétique
La somme des termes allant de u0 à un est :
|
Sn = (n+1)(u0+un)/2 |
Si la suite commence à u1, la somme des n premiers termes est :
|
Sn = n(u1+un)/2 |
On peut également écrire :
|
Sn = n(2u1+(n-1)r)/2 |
Exemple de somme arithmétique
Considérons :
| 1 + 2 + 3 + ... + 100 |
Il s'agit d'une suite arithmétique dont :
|
u1 = 1 u100 = 100 n = 100 |
La somme vaut :
|
S100 = 100(1+100)/2 |
soit :
| S100 = 5050 |
Suite géométrique
Une suite géométrique est une suite dans laquelle chaque terme est obtenu en multipliant le terme précédent par une constante.
Cette constante est appelée la raison géométrique.
La relation de récurrence est :
| un+1 = q × un |
où q représente la raison.
Par exemple :
| 3, 6, 12, 24, 48, ... |
est une suite géométrique de raison :
| q = 2 |
Terme général d'une suite géométrique
Si la suite commence à l'indice 0, alors :
| un = u0qn |
Si elle commence à l'indice 1, on utilise :
| un = u1qn-1 |
Par exemple, pour :
| u0 = 3 |
et :
| q = 2 |
on obtient :
| un = 3 × 2n |
Ainsi :
| u4 = 3 × 24 = 48 |
Somme d'une suite géométrique finie
Pour :
| q ≠ 1 |
la somme :
| u0 + u1 + ... + un |
vaut :
|
Sn = u0(1-qn+1)/(1-q) |
Une forme équivalente est :
|
Sn = u0(qn+1-1)/(q-1) |
Lorsque :
| q = 1 |
tous les termes sont égaux et :
| Sn = (n+1)u0 |
Exemple de somme géométrique
Considérons :
| 1 + 2 + 4 + 8 + 16 |
On a :
|
u0 = 1 q = 2 n = 4 |
La somme vaut :
|
S4 = (1-25)/(1-2) |
soit :
| S4 = 31 |
Suite constante
Une suite est constante lorsque tous ses termes possèdent la même valeur.
Elle est définie par :
| un = c |
pour tout n.
Par exemple :
| 5, 5, 5, 5, ... |
est une suite constante.
Une suite constante est à la fois arithmétique de raison **0** et géométrique de raison **1**, sauf dans certains cas particuliers liés au terme nul.
Suite croissante
Une suite est croissante lorsque :
| un+1 ≥ un |
pour tout indice considéré.
Elle est strictement croissante lorsque :
| un+1 > un |
Par exemple :
| 1, 2, 4, 7, 11, ... |
est strictement croissante.
Une suite croissante peut contenir des termes égaux si elle n'est pas strictement croissante.
Suite décroissante
Une suite est décroissante lorsque :
| un+1 ≤ un |
Elle est strictement décroissante lorsque :
| un+1 < un |
Par exemple :
| 1, 1/2, 1/3, 1/4, ... |
est strictement décroissante.
Les suites croissantes et décroissantes sont regroupées sous le terme de suites monotones.
Suite monotone
Une suite est monotone lorsqu'elle est entièrement croissante ou entièrement décroissante.
Elle peut être :
- croissante ;
- strictement croissante ;
- décroissante ;
- strictement décroissante.
Les suites monotones sont importantes dans l'étude de la convergence, car une suite monotone et bornée est convergente.
Suite majorée
Une suite est majorée lorsqu'il existe un nombre M tel que :
| un ≤ M |
pour tout n.
Le nombre M est appelé un majorant.
Par exemple :
| un = 1 - 1/(n+1) |
est majorée par :
| 1 |
Suite minorée
Une suite est minorée lorsqu'il existe un nombre m tel que :
| un ≥ m |
pour tout n.
Le nombre m est appelé un minorant.
Par exemple :
| un = 1/(n+1) |
est minorée par :
| 0 |
Suite bornée
Une suite est bornée lorsqu'elle est à la fois majorée et minorée.
Il existe donc deux nombres m et M tels que :
| m ≤ un ≤ M |
pour tout n.
Une définition équivalente consiste à dire qu'il existe une constante positive K telle que :
| |un| ≤ K |
Limite d'une suite
Une suite un converge vers une limite L lorsque ses termes deviennent aussi proches que souhaité de L lorsque n devient grand.
On écrit :
|
lim un = L n→∞ |
ou :
| un → L |
Par exemple :
| un = 1/n |
converge vers :
| 0 |
On écrit :
|
lim 1/n = 0 n→∞ |
Définition formelle de la convergence
Une suite un converge vers L si, pour tout nombre positif ε, il existe un entier N tel que :
| n ≥ N |
implique :
| |un-L| < ε |
Cette définition signifie qu'à partir d'un certain indice, tous les termes sont contenus dans un intervalle arbitrairement petit autour de L.
Unicité de la limite
Une suite convergente possède une seule limite.
Elle ne peut pas converger simultanément vers deux nombres distincts.
Cette propriété permet de déterminer une limite en utilisant différentes méthodes sans ambiguïté.
Suite divergente
Une suite est divergente lorsqu'elle ne possède pas de limite réelle finie.
Plusieurs comportements sont possibles :
- elle tend vers l'infini ;
- elle tend vers moins l'infini ;
- elle oscille ;
- elle présente un comportement irrégulier.
Par exemple :
| un = n |
diverge vers :
| +∞ |
Divergence par oscillation
La suite :
| un = (-1)n |
produit :
| 1, -1, 1, -1, ... |
Elle ne se rapproche d'aucune valeur unique.
Elle est donc divergente par oscillation.
Elle reste toutefois bornée entre :
| -1 |
et :
| 1 |
Une suite bornée n'est donc pas nécessairement convergente.
Théorème de convergence monotone
Toute suite croissante et majorée est convergente.
De même, toute suite décroissante et minorée est convergente.
Ce résultat est souvent appelé le théorème de convergence monotone.
Il fournit un moyen de démontrer la convergence sans connaître immédiatement la valeur exacte de la limite.
Opérations sur les limites
Si :
| un → a |
et :
| vn → b |
alors :
| un + vn → a+b |
| un - vn → a-b |
| unvn → ab |
Si :
| b ≠ 0 |
et si vn ne s'annule pas à partir d'un certain rang :
| un/vn → a/b |
Ces règles permettent de calculer de nombreuses limites à partir de limites connues.
Limites classiques
Quelques limites courantes sont :
|
lim 1/n = 0 n→∞ |
|
lim 1/np = 0 n→∞ |
pour :
| p > 0 |
|
lim qn = 0 n→∞ |
lorsque :
| |q| < 1 |
et :
|
lim (1+1/n)n = e n→∞ |
Comparaison des croissances
Lorsque n devient grand, plusieurs fonctions possèdent des vitesses de croissance différentes.
Un ordre classique est :
|
1 « log n « na « bn « n! |
pour :
| a > 0 |
et :
| b > 1 |
Cette comparaison est fondamentale en analyse asymptotique et dans l'étude de la complexité des algorithmes.
Suite définie par une moyenne
Certaines suites sont définies par une opération de moyenne.
Par exemple :
|
un+1 = (un + a/un)/2 |
Cette relation est utilisée dans la méthode de Héron pour approximer :
| √a |
Sous certaines conditions, la suite converge rapidement vers la racine carrée recherchée.
Exemple de méthode de Héron
Pour calculer :
| √2 |
on peut choisir :
| u0 = 1 |
puis appliquer :
|
un+1 = (un + 2/un)/2 |
On obtient approximativement :
|
u0 = 1 u1 = 1,5 u2 = 1,416666... u3 = 1,414215... u4 = 1,414213... |
La suite converge vers :
| √2 |
Algorithme de génération d'une suite explicite
|
MODULE GénérerSuite(n) Créer tableau u[0..n] POUR i ← 0 JUSQU'A n u[i] ← i × i FIN POUR RETOURNER u |
Cet algorithme génère les premiers termes de la suite :
| ui = i2 |
Sa complexité temporelle est :
| O(n) |
et sa mémoire est :
| O(n) |
si tous les termes sont conservés.
Algorithme de génération par récurrence
|
MODULE GénérerSuiteArithmétique(premier,raison,n) Créer tableau u[0..n] u[0] ← premier POUR i ← 1 JUSQU'A n u[i] ← u[i-1] + raison FIN POUR RETOURNER u |
Cet algorithme produit une suite arithmétique sans recalculer chaque terme par une multiplication.
Générateur paresseux
Une suite infinie peut être produite par un générateur paresseux.
Le générateur calcule un terme uniquement lorsqu'il est demandé.
|
MODULE GénérateurEntiers() n ← 0 BOUCLE INFINIE PRODUIRE n n ← n + 1 FIN BOUCLE |
Cette approche évite de stocker une quantité infinie de valeurs.
Elle est utilisée dans les itérateurs, les flux et la programmation fonctionnelle.
Exemple en Java
L'exemple suivant génère les premiers termes d'une suite arithmétique :
- import java.util.Arrays;
-
- public class SuitesSample {
-
- public static long[] suiteArithmetique(
- long premier,
- long raison,
- int nombreDeTermes
- ) {
- if (nombreDeTermes < 0) {
- throw new IllegalArgumentException(
- "Le nombre de termes doit être positif ou nul."
- );
- }
-
- long[] resultat =
- new long[nombreDeTermes];
-
- if (nombreDeTermes == 0) {
- return resultat;
- }
-
- resultat[0] = premier;
-
- for (int i = 1; i < nombreDeTermes; i++) {
- resultat[i] =
- resultat[i - 1] + raison;
- }
-
- return resultat;
- }
-
- public static void main(String[] args) {
- long[] valeurs =
- suiteArithmetique(2, 3, 6);
-
- System.out.println(
- Arrays.toString(valeurs)
- );
- }
- }
Le programme affiche :
| [2, 5, 8, 11, 14, 17] |
Série numérique
Une série numérique est obtenue en additionnant les termes d'une suite.
À partir de la suite :
| u0, u1, u2, ... |
on forme la série :
| u0 + u1 + u2 + ... |
Elle est notée :
| ∑n=0∞ un |
Une série infinie n'est pas interprétée comme une addition effectuée en une seule étape. Elle est étudiée à travers la suite de ses sommes partielles.
Somme partielle
La somme partielle d'ordre N est définie par :
|
S_N = ∑n=0N un |
soit :
|
S_N = u0 + u1 + ... + u_N |
La série converge lorsque la suite des sommes partielles S_N converge vers une limite finie.
Convergence d'une série
La série :
| ∑n=0∞ un |
converge vers S lorsque :
|
lim S_N = S N→∞ |
On écrit alors :
| ∑n=0∞ un = S |
La valeur S est appelée la somme de la série.
Si les sommes partielles ne possèdent pas de limite finie, la série diverge.
Condition nécessaire de convergence
Si la série :
| ∑ un |
converge, alors :
| un → 0 |
Cette condition est nécessaire, mais elle n'est pas suffisante.
Par exemple, dans la série harmonique :
| ∑n=1∞ 1/n |
les termes tendent vers zéro, mais la série diverge.
Série géométrique infinie
La série géométrique :
| a + aq + aq2 + aq3 + ... |
est notée :
| ∑n=0∞ aqn |
Elle converge si :
| |q| < 1 |
Sa somme est alors :
| a/(1-q) |
Si :
| |q| ≥ 1 |
la série diverge, sauf certains cas particuliers triviaux comme a = 0.
Exemple de série géométrique
Considérons :
| 1 + 1/2 + 1/4 + 1/8 + ... |
On a :
|
a = 1 q = 1/2 |
La somme vaut :
| 1/(1-1/2) |
donc :
| 2 |
Ainsi :
| 1 + 1/2 + 1/4 + 1/8 + ... = 2 |
Série harmonique
La série harmonique est :
| 1 + 1/2 + 1/3 + 1/4 + ... |
ou :
| ∑n=1∞ 1/n |
Elle diverge, bien que ses termes tendent vers zéro.
Ses sommes partielles sont les nombres harmoniques :
|
H_N = ∑n=1N 1/n |
Leur croissance est approximativement logarithmique :
| H_N ≈ ln(N) + γ |
Série de Riemann
Une série de Riemann, également appelée p-série, est de la forme :
| ∑n=1∞ 1/np |
Elle converge si :
| p > 1 |
Elle diverge si :
| p ≤ 1 |
Par exemple :
| ∑ 1/n2 |
converge, tandis que :
| ∑ 1/n |
diverge.
Série alternée
Une série alternée possède des termes dont les signes alternent.
Elle peut prendre la forme :
| u0 - u1 + u2 - u3 + ... |
ou :
| ∑n=0∞ (-1)nun |
Un exemple classique est :
| 1 - 1/2 + 1/3 - 1/4 + ... |
Cette série converge vers :
| ln(2) |
Critère des séries alternées
Une série alternée :
| ∑ (-1)nun |
converge si, à partir d'un certain rang :
- les termes un sont positifs ;
- la suite un est décroissante ;
- un tend vers zéro.
Ce résultat est appelé le critère de Leibniz.
Convergence absolue
Une série :
| ∑ un |
est absolument convergente lorsque :
| ∑ |un| |
converge.
Toute série absolument convergente est convergente.
La réciproque n'est pas toujours vraie.
Convergence conditionnelle
Une série est conditionnellement convergente lorsqu'elle converge, mais que la série des valeurs absolues diverge.
Par exemple :
| 1 - 1/2 + 1/3 - 1/4 + ... |
converge, tandis que :
| 1 + 1/2 + 1/3 + 1/4 + ... |
diverge.
La série harmonique alternée est donc conditionnellement convergente.
Critère de comparaison
Supposons que :
| 0 ≤ un ≤ vn |
à partir d'un certain indice.
Alors :
- si ∑vn converge, ∑un converge ;
- si ∑un diverge, ∑vn diverge.
Ce critère permet de comparer une série inconnue à une série de référence.
Critère de comparaison par équivalence
Si :
| un/vn → 1 |
et si les termes sont positifs à partir d'un certain rang, alors les séries :
| ∑un |
et :
| ∑vn |
possèdent la même nature.
Elles convergent toutes les deux ou divergent toutes les deux.
Critère du rapport
Pour une série à termes positifs, on peut étudier :
|
L = lim |un+1/un| |
Si :
| L < 1 |
la série converge absolument.
Si :
| L > 1 |
ou si la limite est infinie, la série diverge.
Si :
| L = 1 |
le critère ne permet pas de conclure.
Critère de la racine
On peut également calculer :
|
L = lim n√|un| |
Si :
| L < 1 |
la série converge absolument.
Si :
| L > 1 |
la série diverge.
Si :
| L = 1 |
le critère est indéterminé.
Critère intégral
Si une fonction f est positive, continue et décroissante à partir d'une certaine valeur, alors la série :
| ∑ f(n) |
et l'intégrale impropre :
| ∫ f(x)dx |
possèdent généralement la même nature.
Ce critère permet notamment de démontrer le comportement des p-séries.
Reste d'une série
Si une série converge vers S, le reste après N termes est :
|
R_N = S - S_N |
Il représente l'erreur commise lorsqu'on remplace la somme infinie par la somme partielle.
L'estimation du reste est essentielle en calcul numérique.
Reste d'une série géométrique
Pour une série géométrique convergente :
| ∑n=0∞ aqn |
le reste après le terme d'indice N vaut :
|
R_N = aqN+1/(1-q) |
Cette formule permet de déterminer combien de termes doivent être calculés pour atteindre une précision donnée.
Reste d'une série alternée
Pour une série alternée satisfaisant le critère de Leibniz, l'erreur commise en s'arrêtant au terme d'indice N est inférieure ou égale à la valeur absolue du premier terme omis.
On a :
| |R_N| ≤ u_N+1 |
Cette propriété rend les séries alternées utiles pour les approximations numériques.
Séries entières
Une série entière est une série de la forme :
| ∑n=0∞ an(x-c)n |
où :
- an représente les coefficients ;
- c représente le centre de la série ;
- x représente la variable.
Les fonctions génératrices ordinaires sont des séries entières centrées en zéro.
Rayon de convergence
Une série entière converge généralement dans un intervalle déterminé par un rayon R.
Elle converge pour :
| |x-c| < R |
et diverge pour :
| |x-c| > R |
Le comportement aux extrémités doit être étudié séparément.
Séries de Taylor
Une fonction suffisamment régulière peut être représentée autour d'un point a par une série de Taylor :
|
f(x) = ∑n=0∞ f(n)(a)/n! × (x-a)n |
Lorsque :
| a = 0 |
on parle de série de Maclaurin.
Ces séries permettent d'approximer des fonctions par des polynômes.
Développements classiques
Quelques développements de Maclaurin sont :
|
ex = 1 + x + x2/2! + x3/3! + ... |
|
sin(x) = x - x3/3! + x5/5! - ... |
|
cos(x) = 1 - x2/2! + x4/4! - ... |
|
1/(1-x) = 1 + x + x2 + x3 + ... |
pour les valeurs de **x** appartenant à leurs domaines de convergence respectifs.
Approximation de l'exponentielle
L'exponentielle peut être approximée par :
|
ex ≈ ∑n=0N xn/n! |
Un algorithme naïf pourrait recalculer chaque puissance et chaque factorielle.
Une méthode plus efficace calcule chaque terme à partir du précédent :
| terme0 = 1 |
et :
|
termen = termen-1 × x/n |
Algorithme d'approximation de l'exponentielle
|
MODULE Exponentielle(x,N) somme ← 1 terme ← 1 POUR n ← 1 JUSQU'A N terme ← terme × x / n somme ← somme + terme FIN POUR RETOURNER somme |
Cette méthode évite de recalculer les puissances et les factorielles depuis le début.
Sa complexité temporelle est :
| O(N) |
et sa mémoire supplémentaire est :
| O(1) |
Exemple en Java
- public class SeriesSample {
-
- public static double exponentielle(
- double x,
- int nombreTermes
- ) {
- if (nombreTermes < 1) {
- throw new IllegalArgumentException(
- "Le nombre de termes doit être positif."
- );
- }
-
- double somme = 1.0;
- double terme = 1.0;
-
- for (int n = 1; n < nombreTermes; n++) {
- terme *= x / n;
- somme += terme;
- }
-
- return somme;
- }
-
- public static void main(String[] args) {
- double approximation =
- exponentielle(1.0, 15);
-
- System.out.println(
- "Approximation de e : "
- + approximation
- );
-
- System.out.println(
- "Valeur Java : "
- + Math.exp(1.0)
- );
- }
- }
Le résultat obtenu se rapproche de :
| 2,718281828... |
Critère d'arrêt basé sur la précision
Dans un calcul numérique, il est parfois préférable d'arrêter la sommation lorsque le terme ajouté devient suffisamment petit.
|
MODULE SommeJusquÀPrécision(epsilon) somme ← 0 n ← 1 RÉPÉTER terme ← 1/(n×n) somme ← somme + terme n ← n + 1 JUSQU'À |terme| < epsilon yRETOURNER somme |
Cette méthode adapte le nombre d'itérations à la précision demandée.
Il faut toutefois vérifier que le terme constitue une estimation valable de l'erreur restante.
Accumulation des erreurs d'arrondi
Lorsqu'une série est calculée en virgule flottante, les erreurs d'arrondi peuvent s'accumuler.
Les petits termes peuvent perdre leur contribution lorsqu'ils sont ajoutés à une somme beaucoup plus grande.
Par exemple, l'addition :
| grandeValeur + trèsPetiteValeur |
peut produire exactement :
| grandeValeur |
si la petite valeur est inférieure à la précision du type numérique.
Ordre de sommation
Pour une série de termes positifs, il est généralement préférable d'additionner d'abord les termes de plus petite valeur.
Une sommation décroissante peut ainsi être plus précise qu'une sommation croissante.
Cependant, pour les séries comportant des signes différents, l'ordre de sommation peut avoir des effets plus complexes.
Dans le cas d'une série conditionnellement convergente, une réorganisation des termes peut même modifier la somme ou provoquer une divergence.
Sommation de Kahan
La sommation de Kahan est une méthode permettant de réduire les erreurs numériques.
Elle conserve une variable de compensation représentant une partie de l'erreur perdue lors des additions précédentes.
|
MODULE SommeKahan(valeurs) somme ← 0 correction ← 0 POUR CHAQUE valeur DANS valeurs y ← valeur - correction temporaire ← somme + y correction ← (temporaire-somme)-y somme ← temporaire FIN POUR RETOURNER somme |
Cette méthode améliore la précision sans modifier la complexité asymptotique.
Suites et complexité algorithmique
Les suites apparaissent fréquemment dans l'analyse des algorithmes.
Par exemple, le nombre d'opérations d'une boucle peut former une suite :
| 1, 2, 3, ..., n |
La somme correspondante est :
| n(n+1)/2 |
et possède une croissance :
| θ(n2) |
De même, la suite :
| n, n/2, n/4, n/8, ... |
forme une progression géométrique dont la somme est de l'ordre de :
| θ(n) |
Boucle à croissance géométrique
Considérons :
|
i ← 1 TANT QUE i ≤ n Traitement i ← i × 2 FIN TANT QUE |
Les valeurs de i forment la suite :
| 1, 2, 4, 8, ... |
Le nombre d'itérations est approximativement :
| log2(n) |
La complexité temporelle est donc :
| O(log n) |
Boucles imbriquées et séries
Considérons :
|
POUR i ← 1 JUSQU'A n POUR j ← 1 JUSQU'A i Traitement FIN POUR FIN POUR |
Le nombre total d'exécutions est :
| 1 + 2 + 3 + ... + n |
soit :
| n(n+1)/2 |
La complexité est donc :
| O(n2) |
Séries et méthodes numériques
Les séries servent à approximer de nombreuses fonctions :
- exponentielle ;
- logarithme ;
- sinus ;
- cosinus ;
- fonctions hyperboliques ;
- fonctions spéciales ;
- solutions d'équations différentielles.
Elles sont également utilisées pour :
- estimer des intégrales ;
- résoudre des équations ;
- approximer des probabilités ;
- analyser les erreurs ;
- produire des développements asymptotiques.
Suites dans les simulations
Une simulation produit souvent une suite d'états :
|
état0, état1, état2, ... |
Chaque nouvel état dépend du précédent :
|
étatn+1 = Transition(étatn) |
Ce modèle apparaît dans :
- les automates cellulaires ;
- les simulations physiques ;
- les modèles économiques ;
- les systèmes dynamiques ;
- les chaînes de Markov ;
- les jeux et animations.
Suites périodiques
Une suite est périodique lorsqu'il existe un entier positif p tel que :
| un+p = un |
pour tout indice suffisamment grand ou pour tout indice du domaine.
Le plus petit entier positif satisfaisant cette propriété est appelé la période.
Par exemple :
| 1, 0, -1, 0, 1, 0, -1, 0, ... |
est périodique de période :
| 4 |
Suite ultimement périodique
Une suite est ultimement périodique lorsqu'elle devient périodique après un certain nombre de termes.
Par exemple :
| 2, 5, 7, 1, 3, 1, 3, 1, 3, ... |
devient périodique après les premiers termes.
Les suites calculées modulo un entier sont souvent ultimement périodiques lorsqu'elles sont produites par un système déterministe à nombre fini d'états.
Sous-suite
Une sous-suite est obtenue en sélectionnant certains termes d'une suite tout en conservant leur ordre.
Si :
| n0 < n1 < n2 < ... |
alors :
| un0, un1, un2, ... |
forme une sous-suite.
Par exemple, les termes d'indices pairs :
| u0, u2, u4, ... |
forment une sous-suite.
Valeur d'adhérence
Une valeur d'adhérence est une limite atteinte par au moins une sous-suite.
Pour :
| un = (-1)n |
les sous-suites d'indices pairs convergent vers :
| 1 |
et celles d'indices impairs convergent vers :
| -1 |
La suite possède donc deux valeurs d'adhérence, mais elle ne converge pas.
Suite de Cauchy
Une suite est une suite de Cauchy lorsque ses termes deviennent arbitrairement proches les uns des autres.
Pour tout :
| ε > 0 |
il existe un entier N tel que :
| m ≥ N |
et :
| n ≥ N |
impliquent :
| |un-um| < ε |
Dans l'ensemble des nombres réels, une suite converge si et seulement si elle est de Cauchy.
Comparaison des principales suites
| Type de suite | Relation ou formule |
|---|---|
| Constante | un = c |
| Arithmétique | un = u0 + nr |
| Géométrique | un = u0qn |
| Harmonique | un = 1/n |
| Fibonacci | Fn = Fn-1 + Fn-2 |
| Factorielle | un = n! |
| Alternée | un = (-1)nan |
| Polynômiale | un = P(n) |
| Exponentielle | un = an |
Comparaison des séries courantes
| Série | Nature | ||
|---|---|---|---|
| ∑qn, avec ` | q | <1` | Convergente |
| ∑qn, avec ` | q | ≥1 | Divergente dans le cas général |
| ∑1/n | Divergente | ||
| ∑1/np, avec p>1 | Convergente | ||
| ∑1/np, avec p≤1 | Divergente | ||
| ∑(-1)n/n | Convergente conditionnellement | ||
| ∑1/n! | Convergente | ||
| ∑xn/n! | Convergente pour tout réel x |
Applications
Les suites et les séries numériques sont utilisées dans de nombreux domaines :
- analyse des algorithmes ;
- complexité asymptotique ;
- calcul scientifique ;
- approximation de fonctions ;
- méthodes itératives ;
- résolution d'équations ;
- simulations ;
- traitement du signal ;
- probabilités ;
- statistiques ;
- finances ;
- physique numérique ;
- intelligence artificielle ;
- apprentissage automatique ;
- génération procédurale ;
- analyse d'erreurs.
Avantages
Les suites et les séries présentent plusieurs avantages :
- elles permettent de modéliser une évolution discrète ;
- elles décrivent naturellement les calculs itératifs ;
- elles facilitent l'étude des limites ;
- elles permettent d'approximer des fonctions complexes ;
- elles interviennent dans l'analyse de complexité ;
- elles fournissent des méthodes de contrôle de l'erreur ;
- elles permettent de représenter des processus infinis par des calculs finis ;
- elles relient les mathématiques discrètes à l'analyse continue.
Limites et précautions
Plusieurs précautions doivent être prises :
- la convention d'indexation doit être précisée ;
- une suite bornée n'est pas nécessairement convergente ;
- le fait que les termes d'une série tendent vers zéro ne garantit pas sa convergence ;
- une somme infinie ne peut pas être calculée directement ;
- les erreurs d'arrondi peuvent s'accumuler ;
- l'ordre de sommation peut influencer le résultat numérique ;
- certaines séries convergent très lentement ;
- les critères de convergence doivent respecter leurs hypothèses ;
- les formules fermées peuvent provoquer des dépassements de capacité ;
- les suites infinies doivent être produites de manière paresseuse ou symbolique.
Remarque
Les suites numériques permettent de formaliser une succession de valeurs produites par une formule, une récurrence ou un processus itératif. Les séries numériques étudient l'accumulation de ces valeurs et permettent de déterminer si une somme infinie possède une valeur finie.
En programmation, ces notions apparaissent dans les boucles, les générateurs, les algorithmes récursifs, les simulations et les méthodes d'approximation. Elles sont également indispensables pour comprendre les nombres harmoniques, les nombres de Fibonacci, les fonctions génératrices, les relations de récurrence et l'analyse asymptotique des algorithmes.