Vote utilisateur: 5 / 5

Etoiles activesEtoiles activesEtoiles activesEtoiles activesEtoiles actives
 

La série harmonique : histoire et preuves de divergence

1. Définition

Définition (Série harmonique).
On appelle série harmonique la série \[ \sum_{n=1}^{+\infty} \frac{1}{n}. \]

On note \(H_n\) la somme partielle : \[ H_n = 1 + \frac12 + \frac13 + \cdots + \frac1n. \]

Théorème (Divergence de la série harmonique).
La série \[ \sum_{n=1}^{+\infty} \frac{1}{n} \] est divergente : les sommes partielles \(H_n\) deviennent arbitrairement grandes.
📎 Voir les différentes preuves possibles
On dispose de plusieurs preuves de ce résultat :
  • la preuve par regroupement d’Oresme (section 3),
  • la preuve « lycée » via les indices \(2^n\) (section 4),
  • la preuve par comparaison intégrale (section 5),
  • la preuve par condensation de Cauchy (section 6),
  • l’approche via les suites de Cauchy (section 7).

2. Histoire de la série harmonique

2.1. Antiquité

Les Pythagoriciens (VIe siècle av. J.-C.) observaient déjà l’importance des rapports \(1,\ \dfrac12,\ \dfrac13,\ \dfrac14,\dots\) dans les harmoniques d’une corde vibrante. Le terme « harmonique » vient de là.

2.2. Nicole Oresme (vers 1350)

Nicolas Oresme , évêque de Lisieux, est le premier (vers 1350) à donner une preuve complète de la divergence de la série harmonique, via un regroupement ingénieux des termes.

Nous présentons sa démonstration détaillée dans la section 3.

2.3. Mengoli (1647)

Pietro Mengoli étudie la série harmonique dans son ouvrage Novae Quadraturae Arithmeticae (1647) et remarque sa croissance très lente. Il s’intéresse aussi aux séries \(\sum 1/n^p\), préfigurant les séries p-harmoniques.

2.4. Euler (1734–1735)

Euler (1734).
Euler, le génial mathématicien suisse, établit l’équivalent asymptotique \[ H_n = \ln n + \gamma + \varepsilon_n, \] où \(\gamma\) est une nouvelle constante (aujourd’hui appelée constante d’Euler–Mascheroni) et \(\varepsilon_n \to 0\) lorsque \(n\to+\infty\).

En 1735, il obtient également le célèbre résultat \[ \sum_{n=1}^{+\infty} \frac{1}{n^2} = \frac{\pi^2}{6}, \] qui ouvrira la voie à l’étude systématique des séries en \(1/n^s\) et à la future fonction zêta de Riemann.

2.5. Cauchy (1821)

Dans son Cours d’analyse (1821), Cauchy formalise la notion de série et introduit à la fois le critère de condensation et la notion de suite de Cauchy. Il apporte ainsi les premiers fondements rigoureux de l’analyse moderne.

3. Nicolas Oresme (1320–1382) et la première preuve de divergence

Nicolas Oresme, évêque de Lisieux, philosophe, astronome et mathématicien, est considéré comme l’un des plus grands savants du XIVe siècle. Vers 1350, il propose la première démonstration vraiment rigoureuse de la divergence de la série harmonique.

À cette époque, les notions modernes de limite, série, convergence ou même de fonction n’existent pas. Oresme travaille dans un cadre géométrique où les grandeurs sont représentées par des « configurations » (combinaisons de segments et de surfaces). Malgré ce contexte médiéval, sa démarche est d’une étonnante modernité.

Nicolas Oresme (1320–1382).
Maître ès arts à Paris, puis évêque de Lisieux, Oresme fut un pionnier de la représentation graphique des grandeurs variables. Il anticipe des idées que l’on retrouvera chez Descartes (géométrie analytique) et Newton (calcul des fluxions). Sa démonstration de la divergence de la série harmonique est la première preuve solide concernant une série infinie.

3.1. Le cadre : le traité De configurationibus (1351)

La démonstration apparaît dans son traité De configurationibus qualitatum et motuum (vers 1351). Oresme y étudie les grandeurs intensives (force, vitesse, chaleur) à l’aide de « figures » géométriques. Cette approche visuelle l’amène naturellement à considérer des sommes de plus en plus longues de termes de la forme \(1/k\), c’est-à-dire la série harmonique.

3.2. L’idée révolutionnaire : regrouper les termes par blocs

Idée d’Oresme.
Oresme regroupe les termes de la série harmonique en blocs de taille doublante. À partir du troisième bloc, chaque groupe vaut au moins \(\dfrac{1}{2}\). Le nombre de blocs pouvant être arbitrairement grand, la somme peut dépasser toute borne fixée.

Oresme réécrit la série \[ 1 + \frac12 + \frac13 + \frac14 + \frac15 + \cdots \] de la manière suivante :

\[ 1 \;+\; \frac12 \;+\; \underbrace{\left(\frac13 + \frac14\right)}_{\text{bloc 3}} \;+\; \underbrace{\left(\frac15 + \frac16 + \frac17 + \frac18\right)}_{\text{bloc 4}} \;+\; \underbrace{\left(\frac19 + \cdots + \frac{1}{16}\right)}_{\text{bloc 5}} \;+\;\cdots \]

Chaque bloc à partir du troisième contient deux fois plus de termes que le précédent.

