\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 !

