\Titre{Détermination formelle d'une somme} \large \everymath{\displaystyle} Le but, ici, est de calculer, en fonction de $n$, la somme \[\sum_{k=1}^nk(k+1)(k+2)(k+3)\] On peut \textit{aisément} démontrer qu'elle est de la forme \(P(n)\) où \(P\) est un polynôme de degré \(5\). La méthode utilisée consiste à calculer $6$ valeurs de ce polynôme (pour \(n=1,...,6\)) et à demander ensuite le polynôme d'interpolation des valeurs obtenues. On définit un tableau vide. .p y=[] On remplit le tableau avec les valeurs de la somme pour \(n\) variant de 1 à 6. .p for(n=1,6,y=concat(y,sum(k=1,n,k*(k+1)*(k+2)*(k+3)))) Regardons ce qu'est devenu le tableau \(y\). .p y On détermine le polynôme d'interpolation pour ces valeurs. .p P=polinterpolate(y,,n) Il ne reste plus qu'à factoriser! .p factor(P) Les facteurs qui apparaissent ici sont à coefficients entiers et ils sont accompagnés de leur ordre de multiplicité. \textbf{PARI/GP} ne propose pas, du moins pas à ma connaissance, de procédure donnant une \emph{écriture factorisée} d'un polynôme. Visuellement nous disposons de toute les informations pour la reconstituer et \textbf{PARI/GP} propose toute une palette d'instructions permettant de la retrouver, codée correctement en \LaTeX. C'est l'objet du script \url{factorisation.gp}. .p read("factorisation.gp") .p factorisation(P) Maintenant que la méthode semble être au point, il est utile d'écrire un script \url{sumpolyk.gp} qui en fera la synthèse, nous permettant ainsi de disposer d'une procédure \emph{directe}. .p read("sumpolyk.gp") .p sumpolyk(k,1,n) .p sumpolyk(k^2,1,n) .p sumpolyk(k*(k+1),1,n) .p sumpolyk(k*(k+1)*(k+2),1,n) Tiens, tiens... .p sumpolyk(k*(k+1)*(k+2)*(k+3)*(k+4),1,n) Il y a là un résultat intéressant à noter ! Essayons autre chose: .p sumpolyk(k^2+k-a,1,n) Mince !