3.3. Chaque bloc vaut au moins 1/2

Étudions les valeurs minimales de ces blocs :

  • Bloc 3 : \[ \frac13 + \frac14 \;\ge\; \frac14 + \frac14 = \frac12. \]
  • Bloc 4 : il contient \(\frac15, \frac16, \frac17, \frac18\). Chacun de ces termes est ≥ \(\dfrac18\), donc : \[ \frac15 + \frac16 + \frac17 + \frac18 \;\ge\; 4 \times \frac18 = \frac12. \]
  • Bloc 5 : il contient \(\frac19\) à \(\frac{1}{16}\). Chacun ≥ \(\dfrac{1}{16}\), et il y a 8 termes : \[ 8 \times \frac1{16} = \frac12. \]

Pour le bloc numéro \(k\), on a \(2^{\,k-1}\) termes, tous ≥ \(1/2^k\), donc : \[ \text{bloc } k \;\ge\; \frac12. \]

3.4. Conclusion d’Oresme : la série dépasse toute borne

Preuve d’Oresme (1350).

À partir du troisième bloc, chaque groupe vaut au moins \(\frac12\). Après \(m\) blocs, on obtient donc : \[ H_{2^m} \;\ge\; 1 + \frac12 + (m-1)\times \frac12 = \frac{m}{2} + 1. \] Comme le nombre de blocs peut être rendu aussi grand que voulu, la suite \((H_n)\) n’est pas bornée : la série harmonique diverge.

3.5. Résumé

Résumé de la preuve.

Blocs de longueurs : 1, 1, 2, 4, 8, 16, … À partir du 3e bloc : chaque bloc ≥ 1/2. Nombre de blocs → ∞. Somme cumulée → dépasse toute borne. Donc la série harmonique diverge.

3.6. Remarque moderne (Cauchy 1821)

Le raisonnement d’Oresme permet déjà d’obtenir une estimation logarithmique. Si l’on prend \(n = 2^m\), la relation précédente donne \[ H_{2^m} \;\ge\; \frac{m}{2} + 1 = \frac12 \log_2 n + 1. \] En utilisant le changement de base du logarithme : \[ \log_2 n = \frac{\ln n}{\ln 2}, \] on obtient \[ H_n \;\ge\; \frac{\ln n}{2\,\ln 2}. \]

Deux siècles plus tard, Cauchy puis Euler montreront que la bonne asymptotique est \[ H_n = \ln n + \gamma + o(1), \] ce qui confirme l’intuition d’Oresme sur la croissance lente mais non bornée de la série.

📎 Preuve détaillée (version moderne)
On regroupe les termes : \[ H_n = 1 + \frac12 + \left(\frac13+\frac14\right) + \left(\frac15+\cdots+\frac18\right) + \left(\frac19+\cdots+\frac{1}{16}\right) + \cdots \] Pour \(k \ge 1\), on définit le bloc \[ B_k = \sum_{j=2^{k-1}+1}^{2^k} \frac1j. \] Il contient \(2^{k-1}\) termes, et pour tous ces \(j\), \(j \le 2^k\), donc \[ \frac1j \ge \frac1{2^k}. \] D’où \[ B_k \ge 2^{k-1}\cdot \frac1{2^k} = \frac12. \] En empilant un nombre arbitraire de blocs, on obtient des sommes partielles aussi grandes que l’on veut : la série diverge.

4. Preuve accessible au lycée

Cette preuve n’utilise que des inégalités sur les fractions et un raisonnement par récurrence sur les puissances de 2.

Propriété clé.
Pour tout entier \(n \ge 1\), \[ H_{2n} - H_n \ge \frac12. \]
📎 Preuve de la propriété clé
Par définition, \[ H_{2n} = H_n + \frac{1}{n+1} + \frac{1}{n+2} + \cdots + \frac{1}{2n}. \] Il y a exactement \(n\) termes dans la somme \(\dfrac{1}{n+1} + \cdots + \dfrac{1}{2n}\).

Pour tout entier \(k\) vérifiant \(n+1 \le k \le 2n\), on a \[ k \le 2n \quad \Rightarrow \quad \frac{1}{k} \ge \frac{1}{2n}. \] Ainsi, chaque terme de cette somme est \(\ge \dfrac1{2n}\), donc \[ \frac{1}{n+1} + \cdots + \frac{1}{2n} \;\ge\; n \times \frac{1}{2n} \;=\; \frac12. \] D’où \[ H_{2n} = H_n + \left(\frac{1}{n+1} + \cdots + \frac{1}{2n}\right) \ge H_n + \frac12. \]
Proposition.
Pour tout entier \(m \ge 0\), \[ H_{2^m} \ge 1 + \frac{m}{2}. \]
📎 Preuve par récurrence
Initialisation.
Pour \(m=0\), \(2^0 = 1\) et \(H_1 = 1\), donc \[ H_{2^0} = H_1 = 1 \ge 1 + \frac{0}{2}. \]

Hérédité.
On suppose que, pour un certain entier \(m \ge 0\), \[ H_{2^m} \ge 1 + \frac{m}{2}. \] En appliquant la propriété clé à \(n = 2^m\), on obtient \[ H_{2^{m+1}} = H_{2\cdot 2^m} \ge H_{2^m} + \frac12. \] Donc \[ H_{2^{m+1}} \ge \left(1 + \frac{m}{2}\right) + \frac12 = 1 + \frac{m+1}{2}. \] La propriété est vraie au rang \(m+1\).

