Gröbner basis project
Codebase for research into Gröbner basis computation
Critical_Pair_Basic Class Reference

Controls the creation of s-polynomials. More...

#include <critical_pair.hpp>

Inheritance diagram for Critical_Pair_Basic:
Critical_Pair_Dynamic Critical_Pair_XPlor Critical_Pair_XPlor Critical_Pair_XPlor Critical_Pair_XPlor

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_Polynomialfirst () const
 first polynomial in pair
 
const Abstract_Polynomialsecond () const
 second polynomial in pair
 
const Monomiallcm () const
 lcm of leading monomials of polynomials
 
unsigned lcm_degree (unsigned i) const
 degree of ith variable in lcm
 
const Monomialfirst_multiplier () const
 monomial needed to multiply first polynomial to lcm()
 
const Monomialsecond_multiplier () const
 monomial needed to multiply second polynomial to lcm()
 
const Pair_Strategy_Datapair_key () const
 strategy used for comparison of pairs
 
virtual Mutable_Polynomials_polynomial ()
 to use only if s-polynomial is already computed by another method More...
 
Computation
virtual Mutable_Polynomials_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_Datakey = nullptr
 strategy used to sort critical pairs
 
Abstract_Polynomialp
 first polynomial in the critical pair
 
Abstract_Polynomialq
 second polynomial in the critical pair
 
Mutable_Polynomials
 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 &)
 

Detailed Description

Controls the creation of s-polynomials.

Author
John Perry
Date
2015

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.

Member Function Documentation

◆ s_polynomial()

virtual Mutable_Polynomial* Critical_Pair_Basic::s_polynomial ( )
inlinevirtual

to use only if s-polynomial is already computed by another method

Warning
If you have not already created an s-polynomial using one of SPolyCreationFlags, then this returns nullptr and is useless.

Definition at line 93 of file critical_pair.hpp.


The documentation for this class was generated from the following files: