up previous next
 IsHomog    --    test whether given polynomials are homogeneous

 Syntax
 ```IsHomog(F: RINGELEM|MODULEELEM): BOOL IsHomog(L: LIST): BOOL IsHomog(I: IDEAL|MODULE): BOOL```

 Description
The first form of this function returns true if F is homogeneous. The second form returns true if every element of L is homogeneous. Otherwise, they return false . The third form returns true if the ideal/module can be generated by homogeneous elements, and false if not.

NOTE: when the grading dimension is 0 everything is homogeneous. For safety reasons (from version CoCoALib-5.0.3) IsHomog throws an error in this case, e.g. IsHomog(x-1) gives error instead of a possibly misleading true .

 Example
 ```/**/ use R ::= QQ[x,y]; /**/ IsHomog(x^2-x*y); true /**/ IsHomog(x-y^2); false /**/ IsHomog([x^2-x*y, x-y^2]); false /**/ R := NewPolyRing(QQ, "x,y", mat([[2,3],[1,2]]), 1); /**/ use R; /**/ IsHomog(x^3*y^2+y^4); true /**/ R := NewPolyRing(QQ, "x,y", mat([[2,3],[1,2]]), 2); /**/ use R; /**/ IsHomog(x^3*y^2+y^4); false /**/ use R ::= QQ[x,y]; /**/ IsHomog(ideal(x^2+y,y)); true /**/ use R ::= QQ[x,y], Lex; -- note: GradingDim = 0 -- /**/ IsHomog(x-1); -- !!! ERROR !!! as expected, instead of "true" ```