\\ JMS - 20 juillet 2007 \\ Mise en forme d'un facteur. facteur(f) = { local(s); if(polcoeff(f[1],0),s=Str("("Strtex(f[1])")"),s=Strtex(f[1])); if(f[2]-1,s=Str(s"^{"f[2]"}")); return(s); } \\ Factorisation proprement dite. factorisation(P) = { local(f,n,s,i,c); f = factor(P); \\ matrice des facteurs de P t = matsize(f)[1]; \\ nombre de facteurs de P \\ Concaténation des facteurs. s=facteur(f[1,]); for(i=2,t,s=Str(s" "facteur(f[i,]))); \\ Recherche du coefficient résultant. c=pollead(f[1,1]); for(i=2,t,c=c*pollead(f[i,1])); c=pollead(P)/c; \\ Ajout du coefficient latexifié... if(c-1,s=Str(Strtex(c)" "s)); return(s); }