On en déduit \[
\widehat I
= \int_{-1}^{1} \widehat u(x) \, \mathrm dx
= \sum_{i=1}^n w_i u(x_i),
\qquad \text{avec} \qquad
w_i := \int_{-1}^{1} \varphi_i(x) \, \mathrm dx.
\]
Poids de Newton-Cotes par calcul formel
usingSymPy@vars xnodes(n) = Sym[-1+2i//n for i in0:n]lagrange(nodes, i) =prod(x .- nodes[1:end.!= i]) /prod(nodes[i] .- nodes[1:end.!= i]) for n ∈ (1,2,4) nd =nodes(n) ; println("**********") ; @show n ; println(nd)println([integrate(lagrange(nd, i),(x, -1, 1)) for i ∈eachindex(nd)])end
On suppose \(u \in \mathcal{C}^2([a, b])\) et \(\widehat I_h\) désigne l’approximation trapézoïdale de l’intégrale \(I\) de \(u\). On a alors \[
\bigl\lvert I - \widehat I_h \bigr\rvert
\leqslant\frac{b-a}{12} C_2 h^2,
\qquad
C_2 := \sup_{\xi \in [a, b]} \lvert u''(\xi)\rvert
\]
Règle de Simpson composite
Construction de la règle
\(n+1\) nœuds équidistants \(a=x_0< x_1< \dotsc < x_n=b\), pas \(h=\frac{b-a}{n}\)
\(n\) pair ⇒ nombre pair d’intervalles et nombre impair de nœuds
importPlotsusingLaTeXStringsu(x) =cos(x) ; a, b =0, π/2 ; I =1.0functioncomposite_trapezoidal(u, a, b, h) n =Int((b-a)/h) x =LinRange(a, b, n +1) ux =u.(x)return (h/2) *sum([ux[1]; ux[end]; 2ux[2:end-1]])endJ(h) =composite_trapezoidal(u, a, b, h)J₁(h) = (4J(h) -J(2h))/3J₂(h) = (16J₁(h) -J₁(2h))/15J₃(h) = (64J₂(h) -J₂(2h))/63hs = (b-a) *2.0.^(-8:-3)colors = Plots.palette(:default)Plots.plot(hs, 0.1hs.^2, color=colors[1])Plots.scatter!(hs, abs.(1.-J.(hs)), color=colors[1], label=L"|I - J(h)|~~~O(h^2)")Plots.plot!(hs, .005hs.^4, color=colors[2])Plots.scatter!(hs, abs.(1.-J₁.(hs)), color=colors[2], label=L"|I - J_1(h)|~~~O(h^4)")Plots.plot!(hs, .0025hs.^6, color=colors[3])Plots.scatter!(hs, abs.(1.-J₂.(hs)), color=colors[3], label=L"|I - J_2(h)|~~~O(h^6)")Plots.plot!(hs, .003hs.^8, color=colors[4])Plots.scatter!(hs, abs.(1.-J₃.(hs)), color=colors[4], label=L"|I - J_3(h)|~~~O(h^8)")Plots.plot!(xlabel="h", ylabel="erreur relative", xaxis=:log, yaxis=:log, size=(900,450), color=colors[1])Plots.plot!(bottom_margin=10Plots.mm, left_margin=4Plots.mm, legend=:bottomright)Plots.xticks!((b-a)*2.0.^(-8:-3), [latexstring("\\frac{b-a}{2^{$(i)}}") for i in8:-1:3])
Méthode avec nœuds non-équidistants : Gauss-Legendre
Intégration de Newton-Cotes ⇒ nœuds fixés, seuls degrés de liberté = poids
Pour atteindre un degré de précision de \(2n+1\) avec Newton-Cotes, il faut \(2n+2\) nœuds
Si on optimise aussi les nœuds, on peut espérer un degré de précision de \(2n+1\) avec \(n+1\) nœuds et \(n+1\) poids soit \(2n+2\) d.d.l. \[
\sum_{i=0}^{n} w_i x_i^{d} = \int_{-1}^{1} x^d \, \mathrm dx, \qquad d = 0, \dotsc, 2n+1.
\]
Gram-Schmidt sur les polynômes \(1\), \(X\), \(X^2\), … ⇒ polynômes orthogonaux de Legendre \(L_n\) (à une constante multiplicative près)
Racines \((r_i)_{(0≤i≤n)}\) de \(L_{n+1}\) (scindé à racines simples dans \(]-1,1[\)) ⇒ les formes linéaires \(P↦P(r_i)\) forment une base de \({\mathbb{{R}}}_n[X]^*\)
Il existe donc \(n+1\) poids tels que \(\int_{-1}^{1} P(x) \, \mathrm dx=\sum_{i=0}^{n} w_i P(r_i)\) pour tout \(P \in{\mathbb{{R}}}_n[X]\)
La formule reste vraie si \(P \in{\mathbb{{R}}}_{2n+1}[X]\)
Extensions de l’intégration gaussienne
Intégrale avec pondération \(w(x)\)\[
\int_{-1}^{1} P(x) {\color{red}w(x)} \, \mathrm dx=\sum_{i=0}^{n} w_i P(r_i)
\qquad
\forall P \in{\mathbb{{R}}}_{2N+1}[X]
\]
Démarche identique à Gauss-Legendre avec le produit scalaire \[
\begin{array}{rccl}
⟨•,•⟩ :&
\mathcal{C}([a,b])×\mathcal{C}([a,b])&→&{\mathbb{{R}}}\\
&(f,g)&↦&⟨f,g⟩=\int_{x=-1}^1 f(x) g(x) {\color{red}w(x)} \mathrm dx
\end{array}
\]
Domaine d’intégration
Pondération \(w(x)\)
Famille de polynômes orthogonaux
\([–1, 1]\)
1
Legendre
\(]–1, 1[\)
\((1-x)^α (1+x)^β\), \(α,β>-1\)
Jacobi
\(]–1, 1[\)
\(\frac{1}{\sqrt{1-x^2}}\)
Tchebychev (premier type)
\(]–1, 1[\)
\(\sqrt{1-x^2}\)
Tchebychev (second type)
\({\mathbb{{R}}}^+\)
\(\mathop{\mathrm{e}}^{-x}\)
Laguerre
\({\mathbb{{R}}}\)
\(\mathop{\mathrm{e}}^{-x^2}\)
Hermite
References
Quarteroni, A., Sacco, R., Saleri, F., 2007. Numerical mathematics, 2nd ed. ed, Texts in applied mathematics. Springer, Berlin ; New York.