up previous next
DivAlg

division algorithm
Syntax

DivAlg(X:POLY,L:LIST of POLY):RECORD
DivAlg(X:VECTOR,L:LIST of VECTOR):RECORD


Description
This function performs the division algorithm on X with respect to L. It returns a record with two fields: Quotients holding a list of polynomials, and Remainder holding the remainder of X upon division by L.

Example
Use R ::= Q[x,y,z];
F := x^2y+xy^2+y^2;
L := [xy-1,y^2-1];
DivAlg(F,[xy-1,y^2-1]);
Record[Quotients = [x + y, 1], Remainder = x + y + 1]
-------------------------------
D := It;
D.Quotients;
[x + y, 1]
-------------------------------
D.Remainder;
x + y + 1
-------------------------------
ScalarProduct(D.Quotients,L) + D.Remainder = F;
TRUE
-------------------------------
V := Vector(x^2+y^2+z^2,xyz);
L := [Vector(x,y),Vector(y,z),Vector(z,x)];
DivAlg(V,L);
Record[Quotients = [0, -z^2, yz], Remainder = Vector(x^2 + y^2 + z^2, z^3)]
-------------------------------


See Also