Académique Documents
Professionnel Documents
Culture Documents
Calculer une valeur approchée, avec une précision satisfaisante, d’une intégrale définie
∫ b
I = f (x) dx, avec f : [ a, b ] −→ IR, continue, et a < b,
a
calcul à effectuer dans les conditions suivantes :
(i) il est difficile de calculer une primitive F de f sur [ a, b ] (et donc on ne peut pas utiliser
la formule de Leibniz I = F (b) − F (a) pour calculer la valeur exacte de I) ;
(ii) mais, par contre, on sait calculer f (x) pour tout réel x ∈ Df (même par algorithme).
Toute méthode pour calculer une approximation numérique Ie de la valeur de l’intégrale I est appelée
« méthode d’intégration numérique » ou « quadrature (d’intégration numérique) ».
L’objectif de ce document est de présenter les bases mathématiques pour construire ce genre de
méthode, puis étudier ses propriétés (notamment ce à quoi il faudrait s’attendre pour la précision de
son approximation de l’intégrale) : c’est la problématique de l’Intégration numérique.
• • Pré-requis
Conçu pour servir de support pour le Chapitre « Intégration numérique » du Cours d’Analyse numérique de
2ème Année de l’Ecole Polytechnique de Yaoundé, ce document s’adresse, en conséquence aux personnes ayant
suivi les enseignements de 1ère Année en :
1. Analyse Réelle, avec les parties relatives aux fonctions de IR −→ IR (jusqu’à la notation « f = O(φ) »
et la Formule de Taylor-Lagrange) et aux propriétés de base des intégrales définies au sens de Riemann ;
2. Algèbre Linéaire : espaces vectoriels, sous-espaces vectoriels, bases, dimension, systèmes linéaires (et leur
représentation matricielle).
Cependant, seraient aussi très utiles des connaissances en :
1. Approximation numérique des fonctions de IR −→ IR, le polynôme d’interpolation de La-
grange, notamment sa forme de Lagrange ;
2. Algorithmique et Programmation informatique de base, si on veut appliquer concrètement les
méthodes présentées dans ce document pour calculer des valeurs approchées d’intégrales définies données.
Avoir quelques idées sur les erreurs d’arrondi et leur propagation dans les calculs par ordinateur n’est pas
indispensable pour la compréhension du contenu de ce document, mais représenterait un plus, comme partout
ailleurs en Analyse numérique, pour la compréhension des résulats issus de la programmation effective par
ordinateur des méthodes numériques et algorithmes présentés.
Précisons néanmoins que, tout au long du document, des rappels synthétiques encadrés, sur certains des
pré-requis ci-dessus, sont donnés juste avant l’endroit du texte où ils sont utilisés pour la 1ère fois. Quitte au
lecteur/lectrice à aller consulter des documents spécialisés (y compris, éventuellement, ceux de l’auteur, dont ces
rappels sont, en fait, tirés) pour en savoir (ou se ressourcer) davantage.
Rappels de base : Polynômes de IR, espace IRn [x], polynôme d’interpolation de Lagrange
Comme on le verra d’entrée, et comme dans beaucoup de domaines de l’approximation numérique, les poly-
nômes, l’espace des polynômes de degré 6 n et le polynôme d’interpolation de Lagrange jouent un rôle décisif
dans la construction des méthodes d’intégration numérique. Il est alors primordial de bien se souvenir de quoi il
- 1 -
- 2 -
s’agit avant de lire la suite de ce document. Ainsi, à toutes fins utiles, avant d’entrer dans le vif du sujet, nous
effectuons les brefs rappels suivants, tous extraits des chapitres précédents de ce Cours d’Analyse numérique.
Mais avant, rappelons que nous notons : IR, l’ensemble des nombres réels ; IR+ , l’ensemble des nombres réels
> 0 ; IR∗+ , l’ensemble des nombres réels > 0 ; IN, l’ensemble des entiers > 0 ; IN∗ , l’ensemble des entiers > 1.
∗∗∗ Rappel n◦ 4 (Base canonique et bases de Taylor du IR-espace vectoriel IRn [x])
Pour un entier n ∈ IN fixé, IRn [x] est donc l’ensemble des fonctions IR −→ IR vérifiant :
/ ∑
n
∃ a0 , · · · , an ∈ IR ∀ x ∈ IR, P (x) = an x + an−1 x
n n−1
+ · · · + a1 x + a0 = ak xk .
k=0
1. Ainsi :
1.1. IRn [x] est l’ensemble des fonctions de IR −→ IR qui peuvent s’écrire comme combinaison linéaire
des n + 1 fonctions puissances entières 1, x, x2 , · · · , xn .
1.2. De ce fait, ces dernières forment une famille génératrice du IR-espace vectoriel IRn [x]. Comme,
de plus, cette famille est clairement libre, alors Bnc = (1, x, x2 , · · · , xn ) est une base de IRn [x],
appelée base canonique de IRn [x].
2. Mais si on fixe un nombre réel x0 arbitraire, alors :
2.1. On vérifie que la famille de n + 1 fonctions Bn;x
T
0
= (1, x − x0 , (x − x0 )2 , · · · , (x − x0 )n ) est
aussi une base de IRn [x], appelée base de Taylor (non réduite) de IRn [x] centrée en x0 .
2.2. Par conséquent, (1, x0 − x, (x0 − x)2 , · · · , (x0 − x)n ) est aussi une base de IRn [x].
2.3. Notons que la base canonique de IRn [x] est égale à sa base de Taylor pour x0 = 0.
2.4. Si, en 2.1. ci-dessus, on divise chaque polynôme (x − x0 )k par k ! (la factorielle de l’entier k),
on obtient la base de Taylor réduite de IRn [x] centrée en x0 .
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 3 -
3. La famille BxL0 ,··· ,xn = (ℓ0 , · · · , ℓn ) est une base de IRn [x], appelée base de Lagrange de IRn [x]
relativement aux n + 1 réels distincts x0 , · · · , xn .
4. ∀ P ∈ IRn [x], les coordonnées du polynôme P dans la base BxL0 ,··· ,xn sont P (x0 ) , · · · , P (xn ), i.e. les
valeurs prises par P en x0 , · · · , xn . Autrement dit, on a :
∑
n
∀ P ∈ IRn [x], ∀ x ∈ IR, P (x) = P (x0 ) · ℓ0 (x) + · · · + P (xn ) · ℓn (x) = P (xi ) · ℓi (x). (0.a)
i=0
∫ b
I – Comment calculer une intégrale du type (pLx0 ,··· ,xn f )(x) dx ?
a
On commence l’Intégration numérique en apprenant comment calculer (efficacement !) l’intégrale d’un poly-
nôme d’interpolation de Lagrange sur un intervalle [ a, b ] de IR. C’est l’objet de cette partie.
Les principaux résultats de cette Partie I ne seront pas démontrés, car ils ont fait l’objet du Problème du
Test n◦ 1 2014-15 (dont les Eléments sur la correction sont disponibles).
1◦ ) Introduction. ∫ b
a) Remarque sur les calculs respectifs de pLx0 ,··· ,xn f et de l’intégrale J = (pLx0 ,··· ,xn f )(x) dx.
a
Un fait surprenant, car contre-intuitif, de ce qui suivra dans cette Partie I , est que pour calculer la valeur
de l’intégrale J, on n’a pas besoin de préalablement calculer une expression générale du polynôme pLx0 ,··· ,xn f ,
du genre forme de Newton, de Lagrange ou autre !!!
Ceci est plutôt avantageux, car il n’y a aucune expression générale simple de pLx0 ,··· ,xn f à partir de laquelle
il est facile de calculer une primitive de ce polynôme. Ceci ne serait facile que si on avait l’écriture de pLx0 ,··· ,xn f
selon les puissances de la variable x, i.e. dans la base canonique de IRn [x]. Or, ni sa forme de Lagrange, ni sa
forme de Newton ne fournissent cette écriture, ni ne permettent de la déduire rapidement.
La raison pour laquelle on a rappelé, ci-dessus, la forme de Lagrange de pLx0 ,··· ,xn f n’est donc pas en vue
de l’utiliser pour calculer ce polynôme. C’est plutôt parce qu’elle est derrière les propriétés remarquables de
l’intégrale J présentées dans ce I , et sur lesquelles on s’appuiera pour pouvoir calculer cette intégrale.
∫ b
- 4 - I - Comment calculer une intégrale du type (pLx0 ,··· ,xn f )(x) dx ?
a
∫ b
2. Les n + 1 réels ω0 , · · · , ωn sont donnés par : ∀ i = 0 (1) n, ωi = ℓi (x) dx . (1.1b)
a
• • • Remarque/Commentaire n◦ 1
Le point important dans le Théorème D.I.2-2 est que les n + 1 réels ω0 , · · · , ωn vérifiant (1.1a),
dont ce théorème garantit l’existence et l’unicité (et appelés coefficients ou poids d’intégration dans la
suite), ne dépendent que des n + 1 réels donnés x0 , · · · , xn et des bornes a et b de l’intégrale, et non du
polynôme P qu’on veut intégrer entre a et b. Cette observation est décisive dans toute la suite.
Or, ω0 , · · · , ωn étant les réels du Théorème D.I.2-2, ils ne dépendent pas de la fonction f , mais seulement des
réels x0 , · · · , xn et des 2 bornes a et b de [ a, b ]. Donc ayant a, b et x0 , · · · , xn , si on peut calculer ω0 , · · · , ωn
une fois pour toutes, on peut stocker leurs valeurs quelque part. Et alors pour toute fonction f : IR −→ IR qu’on
nous apporte et telle que les images y0 , · · · , yn (avec yi = f (xi ), ∀ i = 0 (1) n) sont connues (ou calculables), on
∫ b
peut en déduire, trivialement, la valeur de l’intégrale (pLx0 ,··· ,xn f )(x) dx, à travers la formule simple (1.1c).
a
Cette question peut sembler superflue. En effet, sa réponse est déjà fournie par la formule (1.1b) du Théo-
rème D.I.2-2, et compte tenu de l’expression bien connue des polynômes ℓi rappelée dans le Rappel n◦ 5 .
Malheureusement, le problème se trouve justement dans l’examen attentif de cette expression de chaque ℓi . En
effet, c’est une expression d’un polynôme ℓi sous forme factorisée. Or, en dehors du cas où le nombre de facteurs
est faible (et de degré 1), intégrer un polynôme donné sous forme factorisée devient très vite pénible (au contraire
du cas où il est donné sous forme développée selon les puissances de la variable x). Ainsi, il est souhaitable de
chercher une approche alternative, et plus systématique, pour calculer les coefficients ω0 , · · · , ωn , quelque soit
la valeur de l’entier n, soit à la main, soit algorithmiquement.
3◦ ) Calcul efficace des coefficients ω0 , · · · , ωn : une approche algébrique.
Etant donnés a, b et x0 , · · · , xn , les coefficients ω0 , · · · , ωn sont solutions d’un système linéaire bien déter-
miné 1 et à matrice inversible :
1. Un système linéaire est dit bien déterminé lorsqu’il comporte autant d’équations que d’inconnues, et, de plus, les coefficients
de sa matrice et les coordonnées de son vecteur-2nd sont connus, ou aisément calculables à partir des données disponibles.
∫ b
- 6 - I - Comment calculer une intégrale du type (pLx0 ,··· ,xn f )(x) dx ?
a
3. Les coefficients de la matrice A et les coordonnées du vecteur-2nd membre b du système (S) sont facilement
calculables à partir des données a, b, x0 , · · · , xn (à travers un algorithme efficace et simple à concevoir).
4. Par ailleurs, la matrice A est la transposée d’une matrice de Van der Monde, donc est inversible, car,
par hypoyhèse, les réels x0 , · · · , xn sont 2 à 2 distincts.
5. Ainsi, (S) est un système de Cramer , donc admet un unique vecteur-solution ω dans IRn+1 .
6. D’après le Théorème D.I.3-1, les coordonnées de ω sont les réels ω0 , · · · , ωn du Théorème D.I.2-2.
Il ressort de ce qui précède que :
On admet alors la Proposition suivante, qui est importante en pratique pour la manipulation de la notion.
Proposition D.I.4-1 (Réels symétriques par rapport à un autre et relation < dans IR)
Pour c, x0 , · · · , xn ∈ IR / x0 < x1 < · · · < xn , les 3 assertions suivantes sont équivalentes :
1. Les réels x0 , · · · , xn sont (globalement) symétriques par rapport à c.
2. Pour tout i ∈ [ 0 (1) n ], les réels xi et xn−i sont symétriques par rapport à c.
3. Pour tout i ∈ [ 0 (1) n ], on a : xi + xn−i = 2 c.
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 7 -
• • • Remarque/Commentaire n◦ 2
L’intérêt du résultat précédent est qu’il montre que lorsque les réels x0 , · · · , xn sont (globalement)
symétriques p/r au milieu (a + b)/2 de l’intervalle d’intégration [ a, b ], le calcul des coefficients ω0 , · · · , ωn
se ramène à devoir le faire pour sensiblement la moitié d’entre eux.
∫ b
∗∗∗ Exemple 1.1 : (pL a, b f )(x) dx = ???
a
Ici, x0 = a, x1 = b, et n = 1.
D’après le Corollaire D.I.2-3, il existe 2 réels ω0 , ω1 , ne dépendant pas de f , tels que :
∫ b
(pL a, b f )(x) dx = ω0 f (x0 ) + ω1 f (x1 ) = ω0 f (a) + ω1 f (b). (1.4)
a
D’après le Théorème D.I.3-1, et comme n = 1, les réels ω0 et ω1 sont solution du système linéaire :
{ {
ω0 + ω1 = b − a ω0 + ω1 = b − a
( 2 ) i.e. ( )
x0 ω0 + x1 ω1 = b − a /2,
2 a · ω0 + b · ω1 = b2 − a2 /2 .
Mais x0 + x1 = a + b =⇒ x0 et x1 sont 2 réels symétriques p/r à (a + b)/2,
=⇒ d’après le Théorème D.I.4-2, on a : ω0 = ω1 .
En injectant cette dernière égalité dans la 1ère équation du système linéaire précédent, il vient : 2 ω0 = b − a ;
∫ b
b−a b−a
=⇒ ω0 = ω1 = , ce qui, injecté dans (1.4), donne : (pL a, b f )(x) dx = [ f (a) + f (b) ] .
2 a 2
• • • Remarque/Commentaire n◦ 3
Il faut éviter toute extrapolation optimiste de l’Exemple précédent. En effet, il semblerait suggérer que
la propriété de symétrie des réels x0 , · · · , xn p/r à (a + b)/2 serait suffisante pour résoudre aisément le
système linéaire (S) du Théorème D.I.3-1. Ceci n’est, en fait, vrai que pour la valeur n = 1 (comme
dans l’Exemple ci-dessus). En effet, pour a, b quelconques, dès n = 2, la résolution de (S) reste très corsée,
même lorsque x0 , · · · , xn sont globalement symétriques p/r au point-milieu (a + b)/2 de [ a, b ].
Dans la suite, nous nous concentrerons sur une manière de choisir les réels x0 , · · · , xn qui, pour le coup,
permettra de calculer ω0 , · · · , ωn , quelque soient les valeurs de a et b. L’intérêt de cette manière de choisir
x0 , · · · , xn est qu’elle correspond précisément à ce dont on a besoin en Intégration numérique.
que : plus l’intervalle [ a, b ] est petit, i.e. plus b est proche de a, plus x0 , · · · , xn sont aussi proches de a. C’est
pour cette raison que, en pratique, on choisit les points x0 , · · · , xn de la forme ci-après :
Pour la validité de l’Hypothèse H1 , il suffit que les nombres u0 , · · · , un soient indépendants des bornes a
et b. Dans la pratique, en Intégration numérique, le plus souvent, ils ne dépendront de rien du tout : ce seront
des constantes universelles 2 .
b) Résultat fondamental : Forme des coefficients ω0 , · · · , ωn sous l’Hypothèse H1 .
Mais quelle est l’utilité de l’Hypothèse H1 ? Le résultat remarquable suivant apporte la réponse : il montre
que le calcul des coefficients ω0 , · · · , ωn du Théorème D.I.2-2 se simplifie considérablements lorsque les points
x0 , · · · , xn satisfont cette hypothèse.
∫ b
Finalement, pour calculer l’intégrale (pLx0 ,··· ,xn f )(x) dx sous l’Hypothèse H1 , il suffit d’utiliser le Co-
a
rollaire suivant du Corollaire D.I.2-3 :
système qu’on résoud généralement aisément (à la main pour n petit et u0 , · · · , un rationnels, ou, sinon, par un
algorithme numérique de résolution d’un système linéaire).
Ayant ainsi obtenu les valeurs des poids d’intégration ω0 , · · · , ωn lorsque [ a, b ] = [ 0, 1 ], on sait (par le
Théorème D.I.5-2) que ces poids vérifient :
∀ i = 0 (1) n, ωi = (1 − 0) · λi , i.e. ωi = λi . (1.7b)
On a donc aussi obtenu les valeurs des constantes λ0 , · · · , λn . On en déduit les valeurs des poids d’intégration
ω0 , · · · , ωn sur un intervalle [ a, b ] arbitraire par (1.6a) du Théorème D.I.5-2.
• • Autre choix très usuel : [ c, d ] = [ − 1, 1 ].
Ce choix est surtout recommandé lorsque les nœuds x0 , · · · , xn sont symétriques par rapport à (a + b)/2, le
milieu de l’intervalle d’intégration [ a, b ], cas de figure dans lequel nous nous plaçons ci-après.
Pour simplifier la présentation, on va supposer, sans restreindre la généralité, que : x0 < x1 < · · · < xn . On
sait alors que les nœuds x0 , · · · , xn et les poids ω0 , · · · , ωn vérifient, ∀ i = 0 (1) n :
• xi et xn−i sont symétriques p/r à (a + b)/2, i.e. xi + xn−i = a + b (Proposition D.I.4-1) ; (1.8a)
• ωi = ωn−i (Théorème D.I.4-2). (1.8b)
On reste sous l’Hypothèse H1 , avec u0 , · · · , un donnés. Notons alors d’abord que (Proposition D.I.5-1)
(1.8a)-(1.8b) =⇒ u0 , · · · , un sont symétriques par rapport à 1/2, avec ui + un−i = 1, ∀ i = 0 (1) n. (1.8c)
De plus, avec [ a, b ] = [ − 1, 1 ] dans l’Hypothèse H1 , les nœuds x0 , · · · , xn sont donnés par :
∀ i = 0 (1) n, xi = −1 + ui [ 1 − (−1) ], i.e. xi = 2ui − 1. (1.8d)
{
bk+1 − ak+1 1 + (−1)k 2/(k + 1) si l’entier k est pair,
Par ailleurs, ∀ k = 0 (1) n, on a : = =
k+1 k+1 0 si l’entier k est impair.
Ainsi, dans ce cas, l’équation n◦ k ∈ [ 0 (1) n ] du système linéaire (S) du Théorème D.I.3-1 devient :
(x0 )k · ω0 + (x1 )k · ω1 + · · · + (xn )k · ωn = 2/(k + 1), si k est pair, (1.8e)
(x0 )k · ω0 + (x1 )k · ω1 + · · · + (xn )k · ωn = 0, si k est impair. (1.8f)
Remarquons alors que, ∀ i = 0 (1) n, la contribution de xi et xn−i au membre gauche de l’équation n◦ k est :
(xi )k · ωi + (xn−i )k · ωn−i .
Or, comme l’intervalle d’intégration est [ a, b ] = [ − 1, 1 ], (1.8a) =⇒ les nœuds x0 , · · · , xn sont symétriques
par rapport à son milieu qui est 0, avec :
∀ i = 0 (1) n, xi + xn−i = 0, i.e. xn−i = −xi . (1.8g)
=⇒ Si l’entier k est impair, alors on a : ∀ i = 0 (1) n, (xn−i ) = −(xi ) ; et donc, compte tenu de (1.8b),
k k
− Par ailleurs, les 3 réels x0 , x1 , x2 sont symétriques par rapport à (a + b)/2, le milieu de [ a, b ] ; (1.9b)
− Et comme x0 + x2 = a + b, alors x0 et x2 sont symétriques par rapport à (a + b)/2 ; (1.9c)
− Maintenant, par le Théorème D.I.4-2, (1.9b)-(1.9c) =⇒ dans (1.9a), on a : ω2 = ω0 . (1.9d)
1
D’autre part, x0 , x1 , x2 vérifient l’Hypo. H1 , avec u0 = 0, u1 = , et u2 = 1, 3 constantes universelles.
2
=⇒ Par Théorème D.I.5-2, ∃ λ0 , λ1 , λ2 ∈ IR, const. univ. / ∀ i ∈ {0, 1, 2}, ωi = (b − a) ·λi . (1.9e)
Pour calculer les constantes λ0 , λ1 , λ2 , plaçons nous d’abord sur [ a, b ] = [ − 1, 1 ].
Sur cet intervalle d’intégration, x0 = −1, x1 = 0, x2 = 1, et, d’après le Théorème D.I.3-1, les réels
ω0 , ω1 , ω2 vérifient donc le système linéaire (compte tenu de (1.9d)) :
ω0 + ω1 + ω2 = 2
2 ω0 + ω1 = 2 1
2 ω0 + ω1 = 2 ω0 = ω2 =
−1 · ω0 + 0 · ω1 + 1 · ω2 = 0 =⇒ 0 = 0 ⇐⇒ 3
1 =⇒
ω = ω1 = 4 .
2
2 0
3 3
(−1)2 · ω0 + 02 · ω1 + 12 · ω2 = 2 ω0 =
3 3
1 4 2
Or, pour [ a, b ] = [ − 1, 1 ], (1.9e) devient : ∀ i ∈ {0, 1, 2}, ωi = 2 ·λi . D’où : λ0 = λ2 = , λ1 = = .
6 6 3
Toujours par (1.9e), il s’ensuit que, sur un intervalle [ a, b ] quelconque, on a :
b−a 4(b − a) 2(b − a)
ω0 = ω2 = , ω1 = = .
6 6 3
∫ b
b−a[ (a+b) ]
ce qui, injecté dans (1.9a), donne : (pL a, a+b , b f )(x) dx = f (a) + 4 f + f (b) .
a 2 6 2
∫ b ∫ b
◃ Exercice Exo-I:1 1◦ )
Calculer (pL a, a+2b f )(x) dx et (pL 2a+b , b f )(x) dx.
3 3
∫ b a
∫ b a
2◦ ) Calculer (pL a, 2a+b , a+2b , b f )(x) dx et (pL a, 2a+b , a+b , a+2b , b f )(x) dx.
3 3 3 2 3
a a
• • • Remarque/Commentaire n◦ 4
∫ b
On a pu calculer l’intégrale (pL a, a+b , b f )(x) dx dans ce dernier Exemple, assez aisément, comme
2
a
on a pu le constater. Et ce sans avoir à calculer préalablement le polynôme d’interpolation correspondant
P = pL a, a+b , b f , puis de l’intégrer de a à b, ce qui aurait été très fastidieux. Ceci illustre bien en quoi
2
le calcul de l’intégrale d’un polynôme d’interpolation de Lagrange est considérablement simplifié lorsque
les points d’interpolation satisfont l’Hypothèse H1 , comme cela sera systématique dans les méthodes
d’intégration numérique dont nous allons maintenant commencer l’étude proprement dite.
- 12 - II - Quadratures élémentaires d’intégration numérique
[ a,b ]
b) Notations utiles pour la suite : Q x, ω , Q u, λ et QEu, λ .
• • Pour mener l’étude de la quadrature élémentaire d’intégration numérique (2.3a) ou (2.3b) de la définition
ci-dessus, nous introduisons la notation suivante, où on a posé x = (x0 , · · · , xn ) et ω = (ω0 , · · · , ωn ) :
∑
n
Q x, ω (f ) = ωi · f (xi ) . (2.3c)
i=0
• Ainsi, Q x, ω (f ) est la valeur approchée de l’intégrale de la fonction f sur [ a, b ] calculée par la quadrature
de nœuds x0 , · · · , xn et de poids d’intégration ω0 , · · · , ωn .
• Dans la mesure où la connaissance des 2 vecteurs x, ω, et des valeurs respectives de f en x0 , · · · , xn
suffit pour calculer cette valeur approchée, nous utiliserons aussi (un peu abusivement), dans la suite,
la notation Q x, ω pour désigner la quadrature (2.3a) elle même.
Il est alors utile de noter tout de suite la propriété immédiate ci-après :
• • Mais, pour insister sur le fait que les réels x0 , · · · , xn vérifient l’Hypothèse H1 :
[ a,b ]
1. on posera aussi Q x, ω = Q u, λ , avec u = (u0 , · · · , un ) et λ = (λ0 , · · · , λn ),
où u0 , · · · , un sont les réels de l’Hypothèse H1 et λ0 , · · · , λn sont ceux du Théorème D.I.5-2 ;
2. et, lorsqu’on ne voudra pas l’attacher à un intervalle d’intégration particulier, on notera QEu, λ , la quadra-
ture élémentaire (2.3a) vue comme méthode générale d’intégration numérique.
- 14 - II - Quadratures élémentaires d’intégration numérique
c) Remarque pratique : Rôles symétriques des couples (point,poids) dans une quadrature.
Dans une quadrature Q x, ω , les couples (xi , ωi ), pour i = 0 (1) n, jouent clairement des rôles symétriques.
En effet, si on les permute, l’approximation de l’intégrale d’une fonction f sur [ a, b ] calculée par la quadrature
(2.3a) ne change pas. Pour cette raison, on peut dire que toute quadrature obtenue par permutation des n + 1
couples (x0 , ω0 ), · · · , (xn , ωn ) (i.e. par changement de l’ordre de numérotation des points et poids d’intégration)
dans la quadrature Q x, ω est, en fait, identique à Q x, ω .
◃ Exercice Exo-II:2 En s’appuyant sur le tracé d’un graphique illustratif suffisamment clair, justifier cette
appellation de quadrature (ou formule) du trapèze
∗∗∗ Exemple 2.3 : Quadrature (ou formule) de Simpson.
Pour intégrer sur [ a, b ], on prend ici les 3 nœuds : x0 = a, x1 = (a + b)/2, x2 = b.
∫ b
b−a[ (a+b) ]
On a vu (Exemple 1.2) que : (pL a, a+b , b f )(x) dx = f (a) + 4 f + f (b) .
a 2 6 2
∫ b
b−a[ (a+b) ]
D’où la quadrature élémentaire : f (x) dx ≈ f (a) + 4 f + f (b) .
a 6 2
[ a,b ]
Elle est appelée quadrature (ou formule) de Simpson, et notée Q S ou Q S .
1 ( 1 2 1 )
Il faut noter que : Q S = QEu, λ , avec u = (u0 , u1 , u2 ) = (0, , 1) et λ = (λ0 , λ1 , λ2 ) = , , .
2 6 3 6
◃ Exercice Exo-II:3 Construire les quadratures élémentaires sur [ a, b ] s’appuyant, respectivement, sur les
familles de nœuds suivantes : {a, a+2b3 }, { 3 , b }, {a, 3 , 2 ,
2a+b 2a+b a+b a+2b
3 , b }, {a, 3 , 3 , b }. Pour chacune
2a+b a+2b
d’elles, préciser à quelle quadrature élémentaire QEu, λ elle correspond, en donnant ses vecteurs u et λ.
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 15 -
c) Erreur nulle : Quadrature exacte pour intégrer une fonction donnée sur [ a, b ].
Soit Q x, ω , une quadrature élémentaire donnée. Il peut arriver que pour une certaine fonction φ, le nombre
réel Q x, ω (φ) soit, en fait, exactement égal à la valeur de l’intégrale de φ sur l’intervalle [ a, b ], et donc que
Q x, ω ait une erreur nulle pour l’intégration de φ sur [ a, b ]. Il s’avère que ce type de fonctions (et, spécialement,
parmi elles, les polynômes) jouent un rôle important pour étudier l’erreur associée à la quadrature Q x, ω pour
intégrer les autres fonctions sur [ a, b ]. D’où l’intérêt de la notion :
On a aussi, trivialement :
Preuve
Soit Q x, ω , une quadrature exacte pour intégrer sur [ a, b ] tout polynôme de degré 6 r. (3.2)
Pour P ∈ IR[x], de degré r + 1, il existe α, réel non nul, et Pr ∈ IRr [x] / ∀ x ∈ IR, P (x) = Pr (x) + α xr+1 .
Il s’ensuit, par la Propo. D.III.1-1 :
( ) ( ) ( )
E P ; [ a, b ] Q x, ω = E Pr ; [ a, b ] Q x, ω + α · E xr+1 ; [ a, b ] Q x, ω . (3.3)
Or, par hypothèse (3.2), il vient :
( )
Pr ∈ IRr [x] =⇒ E Pr ; [ a, b ] Q x, ω = 0. (3.4)
( ) ( )
(3.3)-(3.4) =⇒ E P ; [ a, b ] Q x, ω = α · E xr+1 ; [ a, b ] Q x, ω . D’où l’équivalence (car α ̸= 0) :
( ) ( )
E P ; [ a, b ] Q x, ω ̸= 0 ⇐⇒ E xr+1 ; [ a, b ] Q x, ω ̸= 0. (3.5)
Preuve Soit Q x, ω , une quadrature élémentaire sur [ a, b ]. Par définition d’une quadrature élémentaire, ses
poids d’intégration ω0 , · · · , ωn (avec n ∈ IN) sont reliés aux bornes a, b et à ses nœuds x0 , · · · , xn par la
propriété (1.1a) du Théorème D.I.2-2. D’où le résultat (Définition D.III-d 2). Cqfd
∗∗∗ Rappel n◦ 8 (Intégrale d’une fonction continue > 0, mais non identiquement nulle)
∫ b
Soit une fonction f : [ a, b ] −→ IR, continue sur [ a, b ], avec a < b. Pour I = f (x) dx ∈ IR, on a :
a
• Si f > 0 sur [ a, b ] et il existe α0 ∈ [ a, b ] / f (α0 ) > 0, alors I > 0.
Lemme D.III-ℓ3 (Un polynôme de degré trop élevé pour une quad. Q x, ω à n + 1 nœuds)
Si x0 , · · · , xn sont les nœuds d’une quadrature d’intégration numérique Q x, ω , alors, ∀ a, b ∈ IR / a < b,
Q x, ω n’est pas exacte pour intégrer sur [ a, b ] le polynôme P2 n+2 défini par :
[ ]2 ∏n
∀ x ∈ IR, P2 n+2 (x) = πn (x) , avec πn (x) = (x − x0 ) · · · (x − xn ) = (x − xi ).
i=0
Preuve
• 1. =⇒ 2. : Par la Définition D.III-d 3 et la Propo. D.III.2-2, chaque Pk étant un polynôme de degré k.
• 2. =⇒ 1. : Par la Définition D.III-d 3 et la Propo. D.III.1-2, car tout polynôme de degré 6 r peut
s’écrire comme combinaison linéaire de P0 , · · · , Pr . Cqfd
Mais ce qui suit montre qu’on peut affiner ce dernier résultat, en partant du Lemme :
[ a,b ] [ 0,1 ]
Lemme D.III-ℓ4 ( Q u, λ exacte pour (x − a)k ⇐⇒ Q u, λ exacte pour xk )
Soient k ∈ IN et a, b ∈ IR / a < b. Posons, ∀ x ∈ IR : Pk, a (x) = (x − a)k et Pk (x) = xk . On a :
∑ n
Q u, λ (Pk, a ) = (b − a)
E k+1
λi · (ui )k ; (3.7a)
( ) i = 0 ( )
E Pk, a ; [ a, b ] QEu, λ = (b − a)k+1 · E Pk ; [ 0, 1 ] QEu, λ . (3.7b)
• Ainsi, les 2 assertions suivantes sont équivalentes :
1. QEu, λ est exacte pour intégrer le polynôme Pk, a (x) = (x − a)k sur [ a, b ] ;
2. QEu, λ est exacte pour intégrer le polynôme Pk (x) = xk sur [ 0, 1 ].
- 20 - III - Erreur et ordre d’une quadrature d’intégration numérique
∫
( ) b
Preuve Par définition, E Pk, a ; [ a, b ] QEu, λ = Pk, a (x) dx − QEu, λ (Pk, a ), avec :
a
∫ ∫
b b
(b − a)k+1
Pk, a (x) dx = (x − a)k dx = ;
a a k+1
∑
n ∑
n ∑
n
QEu, λ (Pk, a ) = ωi · Pk, a (xi ) = ωi · (xi − a)k = [ (b − a) λi ] · [ (b − a) ui ]k (Définition D.II-d 1) ;
i=0 i=0 i=0
1 ∑
n
( )
=⇒ (3.7a), puis (3.7b), car − λi · (ui )k = E Pk ; [ 0, 1 ] QEu, λ . D’où 1. ⇐⇒ 2. Cqfd
k+1
i=0
∫ d
dk+1 − ck+1 [ c,d ]
k Pk (x) = xk Pk (x) dx = Q u, λ (Pk )
c k+1
jusqu’à la 1ère valeur k0 de l’entier k pour laquelle les résultats des 2 dernières colonnes du tableau ne
sont pas égaux. Alors la quadrature élémentaire QEu, λ est d’ordre r = k0 − 1 sur tout [ a, b ]/ a < b.
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 21 -
Cependant, par le Lemme D.III-ℓ2, on sait que la quadrature élémentaire est exacte pour les polynômes
xk pour les entiers k = 0 (1) n. En principe donc, dans la construction du tableau Tableau 1 ci-dessus pour
trouver l’ordre r de cette quadrature, il est inutile d’examiner ces valeurs de k. On peut directement commencer
à k = n + 1 en montant, s’arrêter à la 1ère valeur k0 de l’entier k pour laquelle les résultats des 2 dernières
colonnes du tableau diffèrent et décider la valeur de r comme indiqué ci-dessus.
◃ Exercice Exo-III:1 Trouver l’ordre de chacune des quadratures sur [ a, b ] construites dans l’ Exo-II:3 .
=⇒ Q x, ω (Pk, a,b ) = 0, et donc Q x, ω (Pk, a,b ) = Pk, a,b (x) dx. Cqfd
a
On peut alors énoncer :
∑
n ∑n
Preuve Par définition, Q x, ω (f ) = e
ωi · f (xi ) et Q x, ω (f ) = ωi · fe(xi ) ;
ni = 0 i=0
∑ ∑n
=⇒ Q x, ω (fe) − Q x, ω (f ) = ωi · [ fe(xi ) − f (xi ) ] 6 ωi · [ fe(xi ) − f (xi ) ] ,
i=0 i=0
∑
n
=⇒ | Q x, ω (fe) − Q x, ω (f ) | 6 ωi · fe(xi ) − f (xi ) , car ωi > 0, ∀ i = 0 (1) n,
i=0
∑n
=⇒ | Q x, ω (fe) − Q x, ω (f ) | 6 ∆· ωi = ∆·(b−a), car, par hypothèse, fe(xi ) − f (xi ) 6 ∆, ∀ i = 0 (1) n,
i=0
et ω0 + · · · + ωn = b − a. Cqfd
Après Leg0 et Leg1 , les 4 polynômes moniques de Legendre suivants sont donc :
1 3 6 3 10 3 5
Leg2 (x) = x2 − , Leg3 (x) = x3 − x, Leg4 (x) = x4 − x2 + , Leg5 (x) = x5 − x + x.
3 5 7 35 9 21
Le résultat suivant énonce les 3 propriétés caractéristiques de la suite de polynômes (Legn )n ∈ IN :
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 25 -
En tant que fonctions, les polynômes moniques de Legendre ont des propriétés de parité faciles à identifier :
Pour l’Intégration numérique, et comme on va s’en rendre compte très rapidement par la suite, probablement
la propriété la plus importante des polynômes moniques de Legendre est la suivante :
2◦ ) Quadratures de Gauss-Legendre.
a) Quadratures de Gauss-Legendre : Motivation.
Pour un entier n ∈ IN∗ , le Théorème D.III.3-1 implique qu’une quadrature élémentaire sur [ a, b ] ⊂ IR
(a < b), avec n nœuds, a un ordre r ∈ IN vérifiant : 0 6 r 6 2 n − 1. Mais question naturelle alors :
Peut-on trouver, une quadrature à n nœuds qui atteind l’ordre maximal r = 2 n − 1 sur [ a, b ] ?
b) Quadratures de Gauss-Legendre : Résultat de base.
On a le résultat fondamental suivant pour l’Intégration numérique, réponse à la question posée en a) :
Mais, du fait de l’élégante Théorie des polynômes orthogonaux dont elles sont issues, on a obtenu des formules
explicites pour la plupart des caractéristiques des quadratures de Gauss-Legendre, notamment pour leurs poids
d’intégration. Ainsi, nous admettons le résultat suivant (où les notations sont celles du Théorème D.V.2-1) :
Pour les petites valeurs de l’entier naturel n (disons n 6 5), et vues les expressions des 1ers polynômes de
Legendre, ce calcul est trivial et peut se faire à la main. Cependant, même dans ce cas, attention à bien veiller
à utiliser des formules de calcul des racines de Leg n qui sont numériquement stables, pour limiter l’impact des
erreurs d’arrondi lors de l’exécution de ce calcul par ordinateur. D’autre part, on trouve des tables des racines
des polynômes de Legendre (et des poids d’intégration des quadratures de Gauss-Legendre sur [ − 1, 1 ]) dans
certains documents (par exemple dans le vénérable [1]), et ce jusqu’à des valeurs non négligeables de l’entier
n. Ces tables peuvent suffire pour la plupart des besoins courants d’intégration numérique. Cependant, ont été
développés des algorithmes très performants pour calculer, par ordinateur, les racines d’un polynôme de Legendre
pour une valeur donnée de n, comme cas particulier d’algorithmes de calcul des racines d’un membre d’une suite
de polynômes orthogonaux.
Néanmoins, des algorithmes (moins efficaces, a priori, que ceux évoqués ci-dessus) pour calculer les racines
d’un polynôme Leg n peuvent être développés par des techniques numériques classiques (et plus élémentaires) de
résolution d’une équation à une inconnue réelle (du genre méthode dichotomique, de Newton ou de la sécante).
Pour la mise en œuvre de ces techniques, le problème qui peut se poser alors est celui d’une bonne localisation
initiale de ces racines dans l’intervalle ] − 1, 1 [ . Pour le résoudre, on peut s’appuyer sur la propriété remarquable
suivante d’entrelacement des racines de 2 polynômes de Legendre consécutifs.
A base de cette Proposition, on peut calculer les racines de tous les polynômes Leg n jusqu’à un rang n = n0
donné, en procédant par récurrence à partir de la donnée de ces racines pour n = 1, 2, 3. Ainsi, après le rang n,
ayant les n racines u1 , · · · , un de Leg n , pour obtenir chacune des n + 1 racines ti ( i = 1 (1) n + 1) de Leg n+1 ,
on peut (en posant u0 = −1, un+1 = 1 et sachant que ti ∈ ] ui−1 , ui [ ), appliquer :
1. soit la méthode dichotomique dans le sous-intervalle ] ui−1 , ui [ ;
2. soit la méthode de la sécante en partant des 2 points ti,0 = ui−1 et ti,1 = ui ;
3. soit la méthode de Newton en partant du point ti,0 = (ui−1 + ui )/2 ;
Par ailleurs, il suffit de calculer les racines ti > 0, celles qui sont < 0 étant leurs opposées, et sachant que pour
n + 1 impair, il y a aussi la racine 0.
Mais, évidemment, quelque soit la méthode de résolution numérique d’équation utilisée, il faudra, préala-
blement, avoir écrit, une fonction algorithmique qui calcule la valeur de Leg n (x), pour tous n ∈ IN et x ∈ IR
donnés. Ceci se fait par la relation de récurrence (5.1b). Pour la méthode de Newton, on aura aussi besoin de
calculer, en plus de Leg n (x), la valeur de la dérivée Leg ′n (x). Cela se fait par une relation de récurrence qu’on
obtient en dérivant, membre à membre, l’égalité dans (5.1b).
◃ Exercice Exo-V:1 Trouver cette relation exprimant Leg ′n+1 en fonction de Leg n , Leg ′n et Leg ′n−1 .
e) Exemples : les 1ères quadratures de Gauss-Legendre.
Les premières quadratures de Gauss-Legendre s’obtiennent très facilement.
∗∗∗ Exemple 5.1 : Quadrature de Gauss-Legendre à 1 nœud sur [ a, b ], i.e. Q[Leg,
a,b ]
1.
Que ce soit par un raisonnement de symétrie ou intuitif, ou par calcul à partir des formules précédentes
(Théorème D.V.2-1 et Propo. D.V.2-3), on voit facilement que la quadrature de Gauss-Legendre à 1 point
[ a,b ] [ a,b ]
sur un intervalle [ a, b ] n’est rien d’autre que la quadrature du point central, i.e. Q Leg, 1 = Q C .
Ainsi, la quadrature du point central est la seule quadrature élémentaire à 1 nœud qui soit d’ordre r = 1.
Toutes les quadratures élémentaires à 1 nœud x0 sur [ a, b ], avec x0 ̸= (a + b)/2, sont d’ordre r = 0.
◃ Exercice Exo-V:2 Justifier graphiquement ces dernières assertions.
∗∗∗ Exemple 5.2 : Quadrature de Gauss-Legendre à 2 nœuds sur [ a, b ], i.e. Q[Leg,
a,b ]
2.
[ a,b ] a+b b−a
Les 2 nœuds de la quadrature Q Leg, 2 sont : xi = + · ti , pour i ∈ {1, 2},
2 2
1 1 1
où t1 , t2 sont les 2 racines du polynôme Leg2 (x) = x2 − , i.e. t1 = − √ , t2 = √ .
3 3 3
- 28 - VI - Majoration de l’erreur d’une quadrature d’intégration numérique
[ a,b ]
Pour trouver les poids respectifs ω1 et ω2 des 2 nœuds x1 et x2 dans Q Leg, 2 , on peut utiliser (5.1j). Mais
[ a,b ]
il est plus simple de remarquer que comme Q Leg, 2 est une quadrature symétrique par rapport à (a + b)/2, alors
ω1 = ω2 . De plus, on sait que ω1 + ω2 = b − a. Il s’ensuit que : ω1 = ω2 = (b − a)/2.
∫ b
[ a,b ] [ a,b ]
Ainsi, la quadrature Q Leg, 2 est donnée par : f (x) dx ≈ Q Leg, 2 (f ),
a
[ a,b ] b−a[ (a+b b−a) (a+b b − a )]
avec : Q Leg, 2 (f ) = f − √ +f + √ .
2 2 2 3 2 2 3
C’est la seule quadrature élémentaire à 2 nœuds qui soit d’ordre r = 2 × 2 − 1 = 3 sur [ a, b ]. Toutes les autres
quadratures élémentaires à 2 nœuds sont d’ordre r 6 2.
∗∗∗ Exemple 5.3 : Quadrature de Gauss-Legendre à 3 nœuds sur [ a, b ], i.e. Q[Leg, a,b ]
3.
[ a,b ] a+b b−a
Les 3 nœuds de la quadrature Q Leg, 3 sont : xi = + · ti , pour i ∈ {1, 2, 3},
2 2 √ √
3 3 3
où t1 , t2 , t3 sont les 3 racines du polynôme Leg3 (x) = x − x, i.e. t1 = −
3 , t2 = 0, t3 = .
5 5 5
[ a,b ]
Pour trouver les poids ω1 , ω2 , ω3 des nœuds x1 , x2 , x3 dans la quadrature Q Leg, 2 , utilisons (5.1j), soit :
b−a
ωi = [ ]2 , pour i ∈ {1, 2, 3},
( 1 − ti2 ) · L3′ (ti )
[ a,b ]
mais tout en sachant que Q Leg, 3 est une quadrature symétrique par rapport à (a + b)/2, et donc ω1 = ω3 .
5 x3 − 3 x 3 (5 x2 − 1) 3
Comme L3 (x) = , alors L3′ (x) = . D’où : L3′ (t1 ) = L3′ (t3 ) = 3, L3′ (t2 ) = − .
2 2 2
b−a 5 b−a 4
=⇒ ω1 = ω3 = ( = (b − a) et ω2 = = (b − a).
3) 18 32 9
1− × 32 (1 − 0) ×
5 ∫ b 2 2
[ a,b ] [ a,b ]
Ainsi, la quadrature Q Leg, 3 est donnée par : f (x) dx ≈ Q Leg, 3 (f ),
a
[ ( √ ) (a+b) (a+b √ )]
[ a,b ] b−a a+b b−a 3 b−a 3
avec : Q Leg, 3 (f ) = 5f − + 8f + 5f + .
18 2 2 5 2 2 2 5
C’est la seule quadrature élémentaire à 3 nœuds qui soit d’ordre r = 2 × 3 − 1 = 5 sur [ a, b ]. Toutes les autres
quadratures élémentaires à 3 nœuds sont d’ordre r 6 4.
◃ Exercice Exo-V:3 Construire les quadratures de Gauss-Legendre sur [ a, b ], respect. à 4 et 5 nœuds.
3◦ ) Compléments : autres quadratures de Gauss.
Les quadratures de Gauss-Legendre sont une sous-famille de la famille des quadrature dites de Gauss,
laquelle est un sous-produit de la très élégante théorie des polynômes orthogonaux . Comme membres d’autres
sous-familles importantes de quadratures de Gauss, nous pouvons citer :
[ a,b ]
1. quadrature de Gauss-Lobatto Q Lob, n ( n > 2) : unique quadrature à n points, parmi lesquels les 2
bornes a, b, et ayant l’ordre maximal possible 2n − 3. Les deux 1ères sont Q Lob, 2 = Q T et Q Lob, 3 = Q S ;
[ a,b ]
2. quadrature de Gauss-Radau à gauche Q Rad.G, n ( n > 1) : unique quadrature à n points, parmi
lesquels la borne inférieure a, et ayant l’ordre maximal possible 2n − 2 ;
[ a,b ]
3. quadrature de Gauss-Radau à droite Q Rad.D, n ( n > 1) : unique quadrature à n points, parmi
lesquels la borne b, et ayant l’ordre maximal possible 2n − 2 ;
[ a,b ]
4. quadrature de Gauss-Kronrod Q Kro, 2n+1 ( n > 1) : unique quadrature à 2n + 1 points, parmi lesquels
[ a,b ]
les n nœuds de Q Leg, n , et ayant l’ordre maximal possible 3n + 1.
1◦ ) Préliminaires.
a) Formule de Taylor-Lagrange et autres rappels utiles d’Analyse Réelle.
Les 2 principaux résultats énoncés dans cette Partie VI sont des conséquences de la notion d’ordre d’une
quadrature d’intégration numérique (introduite et étudiée au III ) et de la Formule de Taylor avec reste de
Lagrange. Nous rappelons, ci-après, ce résultat classique de l’Analyse Réelle, précédé des notions associées de
polynôme et reste de Taylor , ainsi que 3 autres résultats et notions également utiles ici.
Notre intérêt dans la suite portera sur la formule de Taylor avec reste de Lagrange, encore appelée
formule de Taylor-Lagrange.
a. Où on a posé : [ ^
α0 , x ] = [ α0 , x ] si α0 6 x, et [ ^
α0 , x ] = [ x, α0 ], sinon.
Voici 2 rappels d’Analyse Réelle également utiles dans la Preuve du Lemme de base de cette Partie VI .
2. la fonction | f | est continue sur [ a, b ], donc est aussi bornée et atteint ses bornes, d’où :
∀ x ∈ [ a, b ], | f (x) | 6 M, avec M = M0 (| f | ; [ a, b ]) = sup | f (x) | ∈ IR+ .
x ∈ [ a,b ]
Il est aussi utile de se rappeler la notion ci-après sur la comparaison du comportement de 2 fonctions de
IR −→ IR au voisinage de 0.
La fonction g tend alors vers 0 quand b − a −→ 0 (avec (a, b) ∈ Ω) au moins aussi vite φ.
3. Pour la manipulation, on a les propriétés usuelles de O, ici quand b − a −→ 0 ((a, b) ∈ Ω) :
O(φ) + O(φ) = O(φ) ; (6.1b)
O(φ) − O(φ) = O(φ) ; (6.1c)
α · O(φ) + β · O(φ) = O(φ) (avec α, β ∈ IR, constantes) ; (6.1d)
O(α · φ) = O(φ) (avec α ∈ IR, constante) ; (6.1e)
α · O(φ) = O(φ), (avec α ∈ IR, constante) ; (6.1f)
φ = O(φ) ; (6.1g)
ψ · O(φ) = O(ψ · φ), (avec ψ fonction de Ω −→ IR) ; (6.1h)
ψ · O(φ) = O(φ), pour ψ fonction de Ω −→ IR, bornée quand b − a −→ 0 ( (a, b) ∈ Ω) ; (6.1i)
O(φ1 ) · O(φ2 ) = O(φ1 · φ2 ), (avec φ1 , φ2 fonctions de Ω −→ IR). (6.1j)
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 31 -
La remarque suivante précise le contexte d’utilisation de cette généralisation de O dans ce qui suivra pour
étudier l’erreur d’une quadrature élémentaire d’intégration numérique sur un intervalle [ a, b ].
1 ∑ n
Pour QEu, λ , quadrature élémentaire, on pose, ∀ k ∈ IN : Ck (u, λ) = + | λi | · | 2 ui − 1 | k .
k+1
i=0
Avec cette notation, on a la propriété remarquable suivante pour les nombres Ck (u, λ) :
( )
E ) E φν,f, αm ; [ a, b ] QEu, λ
(
=⇒ (par la Proposition D.III.1-1) E Rν,f, αm ; [ a, b ] Q u, λ = . (6.2b)
(ν + 1) !
Par ailleurs, par définition de l’erreur d’intégration numérique de la quadrature élémentaire QEu, λ sur [ a, b ],
∫ b ∑
( E ) n
E φν,f, αm ; [ a, b ] Q u, λ = φν,f, αm (x) dx − ωi · φν,f, αm (xi ) ;
a i=0
∫ ∑
( ) b n
=⇒ E φν,f, αm ; [ a, b ] QEu, λ 6 | φν,f, αm (x) | dx + | ωi · φν,f, αm (xi ) |. (6.2c)
a i=0
∫ b ∫ b ∫ b
Or, | φν,f, αm (x) | dx = |f (ν+1)
(θx ) | · | x − αm | ν+1
dx 6 Mν+1 (f ; [ a, b ]) · | x − αm | ν+1 dx. (6.2d)
a a a
a+b b−a
Mais, par le C.V. t = x − αm = x − , il vient, avec h = et t 7−→ | t | ν+1 , fonction paire :
2 2
∫ b ∫ h ∫ h ∫ h
2 ( b − a )ν+2
| x − αm | ν+1 dx = | t | ν+1 dt = 2 | t | ν+1 dt = 2 t ν+1 dt = . (6.2e)
a −h 0 0 ν+2 2
D’autre part, ∀ i = 0 (1) n, ωi = (b − a) · λi et :
[ a + b ] ν+1
φν,f, αm (xi ) = f (ν+1) (θxi ) · (xi − αm )ν+1 = f (ν+1) (θxi ) · a + (b − a) ui −
2
( b − a ) ν+1
= f (ν+1) (θxi ) · (2 ui − 1)ν+1 · ,
2
∑
n ( b − a )ν+2 ∑n
=⇒ | ωi · φν,f, αm (xi ) | = 2 · · | f (ν+1) (θxi ) | · | λi | · | 2 ui − 1 | ν+1
2
i=0 i=0
( b − a )ν+2 ∑n
6 2 · Mν+1 (f ; [ A, B ]) · · | λi | · | 2 ui − 1 | ν+1 . (6.2f)
2
i=0
Par ailleurs, a, b ∈ [ A, B ] =⇒ [ a, b ] ⊂ [ A, B ] =⇒ Mν+1 (f ; [ a, b ]) 6 Mν+1 (f ; [ A, B ]). Compte tenu de
cela et de (6.2b), on obtient (6.2a) en injectant (6.2d)-(6.2e)-(6.2f) dans (6.2c). Cqfd
3◦ ) Ordre d’une quadrature élémentaire et majoration de son erreur sur [ a, b ].
a) Majoration de l’erreur d’une quadrature élémentaire sur [ a, b ] : Résultat de base.
Ce résultat de base sera une conséquence immédiate du résultat plus général suivant :
( ) ( )
=⇒ E f ; [ a, b ] QEu, λ = E Rν,f, αm ; [ a, b ] QEu, λ .
◃ Exercice Exo-VI:1 Déduite du résultat du Lemme D.VI-ℓ2, la majoration d’erreur d’intégration (6.3e)
de la fonction f sur [ a, b ], par la quadrature élémentaire QEu, λ , a été obtenue à partir de la Formule de
Taylor-Lagrange de f centrée au point αm = (a + b)/2.
1◦ ) Quelle majoration d’erreur obtient-on en partant de cette Formule, mais centrée plutôt en α0 = a ?
2◦ ) a) Utiliser le résultat obtenu pour majorer les erreurs respectives des quadratures du point central, du
trapèze et de Simpson pour intégrer f sur [ a, b ].
b) Comparer ces majorations avec celles obtenues, plus loin, par (6.3e) dans les Exemples 6.1, 6.2, 6.3.
3◦ ) Expliquer pourquoi, comparée à la majoration issue de tout autre choix du centre α0 dans la Formule de
Taylor-Lagrange, l’avantage sera, en général, en termes de petitesse, à la majoration (6.3e).
∫ b
Or, f étant continue sur [ a, b ], si, de plus, f (a) ̸= 0, alors f (x) dx ∼ f (a) · (b − a) quand b − a −→ 0 ;
∫ b a
=⇒ quand b − a −→ 0, la valeur de l’intégrale f (x) dx est de plus en plus proche d’être proportionnelle à
a
la longueur b − a de l’intervalle [ a, b ], donc tend elle même vers 0, mais exactement à la vitesse de b − a.
Il s’ensuit qu’une approximation de cette intégrale ne peut être de plus en plus précise quand b− a −→ 0 que
si, pendant ce temps, l’erreur de cette approximation tend vers 0 aussi certes, mais plus vite que la longueur
b − a (de telle sorte que cette erreur soit de plus en plus négligeable devant la valeur exacte de
l’intégrale). C’est exactement ce que garantit le «comme O(b − a) r+2 » dans (6.3f), car il indique que l’erreur
[ a,b ]
de la quadrature Q u, λ tend vers 0 quand b − a −→ 0, et ce au moins aussi vite que (b − a) r+2 donc au moins
à la vitesse de (b − a) 2 , car r ∈ IN =⇒ r + 2 > 2, et, en fait, r + 2 fois plus vite que b − a lui même.
c) Majoration de l’erreur des quadratures du point central, trapèze et de Simpson.
∗∗∗ Exemple 6.1 : Majoration de l’erreur de la quadrature du point central (ou du point-milieu).
On a vu, dans l’Exemple 2.1, que c’est la quadrature élémentaire donnée sur un intervalle [ a, b ] par :
∫ b
[ a,b ] [ a,b ] (a+b)
f (x) dx ≈ Q C (f ), avec Q C (f ) = (b − a) · f ;
a 2
a+b 1
=⇒ n = 0, x0 = ∈ [ a, b ] et ω0 = b − a, =⇒ u0 = et λ0 = 1.
2 2
Par ailleurs, on a trouvé, dans l’Exemple 3.1, que cette quadrature est d’ordre r = 1,
=⇒ r + 1 = 2 et r + 2 = 3 ; =⇒ d’après le Corollaire D.VI.3-2, si f ∈ C 2 ([ a, b ]), alors
( )
E f ; [ a, b ] Q C 6 C2 · M2 (f ) · (b − a)3 , avec M2 (f ) = sup f ′′ (x) ,
2! · 22 x ∈ [ a,b ]
1 1 1
et C2 = + | 2 u0 − 1 | 2 = + 0, i.e. C2 = .
2+1 3 3
( ) M2 (f )
D’où, finalement : Si f ∈ C 2 ([ a, b ]), alors E f ; [ a, b ] Q C 6 · (b − a)3 . (6.4a)
24
1 | 2 u0 − 1 | 2 | 2 u1 − 1 | 2 1 1 1 4
et C2 = + + = + + , i.e. C2 = .
2+1 2 2 3 2 2 3
( ) M2 (f )
D’où, finalement : Si f ∈ C 2 ([ a, b ]), alors E f ; [ a, b ] Q T 6 · (b − a)3 . (6.4b)
6
◃ Exercice Exo-VI:2
1◦ ) Majorer l’erreur de chacune des quadratures sur [ a, b ] construites dans l’ Exo-II:3 .
2◦ ) Majorer l’erreur de chacune des quadratures sur [ a, b ] construites dans l’ Exo-II:4 .
• • • Remarque 7 (Notation Ek0 (QEu, λ ) pour une quadrature élémentaire QEu, λ et k ∈ IN)
Soit QEu, λ , une quadrature élémentaire. Pour tout entier k ∈ IN, nous posons :
[∫ 1 ]
1 ( ) 1 [ −1,1 ] Ek0 (QEu, λ )
Ek0 (QEu, λ ) = E xk ; [ − 1, 1 ] QEu, λ = xk dx − Q u, λ (xk ) , Ck0 (QEu, λ ) = .
2 2 −1 (k !) · 2 k
Preuve
[ a,b ]
1. Lorsque [ a, b ] = [ − 1, 1 ] dans la quadrature élémentaire Q x, ω = Q u, λ , on a :
[ −1,1 ]
∑
n ∑
n
∀ i = 0 (1) n, xi = 2 ui − 1 et ωi = 2 λi , d’où Q u, λ (xk ) = ωi (xi ) k = 2 λi (2 ui − 1) k .
i=0 i=0
∫
1−
1
1 + (−1)k
(−1)k+1
D’où les expressions données de Ek0 (QEu, λ ), car, par ailleurs, xk dx = = .
−1 k+1 k+1
[( ∫ b( [( ]
a + b )k E ]
a + b )k [ a,b ] a + b )k
2. Par définition, E x − ; [ a, b ] Q u, λ = x− dx − Q u, λ x− .
2 a 2 2
∫ b( ( b − a )k+1 ∫ 1
a+b b−a a + b )k
Or, par le C.V. x = + t, il vient : x− dx = · tk dt.
2 2 a 2 2 −1
[( )k ] ∑ n ( )k
[ a,b ] a + b a + b
Tandis que Q u, λ x− = ωi · xi − ; d’où, par la Définition D.II-d 1 :
2 2
i=0
[( ]
a + b )k ∑ [ a + b ]k
n
[ a,b ]
Q u, λ x− = (b − a) λi · a + (b − a) ui −
2 2
i=0
∑n ( b − a )k ( b − a ) k+1 ∑
n
= (b − a) λi · · (2 ui − 1) k
= 2 λi (2 ui − 1) k ;
2 2
i=0 i=0
[ ]
[( a + b )k ] ( b − a ) k+1 ∫ 1 ∑
n
=⇒ E x− ; [ a, b ] QE
u, λ = t dt − 2
k
λi (2 ui − 1) k
. Cqfd
2 2 −1 i=0
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 37 -
et ce ∀ α0 ∈ [ a, b ].
= 0 E
Cr+1 (Q u, λ ) · f (r+1) (α0 ) · (b − a) r+2 + O(b − a) r+3 + O(b − a)r+3
= 0
Cr+1 (QEu, λ ) · f (r+1) (α0 ) · (b − a) r+2 + O(b − a)r+3 ,
où on a successivement utilisé (6.1f), (6.1h), (6.1b) du Rappel n◦ 14 et de la Définition-P. D.VI-d 1. Cqfd
- 38 - VII - D.L. de l’erreur d’une quadrature sur [ a, b ] quand b − a −→ 0
alors cette majoration de l’erreur d’intégration numérique de la quadrature élémentaire est optimale.
Théorème D.VII.3-1 (D.L.P. de l’err. d’une quad. élt. sym. sur [ a, b ], qd. b − a −→ 0)
Soit QEu, λ , une quadrature élémentaire symétrique d’ordre r ∈ IN.
• Si f ∈ C r+3 ([ A, B ]), avec [ A, B ] ⊃ {a, b, x0 , · · · , xn }, alors, quand b − a −→ 0 ( a, b ∈ [ A, B ]) :
( )
E f ; [ a, b ] QEu, λ = Cr+10
(QEu, λ ) · f (r+1) (αm ) · (b − a) r+2 + O(b − a)r+4 , (7.2a)
∫ b
[ a,b ]
i.e. 0
f (x) dx = Q u, λ (f ) + Cr+1 (QEu, λ ) · f (r+1) (αm ) · (b − a) r+2 + O(b − a)r+4 . (7.2b)
a
b) D.L.P. de l’erreur et constante d’erreur des quad. du point central, trapèze et de Simpson.
Ce sont, toutes les trois, des quadratures symétriques. Ci-après, nous notons toujours αm = (a + b)/2.
∗∗∗ Exemple 7.1 : D.L.P. de l’erreur et constante d’erreur de la quadrature du point central .
a+b 1
Ici, n = 0, x0 = ∈ [ a, b ] et ω0 = b − a, =⇒ u0 = et λ0 = 1 (Exemple 6.1).
2 2
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 39 -
Cette quadrature est d’ordre r = 1 (Exemple 3.1), =⇒ d’après le Théorème D.VII.3-1, si f est de
classe C 4 sur [ A, B ] ⊃ [ a, b ], alors on a, quand b − a −→ 0 ( a, b ∈ [ A, B ]) :
( )
E f ; [ a, b ] Q C = C20 · f ′′ (αm ) · (b − a) 3 + O(b − a)5 ,
E20 E20 1 1 1
où C20 = = , avec E20 = − (2 u0 − 1) 2 = − 0= ,
2! · 22 8 2+1 3 3
1
=⇒ La constante d’erreur de la quadrature du point central est C20 = .
24
( ) f ′′ (αm ) a+b
=⇒ E f ; [ a, b ] Q C = · (b − a) 3 + O(b − a)5 , avec αm = . (7.3a)
24 2
Ceci prouve aussi que (6.4a) est la majoration optimale de l’erreur de la quadrature du point central.
( ) f ′′ (αm ) a+b
=⇒ E f ; [ a, b ] Q T = − · (b − a) 3 + O(b − a)5 , avec αm = . (7.3b)
12 2
Ceci confirme aussi que (6.4d) est la majoration optimale de l’erreur de la quadrature du trapèze.
Ceci confirme aussi que (6.4e) est la majoration optimale de l’erreur de la quadrature de Simpson.
◃ Exercice Exo-VII:1 Trouver le D.L.P. de l’erreur, ainsi que la constante d’erreur, de chacune des quadra-
tures élémentaires construites dans les Exercices Exo-II:3 et Exo-II:4 .
- 40 - VIII - Calcul approché de l’erreur d’une quadrature sur [ a, b ] « petit »
( )
pour trouver une approximation facile à calculer de l’erreur E f ; [ a, b ] QEu, λ . Nous examinerons 3 méthodes
de ce type ci-après. Nous les présenterons pour QEu, λ = Q T , la quadrature du trapèze. Le/la lecteur/lectrice ne
devrait pas avoir de mal pour les adapter à toute autre quadrature élémentaire. ∫
b
Mais, avant de procéder, précisons que, dans toute la suite, on posera : I = f (x) dx.
a
D’autre part, A et B désigneront 2 réels fixés/ A 6 a < b 6 B, y compris quand b − a −→ 0.
c) Quadrature sur [ a, b ] contre elle même sur les 2 moitiés de [ a, b ] : Procédé de Richardson.
On utilise ici le « procédé d’extrapolation de Richardson », une procédure, très connue en Analyse
Numérique, permettant d’accélérer certains types de convergence. La procédure est d’applicabilité très étendue.
Nous la décrivons ici en nous limitant à nos besoins présents, tels que spécifiés au début de cette Partie VIII .
• • Construction analytique. ∫ ∫
αm b
a+b
On part de la relation de Chasles : I = J1 + J2 , avec J1 = f (x) dx, J2 = f (x) dx, où αm =
.
a αm 2
Cette décomposition de I suggère 2 manières différentes de calculer une valeur approchée de I en utilisant Q T :
Ie1 = Q T (f )
[ a,b ]
et Ie2 = Je1 + Je2 , avec Je1 = Q T m (f )
[ a,α ]
et Je2 = Q T m (f ) .
[ α ,b ]
(8.8)
Pour chacune de ces 2 approximations de la valeur de l’intégrale I, examinons le comportement de son erreur
quand b − a −→ 0, sous l’hypothèse que la fonction f ∈ C 3 ([ A, B ]). Nous prendrons, à chaque fois, α0 = αm .
1. Erreur de Ie1 = Q T (f ) quand b − a −→ 0.
[ a,b ]
( )
Par le Théorème D.VII.2-1, I − Ie1 = E f ; [ a, b ] Q T = C1 · f ′′ (αm ) · (b − a)3 + O(b − a)4 . (8.9)
La différence (8.9) − (8.12) donne : Ie2 − Ie1 = (1 − 2 −2 ) · C1 · f ′′ (αm ) · (b − a)3 + O(b − a)4 ,
ce qui, compte tenu de (8.9), entraîne, en utilisant (6.1f) et (6.1b) :
[ ( ) ] ( )
Ie2 − Ie1 = (1 − 2 −2 ) · E f ; [ a, b ] Q T + O(b − a)4 + O(b − a)4 = (1 − 2 −2 ) · E f ; [ a, b ] Q T + O(b − a)4 ,
=⇒ Ie2 − Ie1 ( )
Q T + O(b − a)4 . (8.13)
= E f ; [ a, b ]
1 − 2 −2
( )
Or, par (8.3), l’erreur E f ; [ a, b ] Q T tend à être de plus en plus proportionnelle à (b−a)3 quand b−a −→ 0.
Et comme (b − a)4 −→ 0 plus vite que (b − a)3 quand b − a −→ 0, (il s’ensuit que,)dans le même temps, le
terme en O(b − a)4 dans (8.13) est de plus en plus négligeable devant E f ; [ a, b ] Q T . D’où l’approximation :
( ) e e
b , pour b − a «petit», avec
E f ; [ a, b ] Q T ≈ E Eb = I2 − I1 = 4 · (Ie2 − Ie1 ) . (8.14)
1−2 −2 3
( )
On a obtenu, ainsi, une autre approximation calculable de l’erreur E f ; [ a, b ] Q T .
◃ Exercice Exo-VIII:1 Montrer que les 3 méthodes ci-dessus donnent, en fait, la même approximation de
( )
l’erreur E f ; [ a, b ] Q T . N.B. Cependant, ne pas extrapoler ce résultat. En effet, pour des quadra-
tures élémentaires autres que celle du trapèze, les 3 méthodes donnent des résultats, en général,
différents (bien qu’étant d’autant plus proches entre eux que b − a est « petit »).
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 43 -
Les subdivisions les plus simples d’un intervalle [ a, b ] de IR sont obtenues de la manière suivante.
Les sommes de Riemann sont les objets mathématiques de base pour définir l’intégrale d’une fonction sur
[ a, b ], au sens de Riemann.
∑
N ∫ ak
i.e. I = Ik , avec Ik = f (x) dx, ∀ k = 1 (1) N . (9.1b)
k=1 ak−1
4. Calcul d’une valeur approchée Iek de chaque sous-intégrale Ik par la quadrature élémentaire QEu, λ ,
∑
n
Iek = Q u,k−1
[a ,ak ]
i.e. calcul des N nombres réels λ (f ) = hk · λi · f (ak + hk ui ), pour k = 1 (1) N .
i=0
∑
N
5. Du fait de (9.1b), on calcule, comme valeur approchée finale de l’intégrale I : Ie = Iek .
k=1
3. « Discrétiser un problème continu », c’est le transformer en un problème approché dans lequel « tout est fini » : nombre de
données nécessaires, nombre d’équations de modélisation, quantité de calculs à faire, nombre de résultats à produire. Dans les sous-
domaines de l’Analyse numérique dont il est question ici, c’est souvent une étape préliminaire indispensable pour résoudre le
problème concerné par ordinateur.
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 45 -
[ a,b ],σ
∑
N
[a ,ak ]
Q u, λ (f ) = Q u,k−1
λ (f ) . (9.1c)
k=1
∫ b ∑
N ∫ b ∑
N
[a ,ak ] [a ,ak ]
3. On écrira : f (x) dx ≈ Q u,k−1
λ (f ) ou f (x) dx = Q u,k−1
λ (f ) + E .
a k=1 a k=1
[ a,b ],σ
4. La quadrature élémentaire QEu, λ est la quadrature de base de la quadrature composite Q u, λ .
Cependant, pour la plupart des manipulations, il vaut mieux utiliser l’expression structurelle (9.1c). Comme
on le verra, cette dernière permet notamment de déduire, assez immédiatement, les propriétés de la qua-
[ a,b ],σ
drature composite Q u, λ à partir de celles de la quadrature élémentaire QEu, λ qui a servi à la construire.
est que plus les sous-intervalles [ ak−1 , ak ] ( k = 1 (1) N ) sont simultanément tous petits, plus Ie = Q u, λ (f )
[ a,b ],σ
serait une bonne approximation de la valeur de l’intégrale I. Cet espoir est validé par le :
Preuve Supposons que l’Hypothèse H2 est satisfaite et I est une intégrale définie. On a :
[ a,b ],σ
∑n
[ ] ∑
N
(9.1d) ⇐⇒ Q u, λ (f ) = λi · Sσi (f ) , avec, ∀ i = 0 (1) n, Sσi (f ) = hk · f (ak + ui hk ). (9.2b)
i=0 k=1
Or, ∀ i = 0 (1) n, on a : H2 =⇒ ui ∈ [ 0, 1 ] =⇒ ∀ k = 1 (1) N , ak + ui hk ∈ [ ak−1 , ak ] ;
=⇒ Sσi (f ) est une somme de Riemann de la fonction f sur [ a, b ] ;
=⇒ Sσi (f ) −−−−→ I quand δσ −→ 0, car I est une intégrale définie (au sens de Riemann). (9.2c)
Comme n, u0 , · · · , un , λ0 , · · · , λn sont des constantes fixées, il vient, par (9.2b) et (9.2c), quand δσ −→ 0 :
[ a,b ],σ
∑n ∑n
Q u, λ (f ) −−−−→ (λi · I) = I · λi = I. Cqfd
i=0 i=0
C’est la quadrature composite des points centraux (ou des points-milieux ) s’appuyant sur σ.
[ a,b ], σ
∑
N
[a , ak ] 1 ∑
N
[ ]
avec QT (f ) = Q T k−1 (f ) = hk · f (ak−1 ) + f (ak ) . (9.2e)
2
k=1 k=1
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 47 -
[ a,b ], σ
∑
N
[a , ak ] 1 ∑
N
[ ]
avec QS (f ) = Q S k−1 (f ) = hk · f (ak−1 ) + 4 f (ak−1/2 ) + f (ak ) . (9.2f)
6
k=1 k=1
◃ Exercice Exo-IX:1 Construire les 2 quadratures composites utilisant comme quadratures de base, les qua-
dratures de Gauss-Legendre des Exemples 5.2 et 5.3.
( [ a,b ],σ ) ∑
N
( )
et donc E f ; [ a, b ] Q u, λ 6 E f ; [ ak−1 , ak ] QE
u, λ . (9.3b)
k=1
∑
N ∑
N
Preuve On a : hk = (ak − ak−1 ) = aN − a0 = b − a. Soit alors un entier s > 1.
k=1 k=1
( )
On a, ∀ k = 1 (1) N : ak−1 < ak et hk = ak − ak−1 =⇒ 0 < hk 6 δσ ,
=⇒ 0 < hs−1
k 6 δσs−1 , car s − 1 > 0. Or, hsk = hk · hs−1
k ; d’où : 0 < hsk 6 hk · δσs−1 ;
∑
N (∑
N ) ∑
N
=⇒ 0 < hsk 6 hk · δσs−1 , i.e. 0 < hsk 6 (b − a) · δσs−1 . Cqfd
k=1 k=1 k=1
c) Majoration de l’erreur d’une quadrature composite sur [ a, b ].
[ a,b ],σ
Par le Théorème D.IX.2-1, on sait qu’une quadrature composite Q u, λ sur [ a, b ] converge toujours
vers l’intégrale de la fonction sur cet intervalle lorsque δσ −→ 0. Mais alors question du plus haut intérêt :
convergence à quelle vitesse ? La réponse est apportée par les 2 résultats qui suivent.
∑
N
( E ) Cν+1 (u, λ) · Mν+1 (f ; [ a, b ]) ∑ ν+2
N
=⇒
E f ; [ a, b ] Q u, λ 6 · hk .
(ν + 1) ! · 2 ν+1
k=1 k=1
d) Majoration de l’erreur : quadr. compo. des points centraux, des trapèzes et de Simpson.
∗∗∗ Exemple 9.4 : Majoration de l’erreur de la quadrature composite des points centraux .
Cette quadrature composite a été construite dans l’Exemple 9.1.
En tenant compte de l’Exemple 6.1, le Théorème D.IX.3-2 entraîne que :
( [ a,b ], σ )
Si f ∈ C 2 ([ a, b ]), alors E f ; [ a, b ] Q C 6 (b − a) · M2 (f ) · δσ2 . (9.3e)
24
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 49 -
( [ a,b ], σ )
Si f ∈ C 2 ([ a, b ]), alors E f ; [ a, b ] Q T 6 (b − a) · M2 (f ) · δσ2 . (9.3f)
6
( [ a,b ], σ )
Si f ∈ C 4 ([ a, b ]), alors E f ; [ a, b ] Q S 6 (b − a) · M4 (f ) · δσ4 . (9.3g)
720
◃ Exercice Exo-IX:2 Majoration de leur erreur, avec hypothèse à préciser, pour chacune des quadratures
composites construites dans l’ Exo-IX:1
.
Corollaire D.IX.4-1 (Conv. d’une quadr. composite à pas constant quand N −→ +∞)
∫ b
Si I = f (x) dx est une intégrale définie, et l’Hypothèse H2 est satisfaite, alors :
a
[ a,b ], σN
Q u, λ (f ) −−
−−→ I quand N −→ +∞ . (9.4a)
Corollaire D.IX.4-3 (Ordre et major. de l’erreur d’une quadr. comp. à pas constant)
Soit QEu, λ , une quadrature élémentaire d’ordre r ∈ IN et vérifiant l’Hypothèse H2 .
• Si une fonction f : IR −→ IR, est de classe C r+1 sur [ a, b ], alors on a, avec h = (b − a)/N :
( )
E f ; [ a, b ] Q[ a,b ], σN 6 (b − a) · Cr+1 (u, λ) · Mr+1 (f ; [ a, b ]) · h r+1 . (9.4c)
u, λ (r + 1) ! · 2 r+1
( [ a,b ], σ )
• Ainsi, quand N −→ +∞, l’erreur E f ; [ a, b ] Q u, λ N −→ 0 en O(h r+1 ) = O(1/N r+1 ).
d) Quadratures composites des points centraux, des trapèzes et de Simpson à pas constant.
∗∗∗ Exemple 9.7 : Quadrature composite des points centraux à pas constant.
Dans l’Exemple 9.1, avec un pas h = (b − a)/N constant, (9.2d) devient :
∫ b ∑
N
[ a,b ], σN [ a,b ], σN
f (x) dx ≈ QC (f ), avec QC (f ) = h· f (ak − 1/2 ) . (9.4d)
a k=1
h ∑[
N
] [ f (a) + f (b) N∑
−1 ]
[ a,b ], σN
avec QT (f ) = f (ak−1 ) + f (ak ) = h · + f (ak ) . (9.4f)
2 2
k=1 k=1
h ∑[ ]
N
[ a,b ], σN
avec QS (f ) = f (ak−1 ) + 4 f (ak−1/2 ) + f (ak ) . (9.4h)
6
k=1
∫
b
i.e. 6 ErrTol.
[ a,b ],σ
f (x) dx − Q u, λ (9.5)
a
La question d’intérêt devient alors :
Pour une « petite » tolérance d’erreur ErrTol > 0, fixée d’avance (par exemple ErrTol = 10−7 ),
comment trouver, en pratique, une subdivision σ de points de [ a, b ] (de taille N aussi petite que
possible) telle que (9.5) soit satisfait ?
On ne peut, malheureusement, énoncer aucun résultat systématique permettant de répondre à cette question.
En effet, choisir une subdvision de points de l’intervalle [ a, b ] revient à
1. choisir sa taille N ,
2. et sélectionner ses nœuds internes a1 , · · · , aN −1 / a < a1 < a2 < · · · < aN −1 < b, sachant que, par
définition d’une subdivision de [ a, b ] (Rappel n◦ 15 ), on a toujours : a0 = a et aN = b.
Or, cette taille N et ce choix des nœuds internes d’une «bonne» subdivision σ de [ a, b ] vérifiant (9.5) dépendent
1. de l’ordre r de la quadrature élémentaire de base QEu, λ ,
2. et, surtout, de la manière dont évoluent les valeurs prises par la fonction f le long de l’in-
tervalle [ a, b ].
Evidemment, ce dernier point varie considérablement d’une intégrale à l’autre, et il est impossible
d’en énoncer une règle caractéristique générale.
Par rapport à la question posée ci-dessus, il y a donc un « os » sur le plan théorique. Mais la question, elle,
est d’ordre pratique. On contourne cette difficulté théorique de manière pratique justement, par une approche
algorithmique itérative. Le principe général de cette approche est, pour l’intégrale I qu’on a en mains, de
construire itérativement (séquentiellemnt ou récursivement) une subdivision σ de [ a, b ], en y incluant des
nœuds ak au fur et à mesure, à base d’un critère d’inclusion fixé d’avance, pour que, à la sortie de l’algorithme,
(9.5) soit à peu près réalisé. C’est ce qu’on appelle un algorithme d’intégration numérique adaptative. La
description de ce type d’algorithmes sera faite dans la Partie X à suivre.
∗∗∗ Question : Comment choisir la subdivision σ (taille, disposition des nœuds internes a1 , · · · , aN −1 )
[ a,b ],σ
pour que Q u, λ (f ) soit une approximation de l’intégrale I avec une précision fixée d’avance ?
Question difficile. La réponse dépend intrinsèquement des variations de la fonction f dans l’intervalle [ a, b ].
Choix le plus commode pour les calculs : σ équisudivision. Mais il est très loin d’être le plus efficace.
Par ailleurs, on rappelle que, sous une hypothèse plutôt faible, on a (Théorème D.IX.2-1) :
[ a,b ],σ
Q u, λ (f ) −→ I quand δσ −→ 0 , où δσ = max (ak − ak−1 ). (10.1)
16k6N
On montre que si f est suffisamment dérivable, alors chaque colonne du tableau converge vers la valeur
de l’intégrale I, chacune plus vite que la précédente. La convergence la plus rapide est donc observée sur la
diagonale du tableau. Ainsi, on peut itérer les calculs jusqu’à un rang n ∈ IN∗ tel que
| Tn,n − Tn−1,n−1 | 6 ErrTol, avec ErrTol réel > 0 et «petit» fixé d’avance. (10.2c)
E
Cependant, si la quadrature élémentaire de base Q u, λ est d’ordre r, la convergence dans le tableau est plus
rapide si on place en abscisses du tableau les hr+1
n plutôt que les hn , et on construit le tableau d’Aitken avec les
images yk = F (hk ) inchangées.
- 54 - X - Calcul d’une intégrale avec une précision fixée d’avance
1.2. ceux qui construisent σ en contrôlant les erreurs locales d’intégration sur les σ–sous-intervalles
[ ak−1 , ak ] de [ a, b ], i.e. en visant à obtenir σ = (a = a0 < a1 < · · · < aN = b) telle que :
( )
∀ k = 1 (1) N, | E f ; [ ak−1 , ak ] QEu, λ | 6 ErrTol , (10.3c)
En (10.3c), on vise à contrôler l’erreur absolue locale sur chaque sous-intervalle [ ak−1 , ak ], alors
qu’en (10.3d), on vise à le faire plutôt pour l’erreur relative locale.
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 55 -
2. Dans une 2nde catégorisation, les algorithmes d’intégration numérique adaptative se répartissent entre
2.1. ceux qui construisent σ de manière récursive, en ajoutant successivement, à une subdivision initiale
arbitraire σ0 (de petite taille) de [ a, b ], des nouveaux nœuds ak choisis suivant un critère approprié
jusqu’à ce que la condition (10.3a) (ou sa variante (10.3b)) soit à peu près satisfaite ;
2.2. ceux qui construisent σ de manière séquentielle, i.e. en choisissant séquentiellement les nœuds ak
d’une borne à l’autre de l’intervalle, par exemple dans l’ordre (on peut aussi aller en sens inverse . . . )
a = a0 −→ a1 −→ a2 −→ · · · −→ aN = b,
le calcul d’un nouveau nœud ak (à partir de ak−1 ) se faisant suivant un critère de choix approprié
pour que l’objectif (10.3c) (ou sa variante (10.3d)) soit réalisé.
il n’est pas garanti que cette erreur globale soit inférieure à la tolérance d’erreur ErrTol fixée d’avance.
Par (10.3c), seules les erreurs locales sur les sous-intervalles [ ak−1 , ak ] sont garanties être inférieures à
ErrTol. On peut voir cela comme un défaut de ce type d’algorithmes d’intégration numérique adaptative
comparativement à ceux opérant par contrôle de l’erreur globale.
◃ Exercice Exo-X:1
1◦ ) Trouver la majoration analogue à celle de (10.4), mais déduite plutôt de (10.3d).
2◦ ) Expliquer alors pourquoi, en général, les algorithmes utilisant (10.3d) ne souffrent pas vraiment du handicap
souligné dans la Remarque ci-dessus pour ceux basés sur (10.3c).
• • • Remarque 12 (Un 1er bémol en faveur des algos. de contrôle des erreurs abs. locales)
Ce qui a motivé de parler aussi ici des algorithmes d’intégration numérique adaptative par contrôle
des erreurs locales est le fait qu’on peut émettre un premier bémol relativement à leur apparent handicap
signalé dans la Remarque précédente. En effet, il faut se rappeler (Cf. Partie VIII ) que si Ibk est une
approximation de Ik , et E bk est une estimation de l’erreur de cette approximation, alors l’approximation
corrigée Ik = Ik + Ek sera, a priori, une bien meilleure valeur approchée de Ik que Ibk . De ce fait, soit :
e b b
∑N
e b b b
I = I + E, avec E = Ebk = E
b1 + · · · + E
bN .
k=1
A la sortie d’un tel algorithme, du fait de (10.4), il y a de fortes chances que le nombre réel Ie soit une
valeur approchée de I avec une incertitude absolue 6 ErrTol ou de l’ordre de ErrTol.
Un autre bémol sera donné relativement à la problématique abordée dans la Section 8◦ )-e).
- 56 - X - Calcul d’une intégrale avec une précision fixée d’avance
k=1
bk | =
sinon 5.1. Détermination de k 0 ∈ [ 1 (1) N ]/ | E bk | ;
max | E
0
16k6N
5.2. Division du sous-intervalle [ ak 0 −1 , ak 0 ] en 2 sous-intervalles de même longueur,
i.e. ajouter le point (ak 0 −1 + ak 0 )/2 à la subdivision ; N ←− N + 1 ;
5.3. Aller à 2., mais en ne reprenant évidemment pas les calculs qui ont déjà été effectués ;
finSi ;
6. Renvoyer ( Ib ).
• • • Objectif : Trouver une subdivision σ de [ a, b ] (aussi petite que possible) vérifiant (10.3a),
où ErrTol > 0 est une tolérance d’erreur absolue globale fixée d’avance.
• On peut concevoir une variante purement récursive (au sens usuel) de l’Algorithme A-1 en opérant comme :
1. Application de la quadrature élémentaire QE sur [ a, b ], ce qui va donner : Ib = Q
[ a,b ]
u, λ (f ) ;
u, λ
2. Estimation de l’erreur de l’approximation de l’intégrale I par I, b
( E )
b de E f ; [ a, b ] Q b
i.e. on calcule une approximation E u, λ = I − I (Cf. Partie VIII ) ;
3. Si | Eb | > ErrTol,
alors 3.1. αm ←− (a + b)/2 ; ErrTol ←− ErrTol/2 ;
3.2. Appliquer 1.-2.-3., mais en remplaçant [ a, b ] par [ a, αm ], ce qui va donner Ib1 ;
3.3. Appliquer 1.-2.-3., mais en remplaçant [ a, b ] par [ αm , b ], ce qui va donner Ib2 ;
3.4. Ib ←− Ib1 + Ib2 ;
finSi ;
4. Renvoyer ( Ib ).
• Mais ceci est mieux traduit en utilisant une fonction algorithmique récursive :
s=r+2 . (10.5d)
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 59 -
c) Fin de l’algorithme.
L’algorithme sera terminé lorsqu’on aura intégré un nœud ak = b dans la subdivision σ, ce qui achèvera la
construction de cette dernière. Cette subdivision de [ a, b ] sera, ainsi, de taille N = k et vérifiera (à peu près)
(10.3c). A la fin de l’algorithme, on pourra calculer, comme valeur approchée de l’intégrale I :
∑
N
Ib = Q u, λ (f ) = Ibk .
[ a,b ],σ
k=1
d) L’algorithme final.
∗∗∗ Algorithme A-5 (Algorithme par subdivision séquentielle de [ a, b ], avec QEu, λ d’ordre r)
√
1. R0 ←− 0.7 ; R1 ←− 7 ; s ←− r + 2 ; a0 ←− a ; k ←− 1 ; h ←− s ErrTol ;
2. Tant que ak−1 < b faire
3. ak ←− ak−1 + h ; ak ←− min{b, ak } ;
Application de la quadrature élémentaire QEu, λ sur [ ak−1 , ak ], ce qui va donner Ibk = Q u,k−1
[a ,ak ]
4. λ (f ) ;
( E )
5. b
Calcul d’une approximation Ek de l’erreur Ek = E f ; [ ak−1 , ak ] Q u, λ (Cf. Partie VIII ) ;
6. bk | 6 ErrTol
Si | E
{ √ }
7. bk | > 0 alors h ←− h · min R1 , s ErrTol ; finSi ;
alors Si | E
bk |
|E
8. k ←− k + 1 ;
{ √
ErrTol }
9. sinon h ←− h · min R0 , s ;
bk |
|E
10. finSi ;
11. finTantque ;
∑
N
12. N ←− k − 1 ; Ib ←− Ibk ;
k=1
b
13. Renvoyer ( I).
σ– sous-intervalles de [ a, b ]. Par conséquent, contrairement au cas de la résolution numérique des édfs ayant
une condition initiale, l’impact de toutes ces erreurs locales sur la valeur approchée finale de l’intégrale se fait
de manière strictement additive, sans effet d’amplification d’une extrémité à l’autre de l’intervalle d’intégration.
Une autre différence importante avec les algorithmes de résolution numérique adaptative des édfs est qu’ici,
la subdivision σ de [ a, b ] peut aussi se construire en partant de la borne supérieure b vers la borne inférieure a.
Alors que lors de la résolution numérique d’une édf sur un intervalle [ t0 , t0 + T ] avec condition initiale en t0 ,
on est, évidemment, obligé de partir de t = t0 . Il n’est pas possible d’évoluer en sens inverse.
7◦ ) Calcul de la valeur approchée d’une intégrale avec une tolérance d’erreur fixée d’avance :
Quelques spects pratiques pour la mise en œuvre.
• Algorithmes d’intégration numérique : 1ers tests d’évaluation.
Tout programme informatique doit d’abord être testé sur des données pour lesquelles on connaît d’avance
le(s) résultat(s) qu’il devrait produire, pour voir s’il renvoie effectivement ce qui est attendu pour ces données là.
Ceci permet de voir si la conception de l’algorithme est correcte ou pas. Un algorithme d’intégration numérique
n’échappe pas à cette règle : il faut d’abord le tester sur des intégrales dont on connaît la valeur exacte (obtenue
par un calcul analytique «à la main»).
• Tests d’un algorithme d’intégration numérique : Cas général.
Quant aux intégrales pour lesquelles ce type d’algorithme est réellement conçu (i.e. celles qu’on ne peut pas
calculer analytiquement), comment évaluer la qualité d’approximation de la valeur approchée Ib d’une intégrale I
renvoyée par un algorithme d’intégration numérique ? La démarche généralement recommandée est d’appliquer
plusieurs algorithmes d’intégration numérique différents à I et de comparer les différentes valeurs approchées de
I ainsi obtenues, par exemple en examinant jusqu’à quelle décimale elles coïncident quand on va de la gauche
vers la droite. Pour cela, on peut considérer des algorithmes de types différents et/ou les mêmes algorithmes mais
avec des quadratures élémentaires de base différentes. Dans le cas d’un algorithme par subdivision séquentielle,
on peut comparer son résultat quand on construit la subdivision de la borne inférieure vers la borne supérieure
de l’intervalle d’intégration avec celui quand on la contruit dans le sens inverse.
• Algorithme d’intégration numérique adaptative et ordre de la quadrature élémentaire de base.
Pour un objectif de vitesse de convergence rapide, et donc de recherche d’un temps d’exécution court par
ordinateur, il est déconseillé d’utiliser une quadrature élémentaire de base d’ordre r < 3 dans un algorithme
d’intégration numérique adaptative, si ce n’est pour des raisons d’analyse académique du comportement et de la
performance des algorithmes.
• Algorithme d’intégration numérique adaptative et tracé de la courbe de f sur [ a, b ].
Il est souvent utile de tracer préalablement la courbe de la fonction sur l’intervalle d’intégration, ce qui est
facile aujourd’hui avec la marmaille de logiciels de Calcul Scientifique disponibles (R, MATLAB, Mathematica,
etc). L’examen de l’allure de cette courbe permet souvent d’anticiper comment un algorithme d’intégration
numérique va se comporter sur le calcul de cette intégrale, notamment en termes de vitesse de convergence.
• Erreur estimée par Richardson et algorithmes d’intégration numérique par subdivision récursive.
Comme il a été vu (Cf. Partie VIII ), appliqué pour estimer l’erreur d’une quadrature Q sur un intervalle
[ a, b ], le procédé de Richardson est très coûteux, car on doit calculer Q sur [ a, b ] et ses 2 moitiés [ a, (a + b)/2 ]
et [ (a + b)/2, b ]. En tout cas plus coûteux que si cela est fait en s’appuyant sur 2 quadratures différentes Q1 et
Q2 l’une contre l’autre, car alors on applique seulement chacune des 2 sur [ a, b ].
Cependant, dans le cadre d’un algorithme d’intégration numérique adaptative par subdivision récursive, ce
surcoût du procédé de Richardson peut être pratiquement éliminé. En effet, après la construction de la petite
- 62 - X - Calcul d’une intégrale avec une précision fixée d’avance
subdivision initiale σ0 de [ a, b ], on peut écrire la suite de l’algorithme de manière à ne faire que 2 évaluations
de la quadrature Q par passage dans la boucle itérative. Pour cela, il suffit de remarquer que quand on va diviser
un sous-intervalle [ ak , ak+1 ] en ses 2 moitiés [ ak , ak+1/2 ] et [ ak+1/2 , ak+1 ], on ira ensuite estimer l’erreur de Q
sur chacune d’elles. Or, pour cela, on aura besoin des valeurs respectives de Q sur [ ak , ak+1/2 ] et [ ak+1/2 , ak+1 ],
lesquelles auront déjà été calculées lors de l’estimation de l’erreur de Q sur [ ak , ak+1 ]. Par conséquent, pour
estimer l’erreur de Q sur [ ak , ak+1/2 ], on aura juste besoin de calculer Q sur ses 2 moitiés [ ak , ak+1/4 ] et
[ ak+1/4 , ak+1/2 ]. Et travail analogue sur [ ak+1/2 , ak+1 ].
• A propos des algorithmes par contrôle de l’erreur relative d’intégration numérique.
Tous les algorithmes d’intégration numérique adaptative que nous avons présentés sont basés sur un contrôle
de l’erreur absolue d’intégration numérique, soit globale, soit locale. Cependant, pour chacun d’entre eux, il
est assez facile d’en écrire la version analogue utilisant plutôt le contrôle correspondant de l’erreur relative
d’intégration numérique. La règle générale est que si, à un stade d’un algorithme, E b est l’estimation de l’erreur
absolue calculée pour une valeur approchée Jb d’une intégrale donnée J, alors toute inégalité du type «| E
b | > tol»
b b
doit être transformée en «| E | > tol · | J |».
8◦ ) Pour terminer : une difficulté pratique qu’il faut gérer.
a) Le problème : intégrale difficile à calculer et taille de la subdivison σ.
Malgré les algorithmes présentés ci-dessus, il ne faut, cependant, pas se bercer d’illusions : il n’est pas possible
de concevoir un algorithme d’intégration numérique «universel», i.e. qui serait capable de calculer, dans un délai
de temps raisonnable, une valeur approchée satisfaisante de n’importe quelle intégrale définie.
En effet, il existe des intégrales définies à la fois incalculables à la main et très difficiles à approcher
numériquement. Cela ne signifie pas que pour ces intégrales là le Théorème D.IX.2-1 ne s’applique pas. Non,
[ a,b ],σ
c’est plutôt que, pour elles, la convergence énoncée dans (10.1), quand δσ −→ 0, de Q u, λ (f ) vers la vraie
valeur de l’intégrale I est extrêmement lente. Cela a pour conséquence que même pour une tolérance d’erreur
globale (ou locale) ErrTol > 0 pas trop petite, une subdivision σ de [ a, b ] réalisant (10.3a) ou (10.3b) (resp.
(10.3c) ou (10.3d)) doit avoir une taille N exhorbitante (peut-être de l’ordre de 106 , voire plus). On n’aura alors
peut-être pas le temps d’attendre devant l’écran de l’ordinateur que notre algorithme d’intégration numérique
arrive à identifier une subdivision d’une telle taille pour pouvoir calculer une valeur approchée de l’intégrale avec
la précision visée. Il vaut mieux alors inclure dans l’algorithme un mécanisme de contrôle pour identifier, aussi
vite que possible, qu’on est potentiellement dans ce genre de situation et alors arrêter l’exécution de l’algorithme.
Cela se fait souvent en introduisant, au début de l’algorithme, un entier naturel Nmax , «grand», représentant
la taille maximale que l’algorithme pourra tolérer, pendant son exécution, pour une subdivision de [ a, b ]. Alors,
selon le type d’algorithme d’intégration numérique utilisé, on a 2 cas de figure pour détecter son échec potentiel :
1. Cas d’un algorithme d’intégration numérique adaptative par subdivision récursive.
Dans ce cas, l’échec de l’algorithme sera décidé dès qu’il obtiendra, en cours d’exécution, une subdivision
σ de taille N > Nmax sans que le critère d’arrêt visé ne soit réalisé.
2. Cas d’un algorithme d’intégration numérique adaptative par subdivision séquentielle.
Ici, l’échec de l’algorithme pourrait être décidé dès qu’il aura intégré, dans la subdivision σ, un nœud
ak vérifiant : k = Nmax , mais ak < b. Mais il faut aussi tenir compte de ce qu’il y a ici des pas hk tentés
et rejetés. Or, pour les intégrales difficiles, ils seront nombreux et donc feront perdre beaucoup de temps
à l’algorithme. De ce fait, il vaut mieux arrêter l’algorithme lorsque le nombre total de pas déjà tentés
(acceptés ou rejetés) depuis le début (à a0 = a) a atteint Nmax alors qu’on est encore en un nœud ak < b.
Dans tous les cas, une fois son échec potentiel détecté, l’algorithme arrêtera son exécution en renvoyant un
message d’annonce de son échec dans la tentative de calcul d’une valeur approchée de l’intégrale I avec la
précision visée. Libre, ensuite, à l’utilisateur/trice :
– soit de relancer l’algorithme en augmentant Nmax , par exemple en le remplaçant par 2Nmax , mais attention
au risque réel (pour les raisons qu’on expliquera plus bas) qu’on puisse alors obtenir certains sous-intervalles
tellement petits qu’ils entraînent une amplification catastrophique des erreurs d’arrondi lors de l’exécution
de l’algorithme par ordinateur, et donc un résultat final aberrant ;
– soit il/elle abandonne cet algorithme pour voir s’il en existerait un, ou s’il ne serait pas possible d’en
élaborer un pour ce type spécifique d’intégrale, notamment compte tenu du comportement de la fonction
f le long de l’intervalle [ a, b ].
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 63 -
Par rapport à ce dernier point, il faut dire que beaucoup d’intégrales qui produisent le genre de difficulté
évoquée ici correspondent au cas de figure où la fonction f , bien que continue, prend des valeurs qui varient et/ou
oscillent très rapidement et très fortement dans une zone (au moins) de l’intervalle [ a, b ]. Et des algorithmes
d’intégration numérique spécifiques ont pu être développés pour gérer certaines de ces situations. Mais signalons
que, dans les cas les plus heureux, parfois un changement de variable approprié peut suffire pour transformer l’in-
tégrale à calculer I en une intégrale J, de même valeur, mais pour laquelle un algorithme standard d’intégration
numérique (comme ceux que nous avons présentés ci-dessus) pourra facilement calculer une valeur approchée
avec la précision visée.
Pour ce qui est de comment fixer la valeur de la taille maximale Nmax à imposer aux subdivisions manipulées
dans un algorithme d’intégration numérique, évidemment il est impossible de faire une recommandation générale
en la matière. Cela dépend de chacun(e), en tenant compte des capacités de la machine à sa disposition pour faire
les calculs et du temps qu’on est prêt à y consacrer. Pour les exemples traités ci-après, nous avons pris Nmax =
27027, mais ceci est donné juste pour information. Cependant, comme le/la lecteur/trice a pu le constater, aucune
allusion à Nmax n’a été faite dans la présentation des algorithmes d’intégration numérique décrits ci-dessus. Cela
a été fait ainsi pour simplifier la présentation de ces algorithmes. Néanmoins, les un(e)s et les autres doivent
être conscient(e)s que dans la programmation effective et systématique de ces algorithmes dans un langage de
programmation, il est plus que souhaitable, voire impératif, d’introduire un Nmax et de le gérer en conséquence
selon les considérations mises en évidence ci-dessus.
b) Cas des algorithmes d’intégration numérique adaptative par subdivison récursive.
En cas d’échec, les algorithmes d’intégration numérique adaptative par subdivison récursive présentent une
particularité intéressante (que n’ont pas ceux par subdivision séquentielle). En effet, rappelons que pendant son
exécution, un algorithme de ce type maintient, à tout instant, une subdivision de l’intervalle d’intégration [ a, b ].
De ce fait, même lorsqu’il échoue, il peut toujours renvoyer les résultats issus de la dernière subdivision σ de
[ a, b ] qu’il a construite, notamment l’approximation Ib correspondante de l’intégrale I, ainsi que l’estimation
d’erreur globale associée E. b Libre, ensuite, à l’utilisateur/trice de décider s’il/elle peut se contenter d’une telle
qualité d’approximation. Ou alors de simplement apprécier à quelle distance Ib se trouve de la vraie valeur de I.
c) Cas des algorithmes purement récursifs d’intégration numérique adaptative.
L’échec d’un algorithme purement récursif d’intégration numérique adaptative se manifeste souvent bien
avant que la taille N de la subdivision σ construite de [ a, b ] n’approche la valeur maximum fatidique Nmax
fixée d’avance. En effet, cela se manifeste souvent par le fait qu’un tel algorithme n’arrête pas de diviser un même
sous-intervalle [ ak , ak+1 ] dont il est parti, dans une succession d’appels récursifs imbriqués, précisément parce
qu’il n’arrive pas à atteindre la précision visée à chaque appel.
Or, il faut savoir que tous les ordinateurs ont une limite prédéfinie pour la taille de la pile de récursivité,
i.e. le nombre de fois qu’une fonction ou procédure récursive peut s’appeler elle même dans une succession
d’appels récursifs imbriqués. Et lorsque ce nombre atteind cette limite, le programme s’arrête tout simplement.
C’est pour cette raison que lors de la conception d’une fonction ou procédure récursive, si on n’est pas sûr
d’avance que le nombre d’appels récursifs imbriqués sera petit, il est recommandé d’introduire, dans l’en-tête
de la fonction ou procédure, un paramètre entier nRec indiquant, à l’exécution de chaque appel récursif, la
profondeur à laquelle cet appel aura été fait. Ce paramètre pourra partir de 0 au premier appel de la fonction ou
procédure, et être incrémenté de +1 dans chaque nouvel appel. Dans le programme principal, on aura introduit
une constante maxRec, valeur maximale possible de nRec. Ainsi, dès que nRec atteind la valeur maxRec au cours
d’une succession d’appels récursifs imbriqués sans que la chaîne de récursivité en cours ne soit terminée (i.e. un
nouvel appel récursif doit être fait), on force l’arrêt de la chaîne et on arrête le programme en renvoyant un
message d’erreur.
Pour, là aussi, simplifier la présentation, on n’a pas tenu compte des considérations précédentes dans nos
algorithmes purement récursifs d’intégration numérique présentés ci-dessus. Ceci est OK pour la plupart des
intégrales. Mais pour anticiper le cas des intégrales difficiles dont il est question ici, il faut bel et bien introduire
maxRec et nRec lors de la programmation effective de ces algorithmes. Ainsi, nous avons fixé maxRec = 30.
Toutefois, dans ce cas, vu qu’il y a déjà une limite globale Nmax sur la taille possible de la subdivision σ de
[ a, b ] à construire, nous déconseillons d’arrêter l’exécution de l’algorithme parce que nRec aura atteint la valeur
maxRec dans un appel sur un sous-intervalle [ ak , ak+1 ]. Arrêter seulement la chaîne récursive en cours en ne
divisant pas [ ak , ak+1 ], mais en renvoyant la valeur de la quadrature élémentaire sur cet intervalle. Evaluer
- 64 - X - Calcul d’une intégrale avec une précision fixée d’avance
s’il y a échec ou pas uniquement à la fin de l’algorithme global et selon le même critère que pour tout autre
algorithme d’intégration numérique adaptative par subdivison récursive. Et, en cas d’échec final, tenir compte
des considérations de la sous-section précédente pour la sortie des résultats.
d) Un exemple illustratif.
∫ 6
Soit I = cos(x4 ) dx. C’est une intégrale incalculable analytiquement. D’où l’idée d’essayer d’approcher
1
sa valeur numériquement. Mais on se rend rapidement compte qu’elle met en sérieuse difficulté, voire en échec,
certains algorithmes d’intégration numérique standard auxquels on la soumet. Ceci est illustré par les résultats
du Tableau 1. Le fait que le résultat de l’avant-dernière ligne soit totalement différent (même le signe !!! ) de
ceux des autres lignes est une indication que quelque chose ne va pas dans ces résultats 5 .
quad. quad.
algorithmes ErrTol approx. de I N éval.f temps
base Q1 aux. Q2
Q1 : −0, 108 281 453 537 349 0
réc-V1.G Q Leg, 5 Q Lob, 6 10−14 Q2 : −0, 108 281 453 537 356 6 1 085 23 793 2, 03s
b
I : −0, 108 281 453 537 352 5
Q1 : −0, 108 281 453 537 437 9
réc-V1.L Q Leg, 5 Q Lob, 6 10−14 Q2 : −0, 108 281 453 537 249 1 1 422 31 207 3, 35s
Ib : −0, 108 281 453 537 352 1
Q1 : −0, 348 774 811 887 770 4
27 027
réc-V2.G Q Leg, 5 Q Lob, 6 10−14 Q2 : −0, 143 905 979 978 987 4 594 583 15, 82s
(Echec)
b
I : −0, 255 652 615 565 596 3
Q1 : −0, 108 281 453 537 427 9
réc-V2.L Q Leg, 5 Q Lob, 6 10−14 Q2 : −0, 108 281 453 537 259 1 1 451 31 911 0, 77s
b
I : −0, 108 281 453 537 351 2
Q1 : −0, 108 281 453 537 427 8
1 208
séq. (a −→ b) Q Leg, 5 Q Lob, 6 10−14 Q2 : −0, 108 281 453 537 264 3 20 658 0, 49s
(670)
b
I : −0, 108 281 453 537 353 5
Q1 : −0, 108 281 453 537 372 4
1 205
séq. (b −→ a) Q Leg, 5 Q Lob, 6 10−14 Q2 : −0, 108 281 453 537 322 8 20 339 0, 60s
(644)
b
I : −0, 108 281 453 537 349 9
Mathca 3.1 -V1 ??? ??? default Ib : 0, 046 615 467 689 455 34 ??? ??? 0, 06s
Mathca 3.1 -V2 ??? ??? default Ib : −0, 108 281 453 537 352 9 ??? ??? 0, 38s
∫ 6
Table 1 – Calcul numérique approché de I = cos(x4 ) dx par diverses méthodes
1
En examinant le graphique de la fonction f (x) = cos(x4 ) sur [ 1, 6 ] dans la Figure 1, on détecte tout de suite
la cause de ces difficultés : les oscillations de plus en plus rapides de la fonction f plus on s’éloigne de l’abscisse
x = 1 en allant vers la droite, et qui rendent le graphique carrément illisible après x = 4. Pour comprendre
l’origine de ce phénomène, notons que les minima/maxima de f ont lieu aux abscisses x telles f (x) = ±1, et
2 telles abscisses consécutives sont de plus en plus proches l’une de l’autre plus x augmente. Graphiquement,
5. Tous les algorithmes ont été programmés dans Mathematica 3.1. Dans les tableaux, la ligne «Mathca 3.1 -V1» donne le résultat
de la fonction NIntegrate de Mathematica 3.1 avec les options par défaut. La ligne « Mathca 3.1 -V2 » donne le résultat de cette
même fonction avec les options par défaut, sauf MaxRecursion (qui correspond à notre maxRec) pris égal à 10 au lieu de la valeur
par défaut 6. D’autre part, notons que Q Leg, 5 et Q Lob, 6 sont 2 quadratures élémentaires d’ordre 9. Pour une meilleure précision et
une convergence plus rapide des algorithmes, on aurait pu prendre des quadratures élémentaires d’ordre plus grand. Mais on ne l’a
pas fait pour des besoins illustratifs, car alors les résultats de tous les algorithmes auraient été quasi identiques et la comparaison
entre eux de peu d’intérêt.
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 65 -
ceci se traduit par le fait que, quand on évolue vers la droite, la courbe de f présente ce qui ressemble de plus
en plus à des pics, et de plus en plus rapprochés pour 2 consécutifs d’entre eux. D’où ces oscillations rapides qui
peuvent donner l’impression à un algorithme d’intégration numérique essayant de calculer une valeur approchée
de I qu’il a affaire à une fonction non dérivable et ayant une multitude de points de non dérivabilité (les minima
et maxima de f ). Et ce malgré que f soit bien dérivable, et même de classe C ∞ , sur l’intervalle [ 1, 6 ].
Cette apparente non dérivabilité (pour le domaine discret qu’est la mémoire de l’ordinateur) ne correspond pas
aux conditions requises pour qu’un tel algorithme puisse performer valablement. Ceci vient de ce que l’algorithme
ne peut alors pas estimer correctement l’erreur d’intégration numérique sur les sous-intervalles de [ 1, 6 ] contenant
ces abscisses de non dérivabilité apparente de la fonction. En effet, dans la Partie VIII , on a pu constater que
chaque technique d’estimation de l’erreur locale d’intégration par une quadrature élémentaire s’appuye sur une
hypothèse de dérivabilité de la fonction f jusqu’à l’ordre r + 2, où r ∈ IN est l’ordre de cette quadrature. Ainsi,
lorsque cette hypothèse n’est pas concrètement vérifiée en mémoire d’ordinateur, l’approximation de l’erreur
d’intégration produite par cette technique sera systématiquement peu crédible, et il en sera donc de même de
la valeur approchée de I résultant d’un algorithme d’intégration numérique utilisant ce genre de technique
d’estimation de l’erreur locale d’intégration. D’où la nécessité, pour un algorithme d’intégration numérique, de
diviser [ 1, 6 ] en des sous-intervalles suffisamment petits, et donc en grand nombre, soit ne contenant pas ces
pics, soit en ayant un comme borne. Ceci pour obtenir des estimations d’erreurs locales valables et petites.
Mais en fait, dans les résultats du Tableau 1, un seul de nos algorithmes a réellement raté la cible (ligne
réc-V2.G) : l’Algorithme A-3. Cependant, lorsqu’on impose la tolérance d’erreur absolue ErrTol = 10−13 et
non ErrTol = 10−14 , on obtient plutôt les résultats du Tableau 2, lesquels sont d’une précision comparable
à celles obtenues dans le Tableau 1 pour tous nos autres algorithmes. Ceci semble indiquer que l’échec total
de l’Algorithme A-3 pour ErrTol = 10−14 est lié au fait que les fortes oscillations de f décrites ci-dessus
ne permettent pas un calcul approché de l’intégrale I avec une tolérance d’erreur visée aussi petite. Ceci est
dû au problème des inévitables erreurs d’arrondi dans les calculs par ordinateur sur les nombres réels. Ainsi,
on a là une manifestation concrète du problème de l’antagonisme des erreurs en Analyse numérique : vouloir
réduire l’erreur d’intégration numérique en dessous du seuil ErrTol = 10−14 a entraîné une explosion de l’effet
des erreurs d’arrondi sur le résulat de l’approximation de I, rendant ce résultat totalement aberrant.
quad. quad.
algorithme ErrTol approx. de I N éval.f temps
base Q1 aux. Q2
Q1 : −0.108 281 453 537 349 8
réc-V2.G Q Leg, 5 Q Lob, 6 10−13 Q2 : −0.108 281 453 537 349 1 5 452 119 933 3, 57s
Ib : −0.108 281 453 537 349 5
∫ 6
Table 2 – Calcul numérique approché de I = cos(x4 ) dx par l’Algorithme A-3 avec ErrTol = 10−13
1
Cela dit, dans le cas présent, il est facile d’identifier la source de ces oscillations rapides de la fonction f
sur [ 1, 6 ]. Elles proviennent de ce que la fonction continue φ(x) = x4 croît très rapidement à droite de l’abscisse
x = 1. Et comme le cosinus oscille entre −1 et 1 entre 2 multiples entiers du nombre π, alors la fonction
composée f (x) = cos [ φ(x) ] affiche le type de comportement oscillatoire observé dans la Figure 1. Maintenant,
cela suggère que pour éliminer ces oscillations rapides dans l’intégrale I, il suffit d’y effectuer le changement de
variable θ = x4 . Ceci transforme I en l’intégrale définie de même valeur :
∫ 1296
cos θ
J= g(θ) dθ, avec g(θ) = et 1296 = 64 .
1 4 · θ 3/4
Le graphe de la fonction g sur [ 1, 150 ] apparaît dans la Figure 2. On s’est arrêté à x = 150 pour bien faire voir
l’allure de la courbe (laquelle se prolonge ainsi jusqu’à θ = 1296). On y voit certes g osciller sur cet intervalle,
mais ces oscillations n’ont pas la rapidité de fréquence de celles de f sur [ 1, 6 ], car la distance entre 2 extrema
consécutifs de g est constante (= π). Mieux même : l’amplitude de ces oscillations décroît vers 0 quand θ −→ ∞.
Dans ces conditions, il faut s’attendre à ce que tout algorithme d’intégration numérique crédible soit en mesure
de calculer la valeur de J (qui est donc aussi celle de I) avec une excellente précision. Cela semble confirmé par
les résultats du Tableau 3.
En définitive, on peut conclure que : I = J ≃ −0, 108 281 453 537 35 ± 5 · 10−15 .
- 66 - X - Calcul d’une intégrale avec une précision fixée d’avance
1.0
0.5
f(x)
0.0
−0.5
−1.0
1 2 3 4 5 6
−0.15
0 50 100 150
x
cos θ
Figure 2 – Courbe de la fonction g(θ) = sur [ 1, 150 ].
4 · θ3/4
Un phénomène a priori surprenant peut être observé dans le calcul numérique approché des 2 intégrales I et
J : à chaque fois, les 2 algorithmes par subdivision séquentielle ont convergé plus vite que ceux par subdivision
récursive. Ceci traduit le fait que les 1ers ont été beaucoup moins affectés par le caractère oscillatoire de la
fonction à intégrer que les 2nds .
Ceci est une observation concrète d’ordre général : un algorithme d’intégration numérique adaptative par
subdivision séquentielle peut s’en sortir et arriver à calculer une valeur approchée acceptable d’une intégrale
comme I ci-dessus, dans un temps raisonnable, pourvu qu’on l’autorise à effectuer un nombre maximal Nmax
de pas (rejetés ou acceptés) suffisamment grand pendant son exécution par ordinateur. Ceci est en contraste
avec les algorithmes par subdivision récursive qui, eux, donnent parfois l’impression d’être perdus face à ce type
d’intégrale. Les raisons derrière cette double observation, apparemment inattendue, peuvent se voir comme suit :
1. En intégrant les nœuds dans la subdivision en allant de la gauche vers la droite (ou de la droite vers
la gauche) de l’intervalle d’intégration, un algorithme d’intégration numérique adaptative par subdivision
INTEGRATION NUMERIQUE (ND/NG, 9 septembre 2018) - 67 -
quad. quad.
algorithmes ErrTol approx. de J N éval.f temps
base Q1 aux. Q2
Q1 : −0, 108 281 453 537 359 7
réc-V1.G Q Leg, 5 Q Lob, 6 10−14 Q2 : −0, 108 281 453 537 337 9 940 20 603 1, 65s
b
J : −0, 108 281 453 537 349 8
Q1 : −0, 108 281 453 537 334 6
réc-V1.L Q Leg, 5 Q Lob, 6 10−14 Q2 : −0, 108 281 453 537 370 2 1 669 36 641 4, 56s
b
J : −0, 108 281 453 537 350 8
Q1 : −0, 108 281 453 537 350 9
réc-V2.G Q Leg, 5 Q Lob, 6 10−14 Q2 : −0, 108 281 453 537 350 9 2 884 63 437 2, 25s
Jb : −0, 108 281 453 537 350 9
Q1 : −0, 108 281 453 537 321 9
réc-V2.L Q Leg, 5 Q Lob, 6 10−14 Q2 : −0, 108 281 453 537 385 9 1 326 29 161 0, 99s
b
J : −0, 108 281 453 537 351 0
Q1 : −0, 108 281 453 537 425 8
1 206
séq. (a −→ b) Q Leg, 5 Q Lob, 6 10−14 Q2 : −0, 108 281 453 537 261 5 20 405 0, 61s
(649)
Jb : −0, 108 281 453 537 351 1
Q1 : −0, 108 281 453 537 384 8
1 208
séq. (b −→ a) Q Leg, 5 Q Lob, 6 10−14 Q2 : −0, 108 281 453 537 317 3 (659) 20 537 0, 72s
Jb : −0, 108 281 453 537 354 2
Mathca 3.1 -V1 ??? ??? default Jb : −0, 108 281 454 0987 876 3 ??? ??? 0, 27s
Mathca 3.1 -V2 ??? ??? default Jb : −0, 108 281 453 537 894 0 ??? ??? 0, 28s
∫ 1296
cos θ
Table 3 – Calcul numérique approché de J = dθ par diverses méthodes
1 4 · θ3/4
séquentielle va gérer les éventuelles singularités (numériques) 6 de la fonction essentiellement une à la fois.
Il traite la difficulté relative à l’une avant d’avancer, et donc de la laisser derrière « pour de bon », avant
d’arriver à la suivante, s’il y en a. Et, du fait du processus d’acceptation-rejet des pas, une singularité
numérique va se retrouver comme nœud de la subdivision σ finale, et donc jamais comme point intérieur
d’un σ–sous-intervalle.
6. Pour faire simple, une singularité d’une fonction f relativement à un intervalle [ a, b ] est un nombre réel x0 ∈ [ a, b ] en
lequel, même en changeant la valeur de f en x0 :
– soit f n’est pas continue et ne peut pas être prolongée par continuité en x0 (relativement à [ a, b ]) ;
– soit f est continue, mais f n’est pas dérivable (relativement à [ a, b ]).
Maintenant, une singularité numérique de f est un réel x0 ∈ [ a, b ] qui, bien que n’étant pas une singularité de f au sens de la
définition ci-dessus, se comporte pourtant, dans les calculs sur f par ordinateur, comme s’il en était une. L’existence de ce genre de
point pour certaines fonctions est causée par la précision limitée de l’ordinateur, due au fait que sa mémoire est un domaine discret
et fini, ne pouvant donc stocker qu’un certain nombre fini de chiffres significatifs d’un nombre réel donné.
- 68 - X - Calcul d’une intégrale avec une précision fixée d’avance
Références
[1] Abramowitz, M. and Stegun, A. (1964). Handbook of Mathematical Functions With Formulas, Graphs, and
Mathematical Tables, NBS Applied Mathematics Series 55, National Bureau of Standards, Washington, DC.
[2] Crouzeix, M. and Mignot, A.L. (1984). Analyse numérique des équations différentielles, Masson, Paris.