CoCoALib-0.9905 date: 23 May 2007


CoCoA::GPoly Class Reference

#include <TmpGPoly.H>

Collaboration diagram for CoCoA::GPoly:

Collaboration graph
[legend]
List of all members.

Pseudo-saturation functions

void smart_dehomog_DRL (size_t DHVar)
void smart_dehomog (size_t DHVar)
size_t max_common_wdeg (GPoly &, size_t Var)
void GPolyList2PolyListClear (GPolyList &, PolyList &)
void GPolyList2PolyList (const GPolyList &, PolyList &)

member fields of GPoly

PPWithMask myLPPwMask
 precomputed LPP of the polynomial, stored with DivMask
RingElem myLCValue
RingElem myPolyValue
 the polynomial proper
const GRingInfomyGRingInfoValue
bool myIsActive
 mutable, the rest const ... a cosa serve?
unsigned int myLen
 precomputed length of the polynomial: for geobuckets
unsigned int myComponent
degree myWDeg
 <the module component of the LPP precomputed degree of the polynomial
size_t mySugar
 "sugar" of the polynomial: a sort of degree
degree myWSugar
 "wsugar" of the polynomial: a sort of degree
unsigned int myAge
 age of the polynomial: for ordering reducers
class GReductor

Public Types

enum  ReductionMarker { Full, OnlyTail }

Public Member Functions

 GPoly (ConstRefRingElem, const GRingInfo &, unsigned int age=0)
 GPoly (ConstRefRingElem, const PPWithMask &, ConstRefRingElem, const GRingInfo &, unsigned int age=0)
 this ctor takes LPP and LC from input for Dynamic Algorithm
 GPoly (RefRingElem, const GRingInfo &, const ClearType, unsigned int age=0)
 this ctor resets RefRingElem
 GPoly (RefRingElem, const PPWithMask &, ConstRefRingElem, const GRingInfo &, const ClearType, unsigned int age=0)
 this ctor resets RefRingElem and takes LPP and LC from input for Dynamic Algorithm
 GPoly (const GRingInfo &)
 GPoly (const GPoly &)
 ~GPoly ()
bool operator< (const GPoly &f) const
GPolyoperator= (const GPoly &rhs)
void AssignClear (GPoly &)
bool operator== (const GPoly &) const
void myAppendClear (RefRingElem)
 Dangerous.
void myAppendClear (GPoly &)
 Dangerous.
const GRingInfomyGRingInfo () const
CoeffEncoding::type myCoeffRingType () const
bool operator!= (const GPoly &) const
bool IsActive () const
void Deactivate ()
void myAssignSPoly (const GPair &, const unsigned int age)
void MultiplyByPP (ConstRefPPMonoidElem)
Public reduction functions
void myReduce (const Reductors &theReductors)
void myReduceTail (const GPoly &g)
void myReduceTail (const Reductors &theReductors)

Private Member Functions

void myPolySetSPoly (const GPoly &f, const GPoly &g)
 set only s-polynomial in myPoly
ConstRefRingElem myPoly () const
void myUpdateLenLPPLCDegComp ()
Private reduction functions (defined in reduce.C)
they change only "myPoly": public functions calling these must update the other fields

bool ReduceBasic (const GPoly &g, ReductionMarker Red=Full)
void ReduceBasic (const Reductors &theReductors, ReductionMarker Red=Full)
void ReduceGeobucket (const Reductors &theReductors, ReductionMarker Red=Full)
void ReduceGeobucketGCD (const Reductors &theReductors, ReductionMarker Red)
void ReduceGeobucketField (const Reductors &theReductors, ReductionMarker Red)
void ReduceBasicGCD (const Reductors &theReductors, ReductionMarker Red=Full)
void ReduceBasicField (const Reductors &theReductors, ReductionMarker Red=Full)
bool ReduceBasicGCD (const GPoly &g, ReductionMarker Red=Full)
bool ReduceBasicField (const GPoly &g, ReductionMarker Red=Full)

Friends

unsigned int Component (const GPoly &g)
ConstRefRingElem LC (const GPoly &)
bool IsZero (const GPoly &)
std::ostream & operator<< (std::ostream &, const GPoly &)
ConstRefPPMonoidElem LPP (const GPoly &f)
const PPWithMaskLPPwMask (const GPoly &f)
unsigned int len (const GPoly &gp)
const degreewdeg (const GPoly &gp)
size_t sugar (const GPoly &gp)
degree wsugar (const GPoly &gp)
ConstRefRingElem poly (const GPoly &gp)
unsigned int Age (const GPoly &gp)
unsigned int MakeKey (const GPoly &)
const SparsePolyRingowner (const GPoly &gp)
const PPMonoidPPM (const GPoly &gp)
const ringCoeffRing (const GPoly &gp)
void monic (std::list< GPoly > &)
void DeEmbedPoly (ModuleElem &, const GPoly &, size_t)
void IntEmbedGPolyList (GPolyList &, GPolyList &)
void DeEmbedPoly (RefRingElem, const GPoly &)
Private functions defined in reduce.C
GPolyFindReducer (const GPoly &, const Reductors &theReductors)

