Calcul formel : Mode d'emploi - Exemples en Maple
Claude Gomez, Bruno Salvy, Paul Zimmermann
Masson, 1995
Chapitre IV, section 2.4, exercice 3, page 118.
Philippe.Dumas@inria.fr
http://algo.inria.fr/dumas/Maple/
|
|
> x:=100;
> F:=add(z^(k^2),k=0..isqrt(x));
> series(F^2,z,x+1);
Nous voyons que les premiers sont 0, 1, 2, 4, 5, 8, 9, 10. Ils sont pondérés par le nombre de décompositions possibles. Par exemple 25 sécrit 25+0, 16+9, 9+16, 0+25 d'où le coefficient 4 qui figure devant z^25. Cependant la série obtenue n'est pas celle que nous voulons. Nous nous intéressons à la série support de celle-ci, obtenue en remplaçant un coefficient strictement positif par 1. Du coup la question ne ressortit plus à la notion de structure décomposable. Il convient de remplacer directement les coefficients strictement positifs par 1. C'est ce que nous faisons dans la procédure suivante.
> N:=proc(x::{numeric,name})
local xx,F,z,S,P,counter,i,k;
if type(x,name) then RETURN('N'(x)) fi;
xx:=floor(x);
F:=add(z^(k^2),k=0..isqrt(xx));
S:=series(F^2,z,xx+1);
P:=convert(S,polynom);
counter:=0;
for i from 0 to xx do
if coeff(P,z,i)>0 then counter:=counter+1 fi
od;
counter
end:
Nous avons ainsi réalisé la fonction N demandée.
> N(100.5);
> plot(N(t),t=0..100,scaling=constrained);
Nous tentons alors de faire apparaître le 0.764 promis par l'énoncé.
> for k to 10 do
x:=2^k;
evalf(N(x)/(x/ln(x)^(1/2)))
od;
La convergence est trop lente pour que nous constations le phénomène annoncé.
La question est trop subtile pour être abordée ainsi. Le théorème de Lagrange affirme que tout naturel est somme de quatre carrés. Quant aux entiers sommes de deux carrés, ils s'écrivent où est un entier et est un entier naturel produit de facteurs premiers distincts qui sont 2 ou un nombre premier congru à 1 modulo 4. Pour tout cela, on peut consulter [HaWr79, ch. XX] ou encore [Samuel71, ch. V]. Notons le nombre d'entiers naturels plus petits que et qui sont sommes de carrés mais pas de carrés. Alors , , et sont respectivement équivalents, quand tend vers l'infini, à ; avec où est le produit infini
dans lequel l'indice parcourt l'ensemble des nombres premiers congrus à 3 modulo 4; et enfin .
Revenons sur le nombre . En appliquant la formule ci-dessus, nous pouvons l'évaluer numériquement.
> pi:=1:
p:=2:
to 100 do
p:=nextprime(p);
if irem(p,4)=3 then pi:=pi*(1-1/p^2) fi
od:
b:=1/sqrt(2.*pi);
Nous retrouvons le 0.764 annoncé. Pour ces résultats, on peut consulter [Landau53, ch. LVIII, par. 183, pp. 668-669]. Pour un calcul efficace de la constante , on peut lire Zeta Function Expansions of Classical Constants (35kb), P. Flajolet and I. Vardi. Unpublished memo. February 1996. 10 pages. [uncompressed].