Retour à la page personnelle de Bernard Parisse.

# Chapitre 10 Exercices d’Analyse niveau licence 1 et 2

## 10.1 Calculs d’aire et de de volume

### 10.1.1 Aire d’une couronne circulaire

Calculer l’aire d’une couronne circulaire de rayons r,R avec r<R.

Soient (Γ) le cercle de rayon R et (γ) celui de rayon r.
La réponse est simple et ne dépend que de la longueur 2l des cordes de (Γ) tangentes à (γ) et on a :

Sc=π(R2−r2)=π l2

### 10.1.2 Aire d’une calotte sphérique

Calculer l’aire d’une calotte sphérique découpée par un plan P située à une distance d du centre O d’une sphère de rayon R.

On choisit comme l’origine du repère en O et l’axe des z perpendiculaire au plan P et on pose :
z=√R2−x2−y2 donc
z′x=−x/2√R2−x2−y2
z′y=−y/2√R2−x2−y2
et dσ=√1+z′x2+z′y2dx dy=R/√R2−x2−y2 avec (x,y)∈ D D etant la projection de la calotte sur 0x,Oy i.e disque d’équation x2+y2≤ R2−d2 Donc:
S=∫∫Ddσ=∫02π∫0R2−d2R/√R2−r2rdr
S=2π R(√R2−0−√R2−(R2−d2)=2π R(R−d)
Donc :

S=2π R(R−d)

### 10.1.3 Aire latérale d’un tonneau qui est une sphére sans ses 2 calottes sphériques

D’après ce qui précéde , on a :
Aire d’une sphère : 4π R2
Aire des 2 calottes : 4π R(R−d)
L’aire latérale du tonneau est donc :

4π Rd

### 10.1.4 Volume d’une calotte sphérique

Calculer le volume d’une calotte sphérique découpée par un plan P située à une distance d du centre O d’une sphère de rayon R.

On choisit comme l’origine du repère en O et l’axe des z perpendiculaire au plan P et on pose :
x=rcos(t) donc dx=−rsin(t)dt+cos(t)dr
y=rsin(t) donc dy=rcos(t)dt+sin(t)dr
z=z donc dz=dz
donc dV==rdr.dt.dz
Donc

Volc=

∫

2π
0

dt.

∫

R
d

∫

√

R2−z2

0

rdrdz

On tape :
`int(1,t,0,2pi)*int(int(r,r,0,sqrt(R```^```2-z```^```2)),z,d,R)`
On obtient :
`2*pi*(-1/2*R```^```2*d-(-1)/6*d```^```3+1/3*R```^```3)`
Donc :
Vc=2π(−1/2R2d+1/6d3+1/3R3)
Vc=π/3(2R3−3R2d+d3)
On tape : `factor(2R```^```3-3R```^```2*d+d```^```3)`
On obtient : `(R-d)```^```2*(2*R+d)`
Donc

Vc=

π
3

(R−d)2*(2R+d)

### 10.1.5 Volume d’un tonneau qui est une sphére sans ses 2 calottes sphériques

D’après ce qui précéde , on a :
Volume d’une sphère : 4π R3/3
Volume des 2 calottes : 2π/3(2R3−3R2d+d3)
Le volume du tonneau est donc :
frac2π3d(3R2−d2)

### 10.1.6 Un calcul de volume

On fait un trou cylindrique dans une sphère de centre O et de rayon R, l’axe du cylindre passe par O et le cylindre a comme hauteur 2*d.
Calculer le volume de cette sphère percée.
1ière méthode
On suppose que l’on sait qu’une une sphère de rayon R a pour volume :

Vs=

4
3

π R3

et que le volume d’une calotte sphérique située à une distance d du centre O d’une sphère de rayon R est :

Vc=2π(−

1
2

R2d+

1
6

d3+

1
3

R3)

Calculons le volume du trou qui est composé :

- d’un cylindre de hauteur 2d et de rayon r=√R2−d2,
- de deux calottes sphériques situées à une distance d de O.

Donc d’après le calcul précédent :

Vt=2π r2d+4π(−

1
2

R2d+

1
6

d3+

1
3

R3)

On tape :
`Vs:=4*pi*R```^```3/3`
`Vt:=2*pi*r```^```2*d+2*2*pi*(-1/2*R```^```2*d-(-1)/6*d```^```3+1/3*R```^```3)`
`simplify(subst(simplify(Vs-Vt),r```^```2,R```^```2-d```^```2))`
On obtient :
`(4*d```^```3*pi)/3`
Donc la sphère trouée (en rouge) a le même volume qu’une sphère de rayon d (en jaune) où 2d est la hauteur du cylindre (en bleu) :

Vs−Vt=

4
3

π d3

2ième méthode
On calcul le volume restant en coupant par des plans parallèles à Oxy.

Un plan de cote z coupe le volume restant selon une couronne de rayons r et Rz avec Rz=√R2−z2 et r=√R2−d2.
La surface de cette couronne est donc : Sc=π(Rz2−r2)=π(R2−z2−(R2−d2)=π(d2−z2) On a donc :
Vs−Vt=∫−ddπ(d2−z2)dz
On tape :
`simplify(int(pi*(d```^```2-z```^```2),z,-d,d))`
On obtient : `4/3*d```^```3*pi`
Donc :

Vs−Vt=

4
3

π d3

### 10.1.7 Les théorèmes de Guldin

#### Le premier théorème de Guldin

Soit AB un arc du plan Ox,Oy de longueur L et supposons que Ox ne coupe pas l’arc AB.
Le centre de gravité G=xG,yG) de AB a pour coordonnées :
xG=∫ABxds/L
yG=∫AByds/L
avec si x(t),y(t) décrit AB on a ds2=dx2+dy2 et L=∫ABds
Théorème
En tournant autour de Ox l’arc AB engendre une surface de révolution dont l’aire est :

S=2yG*L

#### Le second théorème de Guldin

Soit P une surface du plan Ox,Oy d’aire S et supposons que Ox ne coupe pas la surface P.
Le centre de gravité G=xG,yG) de P a pour coordonnées :
xG=1/S∫∫Px dxdy
yG=1/S∫∫Py dxdy
avec S=∫∫P dxdy
Théorème
En tournant autour de Ox la surface D engendre un solide de révolution dont le volume est :

V=2yG*S

#### Applications

Les applications sont de 2 sortes :

- cela peut permettre de déterminer G si S (ou V) est connu par exemple trouver le centre de gravité d’un demi-disque
- cela peut permettre de déterminer S (ou V) si G est connu par exemple trouver la surface et le volume d’un tore

Surface et volume d’un tore :
Soit un tore T d’axe Δ et de rayons r1=a−r et r2=a+r avec a>r (le cercle générateur a comme rayon r et la distance de son centre à Δ vaut a).
Donc T est engendré en faisant tourner autour de Ox par le cercle :
x=rsin(t),y=a+rcos(t) avec a>r et t∈ [0,2π].
L’ordonnée du centre de gravite du cercle est donc yG=a
Par le calcul on bien
yG=1/l/∫02π(a+rcos(t))*rdt=2*a*r/(2π r)=a.
Donc l’aire d’un tore de rayons r1=a−r r2=a+r (avec a>r) est :
S=(2π a)*(2π r)= 4π2*a*r)
comme a=(r1+r2)/2 et r=(r2−r1)/2 on a :

S=π2(r22−r12)

