up previous next
checks if given gens are squarefree monomial
AreGensSqFreeMonomial(I: IDEAL): BOOL |
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.
/**/ 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
|