Reference
ParametricGroebnerBases.CGB
ParametricGroebnerBases.CGS
ParametricGroebnerBases.CGS_faithful
ParametricGroebnerBases.CGS_simple
ParametricGroebnerBases.pseudo_reduce
ParametricGroebnerBases.pseudo_remainder
ParametricGroebnerBases.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