Le disque D a pour équation :
x=rsin(t),y=a+rcos(t) avec a>(r2−r1)/2, 0<r<((r2−r1)/2 et t∈ [0,2π].
En tournant autour de Ox, le disque D engendre un tore de rayons r1=a−r et r2=a+r.
Le centre de gravité du disque D est le centre de D donc :
yG=a et l’aire de D est S=r2,
donc le volume du tore est :

V=2π yG π r2=2π2ar2=π2(r22−r12)(r2−r1)/4

### 10.1.8 La formule des 3 niveaux

Soit un solide de volume :
V=∫ab S(z) dz
où S(z) est la surface de la section par le plan de cote z.
Si S(z) est un polynôme en z de degré au plus 3 alors :

V=

(b−a)
6

(S(a)+4S(

a+b
2

)+S(b))

En effet :
si S(z)=zn on a :
In=∫ab S(z) dz=1/n+1(bn+1−an+1)
pour n=0 on a S(z)=1 donc on a I0=b−a=(b−a)/6(1+4*1+1)=(b−a)/6(S(a)+4S(a+b/2)+S(b))
pour n=1 on a S(z)=z donc on a I1=1/2(b2−a2)=(b−a)/6(a+4a+b/2)+b))=(b−a)/6(S(a)+4S(a+b/2)+S(b))
pour n=2 on a S(z)=z2 donc on a I2=1/3(b3−a3)=(b−a)/6(a+4a2+2ab+b2/4)+b2)=(b−a)/6(S(a)+4S(a+b/2)+S(b))
pour n=3 on a S(z)=z3 donc on a I3=1/4(b4−a4)=1/4(b−a)(a3+a2b+ab2+b3=(b−a)/6(a3+4S(a3+3a2b+3ab2+b3)/8)+b3)=(b−a)/6(S(a)+4S(a+b/2)+S(b))
Cette formule est en fait la formule de Simpson pour le calcul de l’aire sous une courbe, formule qui est exacte pour les polynômes de degré inférieur ou égal à 3.
Remarque 1
Dans le commerce les flacons ont souvent la taille fine : c’est pour les avoir bien en main mais aussi pour donner aussi l’illusion d’un grand volume, puisque la section médiane compte 4 fois !!!
Remarque 2
On peut avoir facilement le volume du tonneau (sphère sans ses 2 calottes car S(z)=π(R2−z2) :
V=2d/6(π(R2−d2)+4π R2+π(R2−d2))=π/3d(6R2−2d2)
On retrouve bien ;

V=

2π
3

d(3R2−d2)

## 10.2 La moyenne arithmétique, géométrique et harmonique

### 10.2.1 La définition

Soient a1, a2...an, n réels positifs (n≥ 2) et on pose :
u=1/n(a1+a2+...+an)
v=(a1a2...an)1/n
n/w=1/a1+1/a2+....+1/a1
u est la moyenne arithmétique des nombres a1, a2...an.
v est la moyenne géométrique des nombres a1, a2...an.
w est la moyenne harmonique des nombres a1, a2...an.

### 10.2.2 L’énoncé

Montrer que pour tout x>0 on a : ln(x) ≤ x−1
Montrer que : v≤ u (on utilisera l’inégalité précédente pour x=ak/u et pour k=1..n).
En déduire que w≤ v
Dans quel cas a-t-on v=u ?
Dans quel cas a-t-on v=w ?
Applications

- En prenant a1=1 et a2=x en déduire que :
  2x/x+1 ≤ √x ≤ 1+x/2
  On prend comme valeur approchée de √x , la moyenne arithmétique des nombres 2x/x+1 et 1+x/2. Évaluer la précision de cette approximation lorsque 1/2≤ x≤ 2 lorsque l’on sait que 1.414<√2.<1.415
- Montrer que pour tout n on a (n!)1/n≤ 1+n/2.
  Montrer que 1−1/x≤ ln(x)≤ x−1 et en déduire que :
  ∑k=1n1/k≤ 1+ln(n) et n/1+ln(n)≤ (n!)1/n

### 10.2.3 La solution

Montrons que : v≤ u pour cela montrons que : ln(v/u)≤ 0.
On a :
ln(v/u)=1/nln(a1a2...an)/u)= 1/n(ln(a1/u)+ln(a2/u)+...+ln(an/u))
Puisque ln(x)≤ x−1 pour tout x>0, on a :
ln(a1/u)≤ a1/u−1, ln(a2/u)≤ a2/u−1, ..., ln(an/u)≤ an/u−1
Donc
1/nln(a1a2...an/u) ≤ (a1+a2+...+an)/nu−1=0
Donc v≤ u
Montrons que : w≤ v
D’après ce qui précéde en appliquant l’inégalité à bk=1/ak on a :
1/(a1a2...an)1/n=1/v≤ 1/n(1/a1+1/a2+....+1/a1)=1/w
donc puisque v>0 et w>0 on en déduit que :
w≤ v.
Quand a-t-on u=v ?
Si x>0 et x≠ 1, on a ln(x)< x−1 et
ln(x)= x−1 si et seulement si x=1 donc
ln(v/u)=0 si et seulement si a1/u=1, ...., an/u=1 c’est à dire si a1=a2....=an.
Quand a-t-on w=v ?
Comme on a appliqué l’inégalité à bk=1/ak on a :
w=v si et seulement si b1=b2=...=bn c’est à dire si a1=a2...=an.

Applications

- En prenant a1=1 et a2=x on a :
  u=1+x/2 , v=√x et 2/w=1+1/x donc w=2x/x+1 et
  2x/x+1≤ √x ≤ 1+x/2
  On approche √x par x/x+1+1+x/4=x2+6x+1/4(x+1).
  On cherche à évaluer h(x)=x2+6x+1/4(x+1)−√x pour 1/2≤ x≤ 2.
  Avec `Xcas`, on tape :
  `h(x):=(x```^```2+6x+1)/(4x+4)-sqrt(x)`
  `g:=function_diff(h)`
  `N:=numer(g(x))`
  On obtient :
  `x```^```2*sqrt(x)-2*x```^```2+2*x*sqrt(x)-4*x+5*sqrt(x)-2`
  On tape :
  `Nt:=subst(numer(g(x)),x=t```^```2)`
  On obtient :
  `t```^```4*t-2*t```^```4+2*t```^```2*t-4*t```^```2+5*t-2`
  On tape :
  `factor(Nt)`
  On obtient :
  `(t-1)```^```3*(t```^```2+t+2)`
  h a donc un minimum pout x=1.
  On tape :
  `h(1)`
  On obtient :
  `0`
  On tape :
  `f(x):=(x```^```2+6x+1)/(4x+4)`
  `f(2.),f(2.)-1.414`
  On obtient :
  `1.41666666667,0.00266666666664`
  On tape :
  `f(0.5),f(0.5)-1.414/2`
  On obtient :
  `0.708333333333,0.00133333333332`
  Donc pour 1/2≤ x≤ 2 on a :
  0≤ h(x)<0.0027 La précision est donc de 2.7e−3.
  On fait le calcul pour x=1.2 :
  On tape :
  `f(1.2),sqrt(1.2)`
  On obtient :
  `1.09545454545,1.09544511501`
- Montrer que pour tout n on a :
  (n!)1/n≤ 1+n/2.
  On pose a1=1,a2=2...an=n.
  On a : 1+2+...n=n(1+n)/2 donc u=1+n/2 et v=(n!)1/n donc :
  (n!)1/n≤ 1+n/2
  Montrons que :
  1−1/x≤ ln(x)≤ x−1
  La fonction x−1−ln(x) a pour dérivée x−1/x. Elle admet donc un minimum pour x=1 qui vaut 0 donc ln(x)≤ x−1 pour tout x>0
  On a donc pour tout t>0, ln(t)≤ t−1.
  On pose x=1/t donc −ln(x)≤1/x−1 c’est à dire 1−1/x≤ ln(x) pour tout x>0
  Montrons par récurrence que :
  ∑k=1n1/k≤ 1+ln(n)
  Pour n=1 on a 1≤ 1
  n=2 on a 1/2= 1−1/2≤ ln(2) donc 1+1/2≤ 1+ln(2)
  n=3 on a 1/3= 1−2/3≤ ln(3/2) donc 1+1/2+1/3≤ 1+ln(2)ln(3/2)=1+ln(3)
  Si ∑k=1n1/k≤ 1+ln(n) est vraie pour n alors puisque
  1/n+1= 1−n/n+1≤ ln(n+1/n) on a
  ∑k=1n+11/k≤ 1+ln(n)+ln(n+1/n)=1+ln(n+1)
  Donc l’inégalité ∑k=1n1/k≤ 1+ln(n) est vraie pour tout n∈ ℕ.
  Montrons que : n/1+ln(n)≤ (n!)1/n
  Pour ak=1/k , on a (1/n!)1/n≤ 1/n(∑k=1n1/k)≤ 1+ln(n)/n donc
  n/1+ln(n)≤ (n!)1/n

## 10.3 La moyenne arithmético-harmonique

### 10.3.1 La définition et l’énoncé

Soient a et b deux réels strictement positifs (dire pourquoi on peut supposé dans la suite a>b ), on définit les 2 suites u et w par :

u0=a, w0=b, un+1=

un+wn
2

, wn+1=

2unwn
un+wn

(1)

- Montrer que wn≤ un pour tout n ∈ ℕ* ,
- Montrer que ces 2 suites sont adjacentes et qu’elles convergent vers l=√ab
- Montrer que |un−l|<(un−1−l)2/2l
- Déterminer le premier n tel que |un−wn|<10−10 lorsque a=2 et b=1
- Calculer √2 avec une précision de 10−10.

### 10.3.2 La solution

- On montre par récurrence que pour tout n∈ ℕ on a :
  un>0, wn>0 et un+1wn+1=unwn=...u0w0
- Montrons que wn≤ un pour tout n∈ ℕ*
  un+1−wn+1=un+wn/2−2unwn/un+wn
  Avec `Xcas`, on tape :
  `factor((a+b)/2-2a*b/(a+b))`
  On obtient : `((a-b)```^```2)/(2*(a+b))`
  Donc tout n∈ ℕ on a : un+1−wn+1=(un−wn)2/2(un+wn)≥ 0 donc pour tout n≥ 1 u1≥ w1 et si on échange les valeurs de u0 et de w0 on obtient les mêmes valeurs pour u1 et w1 et c’est pourquoi on peut supposer dans la suite u0=a>w0=b
- Montrons que u est décroissante :
  un+1−un=(wn−un)/2≤ 0 puisque wn≤ un
- Montrons que w est croissante :
  wn=w0u0/un puisque u est positive et décroissante et que w0u0>0 on en déduit que w est croissante.
