Gröbner basis project
Codebase for research into Gröbner basis computation
|
Controls the creation of s-polynomials. More...
#include <critical_pair.hpp>
Public Member Functions | |
Construction | |
Critical_Pair_Basic (Abstract_Polynomial *f, unsigned strategy) | |
create critical pair (f,0) for initial polynomial | |
Critical_Pair_Basic (Abstract_Polynomial *f, Abstract_Polynomial *g, unsigned strategy) | |
create critical pair (f,g) for two polynomials | |
Destruction | |
virtual | ~Critical_Pair_Basic () |
Basic properties | |
bool | is_generator () const |
whether this pair is from a generator | |
const Abstract_Polynomial * | first () const |
first polynomial in pair | |
const Abstract_Polynomial * | second () const |
second polynomial in pair | |
const Monomial & | lcm () const |
lcm of leading monomials of polynomials | |
unsigned | lcm_degree (unsigned i) const |
degree of ith variable in lcm | |
const Monomial & | first_multiplier () const |
monomial needed to multiply first polynomial to lcm() | |
const Monomial & | second_multiplier () const |
monomial needed to multiply second polynomial to lcm() | |
const Pair_Strategy_Data * | pair_key () const |
strategy used for comparison of pairs | |
virtual Mutable_Polynomial * | s_polynomial () |
to use only if s-polynomial is already computed by another method More... | |
Computation | |
virtual Mutable_Polynomial * | s_polynomial (SPolyCreationFlags method, int strategy) |
creates the s-polynomial for first() and second() | |
Modification | |
virtual void | set_spoly (Mutable_Polynomial *p) |
sets the s-polynomial to p , for explorer methods | |
Protected Attributes | |
Pair_Strategy_Data * | key = nullptr |
strategy used to sort critical pairs | |
Abstract_Polynomial * | p |
first polynomial in the critical pair | |
Abstract_Polynomial * | q |
second polynomial in the critical pair | |
Mutable_Polynomial * | s |
S-polynomial. | |
Monomial | tp |
monomial multiple of \(p\) that produces \(S\)-polynomial | |
Monomial | tpq |
lcm of leading monomials of \(p\) and \(q\) | |
Monomial | tq |
monomial multiple of \(q\) that produces \(S\)-polynomial | |
Friends | |
I/O | |
ostream & | operator<< (ostream &, const Critical_Pair_Basic &) |
Controls the creation of s-polynomials.
This class encapsulates the information necessary to create an \(S\)-polynomial, including the actual generation of an \(S\)-polynomial, though it does not retain that information.
Definition at line 55 of file critical_pair.hpp.
|
inlinevirtual |
to use only if s-polynomial is already computed by another method
nullptr
and is useless. Definition at line 93 of file critical_pair.hpp.