Detailed Description

This class is only a wrapper around the polys. Some other data useful for GBasis computation is added.

Definition at line 170 of file TmpGPoly.H.


Member Enumeration Documentation

enum CoCoA::GPoly::ReductionMarker
 

Enumerator:
Full 
OnlyTail 

Definition at line 173 of file TmpGPoly.H.


Constructor & Destructor Documentation

CoCoA::GPoly::GPoly ConstRefRingElem  ,
const GRingInfo ,
unsigned int  age = 0
 

CoCoA::GPoly::GPoly ConstRefRingElem  ,
const PPWithMask ,
ConstRefRingElem  ,
const GRingInfo ,
unsigned int  age = 0
 

this ctor takes LPP and LC from input for Dynamic Algorithm

CoCoA::GPoly::GPoly RefRingElem  ,
const GRingInfo ,
const   ClearType,
unsigned int  age = 0
 

this ctor resets RefRingElem

CoCoA::GPoly::GPoly RefRingElem  ,
const PPWithMask ,
ConstRefRingElem  ,
const GRingInfo ,
const   ClearType,
unsigned int  age = 0
 

this ctor resets RefRingElem and takes LPP and LC from input for Dynamic Algorithm

CoCoA::GPoly::GPoly const GRingInfo  )  [explicit]
 

CoCoA::GPoly::GPoly const GPoly  ) 
 

CoCoA::GPoly::~GPoly  )  [inline]
 

Definition at line 196 of file TmpGPoly.H.


Member Function Documentation

bool CoCoA::GPoly::operator< const GPoly f  )  const [inline]
 

Definition at line 197 of file TmpGPoly.H.

References myAge.

GPoly& CoCoA::GPoly::operator= const GPoly rhs  ) 
 

void CoCoA::GPoly::AssignClear GPoly  ) 
 

bool CoCoA::GPoly::operator== const GPoly  )  const
 

void CoCoA::GPoly::myAppendClear RefRingElem   ) 
 

Dangerous.

void CoCoA::GPoly::myAppendClear GPoly  ) 
 

Dangerous.

const GRingInfo& CoCoA::GPoly::myGRingInfo  )  const [inline]
 

Definition at line 203 of file TmpGPoly.H.

References myGRingInfoValue.

CoeffEncoding::type CoCoA::GPoly::myCoeffRingType  )  const [inline]
 

Definition at line 204 of file TmpGPoly.H.

References CoCoA::GRingInfo::myCoeffRingType(), and myGRingInfoValue.

bool CoCoA::GPoly::operator!= const GPoly  )  const
 

bool CoCoA::GPoly::IsActive  )  const [inline]
 

Definition at line 206 of file TmpGPoly.H.

References myIsActive.

void CoCoA::GPoly::Deactivate  )  [inline]
 

Definition at line 207 of file TmpGPoly.H.

References myIsActive.

void CoCoA::GPoly::myAssignSPoly const GPair ,
const unsigned int  age
 

void CoCoA::GPoly::MultiplyByPP ConstRefPPMonoidElem   ) 
 

void CoCoA::GPoly::smart_dehomog_DRL size_t  DHVar  ) 
 

void CoCoA::GPoly::smart_dehomog size_t  DHVar  ) 
 

void CoCoA::GPoly::myReduce const Reductors theReductors  ) 
 

void CoCoA::GPoly::myReduceTail const GPoly g  ) 
 

void CoCoA::GPoly::myReduceTail const Reductors theReductors  ) 
 

void CoCoA::GPoly::myPolySetSPoly const GPoly f,
const GPoly g
[private]
 

set only s-polynomial in myPoly

ConstRefRingElem CoCoA::GPoly::myPoly  )  const [inline, private]
 

Definition at line 270 of file TmpGPoly.H.

References myPolyValue.

void CoCoA::GPoly::myUpdateLenLPPLCDegComp  )  [private]
 

bool CoCoA::GPoly::ReduceBasic const GPoly g,
ReductionMarker  Red = Full
[private]
 

void CoCoA::GPoly::ReduceBasic const Reductors theReductors,
ReductionMarker  Red = Full
[private]
 

void CoCoA::GPoly::ReduceGeobucket const Reductors theReductors,
ReductionMarker  Red = Full
[private]
 

void CoCoA::GPoly::ReduceGeobucketGCD const Reductors theReductors,
ReductionMarker  Red
[private]
 

void CoCoA::GPoly::ReduceGeobucketField const Reductors theReductors,
ReductionMarker  Red
[private]
 

void CoCoA::GPoly::ReduceBasicGCD const Reductors theReductors,
ReductionMarker  Red = Full
[private]
 

void CoCoA::GPoly::ReduceBasicField const Reductors theReductors,
ReductionMarker  Red = Full
[private]
 

bool CoCoA::GPoly::ReduceBasicGCD const GPoly g,
ReductionMarker  Red = Full
[private]
 

bool CoCoA::GPoly::ReduceBasicField const GPoly g,
ReductionMarker  Red = Full
[private]
 


Friends And Related Function Documentation

friend class GReductor [friend]
 

Definition at line 252 of file TmpGPoly.H.

unsigned int Component const GPoly g  )  [friend]
 

Definition at line 209 of file TmpGPoly.H.

ConstRefRingElem LC const GPoly f  )  [friend]
 

Definition at line 331 of file TmpGPoly.H.

bool IsZero const GPoly  )  [friend]
 

std::ostream& operator<< std::ostream &  ,
const GPoly
[friend]
 

ConstRefPPMonoidElem LPP const GPoly f  )  [friend]
 

Definition at line 326 of file TmpGPoly.H.

const PPWithMask& LPPwMask const GPoly f  )  [friend]
 

Definition at line 336 of file TmpGPoly.H.

unsigned int len const GPoly gp  )  [friend]
 

Definition at line 217 of file TmpGPoly.H.

const degree& wdeg const GPoly gp  )  [friend]
 

Definition at line 218 of file TmpGPoly.H.

size_t sugar const GPoly gp  )  [friend]
 

Definition at line 219 of file TmpGPoly.H.

degree wsugar const GPoly gp  )  [friend]
 

Definition at line 220 of file TmpGPoly.H.

ConstRefRingElem poly const GPoly gp  )  [friend]
 

Definition at line 221 of file TmpGPoly.H.

unsigned int Age const GPoly gp  )  [friend]
 

Definition at line 222 of file TmpGPoly.H.

unsigned int MakeKey const GPoly  )  [friend]
 

const SparsePolyRing& owner const GPoly gp  )  [friend]
 

Definition at line 350 of file TmpGPoly.H.

const PPMonoid& PPM const GPoly gp  )  [friend]
 

Definition at line 356 of file TmpGPoly.H.

const ring& CoeffRing const GPoly gp  )  [friend]
 

Definition at line 362 of file TmpGPoly.H.

size_t max_common_wdeg GPoly ,
size_t  Var
[friend]
 

void GPolyList2PolyListClear GPolyList ,
PolyList
[friend]
 

void GPolyList2PolyList const GPolyList ,
PolyList
[friend]
 

void monic std::list< GPoly > &   )  [friend]
 

GPoly* FindReducer const GPoly ,
const Reductors theReductors
[friend]
 

void DeEmbedPoly ModuleElem ,
const GPoly ,
size_t 
[friend]
 

void IntEmbedGPolyList GPolyList ,
GPolyList
[friend]
 

void DeEmbedPoly RefRingElem  ,
const GPoly
[friend]
 


Member Data Documentation

PPWithMask CoCoA::GPoly::myLPPwMask [private]
 

precomputed LPP of the polynomial, stored with DivMask

Definition at line 254 of file TmpGPoly.H.

Referenced by CoCoA::LPP(), and CoCoA::LPPwMask().

RingElem CoCoA::GPoly::myLCValue [private]
 

Definition at line 255 of file TmpGPoly.H.

Referenced by CoCoA::LC().

RingElem CoCoA::GPoly::myPolyValue [private]
 

the polynomial proper

Definition at line 256 of file TmpGPoly.H.

Referenced by myPoly().

const GRingInfo& CoCoA::GPoly::myGRingInfoValue [private]
 

Definition at line 258 of file TmpGPoly.H.

Referenced by myCoeffRingType(), myGRingInfo(), and CoCoA::owner().

bool CoCoA::GPoly::myIsActive [private]
 

mutable, the rest const ... a cosa serve?

Definition at line 259 of file TmpGPoly.H.

Referenced by Deactivate(), and IsActive().

unsigned int CoCoA::GPoly::myLen [private]
 

precomputed length of the polynomial: for geobuckets

Definition at line 260 of file TmpGPoly.H.

unsigned int CoCoA::GPoly::myComponent [private]
 

Definition at line 261 of file TmpGPoly.H.

degree CoCoA::GPoly::myWDeg [private]
 

<the module component of the LPP precomputed degree of the polynomial

Definition at line 262 of file TmpGPoly.H.

size_t CoCoA::GPoly::mySugar [private]
 

"sugar" of the polynomial: a sort of degree

Definition at line 263 of file TmpGPoly.H.

degree CoCoA::GPoly::myWSugar [private]
 

"wsugar" of the polynomial: a sort of degree

Definition at line 264 of file TmpGPoly.H.

unsigned int CoCoA::GPoly::myAge [private]
 

age of the polynomial: for ordering reducers

Definition at line 265 of file TmpGPoly.H.

Referenced by operator<().


The documentation for this class was generated from the following file:
Generated on Wed May 23 13:44:58 2007 for CoCoALib by  doxygen 1.4.6