De Fp [X] à Z[X] : remontée de Hensel Tiens, pas de bibliothèque d'algèbre linéaire. Hensel linéaire, deux facteurs unitaires initiaux On commence par programmer l'utile borne de Landau-Mignotte. > LandauMignotte:=proc(P,q) ceil(2^q*abs(lcoeff(P))*evalf(sqrt(add(coeff(P,x,i)^2,i=0..de gree(P))))) end proc: Je n'ai pas utilisé le coefficient principal bq du facteur Q car on va l'utiliser avec des facteurs unitaires. J'ai rajouté ceil pour prendre l'entier immédiatement supérieur. Les paramètres : P est un polynôme unitaire de Z[x] qui se décompose en les facteurs irréductibles et unitaires =P modR S p . Ceci est supposé vrai et n'est pas testé. Le booléen Trace permet d'activer/désactiver une trace. Les polynômes sont en la variable x . > HenselLin2Fact:=proc(R,S,p,P,Trace) local R1,S1,U,V,pk,Borne,Defaut,Rcor,Scor; R1:=R;S1:=S;Gcdex(R1,S1,x,'U','V') mod p;pk:=p; Borne:=2*LandauMignotte(P,max(degree(R1),degree(S1))); if Trace then print(Borne =,Borne) end if; while pk< Borne do Defaut:=expand
- version quadratique de la remontée de hensel
- x2? ?
- bibliothèque d'algèbre linéaire
- borne de landau-mignotte
- polynôme unitaire dans z
- landaumignotte:=proc
- unitaires initiaux