Conclusion.
Par récurrence, pour tout entier \(m \ge 0\), \[ H_{2^m} \ge 1 + \frac{m}{2}. \]
Conclusion lycée.
Lorsque \(m\) augmente, \(1 + \dfrac{m}{2}\) devient aussi grand que l’on veut. Comme \(H_{2^m} \ge 1 + \dfrac{m}{2}\), la suite \((H_{2^m})\) n’est pas bornée, donc la série harmonique diverge.

5. Preuve par comparaison intégrale

Comparaison entre la courbe y = 1/x et les rectangles d’aire 1/k

Théorème.
Pour tout entier \(n \ge 1\), \[ H_n \ge \ln n. \] En particulier, \(H_n \to +\infty\).
📎 Preuve par les aires
On considère \(f(x)=\dfrac1x\), positive et décroissante sur \([1,+\infty[\). Pour tout entier \(k \ge 1\), \[ \frac{1}{k+1} \;\le\; \int_k^{k+1} \frac1x\,dx \;\le\; \frac{1}{k}. \] En sommant pour \(k = 1\) à \(n-1\), on obtient : \[ \sum_{k=2}^{n} \frac1k \;\le\; \int_1^{n} \frac1x \, dx \;\le\; \sum_{k=1}^{n-1} \frac1k. \] Or \[ \sum_{k=2}^n \frac1k = H_n - 1, \qquad \sum_{k=1}^{n-1} \frac1k = H_{n-1}. \] D’où \[ H_n - 1 \le \ln n \le H_{n-1}. \] Comme \((H_n)\) est croissante, on a \(H_{n-1} \le H_n\), donc \[ \ln n \le H_{n-1} \le H_n. \] Ainsi, pour tout \(n \ge 1\), \[ H_n \ge \ln n. \] Comme \(\ln n \to +\infty\), on en déduit \(H_n \to +\infty\), donc la série harmonique diverge.

Perspective historique. Un premier lien « géométrique » entre séries et aires sous une courbe se trouve chez Maclaurin (Treatise of Fluxions, 1742), mais sans critère général. C’est Augustin-Louis Cauchy qui, dans son Cours d’analyse (1821), formule pour la première fois le test intégral moderne, et l’applique explicitement au cas de \(f(x)=1/x\) pour conclure à la divergence de la série harmonique.

6. Condensation de Cauchy

Théorème (condensation de Cauchy).

Soit \((u_n)_{n\ge1}\) une suite positive et décroissante. Alors la série \[ \sum_{n=1}^{+\infty} u_n \] converge si et seulement si la série condensée \[ \sum_{k=0}^{+\infty} 2^{k}\,u_{2^{k}} \] converge.

Ce critère est particulièrement utile pour l’étude des séries de la forme \(\displaystyle \sum \frac{1}{n^p}\).
💡 Idée de preuve du critère de condensation de Cauchy
On suppose que \((u_n)\) est une suite positive et décroissante. On s’intéresse aux blocs d’indices compris entre les puissances de 2 : \[ \{1\},\ [2,3],\ [4,5,6,7],\ [8,\dots,15],\ \dots,\ [2^k,\dots,2^{k+1}-1],\dots \] Sur chaque bloc \([2^k, 2^{k+1}-1]\), la suite étant décroissante, on a : \[ u_{2^{k+1}} \;\le\; u_n \;\le\; u_{2^k} \quad \text{pour tout } n \in [2^k, 2^{k+1}-1]. \] Il y a exactement \(2^k\) termes dans ce bloc, donc la somme partielle sur ce bloc vérifie : \[ 2^k\,u_{2^{k+1}} \;\le\; \sum_{n=2^k}^{2^{k+1}-1} u_n \;\le\; 2^k\,u_{2^k}. \] Si l’on note \(S_N = \displaystyle\sum_{n=1}^{N} u_n\) et que l’on regarde les sommes aux bornes \(N = 2^{m}-1\), on obtient en sommant ces inégalités pour \(k = 0,1,\dots,m-1\) : \[ \sum_{k=0}^{m-1} 2^k u_{2^{k+1}} \;\le\; S_{2^{m}-1} \;\le\; \sum_{k=0}^{m-1} 2^k u_{2^{k}}. \] Les sommes de droite et de gauche ne sont rien d’autre que des sommes partielles des séries : \[ \sum_{k=0}^{+\infty} 2^k u_{2^{k+1}} \quad\text{et}\quad \sum_{k=0}^{+\infty} 2^k u_{2^{k}}. \] Or la convergence de l’une est équivalente à la convergence de l’autre (elles ne diffèrent que par un décalage d’indice), et leurs sommes partielles encadrent les sommes partielles de la série initiale \(\sum u_n\). On en déduit que la série \(\sum u_n\) converge si et seulement si la série condensée \(\sum 2^k u_{2^k}\) converge.
Application à la série harmonique.
En appliquant la condensation à \(u_n = \dfrac1n\), on obtient \[ 2^k u_{2^k} = 1, \] donc la série condensée \(\sum_{k=0}^{+\infty} 1\) diverge. Par équivalence, la série harmonique diverge.

Perspective historique. Le critère de condensation, aujourd’hui appelé test de condensation de Cauchy, apparaît en 1821 dans le Cours d'analyse de l'École Royale Polytechnique. Cauchy y établit les premiers critères systématiques de convergence des séries à termes positifs, et la divergence de la série harmonique par condensation s’inscrit directement dans ce cadre.

 

7. Lien avec les suites de Cauchy

7.1. Définition

Définition (Suite de Cauchy).
Une suite \((a_n)\) est dite de Cauchy si \[ \forall \varepsilon>0,\ \exists N\ \text{tel que}\ \forall m,n \ge N,\ |a_m - a_n| < \varepsilon. \]

7.2. Critère de Cauchy

Dans \(\mathbb{R}\), une suite est convergente si et seulement si c’est une suite de Cauchy.
📎 Idée de la preuve
Sens direct. Si \(a_n \to \ell\), alors pour \(\varepsilon>0\), il existe \(N\) tel que \(|a_n-\ell|<\varepsilon/2\) pour \(n\ge N\). Pour \(m,n\ge N\), \[ |a_m - a_n| \le |a_m-\ell| + |a_n-\ell| < \varepsilon. \]
Réciproque. Si \((a_n)\) est de Cauchy, elle est bornée. Par le théorème de Bolzano–Weierstrass, elle admet une sous-suite convergente vers un réel \(\ell\). La propriété de Cauchy permet ensuite de montrer que toute la suite converge vers \(\ell\).

7.3. Application à la série harmonique

Si la série harmonique convergait, la suite des sommes partielles \((H_n)\) serait de Cauchy. Or ce n’est pas le cas.

📎 Pourquoi (Hn) n’est pas de Cauchy
On considère \(H_{2^{k+1}} - H_{2^k}\) : \[ H_{2^{k+1}} - H_{2^k} = \frac1{2^k+1} + \cdots + \frac1{2^{k+1}}. \] Il y a \(2^k\) termes, chacun \(\ge \dfrac1{2^{k+1}}\), donc \[ H_{2^{k+1}} - H_{2^k} \ge 2^k \cdot \frac1{2^{k+1}} = \frac12. \] Ainsi, pour \(\varepsilon < \frac12\), on ne peut pas trouver de \(N\) tel que \(|H_m - H_n| < \varepsilon\) pour tous \(m,n \ge N\). La suite \((H_n)\) n’est pas de Cauchy, donc elle ne converge pas.

 

8. Valeurs numériques de Hn

On rappelle \[ H_n = 1 + \frac12 + \frac13 + \cdots + \frac1n. \] Le tableau ci-dessous donne quelques valeurs (arrondies à trois décimales).

\(n\)\(H_n\)
1 1
2 1,5
5 2,283
10 2,929
50 4,499
100 5,187
10 000 9,788
1 000 000 14,393
\(10^9\) 21,3
\(10^{10}\) 23,603
Malgré l’ajout de très nombreux termes, la divergence reste très lente : il faut aller jusqu’à \(n = 10^9\) pour atteindre seulement \(H_n \approx 21{,}3\).

 

9. Comparaison numérique : Hn – ln(n)

Pour comprendre l’apparition de la constante d’Euler–Mascheroni, on étudie directement la quantité \[ H_n - \ln n. \] Nous observons comment cette différence se comporte lorsque \(n\) augmente.

n\(H_n\)\(\ln n\)\(H_n - \ln n\)
1 1.000000 0.000000 1.000000
10 2.928968 2.302585 ≈ 0.626383
100 5.187378 4.605170 ≈ 0.582208
1 000 7.485471 6.907755 ≈ 0.577716
10 000 9.787606 9.210340 ≈ 0.577266
1 000 000 14.392726 13.815511 ≈ 0.577215
On observe que la différence \(H_n - \ln n\) semble se stabiliser autour de \(\approx 0{,}57721\). Cette valeur limite est précisément la constante d’Euler–Mascheroni \(\gamma\).
 

10. Constante d’Euler–Mascheroni γ

En étudiant la différence \(H_n - \ln n\), Euler a mis en évidence une nouvelle constante.

Définition (Euler, 1734).
La constante d’Euler–Mascheroni est définie par \[ \boxed{ \gamma = \lim_{n\to+\infty}\left(H_n - \ln n\right) }. \]

10.1. Existence de la limite

Théorème.
La suite \(\left(H_n - \ln n\right)_{n\ge1}\) converge. Sa limite est la constante \(\gamma\).
📎 Esquisse de preuve
On a l’encadrement de la section 5 : \[ H_n - 1 \le \ln n \le H_{n-1}. \] Donc \[ 0 \le H_n - \ln n \le 1 + (H_n - H_{n-1}) = 1 + \frac1n. \] On montre que \((H_n - \ln n)\) est décroissante et bornée inférieurement par 0, donc convergente (théorème des suites monotones).

10.2. Valeur numérique

La constante vaut approximativement : \[ \gamma \approx 0{,}577\,215\,664\,901. \] On ne sait toujours pas si elle est rationnelle ou irrationnelle, algébrique ou transcendante.

10.3. Quelques écritures de γ

a) Série définissant γ

\[ \gamma = \sum_{k=1}^{+\infty} \left(\frac1k - \ln\left(1+\frac1k\right)\right). \]

b) Écriture intégrale (Stieltjes)

