up previous next
AreGensSqFreeMonomial

checks if given gens are squarefree monomial

Syntax
AreGensSqFreeMonomial(I: IDEAL): BOOL

Description
This function checks if the given generators for I are monomial and square-free, and stores this information in I : this is useful if it has thousands of generators and we want to know if we can use special algorithms for square-free monomial generators.

NOTE: this function return false if at least one generator in gens(I) is not monomial or square-free even if there exits another set of such generators.

Example
/**/  use P ::= QQ[x[1..1000]];
/**/  AreGensSqFreeMonomial(ideal(x[1], x[1]+x[2]));
false
/**/  AreGensSqFreeMonomial(ideal(x[1], x[2]));
true

/**/  I := ideal([x[i]*x[i-1] | i in 2..NumIndets(P)]);
/**/  t0 := CpuTime(); AreGensSqFreeMonomial(I); TimeFrom(t0);
true
0.005
/**/  t0 := CpuTime(); AreGensSqFreeMonomial(I); TimeFrom(t0);
true
0.000

See Also