polset.spad line 1 [edit on github]
A category for finite subsets of a polynomial ring. Such a set is only regarded as a set of polynomials and not identified to the ideal it generates. So two distinct sets may generate the same the ideal. Furthermore, for R
being an integral domain, a set of polynomials may be viewed as a representation of the ideal it generates in the polynomial ring (R)^(-1) P
, or the set of its zeros (described for instance by the radical of the previous ideal, or a split of the associated affine variety) and so on. So this category provides operations about those different notions.
collect(ps, v)
returns the set consisting of the polynomials of ps
with v
as main variable.
collectUnder(ps, v)
returns the set consisting of the polynomials of ps
with main variable less than v
.
collectUpper(ps, v)
returns the set consisting of the polynomials of ps
with main variable greater than v
.
headRemainder(a, ps)
returns [b, r]
such that the leading monomial of b
is reduced in the sense of Groebner bases w
.r
.t
. ps
and r*a - b
lies in the ideal generated by ps
.
iexactQuo(x, y)
should be local but conditional
mainVariable?(v, ps)
returns true
iff v
is the main variable of some polynomial in ps
.
mainVariables(ps)
returns the decreasingly sorted list of the variables which are main variables of some polynomial in ps
.
mvar(ps)
returns the main variable of the non constant polynomial with the greatest main variable, if any, else an error is returned.
remainder(a, ps)
returns [c, b, r]
such that b
is fully reduced in the sense of Groebner bases w
.r
.t
. ps
, r*a - c*b
lies in the ideal generated by ps
. Furthermore, if R
is a gcd
-domain, b
is primitive.
rewriteIdealWithHeadRemainder(lp, cs)
returns lr
such that the leading monomial of every polynomial in lr
is reduced in the sense of Groebner bases w
.r
.t
. cs
and (lp, cs)
and (lr, cs)
generate the same ideal in (R)^(-1) P
.
rewriteIdealWithRemainder(lp, cs)
returns lr
such that every polynomial in lr
is fully reduced in the sense of Groebner bases w
.r
.t
. cs
and (lp, cs)
and (lr, cs)
generate the same ideal in (R)^(-1) P
.
roughBase?(ps)
returns true
iff for every pair p, q
of polynomials in ps
their leading monomials are relatively prime.
roughEqualIdeals?(ps1, ps2)
returns true
iff it can proved that ps1
and ps2
generate the same ideal in (R)^(-1) P
without computing Groebner bases.
roughSubIdeal?(ps1, ps2)
returns true
iff it can proved that all polynomials in ps1
lie in the ideal generated by ps2
in (R)^(-1) P
without computing Groebner bases.
roughUnitIdeal?(ps)
returns true
iff ps
contains some non null element lying in the base ring R
.
sort(v, ps)
returns us, vs, ws
such that us
is collectUnder(ps, v)
, vs
is collect(ps, v)
and ws
is collectUpper(ps, v)
.
triangular?(ps)
returns true
iff ps
is a triangular set, i.e. two distinct polynomials have distinct main variables and no constant lies in ps
.
trivialIdeal?(ps)
returns true
iff ps
does not contain non-zero elements.
variables(ps)
returns the decreasingly sorted list of the variables which are variables of some polynomial in ps
.
RetractableFrom(List(P))
Collection(P)
CoercibleTo(List(P))
InnerEvalable(P, P)
Evalable(P)