\[ \gamma = \int_1^{+\infty} \left(\frac{1}{\lfloor x\rfloor} - \frac1x\right)\, dx. \]

c) Écriture intégrale sur [0,1]

\[ \gamma = \int_0^1 \left(\frac{1}{\ln x} + \frac{1}{1-x}\right)\,dx. \]

d) Lien avec la fonction zêta

En termes de fonction zêta de Riemann, \[ \gamma = \lim_{s\to 1^+} \left(\zeta(s) - \frac{1}{s-1}\right). \] Cette relation prépare naturellement l’étude des séries en \(1/n^s\).

 

11. Temps de calcul de Hn pour des valeurs très grandes

Nous avons vu qu’à partir d’un certain rang, la somme harmonique peut être approchée par :

\[ H_n \approx \ln n + \gamma + \frac{1}{2n} - \frac{1}{12n^2}, \]

où \(\gamma\) est la constante d’Euler–Mascheroni. L’écart entre \(H_n\) et \(\ln n + \gamma\) est très petit, ce qui permet d’estimer \(H_n\) même pour des valeurs gigantesques de \(n\).

Mémo historique et origine de la formule approchée

D’où vient cette formule ? L’approximation ci-dessus provient de la formule d’Euler–Maclaurin, qui relie les sommes discrètes aux intégrales. Appliquée à \(f(x)=1/x\), elle donne une relation précise entre la somme

