up previous next
checks if the argument is a term
IsTerm(X: RINGELEM|MODULEELEM): BOOL |
The function determines whether X is a term. For a polynomial, a
term is a power-product, namely, a product of indeterminates.
Thus,
x*y^2*z is a term, while
4*x*y^2*z and
x*y+z^3 are not.
For a vector, a term is a power-product times a standard basis vector, for
instance
(0, x*y^2*z, 0).
/**/ Use R ::= QQ[x,y,z];
/**/ IsTerm(x+y^2);
false
/**/ IsTerm(x^3*y*z^2);
true
/**/ IsTerm(5*x^3*y*z^2);
false
/**/ R2 := NewFreeModule(R,2);
--/**/ IsTerm(ModuleElem(R2, [0,x*z])); --***WORK IN PROGRESS***
--true
--/**/ IsTerm(ModuleElem(R2, [x,y])); --***WORK IN PROGRESS***
--false
|