- Montrons que u et w sont adjacentes.
  On a donc :
  w0≤ w1≤...wn≤ wn+1 ≤ un+1≤ un ≤...u1
  u est décroissante et minorée donc est convergente.
  w est croissante et majorée donc est convergente.
  Les suites u et v sont donc convergentes et puisque un+1=un+wn/2 par passage à la limite on en déduit qu’elles convergent vers la même limite notée l.
  Ou bien, on remarque que :
  un+1−wn+1<un+1−wn=un+wn/2−wn=un−wn/2
  Donc 0<un−wn<u0−w0/2n
  On a donc montré que u et w sont adjacentes : elles convergent donc vers la même limite l qui vérifie 0<b≤ l≤ a et l2=u0w0 puisque pour tout n∈ ℕ unwn=u0w0.
  donc l=√u0w0
- wn−1=l2/un−1 donc
  un−l=un−1+wn−1−2l/2=un−12+l2−2lun−1/2un−1=(un−1−l)2/2un−1
  Pour b=1 et a=2 on a u1=3/2=1.5 donc 0<u1−l ≤ 0.1 On a 0<u2−l≤ 10−2/(2l)
  0<u3−l≤ 10−4/(23l3)
  0<u4−l≤ 10−8/(27l7)
  On sait que l2=2 donc 27*l7=210l>103 donc
  0<u4−l≤ 10−10.
  On ouvre un niveau tableur dans `Xcas` (`Alt+t`). On met : dans `B0` 2.
  dans `B1` =(A0+B0)/2
  Lorsque `B1` est en surbrillance, on ouvre le menu `Edit->Remplir->Copier vers le bas` du tableur pour copier la formule contenue dans `B1`
  On met : dans `A0` 1.
  dans `A1` =A0*B0/(2*B1)
  Lorsque `A1` est en surbrillance, on ouvre le menu `Edit->Remplir->Copier vers le bas` du tableur pour copier la formule contenue dans `A1`
  On met : dans `C0` =B0-C0
  Lorsque `C0` est en surbrillance, on ouvre le menu `Edit->Remplir->Copier vers le bas` du tableur pour copier la formule contenue dans `C0`
  On obtient à la ligne 4 :
  `A4=1.41421356237`, `B4=1.41421356237`, `C4=3.29691829393e-12` On trouve à la ligne 4, avec 21 chiffres après la virgule :
  `A4=1.414213562371500186978`, `B4=1.414213562374689910627`,
  `C4=0.3189723648649696666202e-11`
  et à partir de ligne 5 les colonnes `A` et `B` valent : `[[1.414213562373095048803]]`
  On tape : avec 21 chiffres après la virgule `sqrt(2.)`
  On obtient : `1.414213562373095048801`
- Remarque La suite u peut être définie par :
  u0=a
  un=un−1+wn−1/2=un−12+ab/2un−1=1/2(un−1−ab/un−1)
  Écrit sous cette forme on réconnait la suite d’itérés de la méthode de Newton pour calculer √ab

## 10.4 La moyenne arithmético-géométrique

### 10.4.1 La définition et l’énoncé

Soient a et b deux réels strictement positifs (dire pourquoi on peut supposé dans la suite a>b), on définit les 2 suites u et v par :

u0=a, v0=b, un+1=

un+vn
2

, vn+1=

√

unvn

(2)

- Faire la constuction géométrique qui donne u1, v1 à partir de u0=2, v0=1.
- Montrer que ces 2 suites sont adjacentes et convergent donc vers une limite commune notée M(a,b) est par définition la moyenne arithmético-géométrique de a et b
- Déterminer le premier n tel que abs(un−vn)<10−20 lorsque a=2 et b=1
- Calculer M(2,1) avec une précision de 10−20.

### 10.4.2 La solution

- On obtient :
  lorsqu’on tape :

      O:=point(0);
      A0:=point(2);
      B0:=point(1);
      A1:=milieu(A0,B0);
      C:=cercle(A0,B0):;C
      c:=cercle(point(0),A1):;affichage(c,1+ligne_tiret);
      T:=inter(c,C);
      k:=cercle(O,T[1]-O):;k;
      B1:=inter_unique(segment(A0,B0),k,affichage=quadrant2);

  On a : OT2=OB12=OB0× OA0=ab
- un+1−vn+1=un+vn−2√unvn /2=(√un−√vn)2/2≥ 0
  donc pour tout entier n>0, un≥ vn
- un+1−un=vn−un/2≤ 0 La suite u est donc décroissante
- vn+1−vn=√unvn−vn≥ √vnvn−vn=0 La suite v est donc croissante

Les suites u et v sont donc convergentes et puisque un+1=un+vn/2 par passage à la limite on en déduit qu’elles convergent vers la même limite notée M(a,b).
Ou bien, on remarque que :
un+1−vn+1<un+1−vn=un+vn/2−vn=un−vn/2
) Donc 0<un−vn<u0−v0/2n
On remarque que :
√ab≤ M(a,b)=M(b,a)≤ a+b/2 et
pour tout k>0 on a M(k*a,k*b)=k*M(a,b)
On peut donc supposer b=1 et a>1.
On a aussi pour tout entier n>0 :
√ab≤ vn≤ un ≤ a+b/2 un+12−vn+12=(un−vn)2/4 donc
un+1−vn+1=(un−vn)2/4(un+1+vn+1)≤ K(un−vn)2 avec K=1/8√ab.
On a :
K<9*10−2 u1=1.5, v1=√2 donc 0<u1−v1< 9*10−2
u2−v2<(9*10−2)3<8*10−4
u3−v3<(9*10−2)7<5*10−8
u4−v4<(9*10−2)24−1<3*10−16
u5−v5<(9*10−2)25−1<4*10−33
On fait les calculs soit avec un tableur, soit avec un programme.

- On ouvre un tableur pour calculer M(2,1) et on trouve que : u5=v5=1.456791031046906869186431 Avec `Digits:=34` on a :
  v5=1.4567910310469068691864323832650814 et
  u5=1.4567910310469068691864323832650824
- On ouvre un éditeur de programme et on tape :

      aritgeo(a,b,eps):={
      local n,u,v,u0;
      u:=a;
      v:=b;
      n:=0;
      tantque u-v>eps faire
      u0:=u;
      u:=(u+v)/2;
      v:=sqrt(u0*v)
      n:=n+1;
      ftantque;
      print(n);
      return u;
      }:;

On tape :
`aritgeo(2,1.,1e-20)`
On obtient :
`1.456791031046906869186431,5`
On peut tracer la fonction `aritgeo(x,1.,1e-2)[0]`, pour cela on tape (on commente `print(n)` dans `aritgeo`) :

    plotaritgeo(n):={
    local j,L;
    L:=point(0);
    pour j de 0 jusque n faire
    L:=L,point(j+i*aritgeo(j,1.,1e-2));
    fpour;
    retourne L;}:;

### 10.4.3 Relation entre M(a,b) et les intégrales elliptiques

Il se trouve que la convergence est très rapide. Le calcul de cette limite en fonction de a et b n’est pas trivial au premier abord. Il est relié aux intégrales elliptiques, plus précisément on peut construire une intégrale dépendant de deux paramètres a et b et qui est invariante par la transformation F(x,y)=a+b/2,√ab :

I(a,b)=

∫

+∞
−∞

dt

√

(a2+t2)(b2+t2)

On a en effet

I(F(a,b))=I(

a+b
2

,

√

ab

) =

∫

+∞
−∞

du

√

((

a+b
2

)2+u2)(ab+u2)

On pose alors

u=

1
2

(t−

ab
t

), t>0

où t → u est une bijection croissante de t∈]0,+∞[ vers u ∈ ]−∞,+∞[, donc

I(

a+b
2

,

√

ab

)

=

∫

+∞
0

dt/2(1+ab/t2)

√

((

a+b
2

)2+1/4(t−ab/t)2)(ab+1/4(t−ab/t)2)

=

2

∫

+∞
0

dt

√

(a2+t2)(b2+t2)

= I(a,b)

Lorsqu’on est à la limite l=M(a,b), le calcul de I(l,l) est explicite

I(l,l)=

∫

+∞
−∞

dt
(l2+t2)

=

π
l

donc

I(a,b)=

π
M(a,b)

On peut transformer I(a,b) en posant t=bu

I(a,b)=2

∫

+∞
0

du

√

(a2+b2u2)(1+u2)

=

2
a

∫

+∞
0

du

√

(1+(b/a)2u2)(1+u2)

Puis en posant u=tan(x) (du=(1+u2) dx)

I(a,b)=

2
a

∫

π
2

0

√

1+tan(x)2
1+(b/a)2tan(x)2

dx

et enfin en posant tan2(x)=sin(x)2/1−sin(x)2

I(a,b)=

2
a

∫

π
2

0

√

1

1−(1−

b2
a2

)sin(x)2

dx

Si on définit pour m<1

K(m)=

∫

π
2

0

dx

√

1−m sin(x)2

alors on peut calculer K en fonction de I, en posant m=1−b2/a2 soit b2/a2=1−m

K(m)=

a
2

I(a,a

√

1−m

)=

a
2

π

M(a,a

√

1−m

)

=

π

2M(1,

√

1−m

)

Donc pour x et y positifs

K( (

x−y
x+y

)2 )=

π

2M(1,

√

1−(

x−y
x+y

)2

)

=

π

2M(1,

2
x+y

√

xy

)

=

π

2

2
x+y

M(

x+y
2

,

√

xy

)

=

π
4

x+y
M(x,y)

et finalement

M(x,y)=

π
4

x+y

K

⎛
⎜
⎜
⎝

(

x−y
x+y

⎞
⎟
⎟
⎠

2

)

et si k2=1−m avec k∈ ]0,1]