\[ H_n = \sum_{k=1}^{n} \frac{1}{k} \]

et l’intégrale \(\displaystyle \int_1^n \frac{1}{x}dx = \ln n\), à laquelle s’ajoutent des termes correctifs faisant intervenir les dérivées successives de \(f\).

Point historique. Dès les années 1730, Leonhard Euler montre que la série harmonique vérifie

\[ H_n = \ln n + \gamma + o(1), \]

où \(\gamma\) (la constante d’Euler–Mascheroni) apparaît comme la limite de \(H_n - \ln n\). Cette idée est révolutionnaire : elle remplace une somme de \(n\) termes par une expression fermée permettant d’estimer \(H_n\) pour des valeurs astronomiques de \(n\).

La version raffinée

\[ H_n \approx \ln n + \gamma + \frac{1}{2n} - \frac{1}{12n^2} \]

résulte du développement complet de la formule d’Euler–Maclaurin (Euler & Maclaurin, autour de 1740). C’est cette approximation — extrêmement précise — qui permet aujourd’hui de calculer instantanément \(H_n\) pour des valeurs comme \(10^{20}\), là où un calcul terme à terme serait totalement irréaliste.

Comment estime-t-on le temps de calcul ?

Pour estimer le temps de calcul d’une boucle naïve qui additionne \(\displaystyle H_n = \sum_{k=1}^n \frac{1}{k}\), on suppose qu’un ordinateur « moyen » de 2025 réalise environ :

  • Python naïf : \(4\times 10^7\) additions/s (40 millions d’itérations par seconde) ;
  • C optimisé (compilé avec -O3) : \(5\times 10^8\) additions/s (500 millions d’itérations par seconde).

Le temps de calcul est alors donné par la formule simple :

\[ T_{\text{Python}}(n) \approx \frac{n}{4\times 10^7}, \qquad T_{\text{C}}(n) \approx \frac{n}{5\times 10^8}. \]

Ces valeurs correspondent à un portable ou un PC de bureau classique de 2025 (processeur autour de 3 GHz). Elles restent des ordres de grandeur : selon la machine et le code exact, on peut être un peu plus lent ou plus rapide.

Le tableau ci-dessous compare le temps nécessaire pour calculer \(H_n\) en ajoutant les termes un par un (algorithme en \(O(n)\)), pour différentes valeurs de \(n = 10^k\). Les valeurs de \(H_n\) sont obtenues grâce à l’approximation d’Euler–Maclaurin.

\(n\)\(H_n \approx\)Python naïf
(\(4\times 10^7\) it/s)
C optimisé
(\(5\times 10^8\) it/s)
\(10^{8}\) 18,997896 ≈ 2,5 s ≈ 0,2 s
\(10^{9}\) 21,300482 ≈ 25 s ≈ 2 s
\(10^{10}\) 23,603067 ≈ 4 min ≈ 20 s
\(10^{11}\) 25,905652 ≈ 42 min ≈ 3,5 min
\(10^{12}\) 28,208237 ≈ 7 h ≈ 35 min
\(10^{13}\) 30,510822 ≈ 3 jours ≈ 6 h
\(10^{14}\) 32,813407 ≈ 1 mois ≈ 2,5 jours
\(10^{15}\) 35,115992 ≈ 9 mois ≈ 3 semaines
\(10^{16}\) 37,418577 ≈ 8 ans ≈ 8 mois
\(10^{17}\) 39,721162 ≈ 80 ans ≈ 6 ans
\(10^{18}\) 42,023747 ≈ 800 ans ≈ 63 ans
\(10^{19}\) 44,326332 ≈ 8 000 ans ≈ 630 ans
\(10^{20}\) 46,628917 ≈ 80 000 ans ≈ 6 300 ans

Ce tableau montre l’écart immense entre un calcul « force brute » (temps proportionnel à \(n\)) et l’approximation \[ H_n \approx \ln n + \gamma + \frac{1}{2n}. \] Pour \(n = 10^{20}\), il faudrait plus d’un demi-million d’années pour une simple boucle Python, alors que la formule asymptotique fournit la valeur en moins d’une milliseconde.

💡 D'où vient le nombre ~40 millions d’itérations par seconde en Python ?

