Division euclidienne vendredi 6 avril 2007, par Cayrel Ce programme effectue une division euclidienne div_eucl := proc(A,B,l) local k,r,p,Q,R,L ; Q := matrix(l,l,(i,j)->0) ; R := A ; p :=degree(B) ; r := degree(A) ; while (r>=p and r> 1) do k := lcoeff(R)*x^(r-p) ; Q := add_pol(k,Q) ; R := add_pol(R,mult_pol(k,B)) ; r := degree(R) ; od ; if (r>=p and r=1) then do k := lcoeff(R) ; Q := evalm(k)+Q ; R := add_pol(R,(sum(’evalm(convert(evalm(k),matrix)&* convert(evalm(coeff(B,x,j)),matrix))*x^j’,’j’=0..p))) ; break ; od ; fi ; L := [Q,R] ; end ;