K K(m)=

∫

π
2

0

dx

√

1−m sin(x)2

=

π

2M(1,

√

1−m

)

(3)

### 10.4.4 Application : calcul efficace du logarithme.

On peut utiliser la moyenne arithmético-géométrique pour calculer le logarithme efficacement, pour cela on cherche le développement asymptotique de K(m) lorsque m tend vers 1. Plus précisément, on montre que pour k<1/2 :

|K−ln

⎛
⎜
⎜
⎝

4
k

⎞
⎟
⎟
⎠

| ≤ k2

⎛
⎜
⎜
⎜
⎜
⎝

lnπ

3/4+

√

3

/2

+

4

√

3

+

π3
96

+

9
20

− (

1

3/4+

√

3

/2

+

1
6

) ln(k)

⎞
⎟
⎟
⎟
⎟
⎠

(4)

que l’on peut réécrire

|

π
2M(1,k)

−ln

⎛
⎜
⎜
⎝

4
k

⎞
⎟
⎟
⎠

| ≤ k2(3.8−0.8ln(k)) (5)

La formule (5) permet de calculer le logarithme d’un réel positif avec (presque) n bits lorsque k ≤ 2−n/2 (ce à quoi on peut toujours se ramener en calculant le logarithme d’une puissance 2m-ième de x ou le logarithme de 2mx, en calculant au préalable ln(2)). Par exemple, prenons k=2−27, on tape avec comme configuration 24 digits : `M(1,2```^```-``27``)=M1:=aritgeo(1,2```^```-27.,1e-20)`
on trouve pour `M1` (en 8 itérations puisque `n=8`): `0.7814414037633092672168387e-1` On a, avec une erreur inférieure à 19 × 2−54=1.1× 10−15

M(1,2−27)=M1=

π
2ln(229)

=

π
58ln(2)

,

On peut donc déduire une valeur approchée de π de celle de ln(2). Par exemple si on prend comme valeur de π :
`3.141592653589793238462642` On obtient comme approximation de ln(2), π/58M1:
On tape `evalf(pi)/(58*M1)`
On obtient `0.6931471805599453185580364`
alors que `Xcas` donne comme valeur de ln(2),
`0.6931471805599453094172324`
On remarque que l’erreur est inférieure à 1.1× 10−15.

Si on veut calculer les deux simultanément, comme les relations entre ln et π seront des équations homogènes, on est obligé d’introduire une autre relation. Par exemple pour calculer une valeur approchée de π on calcule la différence ln(229+1)−ln(229) dont on connait le développement au premier ordre, et on applique la formule de la moyenne arithmético-géométrique. Il faut faire attention à la perte de précision lorsqu’on fait la différence des deux logarithmes qui sont très proches, ainsi on va perdre une trentaine de bits, il faut grosso modo calculer les moyennes arithmético-géométrique avec 2 fois plus de chiffres significatifs.

L’intérêt de cet algorithme apparait lorsqu’on veut calculer le logarithme avec beaucoup de précision, en raison de la convergence quadratique de la moyenne arithmético-géométrique (qui est nettement meilleure que la convergence linéaire pour les développements en série, ou logarithmiquement meilleure pour l’exponentielle), par contre elle n’est pas performante si on ne veut qu’une dizaine de chiffres significatifs. On peut alors calculer les autres fonctions transcendantes usuelles, telle l’exponentielle, à partir du logarithme, ou les fonctions trigonométriques inverses (en utilisant des complexes) et directes.

On trouvera dans Brent-Zimmermann quelques considérations permettant d’améliorer les constantes dans les temps de calcul par rapport à cette méthode (cela nécessite d’introduire des fonctions spéciales θ) et d’autres formules pour calculer π.

## 10.5 L’intégrale d’une fraction rationnelle

1. Calculer :

   I=

   ∫

   t2 dt
   1−t4

2. En déduire :

   J=

   ∫

   sin(x)2 dx
   cos(2x)

Avec `Xcas` les réponses sont immédiates.
On tape :
`integrate(t```^```2/(1-t```^```4),t)`
On obtient :
`1/-2*atan(t)+1/4*log(abs(t+1))+1/-4*log(abs(t-1))`
On tape :
`I:=integrate(sin(x)```^```2/(cos(2*x)),x)`
On obtient :
`(x/(-2*2)+(log(abs((tan(x/2))```^```2-2*tan(x/2)-1)))/8+`
`(log(abs((tan(x/2))```^```2+2*tan(x/2)-1)))/-8)*2`
On tape :
`lncollect(I-x/2))`
On obtient :
`-(1/4*log(abs((tan(x/2))```^```2+2*tan(x/2)-1)))`
Mais comment détailler ?

- Pour la question 1/, on décompose la fraction ratonnelle :
  t2 dt /1−t4 en posant T=t2 :
  On tape :
  `partfrac(T/(1-T```^```2))`
  On obtient :
  `1/(-2*(T+1))+1/(-2*(T-1))`
  soit :
  `1/-2*(t```^```2+1))+1/(-2*(t```^```2-1))`
  On tape :
  `partfrac(1/(-2*(t```^```2-1)))`
  On obtient :
  `1/(4*(t+1))+1/(-4*(t-1))`
  donc :
  `t```^```2/(1-t```^```4)=1/(t```^```2)+1/(4*(t+1))+1/(-4*(t-1))`
  On intègre chaque morceau pour obtenir (`K` étant une constante arbitraire) :
  `-1/2*atan(t)+1/4*ln(abs((t+1)/(t-1)))+K`
  On a donc :
  `I:=-1/2*atan(t)+1/4*ln(abs((t+1)/(t-1)))+K`
- Pour la question 2/, on transforme (sin(x)2/cos(2*x)).
  On tape :
  `texpand(sin(x)```^```2/cos(2*x))`
  On obtient :
  `(sin(x)```)^```2)/(2*cos(x)```^```2-1)`
  On tape :
  `trigtan((sin(x)```)^```2)/(2*cos(x)```^```2-1))`
  On obtient :
  `(-((tan(x))```^```2))/((tan(x))```^```2-1)`
  On tape :
  `subst(quote(integrate((-((tan(x))```^```2))/ ((tan(x))```^```2-1),x)),x=atan(t))`
  On obtient :
  `integrate((-(t```^```2))/((t```^```2-1)*(1+t```^```2)),t)`
  c’est à dire l’intégale calculer en 1/.
  On a donc :
  `-x/2+1/4*ln(abs((tan(x)+1)/(1-tan(x))))+K`
  `J:=subst(I,t=tan(x))`

## 10.6 Décomposition d’une fraction rationnelle et idendité de Bézout

On peut utiliser l’idendité de Bézout pour les polynômes pour trouver la décomposition d’une fraction rationnelle. Exemple 1
Donner le détail des calculs avec l’idendité de Bézout pour trouver la décomposition de :

1
(x2−1)2(x+2)

On tape :
On obtient :
On tape :
On obtient :
On tape :
On obtient :

## 10.7 Intégrale d’une fraction rationnelle et idendité de Bézout

Pour intégrer une fraction rationnelle on nous apprend qu’il faut décomposer la fraction rationnelle en éléments simples. Pourtant un logiciel de calcul formel procéde autrement quand le dénominateur a des racines multiples : il utilise l’identité de Bézout.
Exemple 1
Intégrer x6+2/(x3+1)2 On cherche d’abord la partie entière qui est ici 1.
On tape :
`normal((x```^```6+2)/(x```^```3+1)```^```2-1)` On obtient :
`(-2*x```^```3+1)/(x```^```6+2*x```^```3+1)`
On va calculer la primitive de N/P2 avec N=−2*x3+1 et P=x3+1.
On cherche U et V vérifiant UP+VP′=N puis on calcule :
∫N/P2=∫U/P+∫VP′/P2 en intégrant le 2ième terme par une intégration par parties. On a donc :
∫N/P2=−V/P+∫U+V′/P On tape :
`abcuv(x```^```3+1,3x```^```2,-2*x```^```3+1)` On obtient :
`[1,-x]`
Ici U+V′=0 donc ∫N/P2=x/x3+1 Donc :
∫x6+2/(x3+1)2=x+x/x3+1 Si on fait la décomposition de la fraction rationnelle, on doit intégrer :
1+1/3(x+1)2+−x+1/x2−x+1)2+1/−3(x2−x+1) Exemple 2 Calculer ∫−x2+1/(x4+1)2 On va calculer la primitive de N/P2 avec N=−x2+1 et P=x4+1.
On cherche U et V vérifiant UP+VP′=N puis on calcule :
∫N/P2=∫U/P+∫VP′/P2 en intégrant le 2ième terme par une intégration par parties. On a donc :
∫N/P2=−V/P+∫U+V′/P On tape :
`abcuv(x```^```4+1,4x```^```3,-x```^```2+1)` On obtient :
`[-x```^```2+1,(x```^```3-x)/4]`
Donc :
∫−x2+1/(x4+1)2=−x3+x/x4+1+∫−x2+1+3x2/4−1/4/x4+1=−x3+x/x4+1+∫−x2+3/4x4+4.
Il reste à intégrer ∫−x2+3/x4+1 par la méthode classique en décomposant cette fraction rationnelle. On a:
−x2+3/x4+4=2x√2+3/2x2+2*x√2+2+−2x√2+3/2x2−2x√2+2 et on a :
int2x√2+3/2x2+2x√2+2=∫2x√2+2/2x2+2x√2+2+∫1/(x√2 +1)2+1
int2x√2+3/2x2+2x√2+2=√2*ln(x2+√2*x+1)/2+ atan (x√2 +1)/√2 et
en changeant x en −x :
int−2x√2+3/2x2−2x√2+2=√2*ln(x2−√2*x+1)/2+ atan (−x√2 +1)/√2
Finallement on a obtenu :
∫−x2+1/(x4+1)2=−x3+x/x4+1+1/4(2x√2+3/2x2+2*x√2+2+−2x√2+3/2x2−2x√2+2+√2*ln(x2−√2*x+1)/2+ atan (−x√2 +1)/√2)
On vérifie et on tape :
`int((1-x```^```2)/(1+x```^```4)```^```2)`
On obient :
`((-(sqrt(2)))*ln(x```^```2+(-(sqrt(2)))*x+1))/8+(sqrt(2)*atan(sqrt(2)*x-1))/8+(sqrt(2)*ln(x```^```2+sqrt(2)*x+1))/8+(sqrt(2)*atan(sqrt(2)*x+1))/8+(-x```^```3+x)/(4*(x```^```4+1))`