Le chiffre n’est pas arbitraire : il provient de la combinaison de la fréquence des processeurs actuels et du coût d’une itération Python en cycles machine.

1. Fréquence des processeurs (2025)

Un ordinateur classique tourne autour de 3 GHz, soit 3×10⁹ cycles par seconde.

2. Coût d’une itération Python

Une simple boucle for coûte environ 75 cycles par itération (interpréteur Python, création/gestion d’objets, vérifications de type…). Ce chiffre provient des benchmarks CPython 3.11–3.12.

3. Calcul du nombre d'itérations par seconde

\[ R_{\text{Py}} \approx \frac{3\times 10^9}{75} \approx 4\times 10^7 = 40\text{ millions/s}. \]

4. Vérification expérimentale

On peut mesurer soi-même cette vitesse :

import time
N = 200_000_000
t0 = time.time()
for i in range(N): pass
t1 = time.time()
print(N/(t1-t0), "itérations/s")
  

Sur un PC moyen (2025), on obtient généralement 38 à 45 millions d’itérations/s.

📎 Programmes optionnels : mesurer le temps de calcul de H(n)

Les deux programmes ci-dessous permettent de mesurer expérimentalement le temps nécessaire au calcul direct de \(H_n\) par une boucle naïve. Attention : cette méthode est en \(O(n)\) et devient vite impraticable.

🔹 Programme Python (boucle naïve)

import time
import math

def harmonic(n):
    s = 0.0
    for k in range(1, n+1):
        s += 1.0 / k
    return s

if __name__ == "__main__":
    i = 8   # n = 10**i
    n = 10**i
    print(f"Calcul de H_10**{i} ...")
    
    t0 = time.time()
    Hn = harmonic(n)
    t1 = time.time()
    
    print(f"H_10**{i} = {Hn}")
    print(f"Temps écoulé : {t1 - t0:.3f} secondes")

  

Ce programme effectue une simple boucle for. Sur un ordinateur standard (~5×10⁶ itérations/s), n = 10⁷ prend ~2 secondes.

🔹 Programme C optimisé (compilé en -O3)

#include <stdio.h>
#include <time.h>

double harmonic(unsigned long long n) {
    double s = 0.0;
    for (unsigned long long k = 1; k <= n; k++) {
        s += 1.0 / (double)k;
    }
    return s;
}

int main() {
    unsigned long long n = 100000000UL;  // ajuster ici
    printf("Calcul de H_%llu ...\n", n);

    clock_t t0 = clock();
    double Hn = harmonic(n);
    clock_t t1 = clock();

    double elapsed = (double)(t1 - t0) / CLOCKS_PER_SEC;

    printf("H_%llu = %f\n", n, Hn);
    printf("Temps écoulé : %.3f secondes\n", elapsed);

    return 0;
}
  

Compiler avec optimisation maximale :

gcc -O3 harmonic.c -o harmonic
./harmonic
  

Avec -O3, un processeur moderne atteint typiquement 2×10⁸ à 3×10⁸ itérations/s, soit environ :

  • H(10⁹) → ~4 secondes
  • H(10¹⁰) → ~40 secondes

Ces programmes permettent d'expérimenter directement les limites du calcul naïf et de comprendre l'intérêt crucial de la formule asymptotique d'Euler–Maclaurin.

📎 Installer Python et un compilateur C (optionnel)

Pour exécuter les programmes Python et C donnés ci-dessus, voici les outils recommandés, gratuits et simples à installer.

🐍 Installer Python

💻 Installer un compilateur C

  • Windows (recommandé) : MinGW-w64 (gcc)
  • Mac : ouvrir un Terminal et taper xcode-select --install (installe gcc/clang).
  • Linux : gcc est généralement déjà installé.

🛠️ IDE simple pour programmer en C

🌐 Alternative sans installation (en ligne)

Ces outils permettent à chacun de tester l’algorithme de calcul direct de \(H_n\), de comprendre ses limites, et de comparer avec les méthodes analytiques étudiées plus haut.

💡 Pourquoi un programme en C est-il beaucoup plus rapide qu’un programme Python ?

La différence de vitesse entre Python et C vient de la manière dont les deux langages sont exécutés par l’ordinateur.

1. 🔧 Compilation (C) vs interprétation (Python)

  • C est un langage compilé : le code est transformé en instructions machine très rapides avant l'exécution.
  • Python est interprété : chaque ligne est analysée et exécutée en temps réel, ce qui ajoute une grande surcharge.

2. 📏 Gestion des types

  • En C, les types sont simples (int, double) et directement manipulés par le processeur.
  • En Python, chaque entier est un objet complexe (métadonnées, pointeurs, etc.).
    Chaque addition crée ou modifie un objet → beaucoup plus lent.

3. 🔁 Boucles et surcoût Python

Dans le calcul de \(H_n = \sum 1/k\), chaque itération implique en Python :

  • création de l’objet entier k,
  • conversion en flottant,
  • appel à une fonction interne pour 1/k,
  • gestion dynamique des types,
  • gestion mémoire.

Alors qu’en C, l’itération correspond directement à quelques instructions assembleur.

4. 🚀 Optimisations du compilateur C

Avec -O3, le compilateur :

  • vectorise les opérations,
  • réarrange les instructions,
  • optimise les accès mémoire,
  • supprime les calculs inutiles.

