Reference
ParametricGroebnerBases.CGBParametricGroebnerBases.CGSParametricGroebnerBases.CGS_faithfulParametricGroebnerBases.CGS_simpleParametricGroebnerBases.pseudo_reduceParametricGroebnerBases.pseudo_remainderParametricGroebnerBases.specialize
ParametricGroebnerBases.CGB — MethodCGB(F::Vector{RE}, reduced=true) where {RE<:MPoly}Computes a comprehensive parametric Gröbner basis of the ideal generated by F. In other words specialize.(G, Ref(α)) is a Gröbner basis for any vector α of appropriate length.
If the option reduced=true, then specialize.(G, Ref(α)) always contains the reduced Gröbner basis of the ideal generated by specialize.(F, Ref(α)).
ParametricGroebnerBases.CGS — MethodCGS(F::Vector{RE}, reduced=true) where {RE <: MPoly}Function to compute reduced Gröbner systems. Returns a vector of triples of the form (S, [h], G). For any vector α such that specialize.(S, Ref(α)) == [0, 0, ..., 0] and specialize(h, α) != 0, specialize.(G, Ref(α)) is a reduced Gröbner basis.
Takes the argument reduced. If set to false, the returned Gröbner basis will not be reduced.
See also [CGS_simple]
ParametricGroebnerBases.CGS_faithful — MethodCGS_faithful(F::Vector{RE}, reduced=true) where {RE<:MPoly}Function to compute faithful, reduced Gröbner systems. Returns a vector of triples of the form (S, [h], G). For any vector α such that specialize.(S, α) == [0, 0, ..., 0] and specialize(h, α) != 0, specialize.(G, Ref(α)) is a reduced Gröbner basis. Furthermore, each g ∈ G will belong to the ideal generated by F.
Takes the argument reduced. If set to false, the returned Gröbner basis will not be reduced.
See also CGS_simple
ParametricGroebnerBases.CGS_simple — MethodCGS_simple(F::Vector{RE}) where {RE <: MPoly}Simple function to compute Gröbner systems. Returns a vector of triples of the form (S, [h], G). For any vector α such that specialize.(S, Ref(α)) == [0, 0, ..., 0] and specialize(h, α) != 0, specialize.(G, Ref(α)) is a Gröbner basis.
See also CGS
ParametricGroebnerBases.pseudo_reduce — Methodpseudo_reduce(f::RE, G, reduced = false) where {RE<:MPoly}Pseudo-reduces $f$ modulo $G = \{g_1, g_2, \dots, g_n\}$. Pseudo-reduction writes
\[c f = r + \sum_{i=1}^n f_i g_i\]
where $c$ is a product of leading coefficients of $G$, $\operatorname{lm}(f_i g_i) \leq \operatorname{lm}(f)$, and no term of $r$ is divisible by any leading monomial of $G$.
The result of pseudo_reduce(f, G) is the pair (c, r).
Takes the argument reduced. If set to true, the function will remove factors in r coming from leading coefficients of $G$.
ParametricGroebnerBases.pseudo_remainder — Methodpseudo_remainder(f::RE, G, reduced = false) where {RE<:MPoly}Defined as pseudo_reduce(f, G, reduced)[2].
See also pseudo_reduce
ParametricGroebnerBases.specialize — Methodspecialize(f::RE, α) where {RE <: MPoly}Specializes a polynomial to the given values.
Examples
julia> specialize(a*x + b^2*y, [2, 3])
2*x + 9*y