% Jean-Pierre Demailly
% Universit\'e de Grenoble I, Institut Fourier
% \'Equations Diff\'erentielles et Analyse Num\'erique
% Collection Grenoble-Sciences, Presses Universitaires de Grenoble

\newif\ifcolorized \colorizedfalse
\newif\iftocfirst \tocfirsttrue

\input hyperbasics.tex

\ifcolorized
\magnification=1200 \hsize=13cm\hoffset=0cm \vsize=18.8cm\voffset=0.3cm
\else
%% \magnification=1000 \hsize=13cm\hoffset=1.5cm \vsize=18.8cm\voffset=2cm
\magnification=1200 \hsize=13cm\hoffset=0cm \vsize=18.8cm\voffset=0.3cm
\fi

\pretolerance=500 \tolerance=1000 \brokenpenalty=5000
\parindent=0mm
\parskip=5pt plus 1pt minus 1pt
\baselineskip=12.5pt

\catcode`\@=11
\def\makeheadline{\vbox to\z@{\vskip-25.4\p@
  \line{\vbox to8.5\p@{}\the\headline}\vss}\nointerlineskip}
\def\makefootline{\baselineskip28\p@\lineskiplimit\z@\line{\the\footline}}
\catcode`\@=12

% new fonts definitions

\font\twentyfourss=cmss10 at 24.8832pt
\font\twentyss=cmss10 at 20.736pt
\font\seventeenss=cmss10 at 17.28pt
\font\fourteenss=cmss10 at 14.4pt
\font\twelvess=cmss10 at 12pt
\font\tenss=cmss10
\font\sevenss=cmss10 at 7pt

\font\twentyfourbss=cmssbx10 at 24.8832pt
\font\twentybss=cmssbx10 at 20.736pt
\font\seventeenbss=cmssbx10 at 17.28pt
\font\fourteenbss=cmssbx10 at 14.4pt
\font\twelvebss=cmssbx10 at 12pt
\font\tenbss=cmssbx10
\font\sevenbss=cmssbx10 at 7pt

\font\twelveline=line10 at 12pt
\font\twentyrm=cmr10 at 20.736pt
\font\seventeensy=cmsy10 at 17.28pt
\font\seventeenrm=cmr10 at 17.28pt
\font\seventeenbf=cmbx10 at 17.28pt
\font\seventeeni=cmmi10 at 17.28pt
\font\fourteensy=cmsy10 at 14.4pt
\font\fourteenrm=cmr10 at 14.4pt
\font\fourteenbf=cmbx10 at 14.4pt
\font\fourteeni=cmmi10 at 14.4pt
\font\twelvesy=cmsy10 at 12pt
\font\twelvebf=cmbx10 at 12pt
\font\twelvei=cmmi10 at 12pt
\font\eightbf=cmbx10 at 8pt
\font\sixbf=cmbx10 at 6pt

\font\twelvei=cmmi10 at 12pt
\font\eighti=cmmi10 at 8pt
\font\sixi=cmmi10 at 6pt

\font\twelverm=cmr10 at 12pt
\font\eightrm=cmr10 at 8pt
\font\sixrm=cmr10 at 6pt


\font\eightsy=cmsy8
\font\sixsy=cmsy6

\font\eightit=cmti8
\font\eighttt=cmtt8
\font\eightsl=cmsl8

\font\seventeenbsy=cmbsy10 at 17.28pt
\font\fourteenbsy=cmbsy10 at 14.4pt
\font\twelvebsy=cmbsy10 at 12pt
\font\tenbsy=cmbsy10
\font\eightbsy=cmbsy8
\font\sevenbsy=cmbsy7
\font\sixbsy=cmbsy6
\font\fivebsy=cmbsy5

\font\tenmsa=msam10
\font\eightmsa=msam8
\font\sevenmsa=msam7
\font\fivemsa=msam5
\newfam\msafam
  \textfont\msafam=\tenmsa
  \scriptfont\msafam=\sevenmsa
  \scriptscriptfont\msafam=\fivemsa
\def\msa{\fam\msafam\tenmsa}

\font\fourteenmsb=msbm10 at 14.4pt
\font\tenmsb=msbm10
\font\eightmsb=msbm8
\font\sevenmsb=msbm7
\font\fivemsb=msbm5
\newfam\msbfam
  \textfont\msbfam=\tenmsb
  \scriptfont\msbfam=\sevenmsb
  \scriptscriptfont\msbfam=\fivemsb
\def\Bbb{\fam\msbfam\tenmsb}

\font\fourteenCal=eusm10 at 14.4pt
\font\twelveCal=eusm10 at 12pt
\font\tenCal=eusm10
\font\sevenCal=eusm7
\font\fiveCal=eusm5
\newfam\Calfam
  \textfont\Calfam=\tenCal
  \scriptfont\Calfam=\sevenCal
  \scriptscriptfont\Calfam=\fiveCal
\def\Cal{\fam\Calfam\tenCal}

\font\teneuf=eusm10
\font\teneuf=eufm10
\font\seveneuf=eufm7
\font\fiveeuf=eufm5
\newfam\euffam
  \textfont\euffam=\teneuf
  \scriptfont\euffam=\seveneuf
  \scriptscriptfont\euffam=\fiveeuf
\def\euf{\fam\euffam\teneuf}

\font\seventeenbfit=cmmib10 at 17.28pt
\font\fourteenbfit=cmmib10 at 14.4pt
\font\twelvebfit=cmmib10 at 12pt
\font\tenbfit=cmmib10
\font\eightbfit=cmmib8
\font\sevenbfit=cmmib7
\font\sixbfit=cmmib6
\font\fivebfit=cmmib5
\newfam\bfitfam
  \textfont\bfitfam=\tenbfit
  \scriptfont\bfitfam=\sevenbfit
  \scriptscriptfont\bfitfam=\fivebfit
\def\bfit{\fam\bfitfam\tenbfit}

\def\gS{\hbox{\teneuf S}}

% changing font sizes
\catcode`\@=11
\def\eightpoint{%
  \textfont0=\eightrm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm
  \def\rm{\fam\z@\eightrm}%
  \textfont1=\eighti \scriptfont1=\sixi \scriptscriptfont1=\fivei
  \def\mit{\fam\@ne\eighti}%
  \def\oldstyle{\fam\@ne\eighti}%
  \textfont2=\eightsy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy
  \textfont\itfam=\eightit
  \def\it{\fam\itfam\eightit}%
  \textfont\slfam=\eightsl
  \def\sl{\fam\slfam\eightsl}%
  \textfont\bffam=\eightbf \scriptfont\bffam=\sixbf
  \scriptscriptfont\bffam=\fivebf
  \def\bf{\fam\bffam\eightbf}%
  \textfont\ttfam=\eighttt
  \def\tt{\fam\ttfam\eighttt}%
  \textfont\msbfam=\eightmsb
  \def\Bbb{\fam\msbfam\eightmsb}%
  \abovedisplayskip=9pt plus 2pt minus 6pt
  \abovedisplayshortskip=0pt plus 2pt
  \belowdisplayskip=9pt plus 2pt minus 6pt
  \belowdisplayshortskip=5pt plus 2pt minus 3pt
  \smallskipamount=2pt plus 1pt minus 1pt
  \medskipamount=4pt plus 2pt minus 1pt
  \bigskipamount=9pt plus 3pt minus 3pt
  \normalbaselineskip=9pt
  \setbox\strutbox=\hbox{\vrule height7pt depth2pt width0pt}%
  \let\bigf@ntpc=\eightrm \let\smallf@ntpc=\sixrm
  \normalbaselines\rm}
\catcode`\@=12

\def\eightpointbf{%
 \textfont0=\eightbf   \scriptfont0=\sixbf   \scriptscriptfont0=\fivebf
 \textfont1=\eightbfit \scriptfont1=\sixbfit \scriptscriptfont1=\fivebfit
 \textfont2=\eightbsy  \scriptfont2=\sixbsy  \scriptscriptfont2=\fivebsy
 \eightbf
 \baselineskip=10pt}

\def\tenpointbf{%
 \textfont0=\tenbf   \scriptfont0=\sevenbf   \scriptscriptfont0=\fivebf
 \textfont1=\tenbfit \scriptfont1=\sevenbfit \scriptscriptfont1=\fivebfit
 \textfont2=\tenbsy  \scriptfont2=\sevenbsy  \scriptscriptfont2=\fivebsy
 \bf}
        
\def\twelvepointbf{%
 \textfont0=\twelvebf   \scriptfont0=\eightbf   \scriptscriptfont0=\sixbf
 \textfont1=\twelvebfit \scriptfont1=\eightbfit \scriptscriptfont1=\sixbfit
 \textfont2=\twelvebsy  \scriptfont2=\eightbsy  \scriptscriptfont2=\sixbsy
 \twelvebss
 \baselineskip=14.4pt}

\def\fourteenpointbf{%
 \textfont0=\fourteenbf   \scriptfont0=\tenbf   \scriptscriptfont0=\sevenbf
 \textfont1=\fourteenbfit \scriptfont1=\tenbfit \scriptscriptfont1=\sevenbfit
 \textfont2=\fourteenbsy  \scriptfont2=\tenbsy  \scriptscriptfont2=\sevenbsy
 \fourteenbss
 \baselineskip=17.28pt}

\def\seventeenpointbf{%
 \textfont0=\seventeenbf  \scriptfont0=\twelvebf  \scriptscriptfont0=\eightbf
 \textfont1=\seventeenbfit\scriptfont1=\twelvebfit\scriptscriptfont1=\eightbfit
 \textfont2=\seventeenbsy \scriptfont2=\twelvebsy \scriptscriptfont2=\eightbsy
 \seventeenbss
 \baselineskip=20.736pt}

\def\twelvepoint{%
 \textfont0=\twelverm   \scriptfont0=\eightrm  \scriptscriptfont0=\sixrm
 \textfont1=\twelvei    \scriptfont1=\eighti   \scriptscriptfont1=\sixi
 \textfont2=\twelvesy   \scriptfont2=\eightsy  \scriptscriptfont2=\sixsy
 \twelvess
 \baselineskip=14.4pt}

\def\fourteenpoint{%
 \textfont0=\fourteenrm  \scriptfont0=\tenrm  \scriptscriptfont0=\sevenrm
 \textfont1=\fourteeni  \scriptfont1=\teni    \scriptscriptfont1=\seveni
 \textfont2=\fourteensy  \scriptfont2=\tensy  \scriptscriptfont2=\sevensy
 \fourteenss
 \baselineskip=17.28pt}

\def\seventeenpoint{%
 \textfont0=\seventeenrm \scriptfont0=\twelverm  \scriptscriptfont0=\eightrm
 \textfont1=\seventeeni  \scriptfont1=\twelvei   \scriptscriptfont1=\eighti
 \textfont2=\seventeensy \scriptfont2=\twelvesy  \scriptscriptfont2=\eightsy
 \seventeenss
 \baselineskip=20.736pt}

\def\twentypoint{%
 \textfont0=\twentyrm  \scriptfont0=\fourteenrm \scriptscriptfont0=\eightrm
 \textfont1=\twentyi   \scriptfont1=\fourteeni  \scriptscriptfont1=\eighti
 \textfont2=\twentysy \scriptfont2=\fourteensy  \scriptscriptfont2=\eightsy
 \twentyss
 \baselineskip=24.8832pt}
 
% main item macros

\newdimen\srdim \srdim=\hsize
\newdimen\irdim \irdim=\hsize
\def\NOSECTREF#1{\noindent\hbox to \srdim{\null\dotfill ???(#1)}}
\def\SECTREF#1{\noindent\hbox to \srdim{\csname REF\romannumeral#1\endcsname}}
\def\INDREF#1{\noindent\hbox to \irdim{\csname IND\romannumeral#1\endcsname}}
\newlinechar=`\^^J
\def\openauxfile{
  \immediate\openin1\jobname.aux
  \ifeof1
  \message{^^JCAUTION\string: you MUST run TeX a second time^^J}
  \let\sectref=\NOSECTREF \let\indref=\NOSECTREF
  \else
  \input \jobname.aux
  \message{^^JCAUTION\string: if the file has just been modified you may 
    have to run TeX twice^^J}
  \let\sectref=\SECTREF \let\indref=\INDREF
  \fi
  \message{to get correct page numbers displayed in Contents or Index 
    Tables^^J}
  \immediate\openout1=\jobname.aux
  \let\END=\end \def\end{\immediate\closeout1\END}}
        
\newcount\notthispage \notthispage=1

\newbox\titlebox   \setbox\titlebox\hbox{\hfil}
\newbox\sectionbox \setbox\sectionbox\hbox{\hfil}
\newbox\chapterbox \setbox\chapterbox\hbox{\hfil}
\newbox\bookbox \setbox\bookbox\hbox{\hfil}
\newbox\ebookbox \setbox\ebookbox\hbox{\hfil}

\def\fakeskip{$\rlap{\phantom{\vrule height18pt depth2pt width0pt}}$}
\def\blackline{\rlap{\vrule width \hsize height -4.7pt depth 5pt}}
\def\upperblackline{\rlap{\vrule width \hsize height 11pt depth -10.7pt}}

\def\foliotoc{\ifnum\pageno=\notthispage \hfil
           \else \ifodd\pageno \blackline%
           {\tenss \copy\chapterbox%
           \hfill\romannumeral\pageno}\else\blackline%
           {\tenss\romannumeral\pageno\hfill\copy\titlebox}\fi\fi}
\def\foliochap{\ifnum\pageno=\notthispage \hfil
           \else \ifodd\pageno \blackline%
           {\tenss \copy\sectionbox%
           \hfill\number\pageno}\else\blackline%
           {\tenss\number\pageno\hfill\copy\chapterbox}\fi\fi}
\def\folioref{\ifnum\pageno=\notthispage \hfil
           \else \ifodd\pageno \blackline%
           {\tenss \copy\chapterbox%
           \hfill\number\pageno}\else\blackline%
           {\tenss\number\pageno\hfill\copy\titlebox}\fi\fi}
\def\foliopapebook{\blackline{\copy\bookbox\hfill\copy\ebookbox}}

\footline={\hfil}

\let\forceheader\eject
\def\blankline{\phantom{}\hfil\vskip0pt}
\def\chapterspacing{\phantom{$\ $}\vskip2.5cm}
\def\titlerunning#1{\setbox\titlebox\hbox{\tenss #1}}
\def\chapterrunning#1{\notthispage=\pageno
    \setbox\chapterbox\hbox{\tenss #1}}
\def\title#1{\noindent\hfil$\smash{\hbox{\seventeenpointbf #1}}$\hfil
             \titlerunning{#1}\medskip}
\def\titleleft#1{\noindent$\smash{\hbox{\seventeenpointbf #1}}$\hfil
                 \titlerunning{#1}\medskip}

\def\supersection#1{%
  \par\vskip1.5cm\penalty -100 
  \vbox{\baselineskip=17.28pt\noindent{{\fourteenpointbf #1}}}
  \vskip3pt
  \penalty 500
  \titlerunning{#1}}

\newcount\numbersection \numbersection=-1
\def\sectionrunning#1{\setbox\sectionbox\hbox{\tenss #1}
  \write1{\string\def\string\REF
      \romannumeral\numbersection\string{%
      \noexpand#1 \string\dotfill\string\space\number\pageno\string}}}

\def\RGBColor#1#2{\special{color push rgb #1}#2\special{color pop}}

\ifcolorized
\def\maincolor#1{\RGBColor{0 0 0.5}{#1}}
\else
\def\maincolor#1{#1}
\fi
\def\colorstate#1{\noindent\maincolor{{\bf #1.}}}

\def\section#1{%
  \removelastskip
  \vskip1cm\penalty -100
  \vbox{\baselineskip=17.28pt\noindent{\maincolor{\seventeenpoint #1\vskip0pt}}}
  \vskip1pt
  \penalty 500
  \advance\numbersection by 1
  \sectionrunning{#1}}

\def\subsection#1{%
  \removelastskip
  \vskip0.5cm\penalty -100
  \vbox{\noindent{\maincolor{\fourteenpoint #1\vskip0pt}}}
  \penalty 500}

\newcount\numberindex \numberindex=0  
\def\index#1#2{%
  \advance\numberindex by 1
  \write1{\string\def \string\IND #1%
     \romannumeral\numberindex \string{%
     \noexpand#2 \string\dotfill \space \number\numbersection, 
     p.\string\ \space\number\pageno \string}}}

\newcount\numberchap 
\iftocfirst \numberchap=-2 \else \numberchap=-1 \fi

\def\CHpage{
   \immediate\write1{\string\def\string\CH \romannumeral\numberchap\string{%
   \number\pageno\string}}}

\def\chapterjump{
  \vfill\eject
  \ifodd\pageno \else {\headline={\hfil}\null\vskip0pt\vfill\eject} \fi
  \advance\numberchap by 1
  \CHpage
}

\def\numpage#1{~\dotfill~#1}

\newdimen\dpp
\newbox\claimbox \setbox\claimbox\hbox{\hfil}

\long\def\claim#1#2\endclaim{\par\vskip 5pt\noindent 
{{\tenpointbf\maincolor{#1.}}\ {\it #2}\vskip-18pt}
\strut\kern\hsize
\ifcolorized
\special{" gsave 0.8 0.8 0.1 setrgbcolor -1 -1 scale
0 6 moveto 7 0 rlineto 0 -3 rlineto -4 0 rlineto 0 -4 rlineto
-3 0 rlineto closepath fill grestore}%
\else
\special{" gsave 0.667 setgray -1 -1 scale
0 6 moveto 7 0 rlineto 0 -3 rlineto -4 0 rlineto 0 -4 rlineto
-3 0 rlineto closepath fill grestore}%
\fi
\par\vskip11pt}

\long\def\exo#1#2\endexo{\par\vskip 5pt\noindent 
{\tenpointbf\maincolor{#1.}}\ {\rm #2}\par}

\def\ceqno(#1){\eqno{{\maincolor{(#1)}}}}
\def\cleqno(#1){\leqno{{\maincolor{(#1)}}}}

\def\eqleqno#1\hfill#2{\leqno
\hbox to 0.0001pt{\rlap{\rlap{\maincolor{#1}}%
\kern\hsize\llap{\maincolor{#2}}}}}

\def\joinrel{\mathrel{\mkern-3.5mu}}
\def\llra{\relbar\joinrel\relbar\joinrel\longrightarrow}
\def\llmapsto{\mapstochar\relbar\joinrel\relbar\joinrel\longrightarrow}
\def\vlra#1|{\mathrel{\hbox to#1mm{\rightarrowfill}}}


% Usual sets of numbers  
\def\bC{{\Bbb C}}
\def\bK{{\Bbb K}}
\def\bN{{\Bbb N}}
\def\bP{{\Bbb P}}
\def\bQ{{\Bbb Q}}
\def\bR{{\Bbb R}}
\def\bZ{{\Bbb Z}}

% Calligraphic capital letters
\def\cA{{\Cal A}}
\def\cC{{\Cal C}}
\def\cD{{\Cal D}}
\def\cE{{\Cal E}}
\def\cF{{\Cal F}}
\def\cG{{\Cal G}}
\def\cI{{\Cal I}}
\def\cL{{\Cal L}}
\def\cN{{\Cal N}}
\def\cP{{\Cal P}}
\def\cR{{\Cal R}}
\def\cS{{\Cal S}}
\def\cT{{\Cal T}}
\def\cV{{\Cal V}}

\def\tC{\smash{\tilde C}}

\def\tvi{{\vrule height 10pt depth 5pt width 0pt}}
\def\tv{\tvi\vrule}
\def\hexnbr#1{\ifnum#1<10 \number#1\else
 \ifnum#1=10 A\else\ifnum#1=11 B\else\ifnum#1=12 C\else
 \ifnum#1=13 D\else\ifnum#1=14 E\else\ifnum#1=15 F\fi\fi\fi\fi\fi\fi\fi}
\def\msatype{\hexnbr\msafam}
\def\msbtype{\hexnbr\msbfam}

\mathchardef\smallsetminus="2\msbtype72   \let\ssm\smallsetminus
\mathchardef\restr="3\msatype16
\mathchardef\supsetneqq="3\msbtype25
\mathchardef\subsetneq="3\msbtype28
\mathchardef\supsetneq="3\msbtype29
\mathchardef\leqslant="3\msatype36
\mathchardef\geqslant="3\msatype3E
\mathchardef\complement="0\msatype7B
\let\ge=\geqslant
\let\le=\leqslant
\let\dsp=\displaystyle

\def\VVert{{|}\kern-1.2pt{|}\kern-1.2pt{|}}

\def\square{\maincolor{\hfill \hbox{
\vrule height 1.453ex  width 0.093ex  depth 0ex
\vrule height 1.5ex  width 1.3ex  depth -1.407ex\kern-0.1ex
\vrule height 1.453ex  width 0.093ex  depth 0ex\kern-1.35ex
\vrule height 0.093ex  width 1.3ex  depth 0ex}}}
\def\qed{\phantom{$\quad$}$\square$}

\def\frac#1#2{{#1\over #2}}
\def\dfrac#1#2{{#1\over #2}}
\def\fracs#1#2{{\scriptstyle{#1\over#2}}}
\def\fracss#1#2{{\scriptscriptstyle{#1\over#2}}}

\catcode`@=11
\def\ccmalign#1#2{\null\,\vcenter{\normalbaselines\m@th
    \ialign{$\displaystyle ##$\hfil&&\kern#1$\displaystyle ##$\hfil\crcr
      \mathstrut\crcr\noalign{\kern-\baselineskip}
      #2\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}
\def\cmalign#1{\null\,\vcenter{\normalbaselines\m@th
    \ialign{\hfil$##$&&$##$\hfil\crcr
      \mathstrut\crcr\noalign{\kern-\baselineskip}
      #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}
\catcode`@=12

\def\coloritem#1{\item{\maincolor{#1}}}

\def\itemv{%
\item{\llap{$\square\kern7pt$}\llap{$\raise0.6pt\hbox{$\times$}\kern6pt$}}}
\def\itemf{%
\item{\llap{$\square\kern7pt$}}}

\def\bul{$\scriptstyle\bullet$}

\def\bigzero{\hbox{~\seventeenrm 0~~~}}
\def\branch{\raise2pt\hbox{
   \vbox{\hbox{\vrule height 0.4pt depth 0pt width 12.2pt}
         \hbox{\raise-11.6pt\hbox{\twelveline\char"00}}}}}
\def\?{\hbox{$\,$}}
\def\lguil{\hbox{%
\raise1pt\hbox{$\scriptscriptstyle\langle\!\langle\kern1pt$}}}
\def\rguil{\hbox{%
\raise1pt\hbox{$\kern1pt\scriptscriptstyle\rangle\!\rangle$}}}

\def\sqind#1{\kern1.5pt\rlap{\raise5pt\hbox{$\scriptstyle#1$}}\kern-1.5pt}

\def\KH{{\rm KH}}
\def\Riemann{{\rm Riemann}}
\def\eq{\mathop{\rm =}}
\def\Bij{\mathop{\rm Bij}}
\def\tr{\mathop{\rm tr}}
\def\Log{\mathop{\rm Log}}
\def\Mat{\mathop{\rm Mat}}
\def\Ker{\mathop{\rm Ker}}
\def\Vect{\mathop{\rm Vect}}
\def\rang{\mathop{\rm rang}\nolimits}
\def\Inv{\mathop{\rm Inv}}
\def\Sp{\mathop{\rm Sp}\nolimits}
\def\Arccos{\mathop{\rm Arccos}}
\def\Arcsin{\mathop{\rm Arcsin}}
\def\Arctan{\mathop{\rm Arctan}}
\def\Argcosh{\mathop{\rm Argcosh}}
\def\Argsinh{\mathop{\rm Argsinh}}
\def\cotan{\mathop{\rm cotan}}
\def\cotanh{\mathop{\rm cotanh}}
\def\supess{\mathop{\rm sup\,ess}}
\def\infess{\mathop{\rm inf\,ess}}
\def\card{\mathop{\rm card}}
\def\Id{\mathop{\rm Id}\nolimits}
\def\Re{\mathop{\rm Re}}
\def\Im{\mathop{\rm Im}}
\def\Jac{\mathop{\rm Jac}}
\def\Supp{\mathop{\rm Supp}}
\def\oscil{\mathop{\rm oscil}}
\def\vol{\mathop{\rm vol}}
\def\aspect{\mathop{\rm aspect}}
\def\aire{\mathop{\rm aire}}
\def\longueur{\mathop{\rm longueur}}
\def\diam{\mathop{\rm diam}}
\def\sign{\mathop{\rm sign}}
\def\grad{\mathop{\rm grad}}
\def\rot{\mathop{\rm rot}}
\def\div{\mathop{\rm div}}
\def\Var{\mathop{\rm Var}}
\def\pf{p\kern-1pt f}
\def\dplus{\mathrel{\dot +}}

\def\note#1#2#3{\footnote{}%
{\baselineskip=8pt\leftskip=5.4mm\rlap{\strut\kern-5.4mm${}^{\rm(#2)}$}%
\hyperdef#1{}{}{}{\eightpoint #3}\vskip-15pt}%
${}^{\rm(\hyperref#1{#2})}$}
\def\\{\hfil\break}
\def\demi{\textstyle{1\over 2}}
\def\ovl{\overline}
\def\ovr{\overrightarrow}
\def\ul#1{$\underline{\smash{\hbox{#1}}}$}

\def\build#1^#2_#3{\mathop{#1}\limits^{#2}_{#3}}
\def\demo{\noindent{\it D\'emonstration.}\ }

\newbox\formulabox  \setbox\formulabox\hbox{\hfil}
\newdimen\wdd \newdimen\htt
\def\boxed#1#2{\setbox\formulabox\hbox{$\displaystyle #2$}
\wdd=8pt \advance \wdd by \wd\formulabox
\htt=4pt \advance \htt by \ht\formulabox
\dpp=4pt \advance \dpp by \dp\formulabox
\ifcolorized
\smash{\rlap{\hbox{\RGBColor{1 0.92 0.94}{\kern-4pt\vrule width \wdd height \htt depth \dpp}}}}\else%
\smash{\rlap{\hbox{\RGBColor{0.94 0.94 0.94}{\kern-4pt\vrule width \wdd height \htt depth \dpp}}}}\fi%
\copy\formulabox}
\def\boxit#1#2{\hbox{\vrule
 \vbox{\hrule\kern#1
  \vtop{\hbox{\kern#1 #2\kern#1}%
   \kern#1\hrule}}%
 \vrule}}
\def\boxmat#1#2{\boxit{#1}{$#2$}} 

% inclusion of PostScript files
\special{header=mdrlib.ps}

\long\def\InsertFig#1 #2 #3 #4\EndFig{\par
\hbox{\hskip #1mm$\vbox to#2mm{\vfil\special{" 
#3}}#4$}}

\long\def\InsertPSFile#1 #2 #3 #4 #5 #6\EndFig{\par
\hbox{\hskip #1mm$\vbox to#2mm{%
\vfil\special{psfile=#5 hscale=#3 vscale=#4}}#6$}}

\long\def\InsertImage#1 #2 #3 #4 #5 #6 #7 #8\EndFig{\par
\hbox{\hskip #1mm$\vbox to#2mm{%
\vfil\special{psfile="`img2eps file #7 height #4 mm width #3 mm gamma #5
angle #6}}#8$}}

\long\def\LabelTeX#1 #2 #3\ELTX{\rlap{\kern#1mm\raise#2mm\hbox{#3}}}

\def\psrotate#1#2{\special{ps: /a{pop pop}def gsave #1 neg rotate}#2
\special{ps: grestore /a{moveto}bind def}}

% bibibliography
\def\bibitem#1&#2&#3&#4&%
{\hangindent=1.2cm\hangafter=1
\noindent\rlap{\hbox{\eightpointbf #1}}\kern1.2cm{\rm #2}{\it #3}{\rm #4.}} 

%%% Texte principal

\setbox\bookbox\hbox{\tenss 
\maincolor{%
Analyse num\'erique et \'equations diff\'erentielles}}
\setbox\ebookbox\hbox{\tenss 
\maincolor{%
\href{https://grenoble-sciences.ujf-grenoble.fr/pap-ebook/demailly/1-calculs-numeriques-approches}{\RGBColor{0 0 1}{$\strut\,\Rightarrow$ site web compagnon$\,$}}}}

\footline={\upperblackline
\maincolor{%
\tenss Int\'egrales elliptiques et calcul de $\pi$\hfill\copyright\ Grenoble Sciences, J.-P.~Demailly $\scriptstyle \bullet$ \folio}}

\openauxfile
\headline={\foliopapebook}

\notthispage=\pageno
\strut\vskip4mm
\maincolor{%
\title{Moyenne arithm\'etico-g\'eom\'etrique,}
\title{int\'egrales elliptiques et calcul de $\pi$}}
\titlerunning{\maincolor{%
Moyenne arithm\'etico-g\'eom\'etrique, int\'egrales 
elliptiques et calcul de $\pi$}}
\vskip10mm

{\eightpoint

%%% TOC
\line{0. Introduction\dotfill\hyperref\SECo{1}}
\line{1. Moyenne arithm\'etico-g\'eom\'etrique\dotfill\hyperref\SECi{1}}
\line{2. Int\'egrales elliptiques\dotfill\hyperref\SECii{2}}
\line{3. Transformation de Landen\dotfill\hyperref\SECiii{3}}
\line{4. \'Evaluation des int\'egrales elliptiques\dotfill\hyperref\SECiv{5}}
\line{5. Relation de Legendre\dotfill\hyperref\SECv{6}}
\line{6. Formule de Brent-Salamin pour $\pi$\dotfill\hyperref\SECvi{7}}
\line{7. Code pour PARI/GP\dotfill\hyperref\SECvii{9}}

}

\section{0. Introduction}\hyperdef\SECo{}{}{}
\bigskip

L'objectif de ce texte est d'expliquer le lien entre la
moyenne arithm\'etico-g\'eom\'etrique et les int\'egrales
elliptiques, d\'ecouvert par C.F.~Gauss en 1799 alors qu'il 
avait 22~ans\note{\NOTEi}{1}{voir aussi~: A.~Chambert-Loir, S.~Fermigier et
V.~Maillot, {\it Exercices d'analyse pour l'agr\'egation, Analyse~1
(Topologie, suites et s\'eries, int\'egration)}, Paris : Masson, 230
p.\ (1995).}. On d\'emontrera ensuite la relation de 
Legendre (1811),
qui fournit une m\'ethode de calcul de $\pi$ extr\^emement efficace.
Elle aurait donc d\'ej\`a pu \^etre d\'ecouverte au d\'ebut du 19${}^{\rm e}$ 
si\`ecle, mais il fallut en r\'ealit\'e attendre les travaux de Brent 
et Salamin en 1976 pour que cette m\'ethode soit explicitement sugg\'er\'ee
comme moyen de calcul de~$\pi$.
\bigskip

\section{1. Moyenne arithm\'etico-g\'eom\'etrique}\hyperdef\SECi{}{}{}

\'Etant donn\'es deux r\'eels $a$, $b>0$, on consid\`ere les suites $(a_n)$, $(b_n)$
d\'efinies par la relation de r\'ecurrence $(a_0,b_0)=(a,b)$ et
$$
\cases{
\displaystyle
a_{n+1}={a_n+b_n\over 2}\cr
\noalign{\vskip5pt}
\displaystyle
b_{n+1}=\sqrt{a_nb_n}.\cr
}
$$
Comme les termes d'indices $n\ge 1$ restent inchang\'es si on permute $a$ et $b$,
il n'est pas restrictif de supposer $a\ge b>0$. Dans ce cas, nous
affirmons que $(a_n)$ est une suite d\'ecroissante, que $(b_n)$ est une
suite croissante, et que les deux suites sont adjacentes.
En effet
$$
a_{n+1}^2-b_{n+1}^2=\Big({a_n+b_n\over 2}\Big)^2-a_nb_n
=\Big({a_n-b_n\over 2}\Big)^2\ge 0,
\leqno\hyperdef\EQiDi{}{}{(1.1)}
$$
on a donc $a_n\ge b_n$ pour tout $n\ge 1$. Ceci implique $a_{n+1}\le a_n$
et $b_{n+1}\ge b_n$ pour tout~$n\ge 0$, par cons\'equent
$$
b=b_0\le\ldots\le b_n\le b_{n+1}\le a_{n+1}\le a_n\le\ldots\le a_0=a.
\leqno\hyperdef\EQiDii{}{}{(1.2)}
$$
Comme les suites sont monotones et born\'ees, leurs limites respectives
$\alpha=\lim a_n$ et $\beta=\lim b_n$ existent, et la relation
$a_{n+1}={1\over 2}(a_n+b_n)$ entra\^{\i}ne $\alpha={1\over 2}(\alpha+\beta)$
d'o\`u~$\alpha=\beta$. Ceci implique bien que les suites sont adjacentes.
On note
$$
M(a,b)=\lim a_n=\lim b_n
\leqno\hyperdef\EQiDiii{}{}{(1.3)}
$$ leur limite commune, appel\'ee {\it moyenne arithm\'etico-g\'eom\'etrique}
de $a$ et $b$, et on pose de plus 
$$
c_n=\sqrt{a_n^2-b_n^2}. 
\leqno\hyperdef\EQiDiv{}{}{(1.4)}
$$
Il vient
d'apr\`es \hyperref\EQiDi{(1.1)} $c_{n+1}={1\over 2}(a_n-b_n)$, donc $c_n$ d\'ecro\^{\i}t vers $0$ et
$$
c_n^2=(a_n-b_n)(a_n+b_n)=4c_{n+1}a_{n+1}~~ \Rightarrow~~ c_{n+1}\le {c_n^2\over
4M(a,b)}.
$$
En posant $M=M(a,b)$, ceci se r\'ecrit $c_{n+1}/4M\le (c_n/4M)^2$, donc on voit par
r\'ecurrence que $c_n/4M\le (c_{n_0}/4M)^{2^{n-n_0}}$. Il s'agit d'une 
convergence de type quadratique~: si $n_0$ est pris tel que 
$c_{n_0}/4M\le 10^{-1}$, on va avoir
$$
a_n-b_n=2c_{n+1}\le 8M\, 10^{-2^{n+1-n_0}},
\leqno\hyperdef\EQiDv{}{}{(1.5)}
$$
soit d\'ej\`a environ $2^{10}>1000$ d\'ecimales exactes pour $n=n_0+9$.

\section{2. Int\'egrales elliptiques}\hyperdef\SECii{}{}{}

Pour $a,\,b>0$ on introduit les int\'egrales
$$\strut\kern30pt
I(a,b)=\int_0^{\pi/2}{dt\over\sqrt{a^2\cos^2t+b^2\sin^2 t}},\quad
J(a,b)=\int_0^{\pi/2}\sqrt{a^2\cos^2t+b^2\sin^2 t}\,dt.
\leqno\hyperdef\EQiiDi{}{}{(2.1)\kern-50pt}
$$
Il est facile de voir que le p\'erim\`etre de l'ellipse de demi-axes $a$, $b$ 
est \'egal \`a $4\,J(a,b)$, et pour cette raison, ces int\'egrales ont \'et\'e
appel\'ees int\'egrales elliptiques.  Il est \'evident que
$I(b,a)=I(a,b)$ et $J(b,a)=J(a,b)$ en faisant le changement de variable
$t\mapsto{\pi\over 2}-t$.

\section{3. Transformation de Landen}\hyperdef\SECiii{}{}{}

\`A l'aide d'un changement de variable astucieux, appel\'e transformation
de Landen, on va montrer que $I(a,b)$ et $J(a,b)$ satisfont les relations
$$
\leqalignno{
I(a_1,b_1)&=I(a,b),&\hyperdef\EQiiiDi{}{}{(3.1)}\cr
2\,J(a_1,b_1)&=J(a,b)+ab\,I(a,b),&\hyperdef\EQiiiDii{}{}{(3.2)}\cr}
$$
o\`u $\displaystyle a_1={a+b\over 2}$ et $b_1=\sqrt{ab}$ comme au \S$\,1$.
Le changement de variable consiste \`a poser
$$
u=t+\Arctan\Big({b\over a}\tan t\Big).
$$
Il r\'ealise une bijection croissante de $[0,\pi/2[$ sur $[0,\pi[$, et peut 
se prolonger diff\'erentia\-blement \`a $[0,\pi/2]$ comme on va le voir. On a
en effet
$$
{du\over dt}=1+{{b\over a}(1+\tan^2t)\over 1+({b\over a})^2\tan^2t}=
1+{ab(\cos^2t+\sin^2 t)\over a^2\cos^2 t+b^2\sin^2 t}=
{(a+b)(a\cos^2t+b\sin^2 t)\over a^2\cos^2t+b^2\sin^2 t}.
$$
D'autre part, si $\varphi\in[0,\pi/2[$, on a 
$$
\cos\varphi={1\over\sqrt{1+\tan^2\varphi}}\quad\hbox{et}\quad
\sin\varphi={\tan\varphi\over\sqrt{1+\tan^2\varphi}}.
$$
En posant $\;\varphi=\Arctan\big({b\over a}\tan t\big)$ et $u=t+\varphi$,
ceci implique $\;\tan\varphi={b\over a}\tan t\;$ et
$$
\eqalign{
\cos u 
&= \cos t\;\cos\varphi-\sin t\;\sin\varphi\cr
&= \cos t{1\over\sqrt{1+({b\over a})^2\tan^2t}}-
\sin t{{b\over a}\tan t\over\sqrt{1+({b\over a})^2\tan^2t}}=
{a\,\cos^2t-b\,\sin^2 t\over\sqrt{a^2\cos^2t+b^2\sin^2t}},\cr
\sin u 
&= \sin t\;\cos\varphi+\cos t\;\sin\varphi\cr
&= \sin t{1\over\sqrt{1+({b\over a})^2\tan^2t}}+
\cos t{{b\over a}\tan t\over\sqrt{1+({b\over a})^2\tan^2t}}=
{(a+b)\sin t\cos t\over\sqrt{a^2\cos^2t+b^2\sin^2t}}.\cr}
$$
On en d\'eduit alors
$$
\leqalignno{
a_1^2\cos^2u+b_1^2\sin^2u
&=\Big({a+b\over 2}\Big)^2\Big(\cos^2u+{4ab\over (a+b)^2}\sin^2u\Big)\cr
&=\Big({a+b\over 2}\Big)^2
{(a\,\cos^2t-b\,\sin^2t)^2+4ab\,\sin^2t\cos^2t\over
a^2\cos^2t+b^2\sin^2 t}\cr
&=\Big({a+b\over 2}\Big)^2{(a\,\cos^2t+b\,\sin^2 t)^2\over
a^2\cos^2t+b^2\sin^2 t},\cr
\noalign{\vskip5pt}
&&\hbox{soit, en posant $\Delta(t)=\sqrt{a^2\cos^2 t+b^2\sin^2 t}$}\cr
\noalign{\vskip5pt}
\Delta_1(u)=\sqrt{a_1^2\cos^2u+b_1^2\sin^2u}
&={a+b\over 2}{a\,\cos^2t+b\,\sin^2 t\over
\sqrt{a^2\cos^2t+b^2\sin^2 t}}.\cr}
$$
En combinant ceci avec le calcul de $du/dt$ qui donne
$$
du={(a+b)(a\cos^2t+b\sin^2 t)\over a^2\cos^2 t+b^2\sin^2 t}\,dt,
$$
il vient
$$
{1\over 2}\,{du\over\Delta_1(u)}=
{1\over 2}\,{du\over \sqrt{a_1^2\cos^2u+b_1^2\sin^2u}}=
{dt\over \sqrt{a^2\cos^2t+b^2\sin^2 t}}=
{dt\over\Delta(t)}.
\leqno\hyperdef\EQiiiDiii{}{}{(3.3)}
$$
Apr\`es int\'egration, nous obtenons
$$
{1\over 2}\int_0^\pi{du\over \sqrt{a_1^2\cos^2u+b_1^2\sin^2u}}=
\int_0^{\pi/2}{dt\over \sqrt{a^2\cos^2t+b^2\sin^2 t}},
$$
d'o\`u la relation \hyperref\EQiiiDi{(3.1)}  par sym\'etrie des 
int\'egrales sur $[0,\pi/2]$ et $[\pi/2,\pi]$. Pour obtenir 
\hyperref\EQiiiDii{(3.2)} , nous observons que
$$
\leqalignno{
\Delta_1(u)+{a-b\over 2}\cos u&=
{1\over 2}{(a+b)(a\,\cos^2t+b\,\sin^2t)+(a-b)(a\,\cos^2t-b\,\sin^2t)
\over\sqrt{a^2\cos^2t+b^2\sin^2 t}}\cr
&={a^2\cos^2t+b^2\sin^2 t\over\sqrt{a^2\cos^2+b^2\sin^2 t}}=\Delta(t),
&\hyperdef\EQiiiDiv{}{}{(3.4)}\cr
\Delta_1(u)-{a-b\over 2}\cos u&=
{1\over 2}{(a+b)(a\,\cos^2t+b\,\sin^2t)-(a-b)(a\,\cos^2t-b\,\sin^2t)
\over\sqrt{a^2\cos^2t+b^2\sin^2 t}}\cr
&={ab\cos^2t+ab\sin^2 t\over\sqrt{a^2\cos^2+b^2\sin^2 t}}={ab\over\Delta(t)}.
&\hyperdef\EQiiiDiv{}{}{(3.5)}\cr}
$$
En faisant la somme, nous trouvons
$$
2\,\Delta_1(u)=\Delta(t)+{ab\over\Delta(t)}.
\leqno\hyperdef\EQiiiDvi{}{}{(3.6)}
$$
La relation \hyperref\EQiiiDiii{(3.3)} 
donne par ailleurs $du=2{\Delta_1(u)\over\Delta(t)}dt$,
donc en multipliant \hyperref\EQiiiDiv{(3.4)} par $du$ il~s'ensuit
$$
\Delta_1(u)\,du+{a-b\over 2}\cos u\,du=\Delta(t)\,du=2\Delta_1(u)\,dt=
\Big(\Delta(t)+{ab\over\Delta(t)}\Big)dt.
\leqno\hyperdef\EQiiiDvii{}{}{(3.7)}
$$
Comme $\int_0^\pi\cos u\,du=0$, nous obtenons apr\`es int\'egration pour
$t\in[0,\pi/2]$ et $u\in[0,\pi]$~:
$$
2\,J(a_1,b_1)=J(a,b)+ab\,I(a,b),
$$
ce qu'il fallait d\'emontrer.\qed

\section{4. \'Evaluation des int\'egrales elliptiques}\hyperdef\SECiv{}{}{}

On utilise la moyenne arithm\'etico-g\'eom\'etrique 
$M=M(a,b)=\lim a_n=\lim b_n$. La~relation \hyperref\EQiiiDi{(3.1)} donne par
r\'ecurrence $I(a,b)=I(a_n,b_n)$, et il est facile de voir qu'il y
a convergence uniforme vers l'int\'egrale
$I(M,M)={\pi/2\over M}$. On obtient donc d\'ej\`a la formule c\'el\`ebre
due \`a C.F.~Gauss
$$
I(a,b)={\pi/2\over M(a,b)}.
\leqno\hyperdef\EQivDi{}{}{(4.1)}
$$
La formule \hyperref\EQiiiDii{(3.2)} implique par ailleurs
$$
\eqalign{
2\big(J(a_1,b_1)-a_1^2I(a_1,b_1)\big)
&=J(a,b)+ab\,I(a,b)-2\Big({a+b\over 2}\Big)^2I(a,b)\cr
&=J(a,b)-{a^2+b^2\over 2}I(a,b)\cr
&=J(a,b)-a^2\,I(a,b)+{1\over 2}c^2I(a,b)\cr}
$$
et en rempla\c{c}ant $(a,b)$ par $(a_{n-1},b_{n-1})$ on en d\'eduit de m\^eme 
$$
2\big(J(a_n,b_n)-a_n^2I(a_n,b_n)\big)
=J(a_{n-1},b_{n-1})-a_{n-1}^2\,I(a_{n-1},b_{n-1})+{1\over 2}c_{n-1}^2I(a,b).
$$
En multipliant par $2^{n-1}$, il vient ais\'ement par r\'ecurrence
$$
2^n(J(a_n,b_n)-a_n^2I(a_n,b_n)\big)=
J(a,b)-a^2\,I(a,b)+{1\over 2}\sum_{j=0}^{n-1}2^jc_j^2I(a,b).
\leqno\hyperdef\EQivDii{}{}{(4.2)}
$$
Nous affirmons que le membre de gauche tend vers $0$ du fait de la convergence
rapide. En effet on a les in\'egalit\'es
$$
{\pi\over 2}b\le J(a,b)\le{\pi\over 2}a,\qquad
{\pi\over 2a}\le I(a,b)\le{\pi\over 2b},
$$
donc
$$
{\pi\over 2}\Big(b-{a^2\over b}\Big)\le J(a,b)-a^2I(a,b)\le 0
\quad\Rightarrow\quad
\big|J(a,b)-a^2I(a,b)\big|\le{\pi\over 2b}(a^2-b^2)={\pi\over 2b}c^2,
$$
et par cons\'equent
$$
2^n\big|J(a_n,b_n)-a_n^2I(a_n,b_n)\big|\le 2^n{\pi\over 2b_n}c_n^2
\le 2^n{\pi\over 2b}c_n^2,
$$
ce qui tend vers z\'ero du fait de la convergence super-exponentielle de $c_n$.
\`A la limite, la relation \hyperref\EQivDii{(4.2)} implique la formule
$$
J(a,b)=I(a,b)\Big(a^2-\sum_0^{+\infty}2^{n-1}c_n^2\Big)=
{\pi\over 2}\;{a^2-\sum_0^{+\infty}2^{n-1}c_n^2\over M(a,b)}
\leqno\hyperdef\EQivDiii{}{}{(4.3)}
$$
qui permet d'\'evaluer efficacement $J(a,b)$ (et donc le p\'erim\`etre de
l'ellipse${}=4\,J(a,b)$).

\section{5. Relation de Legendre}\hyperdef\SECv{}{}{}

Soit $a,b,c$ des r\'eels${}>0$ tels que $a^2=b^2+c^2$ et $a_n$, $b_n$, $c_n$
comme au paragraphe 1. Nous avons 
$$
I(a_1,b_1)=I(a,b)
\leqno\hyperdef\EQvDi{}{}{(5.1)}
$$
et comme
$a_1={a+b\over 2}$, $c_1={a-b\over 2}$, il vient
$$
I(a_1,c_1)=I\Big({a_1+c_1\over 2},\sqrt{a_1c_1}\Big)=I(a/2,c/2)=2\,I(a,c).
\leqno\hyperdef\EQvDii{}{}{(5.2)}
$$
Par ailleurs 
$$
J(a_1,b_1)={1\over 2}\big(J(a,b)+ab\,I(a,b)\big),
\leqno\hyperdef\EQvDiii{}{}{(5.3)}
$$
et donc
$$
J(a,c)=2\,J(a/2,c/2)=2\,J\Big({a_1+c_1\over 2},\sqrt{a_1c_1}\Big)=
J(a_1,c_1)+a_1c_1I(a_1,c_1),
$$
ce qui implique
$$
J(a_1,c_1)=J(a,c)-{c^2\over 2}I(a,c).
\leqno\hyperdef\EQvDiv{}{}{(5.4)}
$$
La relation de Legendre consiste \`a \'evaluer l'expression
$$
E(a,b)=I(a,b)J(a,c)+I(a,c)J(a,b)-a^2I(a,b)I(a,c).
$$
Pour cela, on va chercher la transform\'ee de $E(a,b)$ par l'op\'eration de
moyenne arithm\'etico-g\'eom\'etrique. D'apr\`es 
(\hyperref\EQvDi{5.1}--\hyperref\EQvDiv{5.4}), on trouve
$$\eqalign{
E(a_1,b_1)
&=I(a_1,b_1)J(a_1,c_1)+I(a_1,c_1)J(a_1,b_1)-a_1^2I(a_1,b_1)I(a_1,c_1)\cr
&=I(a,b)\Big(J(a,c)-{c^2\over 2}I(a,c)\Big)
+2\,I(a,c){1\over 2}\Big(J(a,b)+ab\,I(a,b)\Big)\cr
&\phantom{I(a,b)\Big(J(a,c)-{c^2\over 2}I(a,c)\Big)={}}
-2\Big({a+b\over 2}\Big)^2I(a,b)I(a,c)\cr
&=E(a,b).\cr}
$$
On a par cons\'equent $E(a,b)=E(a_n,b_n)$ et il est naturel de chercher \`a \'evaluer
la limite quand $n\to+\infty$. Nous avons d'une part
$$
\lim I(a_n,b_n)=I(M,M)={\pi/2\over M},\quad
\lim J(a_n,c_n)=J(M,0)=\int_0^{\pi/2}M\cos t\,dt=M.
$$
D'autre part, comme $a\ge c$, on a aussi $I(a,c)\le {\pi\over 2c}$, et la
majoration de $J(a,b)-a^2I(a,b)$ par $(\pi/2b)c^2$ obtenue dans la section~4 
entra\^{\i}ne alors
$$
\big|I(a,c)J(a,b)-a^2I(a,b)I(a,c)\big|=I(a,c)
\big|J(a,b)-a^2I(a,b)\big|\le{\pi^2\over 4b}c.
$$
On en d\'eduit que $\lim_{n\to+\infty}
I(a_n,c_n)J(a_n,b_n)-a_n^2I(a_n,b_n)I(a_n,c_n)=0$ et donc 
$$
E(a,b)=\lim E(a_n,b_n)=I(M,M)J(M,0)={\pi\over 2}.
$$
Ceci donne la relation de Legendre reliant les int\'egrales elliptiques~:
$$
I(a,b)J(a,c)+I(a,c)J(a,b)-a^2I(a,b)I(a,c)={\pi\over 2}.
\leqno\hyperdef\EQvDv{}{}{(5.5)}
$$

\section{6. Formule de Brent-Salamin pour $\pi$}\hyperdef\SECvi{}{}{}

On applique la formule de Legendre avec $a=1$ et $0<b<1$, $b'=c=\sqrt{1-b^2}$.
Si nous d\'esignons par $c'_n$ la suite associ\'ee au calcul de la
moyenne arithm\'etico-g\'eom\'etrique $M(a,b')$, on obtient gr\^ace \`a 
\hyperref\EQivDiii{(4.3)}
$$
\eqalign{
{\pi\over 2}
&=I(1,b)J(1,b')+I(1,b')J(1,b)-I(1,b)I(1,b')\cr
&=I(1,b)I(1,b')\Big(1-\sum_{n=0}^{+\infty}2^{n-1}c_n^2-
\sum_{n=0}^{+\infty}2^{n-1}c_n^{\prime 2}\Big)
\cr}
$$
Comme $c_0=c=b'$ et $c'_0=\sqrt{1-b^{\prime 2}}=b$, on a $c_0^2+c^{\prime 2}_0=1$,
donc $1-2^{-1}(c_0^2+c^{\prime 2}_0)={1\over 2}$.
En multipliant l'\'egalit\'e pr\'ec\'edente par $2$ il vient
$$
\pi=I(1,b)I(1,b')\Big(1-\sum_{n=1}^{+\infty}2^n(c_n^2+c_n^{\prime 2})\Big)
={\pi^2\over 4\,M(1,b)M(1,b')}\Big(1-\sum_{n=1}^{+\infty}2^n(c_n^2+c_n^{\prime 2})\Big)
$$
Ceci fournit la formule propos\'ee par Richard~Brent\note{\NOTEii}{2}{R.P.~Brent,
{\it Multiple-precision zero-finding
methods and the complexity of elementary function
evaluation}, Traub, J.F., ed., Analytic Computational Complexity (1975), 
151--176.} et
Eugene~Salamin\note{\NOTEiii}{3}{E.~Salamin, {\it Computation of $\pi$
using arithmetic-geometric mean}, Mathematics of computation,
vol.~30, {\bf 135} (1976), 565--570.}
$$
\pi={ 4\,M(1,b)M(1,b')\over 1-\sum_{n=1}^{+\infty}2^n(c_n^2+c_n^{\prime 2})},
\qquad
\forall b,b'>0,~~b^2+b^{\prime 2}=1.
\leqno\hyperdef\EQviDi{}{}{(6.1)}
$$
Le choix le plus simple consiste \`a prendre $b=b'=2^{-1/2}$, pour lequel
on a
$$
\pi={4\,M(1,2^{-1/2})^2\over 
1-\sum_{n=1}^{+\infty}2^{n+1}c_n^2}.
\leqno\hyperdef\EQviDii{}{}{(6.2)}
$$
On effectuera par exemple le calcul de $a_n$, $b_n$ jusqu'\`a l'indice $n$,
puis $a_{n+1}={1\over 2}(a_n+b_n)$, et on prendra l'approximation
$$
\pi_n={4\,a_{n+1}^2\over 
1-\sum_{j=1}^n2^{j+1}c_j^2}.
\leqno\hyperdef\EQviDiii{}{}{(6.3)}
$$
Analysons rapidement l'erreur. Comme on
a $b_{n+1}\le M\le a_{n+1}$, l'erreur au num\'erateur est major\'ee par
$4(a_{n+1}^2-b_{n+1}^2)=4c_{n+1}^2$, tandis
qu'au d\'enominateur elle est d'un ordre plus grand, soit 
$2^{n+2}c_{n+1}^2+O(2^{n+3}c_{n+2}^2)$. Si $\delta$ d\'esigne le
d\'enominateur de \hyperref\EQviDii{(6.2)}, on a 
$\pi=4M^2/\delta$ et $c_{n+1}\le c_n^2/4M$ avec
$b_1=2^{-1/4}\le M\le a_0=1$. Ceci donne pour l'erreur l'\'equivalent
$$
\eqalign{
|\pi_n-\pi|\sim {4M^2\over\delta}
\Big({1+c_{n+1}^2/M^2\over 1-2^{n+2}c_{n+1}^2/\delta}-1\Big)
\sim {4M^2\over\delta^2}2^{n+2}c_{n+1}^2
&={\pi^2\over 4M^2}2^{n+2}c_{n+1}^2\cr
&\sim{\pi^2\over 16M^4} 2^nc_n^4\le 1,2\;2^nc_n^4.
}
$$
Le calcul \`a l'aide d'un logiciel comme PARI/GP fournit
$$
c_1/4M\le c_1/4b_1=0,04289<10^{-1},
$$
donc $c_n\le 4M\,10^{-2^{n-1}}$ d'apr\`es 
\hyperref\EQiDv{(1.5)}$\,$; par cons\'equent,
on obtiendra d\'ej\`a largement plus de deux milliards de d\'ecimales exactes
pour $n=30$. Comme on dispose d'algorithmes tr\`es efficaces pour calculer
les sommes, produits, quotients et racines de grands nombres (algorithme de
Sch\"onhage-Strassen\note{\NOTEiv}{4}{A.~Sch\"onhage and V.~Strassen, 
{\it Schnelle Multiplikation gro{\ss}er Zahlen}, Computing {\bf 7} 
(1971), 281--292.} reposant sur l'utilisation de la transform\'ee de Fourier 
rapide ou FFT\note{\NOTEv}{5}{J.W.~Cooley and J.W.~Tukey, {\it An algorithm 
for the machine calculation of complex Fourier series}, Math.\ Comput.\ 
{\bf 19} (1965), 297--301.}), on sait \'egalement calculer $\pi$ de mani\`ere
ultra-rapide -- le temps de calcul de $N$ d\'ecimales cro\^{\i}t presque
lin\'eairement en $N$, de l'ordre de $N(\log N)^2$, soit \`a peine plus que
le temps $N$ n\'ecessaire pour seulement \'ecrire le r\'esultat$\,\ldots$

L'algorithme de la moyenne arithm\'etico-g\'eom\'etrique a d'autres 
avatars int\'eressants,  par exemple la formule suivante due elle aussi
\`a C.F.~Gauss
$$
e^\pi=32\prod_{n=1}^{+\infty}\Big({a_{n+1}\over a_n}\Big)^{2^{-n+1}}.
$$
\vfill\eject

\section{7. Code pour PARI/GP}\hyperdef\SECvii{}{}{}

L'impl\'ementation du code avec un logiciel comme PARI/GP est
extr\^emement simple. Voici un exemple de tel code {\tt "salamin.gp"}
pour un calcul avec environ 1000 d\'ecimales exactes, \`a ex\'ecuter
par {\tt "gp salamin.gp"} (moins de dix
it\'erations suffisent).

{\tt
default(colors,"9, 5, no, no, 4");
\medskip
v=1000;\hfill /* initialisation des variables */\\
default(realprecision,v+20);\\
n=0;\\
a=1;b=1/sqrt(2);\\
a1=(a+b)/2;\hfill /* prochaine it\'eration de a */\\
d=1;f=2;\hfill /* f stocke $2^{n+1}$ */\\
decimales=1;\\
\medskip
iterer()=\\
$\{$\\
local(s,c,c2,p,u);\hfill /* a,b,a1 valent $a_n,b_n,a_{n+1}=(a_n+b_n)/2$ */\\
c=a1-b;\hfill /* $c_{n+1}=(a_n-b_n)/2$ */\\
n=n+1;\\
b=sqrt(a*b);\hfill /* b stocke $b_n$ nouveau */\\
a=a1;\hfill /* a stocke $a_n$ nouveau */\\
s=a+b;\hfill /* s vaut $2a_{n+1}$ */\\
f=2*f;\hfill /* f vaut $2^{n+1}$ */\\
c2=c*c;\\
u=f*c2;\hfill /* u vaut $2^{n+1}c_n^2$ */\\
d=d-u;\hfill /* d${}=1-\sum_{1\le j\le n} 2^{j+1}c_j^2$ */\\
p=s*s/d;\hfill /* s*s${}=4a_{n+1}^2$ */\\
a1=s/2;\\
erreur=0.6*u*c2;\hfill /* majorant $1.2\,2^nc_n^4$ */\\
decimales=floor(-log(erreur)/log(10));\\
if(decimales>v+10,decimales=v);\\
print("n = ", n, ", decimales attendues = ", decimales);\\
print("pi = ", p);\\
print();\\
$\}$
\medskip
while(decimales<v,iterer());

}

\end

% Local Variables:
% TeX-command-default: "uTeX"
% End:

