function P1P2=ProduitPolynomes(P1,P2); 

% P1P2=ProduitPolynomes(P1,P2); 
%Calcule la liste des coefficients du produit de deux polynômes via 
%l'algorithme de Cooley-Tukey pour les puissances de 2. Les polynômes 
%P1 et P2 sont déclarés comme les vecteurs ligne de leurs coefficients 
%(les monômes étant rangés dans l'ordre des exposants décroissants). 
%Le polynôme produit P1P2 en sortie est déclaré de la même manière. 
%C'est ici la routine MATLAB fft(.,N) qui opère la multiplication par la matrice 
%dft_N du Lemme 3.1 du cours. 

N1=length(P1); 
N2=length(P2);
P1aux=fliplr(P1); 
P2aux=fliplr(P2); 
p=ceil(log(N1+N2-1)/log(2)); 
N=2^p; 
P1aux=[P1aux zeros(1,N-N1)]; 
P2aux=[P2aux zeros(1,N-N2)]; 
U1=fft(conj(P1aux'),N);
U2=fft(conj(P2aux'),N); 
U=U1.*U2; 
Paux = ifft(U,N);
Paux=Paux'; 
P=Paux(1:N1+N2-1);
P1P2=fliplr(P); 


