ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
Posté le: 19 Sep 2003 9:57 Sujet du message: Re: Division suivant les puissances croissantes |
|
|
On va écrire une procédure DPC recevant comme arguments :
- un polynôme A de l'indéterminée X
- un polynôme B de valuation 0 de l'indéterminée X
- un entier n positif ou nul
- le nom X de l'indéterminée
qui va calculer le quotient Q et le reste R de la division de A par B selon les puissances
croissantes à l'ordre n :
A = B Q + X^(n+1) * R
avec deg(Q)<=n
On peut même prévoir un message d'erreur au cas où la valuation de B est non nulle.
> DPC := proc(A::polynom, B::polynom, n::nonnegint, X::name)
local k, A1, Q, Q1, R;
if ldegree(B) <> 0 then error
"le second argument doit être de valuation nulle"
else
A1 := A;
Q := 0;
for k from 0 to n do
Q1 := coeff(A1, X, k)*X^k/coeff(B, X, 0);
Q := Q + Q1;
A1 := expand(A1 - B*Q1);
end do;
end if;
R := normal(A1/X^(n + 1));
print(A = B*Q + X^(n + 1)*R);
[Q, R];
end proc;
> DPC(2+X-2*X^3+X^4,-4+4*X+X^2,3,X);
2 + X - 2 X^3 + X^4 =
(-4 + 4 X + X^2 ) (- 1/2 - 3/4 X - 7/8 X^2 - 9/16 X^3 )
+ X ^4 (33/8 + 9/16 X)
[- 1/2 - 3/4 X - 7/8 X^2 - 9/16 X^3 , 33/8 + 9/16 X] |
|