## 10.8 Intégrale et série

1/ On considère la suite un=∑j=1n 1/j2 pour n>0.
Montrer que un converge en comparant un à l’intégrale ∫1n+1 1/t2 dt.
2/ a/ Soit a>0. Montrer que la fonction f définie par :
f(x)=xa*ln(x) si x>0 et f(0)=0
est continue sur [0; +∞[
b/ Calculer ∫01 f(t) dt
3/ a/ Montrer que la fonction gn définie par :
gn(x)=x2n+1*ln(x)/x2−1 si x>0 et x≠ 1
peut se prolonger par continuité sur [0; +∞[
b/ On pose In=∫01 gn(t) dt.
Calculer In+1−In
c/ Montrer que In est convergente et déterminer sa limite.
En déduire la valeur de I0 en fonction de la limite de un.

Correction
1/ Pour pour j>2 et pour t ∈ [j−1;j[ on a 1/j2 ≤ 1/t2 donc :
un=∑j=1n 1/j2=1+∑j=2n 1/j2<1+∫1n 1/t2dt
donc un<1−1/n+1=2−1/n
La suite un est croissante et majorée donc elle est convergente de limite l et on a l ≤ 2.
2/ On tape :
`assume(a>0);`
`limit(x```^```a*log(x),x=0)`
On obtient :
`0`
On tape :
`ibpu(x```^```a*log(x),log(x))`
On obtient :
`[(x```^```(a+1)*log(x))/(a+1),(-(x```^```(a+1)))/(a*x+x)]`
On obtient :
`-1/(a+1)```^```2`
3/ On tape :
`g(n,x):=(x```^```(2*n+1)*log(x))/(x```^```2-1)`
`limit(g(n,x),x=1)`
On obtient :
`1/2`
On tape :
`limit(g(n,x),x=0)`
On obtient :
`0`
On tape :
`lncollect(normal(g(n+1,x)-g(n,x)))`
On obtient :
`((x```^```(2*n+3)-x```^```(2*n+1))*log(x))/(x```^```2-1)`
On tape :
`int(x```^```(2*n+1)*log(x),x,0,1)`
On obtient :
`-1/(2*n+2)```^```2`
On a pour 0≤ x ≤ 1:
0≤ gn(x)<x2*n/2 car x*log(x)/(x2−1)<1/2
Donc :
In+1−In=−1/4*1/(n+1)2
donc :
In=−1/4*un+I0
On a donc I0=l/4

## 10.9 Intégrales et intégration par parties

On veut calculer pour n ∈ ℕ :

In=

∫

2π
0

sin(x)ndx

1. En intégrant par partie In trouver une relation de récurrence entre In et In−2.
2. Calculer I0 et I1.
3. En déduire la valeur de In.
4. Application :
   Calculer I=∫02πsin(x)16cos(2x)dx.
5. Vérifier le calcul précédent avec `Xcas`.

1. on pose u=sin(x)n−1 et dv=sin(x) donc
   du=(n−1)sin(x)n−2cos(x) et v=−cos(x).
   0n donc :
   In=[−sin(x)n−1cos(x)]02π+int02π(n−1)sin(x)n−2cos(x)2
   In=0+int02π(n−1)sin(x)n−2(1−sin(x)2)=(n−1)In−2−(n−1)In On a donc :

   nIn=(n−1)In−2

   Avec `Xcas` on utilise `ibpu` (en indiquant la valeur de u) ou `ibpdv` (en indiquant la valeur de v) et `trigsin` pour transformer cos(x)2 en 1−sin(x)2 et on tape:
   `assume(n,integer)`
   `expand(trigsin(ibpu(sin(x)```^```(n-1)*sin(x),sin(x)```^```(n-1),x,0,2*pi)))` On obtient :
   `[0,-n*sin(x)```^```n-sin(x)```^```(n-2)+n*sin(x)```^```(n-2)+sin(x)```^```n]`
   ou on tape `expand(trigsin(ibpdv(sin(x)```^```(n-1)*sin(x),-cos(x),x,0,2*pi)))`
   On obtient :
   `[0,-n*sin(x)```^```n-sin(x)```^```(n-2)+n*sin(x)```^```(n-2)+sin(x)```^```n]` On retrouve donc le résultat précédent :
   In=0+(n−1)In−2−(n−1)In
2. Calcul de I0 : I0=∫02πdx=2π Calcul de I1 : I1=∫02πsin(x)dx=0 Avec `Xcas` on tape:
   `int(1,x,0,2*pi),int(sin(x),x,0,2*pi)`
   On obtient :
   `2*pi,0`
3. Puisque nIn=(n−1)In−2 et que I1=0 on en déduit que si n=2p+1 on a :
   I2p+1=0
   Puisque nIn=(n−1)In−2 on a donc pour n=2p :
   2p(2p−2)(2p−4)...2*I2p=(2p−1)(2p−3)(2p−5)...1*I0
   en multipliant les 2 membres par 2p(2p−2)(2p−4)...2=2pp! on a :
   (2pp!)2*I2p=(2p)!*I0=2π(2p)!
   donc

   I2p=

   2π(2p)!
   (2pp!)2

   et

   I2p+1=0

4. Calcul de I=∫02πsin(x)16cos(2x)dx On a :
   cos(2x)=cos(x)2−sin(x)2=1−2sin(x)2 donc
   I=I16−2I18=I16−217/18I16=−8/9I16
   I=−16π(16)!/9(288!)2=comb(16,8)−π/9*212
   `ifactor(comb(16,8))=ifactor(12870)=2*3```^```2*5*11*13=2*9*715`
   I=−715π/211=−715π/211=−715π/2048 donc

   I=

   −715π
   2048

   ou on tape :
   `normal(-16*pi*(16)!/(9*(2```^```8*8!)```^```2))`
   On obtient :
   `(-715*pi)/2048`
5. Avec `Xcas` on tape:
   `int(1,x,0,2*pi),int(sin(x),x,0,2*pi)`
   On obtient :
   `(-715*pi)/2048`
   Remarque `Xcas` effectue ce calcul en utilisant les résidus.

## 10.10 Approximation de π avec un tirage aléatoire dans un carré

On tire au hasard N points d’un carré de côté 2 et on compte le nombre k de points qui se trouve dans le cercle inscrit dans ce carré. Une valeur approché de π est alors 4*k/N (car le rapport des surfaces cercle/carré est π/4∼ k/N.
On tape :

    approxpi(N):={
    local x1,y1,j,k;
    ClrGraph();
    randseed;
    k:=0;
    pour j de 1 jusque N faire
     x1:=rand(-1,1);
     y1:=rand(-1,1);
     si x1^2+y1^2<1 alors k:=k+1;point(x1+i*y1,affichage=1+point_point);
        sinon point(x1+i*y1,affichage=0+point_point);
     fsi;
    fpour
    retourne evalf(4*k/N);
    }:;

On tape : `approxpi(1000)` et on obtient : `3.076`
On tape : `approxpi(10000)`
On obtient (time : 0.97 si on a caché l’écran `DispG` avant de valider la commande) : `3.1136`
On tape : `approxpi(100000)` et on obtient (time : 8.78) : `3.14596`
et voici l’écran `DispG` correspondant à `approxpi(100000)`:

## 10.11 Approximation de π avec les aiguilles de Buffon

Le naturaliste Buffon, en 1777 a posé le problème de l’aiguille en ces termes : "Je suppose que dans une chambre, dont le parquet est simplement divisé par des joints parallèles, on jette en l’air une baguette et que l’un des joueurs parie que la baguette ne croisera aucune des parallèles du parquet..."
On va chercher la probabilité que la baguette rencontre une des parallèles lorsque la baguette a une longueur égale à la distance 2a entre deux parallèles.
Considérons un repère orthonormé Oxy où Oy est parallèle à une raie du parquet.
Soient d la distance du milieu M de la baguette à la raie la plus proche (d=MN où N est la projection de M sur l’axe des y i.e. d est la valeur absolue de l’abscisse de M) et t l’angle que fait la baguette avec Ox avec t∈ [0;π[.
. La baguette ne rencontrera pas l’une des raies si −d≤ acos(t) ≤ d ou si 0≤ a|cos(t)| ≤ d et la baguette rencontrera l’une des raies si d≤ a|cos(t)|.
On suppose a=1 et on tire au hasard d entre 0 et 1 et t entre 0 et π. On trace la courbe représentative de y=|cos(t)| pour 0≤ t ≤ π ainsi que la région (en noire) qui représente l’événement : "la baguette coupe une raie".
La probabilité pour que la baguette coupe une raie est donc égale au quotient de l’aire en noire égale à ∫0π|cos(t)| dt=2 par l’aire du rectangle [0;π]X[0;1] égale à π. Donc :

Proba(intersect)=

2
π

Pour faire le programme de simulation avec `Xcas`, on ne va pas utiliser π dans `rand(0,pi)` puisque justement on cherche à avoir une estimation de π. Donc il faut trouver un moyen pour choisir t aléatoirement dans [0:π[ : pour cela on va tirer au hasard un point M=x+iy dans le demi-cercle z=eit pour t=0..π : l’angle Ox,OM sera la valeur de t et cos(t) sera égal à x/√x2+y2.
On tape pour avoir une approximation de π :

    buffon(n):={
    local d,cost,x,y,j,k;
    randseed;
    k:=0;
    pour j de 1 jusque n faire
     d:=rand(0,1);
     repeter
     x:=rand(-1,1);
     y:=rand(0,1);
     jusqua x^2+y^2<1 et x^2+y^2>0 ;
     cost:=x/sqrt(x^2+y^2);
     si abs(cost)>d alors k:=k+1; fsi;
    fpour
    retourne evalf(2*n/k);
    }:;

On tape : `buffon(10000)`
On obtient : `3.15109500551`
On tape : `buffon(100000)`
On obtient : `3.14065419827`
Le temps mis pour effectuer ce programme est long et l’approximation de π par ce programme n’est pas plus précise que celle obtenue par le programme précédent qui consiste a faire une approximation de π par un tirage aléatoire dans un carré puisque c’est ce que l’on fait pour avoir la valeur aléatoire de t dans [0;π[.
Remarques
Pour tirer au hasard un point dans le cercle unité il ne faut pas écrire :

    x:=alea(-1,1);
    c:=sqrt(1-x^2);
    y:=alea(0,c);
    M:=point(x+i*y)

ni écrire

     x:=rand(-1,1);
     repeter
     y:=rand(0,1);
     jusqua x^2+y^2<1
    M:=point(x+i*y)

car x et y ne sont pas indépendants et cela entraine que les points M ne sont pas équirépartis dans le disque de centre 0 et de rayon 1.
ni écrire

    r:=alea(-1,1);
    t:=alea(0,pi);
    M:=point(r*exp(t*i))

car ici aussi les points M ne sont pas équirépartis dans le disque de centre 0 et de rayon 1.
Il faut écrire :

     repeter
       x:=rand(-1,1);
       y:=rand(0,1);
    jusqua x^2+y^2<1
    M:=point(x+i*y)

Pour se convaincre on tape :

    simul(n):={
    local j,a,b,L;
    L:=NULL;
    pour j de 1 jusque n faire
      repeter
        a:=alea(-1,1);
        b:=alea(-1,1);
      jusqua a^2+b^2<1;
      L:=L,point(a+i*b);
    fpour
    retourne affichage(L,point_point);
    }:;
    simul0(n):={
    local j,a,b,c,L;
    L:=NULL;
    pour j de 1 jusque n faire
      a:=alea(-1,1);
      c:=sqrt(1-a^2);
      b:=alea(-c,c);
      L:=L,point(a+i*b);
    fpour
    retourne affichage(L,point_point);
    }
    :;
    simul1(n):={
    local j,a,b,L;
    L:=NULL;
    pour j de 1 jusque n faire
      a:=alea(-1,1);
      repeter
        b:=alea(-1,1);
      jusqua a^2+b^2<1;
      L:=L,point(a+i*b);
    fpour
    retourne affichage(L,point_point);
    }:;
    simul2(n):={
    local j,r,t,L;
    L:=NULL;
    pour j de 1 jusque n faire
      r:=alea(-1,1);
      t:=alea(0,pi);
      L:=L,point(r*exp(i*t));
    fpour
    retourne affichage(L,point_point);
    }
    :;

Puis, on tape : `simul(10000);`
On obtient :
On remarque que les points sont équirépartis.
Puis, on tape : `simul0(10000)`
On obtient :
On remarque l’accumulation de points dans les secteurs −1<x<−0.9 et 0.9<x<1 Puis, on tape : `simul1(10000)`
On obtient :
On remarque encore l’accumulation de points dans les secteurs −1<x<−0.9 et 0.9<x<1 Puis, on tape : `simul2(10000)`
On obtient :
On remarque l’accumulation des points au centre.

## 10.12 Approximation décimale d’un nombre transcendant

Définition Un nombre réel est algébrique s’il vérifie une équation polynômiale à coefficients entiers, sinon il est transcendant.
On peut montrer que pour b ∈ ℤ, b>1, les nombres :

ξ(b)=

1
b0!

+

1
b1!

+...

1
bn!

+...

sont transcendants.
Donner une approximation déciamle de ξ(2) à 10−8 près.
La série de terme générale 1/bn! est convergente car 1/bn!<1/bn, donc :
1+1/b<ξ(b)<b/b−1 et 1.5<ξ(b)<2.
Pour avoir une approximation décimale de ξ(2) à 10−8 près, il faut trouver une majoration du reste d’ordre p≥ 1 :

∞
∑
n=p

1
bn!

=

1
bp!

+

1
bp!*(p+1)

+

1
bp!*((p+1)(p+2)

+...+

1
bp!*((p+1)(p+2)...(p+n)

+...<

∞
∑
n=1

(

1
bp!

)n=

1
bp!−1

Il faut donc résoudre :

1
2p!−1

<10−8

Pour p=5 on a 1/2120−1<10−36
Pour p=4 on a 1/224−1<6*10−8
Donc il suffit de calculer la somme des 5 premiers termes (p=0..4)) :
1+1/2++1/22+1/26+1/224.
On trouve :
`1.7656250596`

## 10.13 Série et développement en série de Fourier

### 10.13.1 Une série

#### L’énoncé

1. Trouver pour x∈]−π;π] la valeur de la somme

   s(x,N)=

   N
   ∑
   k=1

   cos(kx)

2. En déduire que pour x∈]−π;π[ la somme

   S(x,N)=

   N
   ∑
   k=1

   (−1)k+1

   sin(kx)
   k

   s’écrit sous la forme 1/2+1/NI(x)+1/N+1J(x) où I(x) et J(x) sont des intégrales fonction de leur borne supérieure.
3. En déduire, lorsque x∈[−π;π], la valeur de :

   +∞
   ∑
   k=1

   (−1)k+1

   sin(kx)
   k

   .

#### La correction avec `Xcas`

1. Première méthode
   On remarque s(x,N) est la partie réelle de ∑k=1Nexp(ix).
   On tape :
   `sum(exp(i*k*x),k,1,N)`
   On obtient :
   `(exp((i)*(N+1)*x))/(exp((i)*x)-1)-(exp((i)*x))/ (exp((i)*x)-1)`
   On tape :
   `trigcos(re(sum(exp(i*k*x),k,1,N)))`
   On obtient :
   `(-cos(x)*cos(x*(N+1))-cos(x)+cos(x*(N+1))- sin(x)*sin(x*(N+1))+1)/(2*cos(x)-2)`
   On réécrit la réponse avec `tlin` puis avec `normal` et on obtient :
   `(-cos(x)-cos(N*x)+cos(x*(N+1))+1)/(2*cos(x)-2)`
   donc

   s(x,N)=

   (−cos(x)−cos(N*x)+cos(x*(N+1))+1)
   (2*cos(x)−2)

   Autre méthode
   On peut aussi simplifier : 2*sin(x/2)*s(x,N).
   On tape :
   `tlin(2*sin(x/2)*cos(k*x))`
   On obtient :
   `sin((2*k*x+x)/2)-sin((2*k*x-x)/2)`
   Donc on a :

   N
   ∑
   k=1

   sin((2kx+x)/2)−sin((2kx−x)/2)=sin((2Nx+x)/2)−sin(x/2)

   et

   2sin(x/2)*s(x,N)=

   N
   ∑
   k=1

   2sin(x/2)cos(kx)=sin((2Nx+x)/2)−sin(x/2)

   On vérifie et on tape:
   `tlin(2*sin(x/2)*(-sin(x/2)+sin((2*N+1)*x/2)))`
   On obtient :
   `-1+cos(x)+cos(N*x)-cos(N*x+x)`
   On tape:
   `trigsin(trigexpand(2*cos(2*(x/2))-2))`
   On obtient :
   `-4*sin(x/2)```^```2`
   On tape:
   `tlin((2*cos((N+1)*x/2)*sin(N*x/2))`
   On obtient :
   `sin((2*N*x+x)/2)-sin(x/2)`
   Donc on peut écrire s(x,N) de 4 manières :

   s(x,N)=

   N
   ∑
   k=1

   cos(kx)=

   sin((2N+1)x/2)−sin(x/2)
   2sin(x/2)

   =

   2cos((N+1)x/2)sin(Nx/2))
   2sin(x/2)

   =

   −1+cos(x)+cos(Nx)−cos((N+1)x)
   −4sin2(x/2)

   =

   1−cos(x)−cos(Nx)+cos((N+1)x)
   2*cos(x)−2)

2. On remarque que :

   S′(x,N)=

   N
   ∑
   k=1

   (−1)k+1cos(kx)=−

   N
   ∑
   k=1

   cos(k(x+π))=−s(x+π,N)

   donc

   S′(x,N)=

   cos(x)−(−1)Ncos(N*x)+(−1)N+1cos(x*(N+1))+1
   2+2cos(x)

   On a :

   S′(x,N)−

   1
   2

   =

   −(−1)Ncos(N*x)+(−1)N+1cos(x*(N+1))
   2+2cos(x)

   On a S(0,N)=0 donc

   S(x,N)=

   x
   2

   +

   ∫

   x
   0

   −

   (−1)Ncos(N*t)+(−1)N+1cos(t*(N+1))
   (2+2cos(x))

   dt

   On intègre par partie cette intégrale et on tape :

   `ibpu((-(-1)```^```N*cos(N*x)+(-1)```^```(N+1)*cos(x*(N+1)))/ (2+2*cos(x)),1/(2+2*cos(x)))`

   On obtient après factorisation du 2ième terme :

   `[(-(-1)```^```N*1/(N+1)*sin(x*(N+1))-(-1)```^```N*1/N*sin(N*x))/ (2+2*cos(x)),(sin(x)*(sin(N*x)*N+sin(N*x)+ sin(x*(N+1))*N)*(-1)```^```N)/(2*(cos(x)+1)```^```2*(N+1)*N)]`

   Donc

   S(x,N)=

   x
   2

   +

   −(−1)N*1/(N+1)*sin(x*(N+1))−(−1)N*1/N*sin(N*x)
   2+2*cos(x)

   +

   ∫

   x
   0

   (−1)N*sin(t)*(sin(N*t)*(N+1)+sin(t*(N+1))*N)
   2*(cos(t)+1)2*(N+1)*N

   dt

   Si x∈]−π,π[, limN→ +∞S(x,N)−x/2=0 donc

   +∞
   ∑
   k=1

   (−1)k+1

   sin(kx)
   k

   =x/2

   et si x=−π ou si x=π

   +∞
   ∑
   k=1

   (−1)k+1

   sin(kx)
   k

   =0

#### Pour visualiser le résultat

On tape :

`S(x,N):=sum((-1)```^```(k+1)*sin(k*x)/k,k,1,N); (plotfunc(S(x,k),x))$(k=1..5); plotfunc(S(x,20),x,affichage=rouge); plotfunc(S(x,40),x,affichage=vert)`

On obtient :

### 10.13.2 Développement en série de Fourier et phénomène de Gibbs

#### Rappels du cours

On sait que les coefficients de Fourier d’une fonction, 2π-périodique et intégrable sur tout intervalle fermé borné, sont définis pour n ∈ ℤ et pour α ∈ ℝ par :

cn(f)=

1
2π

∫

α+2π
α

f(t)e−intdt

et que la série de Fourier associée à f est :

SF(f)(x)=

+∞
∑
n=−∞

cn(f)einx

On peut aussi définir les coefficients de Fourier réels pour n ∈ ℕ et pour α ∈ ℝ par :

an(f)=

1
π

∫

α+2π
α

f(t)cos(nt)dt

bn(f)=

1
π

∫

α+2π
α

f(t)sin(nt)dt

On a alors :

SF(f)(x)=

a0(f)
2

+

+∞
∑
n=1

(an(f)cos(nx)+bn(f)sin(nx))

Théorème de Dirichlet
Si au point x0, f admet une limite à droite et une limite à gauche (que l’on note f(x0+0) et f(x0−0)) et admet une dérivée à droite, et une dérivée à gauche, alors la série SF(f)(x0) converge vers 1/2(f(x0−0)+f(x0+0)).
En particulier si f est dérivable pour tout x, SF(f)(x) converge vers f(x).

#### Développement en série de Fourier

Développer en serie de Fourier la fonction f(x) périodique de période 2π égale à x/2 sur ]−π;π].
On tape :

`assume(n,integer);fourier_bn(x/2,x,2*pi,n,-pi)`

On obtient :

`DOM_INT,(-((-1)```^```n))/n`

Puisque f(x) est impaire, on sait que dans la série de Fourier de f, les coefficients des cosinus seront nuls i.e.
`fourier_an(x/2,x,2*pi,n,-pi) =0`
Donc le développement en série de Fourier de f(x) est :

+∞
∑
n=1

−(−1)n

sin(nx)
n

D’après le théorème de Dirichlet on déduit que :

x
2

=

+∞
∑
n=1

−(−1)n

sin(nx)
n

pour x∈ ]−π;π[

1
2

(

π
2

+

−π
2

)=0=

+∞
∑
n=1

−(−1)n

sin(nx)
n

pour x=−π ou x=π

#### Le phénomène de Gibbs

Les graphes des fonctions S(x,n) pour x∈ [−π;π] possède un maximum ayant comme coordonnées xn,yn.
Quand n tend vers +∞, on va montrer que :
xn tend vers π et
yn tend vers α=∫0πsin(t)/tdt.
Un calcul approché de α montre que α>1.85193705198> π/2.
Ces ”bosses” au voisinage du point de discontinuité s’appellent le phénomène de Gibbs.

#### Observation du phénomène de Gibbs

On cherche la limite de yn=S(xn,n) quand n tend vers +∞.
Déterminer graphiquement les coordonnées xn,yn du maximum de :
S(x,n)=∑k=1n −(−1)ksin(kx)/k pour n=1, 2, 3, 4, 5, n=20 et n=40.

On lit sur le graphique précédent fait avec `Xcas`:

- x1=1.57, y1=1
- x2=2.1, y2=1.3
- x3=2.38, y3=1.44
- x4=2.53, y4=1.53
- x5=2.63, y5=1.59
- x20=3.00, y20=1.77
- x40=3.07, y40=1.80

#### Démonstration du phénomène de Gibbs

On cherche xn et la limite de yn=S(xn,n) quand n tend vers +∞ de façon théorique.

1. On va déterminer la valeur de xn
   Pour avoir un calcul de la valeur approchée de xn, on sait que :

   S′(x,n)=s(x,n)=

   n
   ∑
   k=1

   (−1)k cos(kx)=

   n
   ∑
   k=1

   cos(k(x+π))=

   (cos(x)−(−1)ncos(n*x)−(−1)ncos(x*(n+1))+1)
   (2*cos(x)−2)

   =

   sin((2n+1)(x+π)/2)−sin((x+π)/2)
   2sin((x+π)/2)

   Donc
   - pour n=1, on tape :
     `fsolve(2*cos(x)+cos(2*x)+1=0,x,1)`
     On obtient : `1.57079632679` donc x1=1.57079632679
   - pour n=2, on tape :
     `fsolve(cos(x)-cos(2*x)-cos(3*x)+1=0,x,2)`
     On obtient : `2.09439510239` donc x2=2.09439510239
   - pour n=3, on tape :
     `fsolve(cos(x)+cos(3*x)+cos(4*x)+1=0,x,2)`
     On obtient : `2.35619449019` donc x3=2.35619449019
   - pour n=4, on tape :
     `fsolve(cos(x)-cos(4*x)-cos(5*x)+1=0,x,2.5)`
     On obtient : `2.51327412287` donc x4=2.51327412287
   - pour n=5, on tape :
     `fsolve(cos(x)+cos(5*x)+cos(6*x)+1=0,x,2.5)`
     On obtient : `2.61799387799` donc x5=2.61799387799
   - pour n=20, on tape :
     `fsolve(cos(x)-cos(20*x)-cos(21*x)+1=0,x,3)`
     On obtient : `2.99199300342` donc x20=2.99199300342
   - pour n=40, on tape :
     `fsolve(cos(x)-cos(40*x)-cos(41*x)+1=0,x,3.04)`
     On obtient : `3.06496844253` donc x40=3.06496844253
   Mais cela ne donne que des valeurs approchées....

   Pour avoir un calcul de la valeur exacte de xn, il faut résoudre en x :

   sin((2n+1)(x+π)/2)−sin((x+π)/2)= 0

   ou

   cos((n+1)(x+π)/2)*sin(n(x+π)/2)=0

   ce qui donne :
   (n+1)(x+π)/2)=π/2 modπ soit
   (n+1)x=−nπ mod2π donc
   x=(2k−n)π/n+1 avec n/2<k<(2n+1)/2 pour avoir x∈]0;π[
   et
   n(x+π)/2=kπ soit
   nx=(2k−n)π donc
   x=(2k−n)π/n avec n/2<k<n pour avoir x∈]0;π[
   Il y a donc, pour x∈]0;π[, un nombre impair d’extremum qui ont pour abscisse :

   - si n=1 x1=π/2≃ 1.57079632679
   - si n=2 x2=2π/3≃ 2.09439510239
   - si n=2p ou si n=2p+1 (pour p>2)
     (p+1)π/n+1,(p+1)π/n,(p+2)π/n+1,(p+2)π/n,....(n−1)π/n+1,(n−1)π/n,nπ/n+1

   On commence par un maximum et donc on finit aussi par un maximum. Le dernier maximum a pour abscisse :

   xn=

   nπ
   n+1

   On vérifie les résultats précédent et on tape :
   `evalf(k*pi/(k+1))$(k=1..5)`
   On obtient :
   `1.57079632679,2.09439510239,
   2.35619449019,2.51327412287,2.61799387799`
   Les maximum ont pour abscisse (2k−n)π/n+1 pour k=p+1...n avec p=floor(n/2)
   Pour n=20 cela donne x20=20/21≃2.99199300342
   Pour n=40 cela donne x40=40/41≃3.06496844253

2. Déterminons la valeur de yn=S(xn,n)=∑k=1n−(−1)ksin(knπ/(n+1))/k
   Par définition, on a :

   S(x,n)=

   n
   ∑
   k=1

   (−1)k+1

   sin(kx)
   k

   et

   yn=S(xn,n)=

   n
   ∑
   k=1

   −(−1)k

   sin(

   knπ
   n+1

   )

   k

   S

   On a montré que :

   S′(x,n)=s(x+π,n)=

   sin(

   x+π
   2

   )−sin(

   (x+π)(2n+1)
   2

   )

   2sin(

   x+π
   2

   )

   En intégrant cette égalité entre π et x, puisque S(π,n)=0, on obtient :

   S(x,n)=

   ∫

   x
   π

   (

   1
   2

   −

   sin(

   (t+π)(2n+1)
   2

   )

   2sin(

   t+π
   2

   )

   dt=

   x−π
   2

   −

   ∫

   x
   π

   sin(

   (t+π)(2n+1)
   2

   )

   2sin(

   t+π
   2

   )

   dt

   On fait le changement de variable t=π−2u :
   (t+π)/2=π−u et dt=−2du et comme sin(π−u)=sin(u) et sin((2n+1)(π−u))=sin((2n+1)u) on a :

   S(x,n)=

   x−π
   2

   +

   ∫

   π−x
   2

   0

   sin((2n+1)u)
   sin(u)

   du

   Puisque xn=nπ/n+1 on a :
   xn−π/2=−π/2(n+1).
   Donc

   yn=S(xn,n)=−

   π
   2(n+1)

   +

   ∫

   π
   2n+2

   0

   sin((2n+1)u)
   sin(u)

   du

   Exercice
   Montrez que :

   lim
   n→ +∞

   ∫

   π
   2n+2

   0

   sin((2n+1)t)
   sin(t)

   dt=

   ∫

   π
   0

   sin(t)
   t

   dt

   Pour cela on utilisera la continuité de la fonction g définie sur [0;π[ par :
   g(0)=0,
   g(x)=1/sin(x)−1/x pour x∈]0;π[
   et on montrera que
   ∫0π/2n+2sin((2n+1)t)g(t)dt tend vers zéro quand n tend vers +∞.
   Correction de l’exercice
   On tape en effet : `limit(1/sin(x)-1/x,x,0)`
   On obtient `0`
   donc g est continue sur [0;π[.
   Donc il existe K tel que pour tout x∈ [0;π/2] |g(x)|<K.
   Puisque π/2n+2<π/2 quand n∈ ℕ, on a :

   |

   ∫

   π
   2n+2

   0

   sin((2n+1)t)g(t)dt|<K

   π
   2n+2

   Donc
   ∫0π/2n+2sin((2n+1)t)(1/sin(t)−1/t)dt tend vers zéro quand n tend vers +∞.
   On en déduit :
   limn→ +∞yn=limn→ +∞∫0π/2n+2sin((2n+1)t)/tdt
   On fait le changement de variable v=(2n+1)t donc dv/v=dt/t, donc

   lim
   n→ +∞

   yn=

   lim
   n→ +∞

   ∫

   (2n+1)π
   2n+2

   0

   sin(v)
   v

   dv=

   ∫

   π
   0

   sin(v)
   v

   dv=α

   On tape :
   `romberg(sin(t)/t,t,0,pi)`
   On obtient :
   `1.85193705198`
   On tape :
   `evalf(pi/2)`
   On obtient :
   `1.57079632679`
   Donc

   lim
   n→ +∞

   yn=α=

   ∫

   π
   0

   sin(t)
   t

   dt≃1.85193705198

   et il a une bosse puisque `1.57079632679<1.85193705198`

#### Utilisation de la moyenne de Césaro

Définition
Soit (un)n ∈ ℕ une suite, on pose Sk=∑i=0kui.
On dit que la série ∑un converge vers σ au sens de Césaro si la suite :
σn=1/n∑k=0n−1Sk tend vers σ.
On pose :
σn(f)=1/n∑k=0n−1SFk(f)
Théorème
σn(f)(x) converge vers f(x) en tous les points de continuité de f.
On observe que la convergence au sens de Césaro permet de régulariser la convergence, donc d’éliminer le phénomène de Gibbs.
Exercice
Calculer σn(f)(x) pour la fonction f périodique de période 2 π définie par : f(x)=x/2 sur ]−π; π]
Tracer sur un même graphique S(x,7) et σ7(f)(x) et aussi S(x,40) et σ40(f)(x).

1. On tape :
   `S(x,n):=sum((-1)```^```(k+1)*sin(k*x)/k,k,1,n); sigma(x,n):=1/n*sum(S(x,k),k,1,n-1); plotfunc(S(x,7),x);plotfunc(sigma(x,7),x,affichage=1)`
   On obtient :
2. On tape :
   `plotfunc(S(x,40),x); plotfunc(sigma(x,40),x,affichage=1)`
   On obtient :

## 10.14 Une suite

1/ Etude de la fonction f(x)= ln(1−x)/ln(x) dans l’intervalle ]0;1[.
2/ Pour n entier strictement positif, on considère Pn(x)=xn+x−1.
Montrer que P a une racine unique an, dans l’intervalle ]0;1[.
Calculer a1,a2 puis, à l’aide de la méthde de Newton donner une valeur approchée de a3,a4,a50,a100 à 10−10 près.
3/ Etude de la suite an.

Correction
On tape :
`f(x):=log(1-x)/log(x)`
`plotfunc(f(x),x,0,1)`
`diff(f(x),x)`
On obtient :
`(x*log(x)-x*log(-x+1)+log(-x+1))/(x```^```2*(log(x))```^```2-x*(log(x))```^```2)` On tape :
`lncollect(ans())`
On obtient :
`(x*log(x)+(-x+1)*log(-x+1))/(x```^```2*(log(x))```^```2-x*(log(x))```^```2)`
Le numérateur et le dénominateur sont négatifs donc f est croissante.
On tape :
`limit(f(x),x=1)`
On obtient :
`infinity`
On tape :
`limit(f(x),x=0)`
On obtient :
`0`
2/ Pn(x) est croissante et continue dans l’intervalle [0;1] et on a :
P(0)=−1, P(1)=1
Il existe donc d’après le théorème des valeurs intermédiaires une valeur an unique dans l’intervalle ]0;1[ telle que P(an)=0.
On a :
`a``1``=1/2`.
On tape :
`solve(x```^```2+x-1,x)`
On obtient :
`[(-1+sqrt(5))/2,(-1-sqrt(5))/2]`
donc `a``2``=(-1+sqrt(5))/2 ≃ 0.61803398875`
On définit la fonction qu’il faut itérer pour n fixé :
`g(n,x):=``x-(x```^```n+x-1)/(n*x```^```(n-1)+1)`
puis,
`h(x):=g(3,x)`
`h(1.0)`
`h(ans())`.....
`h(ans())`
On obtient :
`a``3``=0.682327803828`
puis,
`h(x):=g(4,x)`
`h(1.0)`
`h(ans())`....
`h(ans())`
On obtient :
`a``4``=0.686046511628`
puis,
`h(x):=g(50,x)`
`h(1.0)`
`h(ans())`....
`h(ans())`
On obtient :
`a``50``=0.943986614988`
puis,
`h(x):=g(100,x)`
`h(1.0)`
`h(ans())`....
`h(ans())`
On obtient :
`a``100``=0.966583901079`
3/ On a donc :
(an)n=1−an.
On en déduit :
n*ln(an)=ln(1−an)
c’est à dire f(an)=n
Comme f est une bijection de [0;1[ sur [0;+∞[, f admet une fonction inverse qui tend vers 1 à l’infini.
On a :
an=f−1(n)=g(n) donc, la suite an est convergente et sa limite est 1.

Retour à la page personnelle de Bernard Parisse.