### 4.3.4 Calcul approché d’intègrales par une quadrature de Gauss adaptative à 15 points : gaussquad

gaussquad a comme arguments : une expression Xpr, le nom de la variable de cette expression (par défaut x), et deux valeurs a,b.
gaussquad(Xpr,x,a,b) calcule de façon approchée l’intégrale ∫ab Xpr dx par une méthode adaptative (Ernst Hairer) utilisant des quadratures de Gauss à 15 points (méthode d’ordre 30). On commence par faire la quadrature à 15 points sur l’intervalle [a,b] tout entier et on estime l’erreur par une méthode emboitée (à 14 et 6 points choisis parmi les 15 points), si l’erreur relative1 est inférieure à la tolérance, l’algorithme s’arrête. Sinon on divise [a,b] en deux, et on calcule la quadrature sur chaque morceau, on estime l’erreur, si on dépasse la tolérance on divise en deux l’intervalle amenant l’erreur la plus grande, et ainsi de suite, on divise toujours en deux l’intervalle amenant l’erreur la plus grande, jusqu’à ce que l’erreur relative soit plus petite que la tolérance ou que le nombre de subdivisions dépasse le nombre maximal de subdivisions autorisées.
On tape :

gaussquad(exp(x`^`2),x,0,1)

On obtient :

1.46265174591

On tape :

gaussquad(exp(-x`^`2),x,-1,1)

On obtient :

1.49364826562