➡️ Résultat

  • Python ≈ 5 millions d’itérations/s.
  • C optimisé ≈ 300 millions, parfois 1 milliard.

Le C est donc environ 50 à 100 fois plus rapide que Python dans ce type de calcul.

12. Combien de termes pour dépasser une valeur A ?

Grâce à l’approximation \[ H_n \approx \ln n + \gamma, \] on peut estimer pour quelle valeur de \(n\) on obtient \(H_n \ge A\). En première approximation, \[ n \approx e^{A-\gamma}. \]

Valeur \(A\)Nombre de termes \(n\) (approx.)
5 ≈ 83
10 ≈ 12 367
15 ≈ 1,8 × 106
20 ≈ 2,7 × 108
25 ≈ 4,0 × 1010
30 ≈ 6,0 × 1012
35 ≈ 9,1 × 1014
40 ≈ 1,4 × 1017
50 ≈ 3,7 × 1021
60 ≈ 1,0 × 1026
70 ≈ 3,0 × 1030
80 ≈ 9,0 × 1034
90 ≈ 2,7 × 1039
100 ≈ 8,1 × 1043
Commentaire.
La lenteur de divergence de la série harmonique est stupéfiante :
  • atteindre A = 30 nécessite déjà plus de 6 000 milliards de termes ;
  • atteindre A = 60 demanderait plus de 1026 termes, bien au-delà du nombre d’atomes de la Terre (~1025) ;
  • atteindre A = 100 exigerait environ 1044 termes : une quantité supérieure au nombre d’atomes dans des millions d’univers observables.
La série harmonique diverge… mais d’une lenteur absolument vertigineuse. Même les concepts d’astronomie ou de physique ne suffisent plus pour décrire les ordres de grandeur nécessaires.

13. Séries en 1/np et ouverture vers la fonction zêta

Les séries de la forme

\[ \sum_{n=1}^{+\infty} \frac{1}{n^p} \]

jouent un rôle central en analyse réelle, en théorie analytique des nombres et en analyse complexe. Elles généralisent la série harmonique (cas \(p = 1\)), dont nous avons établi la divergence. La question naturelle est : pour quelles valeurs de \(p\) la série converge-t-elle ?

Théorème (Convergence des séries p-harmoniques).

La série \[ \sum_{n=1}^{+\infty} \frac{1}{n^p} \] converge si et seulement si \(p > 1\).

Pour \(p \le 1\), elle diverge ; en particulier, le cas \(p=1\) correspond à la série harmonique.
📎 Preuve par condensation (idée)
On pose \(u_n = 1/n^p\), suite positive et décroissante. Selon le test de condensation de Cauchy, la série \(\sum u_n\) converge ssi la série condensée \[ \sum_{k=0}^{+\infty} 2^k u_{2^k} = \sum_{k=0}^{+\infty} 2^k \cdot \frac{1}{(2^k)^p} = \sum_{k=0}^{+\infty} 2^{k(1-p)} \] converge.

C’est une série géométrique de raison \(q = 2^{1-p}\) :
  • si \(p > 1\), alors \(1-p < 0\) et \(0 < q < 1\) : la série converge ;
  • si \(p \le 1\), alors \(q \ge 1\) : elle diverge.
Le cas limite \(p=1\) redonne la série harmonique.

Perspective historique. Les séries p-harmoniques apparaissent explicitement dans les travaux de Leonhard Euler au XVIIIe siècle. Entre 1735 et 1740, Euler étudie en profondeur le cas particulier \(p = 2\) et résout le fameux « problème de Bâle », établissant que :

\[ \sum_{n=1}^{+\infty} \frac{1}{n^2} = \frac{\pi^2}{6}. \]

💡 Preuve (version moderne) : pourquoi ∑ 1/n² = π²/6 ?

Euler utilise le fait que les zéros de \(\sin x\) sont exactement les multiples entiers de \(\pi\). Par analogie avec la factorisation d’un polynôme par ses zéros, il propose la factorisation infinie :

\[ \frac{\sin x}{x} = \prod_{n=1}^{+\infty} \left(1 - \frac{x^2}{n^2\pi^2}\right). \]

En comparant ce produit infini avec la série de Taylor de \(\sin x / x\), on identifie les coefficients du terme en \(x^2\). Cette comparaison donne immédiatement :

\[ \sum_{n=1}^{+\infty} \frac{1}{n^2} = \frac{\pi^2}{6}. \]

Cette approche annonce la future théorie des produits canoniques (Weierstrass, Hadamard) et préfigure le travail de Riemann sur la fonction zêta.

Au XIXe siècle, Augustin-Louis Cauchy systématise l’étude des p-séries dans son Cours d’analyse (1821). Quelques décennies plus tard, Bernhard Riemann (1859) étend ces séries en introduisant la fonction \(\zeta(s)\), liant analyse complexe et théorie des nombres.

Ouverture : vers la fonction zêta de Riemann

Les p-séries s’unifient naturellement dans une fonction plus générale : la fonction zêta de Riemann, définie pour les nombres complexes \(s\) par :

\[ \zeta(s) = \sum_{n=1}^{+\infty} \frac{1}{n^{s}}, \qquad \text{pour } \Re(s) > 1. \]

