function [P,T] = TRIGONALISATION(A,N,epsilon,tol,Niter)
if N == 1 
   P = [1]; T = A; 
else
   [lambd,Vp,iter,err] = METHODEPUISSANCE(A,epsilon,tol,Niter);  
   [mxLVp, ixL] = max(abs(Vp));
   P  = eye(N,N); P(:,ixL) = []; P  = [Vp,P]; 
   AA = P^(-1)*A*P; A0 = AA(2:N,2:N); 
   [P0,T0] = TRIGONALISATION(A0,N-1,epsilon,tol,Niter); 
   PP = eye(N); PP(2:N,2:N) = P0;  
   T  = PP^(-1)*AA*PP; P = P*PP;  
end              
endfunction