Cette définition englobe les p-séries en permettant des exposants réels ou complexes. Pour \(s = 2\), on retrouve le résultat d’Euler. Riemann montre en 1859 que cette fonction admet un prolongement analytique à tout le plan complexe (sauf en \(s = 1\)) et qu’elle contrôle la répartition des nombres premiers.

L’étude complète de \(\zeta(s)\) et de ses propriétés fait l’objet d’une page dédiée sur ce site .

14. La série harmonique alternée

La « série harmonique alternée » est définie par :

\[ \sum_{n=1}^{+\infty} \frac{(-1)^{n+1}}{n} = 1 - \frac12 + \frac13 - \frac14 + \frac15 - \cdots \]

Contrairement à la série harmonique classique, cette série converge. Elle constitue l’un des exemples les plus connus de convergence conditionnelle : la série converge, mais la série des valeurs absolues diverge.

Théorème (critère de Leibniz, 1693).

Si \((u_n)\) est une suite positive, décroissante, et vérifie \(u_n \to 0\), alors la série alternée \[ \sum_{n=1}^{+\infty} (-1)^{n} u_n \] converge.

En appliquant ce critère à \(u_n = 1/n\), on obtient la convergence de la série harmonique alternée. De plus, il est possible de montrer que sa somme vaut :

\[ \sum_{n=1}^{+\infty} \frac{(-1)^{n+1}}{n} = \ln 2. \]

Perspective historique

Le critère de Leibniz apparaît dans une lettre de Gottfried Wilhelm Leibniz en 1693. Il constitue l’une des premières conditions générales de convergence ne reposant pas sur une majoration par une série plus simple.

La valeur \(\ln 2\) de la série alternée est établie dès le XVIIIe siècle, notamment par Brook Taylor (1715) et Euler, grâce au développement en série du logarithme :

\[ \ln(1+x) = x - \frac{x^2}{2} + \frac{x^3}{3} - \frac{x^4}{4} + \cdots \quad (|x|<1), \]

ce qui donne, en prenant \(x = 1\), la somme de la série alternée.

La série harmonique alternée est ainsi un exemple fondamental montrant que la convergence d’une série peut dépendre du signe de ses termes, une idée clé en analyse moderne.

15. Sources, bibliographie et documents historiques

Cette section rassemble les principales sources primaires et secondaires utilisées pour la rédaction de cette page : textes originaux d’Oresme, éditions critiques, monographies historiques, ouvrages d’analyse moderne et ressources web fiables.

Nicolas Oresme — Sources primaires (textes originaux)
  • N. Oresme, De configurationibus qualitatum et motuum, manuscrit latin, XIVe siècle.
    Fac-similé partiel accessible : PDF du manuscrit (premières parties) .
  • N. Oresme, Tractatus de latitudinibus formarum, manuscrit (c. 1350). Texte important pour comprendre sa méthode de représentation graphique.
Éditions critiques et travaux universitaires
  • Marshall Clagett, Nicole Oresme and the Medieval Geometry of Qualities and Motions, Madison, University of Wisconsin Press, 1968. — Édition critique de référence (texte, traduction, commentaire).
  • Edward Grant, A Source Book in Medieval Science, Harvard University Press, 1974. — Contient une traduction anglaise de plusieurs passages d’Oresme.
  • Edward Grant, Physical Science in the Middle Ages, Wiley, 1971. — Contexte scientifique médiéval.
  • Marshall Clagett, The Science of Mechanics in the Middle Ages, University of Wisconsin Press, 1959. — Contexte intellectuel du travail d’Oresme.
  • Jeff Babb, « Mathematical Concepts and Proofs from Nicole Oresme », Science & Education, vol. 14, 2005. PDF disponible .
  • M. Høyrup, « Writings of Nicole Oresme: A Systematic Inventory », Archive for History of Exact Sciences, 2022. Inventaire systématique (PDF) .
Séries harmoniques, p-harmoniques et constantes classiques
  • G. H. Hardy, Divergent Series, Oxford University Press, 1949. Référence majeure sur la divergence de la série harmonique.
  • Tom M. Apostol, Mathematical Analysis, Addison-Wesley, 1974. Démonstrations modernes de la comparaison intégrale et des p-séries.
  • Tom M. Apostol, Introduction to Analytic Number Theory, Springer, 1976. Liens entre série harmonique, fonction \(\zeta(s)\) et constante \(\gamma\).
  • William Dunham, Euler: The Master of Us All, MAA Press, 1999. Histoire de la série harmonique et de la découverte de la constante \(\gamma\).
  • H. M. Edwards, Riemann’s Zeta Function, Dover, 2001. Pour le lien entre série harmonique, \(\zeta(s)\), Euler et Riemann.
Sources historiques du test intégral et de la condensation.
  • A.-L. Cauchy, Cours d'analyse de l'École Royale Polytechnique, Paris, 1821, chapitres « Des séries dont les termes sont tous positifs ».
  • C. Maclaurin, Treatise of Fluxions, Edinburgh, 1742 — précurseur géométrique.
  • T. M. Apostol, Mathematical Analysis, Addison–Wesley, 1974 — sections sur le test intégral.
  • G. H. Hardy, Divergent Series, Oxford University Press, 1949 — commentaires historiques.
Ressources web fiables

Cette bibliographie rassemble les sources principales permettant de comprendre la divergence de la série harmonique, la démonstration historique d’Oresme, les développements modernes (Cauchy, Euler) ainsi que la place de cette série dans l’histoire de l’analyse.

Articles Connexes